[Zope3-dev] DISCUSS: Zope3 and Zope2's version object

Guido van Rossum guido@python.org
Mon, 28 Jan 2002 08:43:24 -0500


> The "Version" object I'm referring to is a high-level Zope object that 
> hooks the long-running transaction support.  Not the multiple revision 
> nature of the ZODB.

I know; ZODB is very careful always to call that "revision" and not
"version".  What I meant wasn't the ZODB multiple revision concept
(which is very useful and powerful indeed).  ZODB has separate support
for "versions" in the sense of "Zope Versions", and that support has
recently, um, caught our attention during the Standby project.

> To recap what it does and why there's a problem, you create a Version 
> object that gives you a UI for joining and leaving a Version.  The 
> changes that you make aren't visible to people outside the Version. 
> When you're done, you commit the changes in the Version, thus committing 
> the long-running transaction.

Exactly, and there's support for that in ZODB (the name of the
long-running version and additional info is an optional part of the
ZODB record for every object).

--Guido van Rossum (home page: http://www.python.org/~guido/)