History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: NXP-637
Type: New Feature New Feature
Status: Resolved Resolved
Resolution: Fixed
Priority: Critical Critical
Assignee: Dragos Mihalache
Reporter: Florent Guillaume
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Google issue summary
Nuxeo Enterprise Platform

Custom versioning system/storage for JCR-backend

Created: 17/02/07 18:26   Updated: 02/03/07 19:03
Component/s: JCRConnector
Affects Version/s: 5.0.0 GA
Fix Version/s: 5.1 M2

Time Tracking:
Original Estimate: 1 week, 2 days
Original Estimate - 1 week, 2 days
Remaining Estimate: 6 hours
Time Spent - 1 week, 1 day, 2 hours Remaining Estimate - 6 hours
Time Spent: 1 week, 1 day, 2 hours
Time Spent - 1 week, 1 day, 2 hours Remaining Estimate - 6 hours

Resolution Date: 02/03/07 19:03
Participants: Dragos Mihalache, Florent Guillaume and Thierry Delprat
Date of First Response: 27/02/07 12:24
Tags:


 Description  « Hide
The JCR backend must be modified so that an alternate optional scheme can be used to store version: instead of having them managed by JCR's versioning APIs, we'll manage then "by hand" by storing and maintaining them in an special toplevel folder.

See http://svn.nuxeo.org/trac/nuxeo/browser/doc/refactoring-jcr-version-storage.odt for a spec.


 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Florent Guillaume - 17/02/07 18:27
Bogdan suggested that an extension point be used to specify the class for a "VersionManager" that the connector would use. The versioning code would be separated in this class, a standard one would receive the current code, and a new one would receive "by hand" code.

Dragos Mihalache - 27/02/07 12:24
1. To enable the custom versioning, the VersioningService.xml must specify
<property name="versioningService" value="org.nuxeo.ecm.core.versioning.custom.CustomVersioningService"/>
instead of :
<property name="versioningService" value="org.nuxeo.ecm.core.jcr.versioning.JCRVersioningService"/>

2. The versions of a document are indexed also therefore they appear in the search
result as separate docs. There are 2 possibilities to handle this situation:
  - to leave them in the result and mark them as versions (ex...adding a suffix v.01, etc)
  - to add a filter to any query in jcr that will eliminate records under /versioningService/ node.

Thierry Delprat - 28/02/07 11:11
For search results, from the user perspective what we would like is : only one it per document : if several versions matches then only return the latest version.


Florent Guillaume - 28/02/07 16:17
Reopening for one missing but important detail:
When the document is deleted from the workspace, its version history must be garbage collected, otherwise it will grow endlessly.

Florent Guillaume - 02/03/07 01:02
Actually I have to amend this.
We mustn't garbage collect the VersionHistory when the document is removed, but when all references to the VersionHistory or a Version disappears. For instance, if there are still proxies to some Version, the VersionHistory must not be removed!

Florent Guillaume - 02/03/07 10:29
See my last comment, this cannot be closed right now.

Florent Guillaume - 02/03/07 19:03
Ok, we won't delete versions for now.