I overlooked this posting somehow. I've now actually stored
something in a ZClass. This seems to be a good working example.
Thanks so much. I will play with the rest and see what I come up
with.
I had to post it again just in case others missed it like I did.

Thanks Phillip!

OK. that helped a lot. The problem is that when things don't work
as I expect.. I guess (usually with a high degree of success)
that I am off base. Now I've just been experimenting with
this in a simpler 'dtml-only' way just to clarify how it's
supposed to work.

I created a simple ZClass with no ZClass based propertysheets.
(The ZClass is called MyTestSkin, subclass of DataSkin)

I created a specialists that manages instances of this ZClass.
(The specialist is called myTest)

I set up the default rack of myTest with a PlugIn SheetProvider
with "SheetNames" set to "ShopperData".

Based on your last email the addShopper method in 'myTest' looks like
this:

But I get 'KeyError" on any attribute. I guess I thought that
the SheetProvider would kick in when a request was made for 'email'
and automagically search the instances propertysheets for an
attribute that matched. The following did work however:

This doesn't seem quite right to me... when I use a
GenericAttributeProvider
that talks to a database... I can just say <dtml-var foo> and it
works.
I'm sure I'm still not getting something... but I don't know what. I
can look
at:

/myTest/a/propertysheets/ShopperData/manage

and it allows me to edit the instance's property sheet through
the web.. I was hoping (and maybe this is really really just
wrong...) that there was some 'central' propertsheet that could
be modified and thereby give all instances new properties.. sorta
like ZClass property sheets...