hi out there, i use zpatterns/specialists for a Network-Documentation Tool. I'm writing a Product which controls the relations between specialists and manages multible actions (edit/new/delete) for ZPatterns DataSkinObjects (DSO). I have a Product-Instance of ZTWM (ZTransactionWorkflowManager) in my application root which is a Folder by itself and holds as folder-objects its 'Transactions' (in this case a Transaction starts at the first edit-action and lasts til the last submit of a form with valid entries - e.g finish transaction.) It behaves like a Wizard (PTK) with next/back/cancel/finish buttons and reads out the DataSkinPropertysheet for creating the edit/new forms on the fly. One can also define relations between the specialists an they are used to edit Foreign Keys. small painting here: \application-root --\<Person> (specialist for persons) --\<Komponent> (specialist for komponents) --\<ZTWM> (my TransactionWorkflowMangager - Folder) ---- \<1> (first transaction -Folder) -------\<1> (first transaction object - Folder) --------| ds_object (attribute which references the DSO) --------| more info on the current Transaction object -------\<2> (second Transaction object) --------| ds_object (attribute which references the DSO) --------| more info on the current Transaction object ----\<2> (second Transaction) ... so far about how it should work .. For each TransactionObject (TO) I save the Object I retrieved with "specialist.getItem(id) == DataSkinObject(DSO)" as attribute "ds_object" to the TransactionObject. After I restarted Zope and want to replay/finish a transaction, i get an KeyError, Value _v_dm_ the prefix _v_ stands for not pickeable (afaik) dm for datamanager ?!? ok .. i put a TO in the Transaction, get the actual DSO, call the transactionmanagers editor function and a form with correct values is displayed, i can edit this form and call the DSO manage_changeProperties method from the transactionmanager. when i don't finish a transaction and restart zope i still have my transactions with proper values saved in my TransactionManager - except the property "ds_object" wich was assigned to the DSO at TO-creation when i try to set/get an attribute i get the KeyError of "_v_dm " ... I can deal arround that if i reget the DSO from the specialist in every function which deals with DSO's. is there a better way to a) tell my TransactionManager that my attribute "ds_object" is not pickeable (e.g. call it _v_ds_object) and how to know if zope is restarted ?!?!? or b) store this object persistantly in my TO without showing it in the folder-structure but behave like a DSO set/get attributes through Skinscripts hope that i described clearly enough where my problem is ... thanks for your reply Ulrich Eck net-labs