Date: Mon Sep 25 22:37:49 2006
New Revision: 11001
--- review/plip8-versioning-bundle/COMMENTS.txt (original)
+++ review/plip8-versioning-bundle/COMMENTS.txt Mon Sep 25 22:37:49 2006
@@ -1 +1,73 @@
Please put any comments related to reviewing this bundle into this file.
+Review by Helge Tesdal
+PLIP8 Versioning finally gives Plone a versioning story.
+2. Test setup
+This was tested with Zope 2.10 from SVN and the review bundle.
+svn co https://svn.plone.org/svn/plone/review/plip8-versioning-bundle Products
+3. How does it work
+UI wise, the user can add versions explicitly using the versions tab, or use
+the checkmark on the edit form to add a new version on save.
+If you assign diffs to content types in the diff tool, you can even diff
+between versions of content.
+The doc/DevelDoc.txt and the README explains more about how it works under the
+hood, and I'm trying to give a short summary below:
+portal_repository/IRepository.py implemented by CopyModifyMergeRepositoryTool.py
+Main API. Implementation depends on the applications use cases/policies.
+portal_archivist/IArchivist.py implemented by ArchivistTool.py
+The Archivist knows _how_ to clone/copy a python object. It needs the
+help of the portal_modifier to find the boundaries of an object.
+portal_modifier/IModifier.py implemented by ModifierRegistryTool.py
+Registry for modifier plug ins. Modifiers know how to handle different aspects
+of objects during the versioning process - knows _what_ to clone.
+portal_historiesstorage/IStorage.py implemented by ZVCStorage.py
+Storage layer for storing the versions. Does not have to care about
+references as that is handled already.
+purge - can be used for purging very old data. This is a fairly new feature.
+4. State of code
+CMFEditions has a lot of history (pun intended), going all the way back to
+2003, with the main development push happening in 2004 and 2005 (sponsored by
+Oxfam). By now, I believe it is well proven and battle hardened. There also
+seems to be quite a bit of code. A bit like Plone itself.
+There are interfaces with good descriptions, and a lot of time has obviously
+gone into the architecture design. Although there is a lot of code, there is
+not a lot of bit rot compared to other components of similar age and
+5. Suggested improvements
+It would probably make sense to introduce some Z3 tech, like triggering an
+event when creating a new version for example. I don't see any showstoppers,
+and inclusion in Plone 3 will hopefully lead to increased development
+CMFEditions adds significant complexity to Plone. There is a lot of code, and
+several new tools. I'm not going to pretend I full understand all aspects of
+the code yet, but what I have seen is confidence inspiring. Versioning is an
+important feature, and this seems to be the best alternative around.
++1 to including this in Plone 3.