Hi, I am trying to figure out ZPatterns and because I rather work with Python Products when with Zclasses I am trying to convert the EmployZ product to Python. So far I got half the way there, the Rack recognizes the DataSkin And on newItem in the Specialist it a new slot gets created and I can see them and their ID.
Now the problem is creating a Propertysheet in the DataSkin that gets stored in the Rack.
The attributes of a Persistent DataSkin will get stored in the Rack without too much extra work.
class EmployX( DataSkin, #VirtualSheets, ):
You need to derive EmployX from DataSkin and some Zope persistent class such as SimpleItem. Otherwise, it won't be persistent.
Accualy I don“t have to do that. Have a look at Itamar Shtull-Traurings and Heiko Stoermers FlatDatabase: class EntryDataSkin(DataSkin): """ Flat Database entry. """ meta_type = "Entry DataSkin" ... def manage_change(self, REQUEST, RESPONSE): """ Change properties """ for prop in self.database_properties.propertyMap(): name=prop['id'] if REQUEST.has_key(name): if 'w' in prop.get('mode', 'wd'): value=REQUEST.get(name) setattr(self, name, value) <<<< RESPONSE.redirect(REQUEST.URL1) But as I noticed the "properties" was saved as attributes not as properties in a propertysheet. I can live with that, but I still would like to know if and how to use propertysheets provided by a DataManager inside a Pyhton DataSkin? Johan