[Zope] repository with revisions and verson control

Adam Szpakowski worf@optics.polsl.gliwice.pl
Wed, 18 Jun 2003 20:59:42 +0200


I'm working on project where the implementation of some kind of repository for 
various types of documents is necessary. The main features to implement for 
this repository are:
- version control:
   - history
   - reviewing
   - undoing changes
   - rolling back to any revision
   - immediate (read only) acces to every revision
- files locking

Each change made to a single document should be writen as a single revision 
for this object only (CVS like bechaviour) and where rollbacks and locking 
must be possible for each, single object where  is possible.

The repository will work through independent interface created in project and 
not through ZMI.

I'm relatively new in Zope and Python. I understood the general concept of 
ZODB and it's long transactions (which seems to be a base for repository like 

I've checked OFSP and it's Version support... nice idea but unfortunately I'll 
need to create a private sesion for each accesed document... it does't looks 
like solution rather like workaround. Also the project seems a bit abandoned 
The concept of my project is closer to CVS like system than to one presented 
in OFSP.

I'm strongly determined to implementy this in clean Zope/ZODB. I don't want to 
loose the benefits of object database (i'll loose it in CVS solutions) 
because in future the features like ZOE and e.g. DirectoryStorage will be 
very handy for me.

Is there a way to implement such thing in easier way than writing the support 
for using ZODB transtactions in project from scratch?

Best regards,

Adam Szpakowski
Silesian University of Technology - Institute of Physics
Department of Optoelectronic
e-mail: worf@optics.polsl.gliwice.pl