[Product-Developers] Need help with versioning and workflow in collective.tin

Giovanni Toffoli toffoli at uni.net
Fri Oct 24 10:53:56 UTC 2008


Dear Laurence,

(I'm sending this email also to the product-developers list)

time ago, I got from you some useful suggestions about the use of 
collective.mercury and collective.tin
After then, I was able to develop a nice application exploiting a 
(restructured) legacy database, allowing to edit, browse, search and 
aggregate the data.
The database schema includes one main table (personal data) and a dozen 
support tables for coding closed-choice options.
since I am new to some concepts and tools (e.g. formlib), I've spent much 
time in developing the UI in the Five-Plone3 environment, without 
Archetypes.
I'm using the version of last June of collective.tin (revision 66894) to 
avoid problems with z3c.saconfig

Going on, I was appeciating more and more the value inside sqlalchemy, 
collective.lead and collective.tin

As to the last one, I realized that it contains much much more than is 
documented in your tutorial and than is used by the Timesheets demo 
application.
For example, that it is is enough to declare that a container class 
implements the IDeleteDeleted interface to enable editing of the items.

Now I have some major difficulty in understanding and activating the 
versioning functionality.
Versioning per se could be an (appealing) optional.
But I need also to associate some dublincore metadata (such as Creator, 
Creation date, Modification date) with the items in the main table of the 
schema.
And it seems that collective.tin takes those metadata from the workflow 
history.

I understand that I have to
- create additional tables and classes for accomodating previous versions of 
the items and the workflow history
- define Table classes for those additional tables, add columns mirroring 
those of the item Table, new keys and external keys
- add some attributes to the container class ("intermediary info")
- add some "implements" statements to the item class and the container 
class.
But currentlty I'm not able to go beyond that, without some help.

Would you be so kind to give to me some more cues?
Or, perhaps, you could point at some more complete sample code, making use 
of the versioning features.

Thank you very much in advance, Giovanni Toffoli






More information about the Product-Developers mailing list