CMFEditions (1.1.6)
Released on 2008-03-26 by Alec Mitchell for Plone 3.1 under GPL - GNU General Public License available for All platforms.
Software development stage: development
- CMFEditions download link: http://plone.org/products/cmfeditions/releases/1.1
- Homepage of CMFEditions: http://plone.org/products/cmfeditions
- CMFEditions repository: https://svn.plone.org/svn/collective/CMFEditions/
- Description source: http://svn.plone.org/svn/collective/Products.CMFEditions/trunk/README.txt
CMFEditions is a Zope-CMF Product that aims to be the versioning solution for Plone, and achieves this by being as transparent as possible and by minimizing the impact for existing applications and Plone itself.
CMFEditions provides versioning in Plone.
the view view.
Versionable content types also have an additional tab with version related functionality:
Basic support for Archetypes references is built in.
The current strategy is to save everything of the content item (incl. security information, workflow state, etc.). On retrieve some of these information are
filtered out. This policy may completely be changed depending on specific needs (see modifiers below).
- It works out of the box.
- It's higly extensible for specific use cases.
Out Of The Box Experience
Versionable content items edit views now allows saving a version on save (automatically or manually). The version history may be accessed quickly fromthe view view.
Versionable content types also have an additional tab with version related functionality:
- save new version
- preview an old version
- retrieve an old version (replacing the current state in the tree)
- diffing versions
- enable or disable versioning
- auto-versioning on save
- auto-versioning on retrieve
Basic support for Archetypes references is built in.
The current strategy is to save everything of the content item (incl. security information, workflow state, etc.). On retrieve some of these information are
filtered out. This policy may completely be changed depending on specific needs (see modifiers below).
Extensibility
CMFEditions was from the beginning developed with extensibility in mind. A handful of tools provide the whole functionality:- repository layer: This is the public main API. The repository layer cares about recursive storing and retrieving of content items from/to Zope 2's Object File System (OFS).
- archivist layer: It knows *how to clone* content items. The archivist "is Mr. Pickle".
- modifiers: They're invoked by the archivist and know *what to clone*. This the main customization point. A modifier knows about what information on an object is a reference and if the referenced object has to be versioned also.
- storage: Is responsible of storing content items versions in a history. The current storage implementation is a ZODB storage (it uses Zope Version Control Product from ZC). Other storages may be written (svn, file based, xml based, etc.). The storage API is quite simple and the storage implementation doesn't have to care about reference stuff as this is already done by the upper layers.
- purge policy: The purge policy is called on every save operations and has full control over the version to save and the whole history. The current implementation may be configured to only hold the current versions by purging the older versions from the repository. This functionality is by default disabled. It may be disabled through the ZMI. You should take care when you're saving objects with a lot of interrelations. Purging functionality is quite new!
Dependencies
CMFEditions is part of the Plone distribution and all dependencies are already included. Please refer to the dependency information of Plone for any details.There are currently no items in this folder.


