Hi, I have encountered an issue when restoring the node version history. As you know it is part of the shared subtree /jcr:system. All the versioning is contained within /jcr:system/jcr:versionStorage. All those nodes are protected. I have backupped the data by using the exportXML method of Session.
I encounter a problem to restore it since those node is protected. I have found quite a few different approach to restore them. I need your feedback and your ideas on this please to know which one is the best. 1/ Modify temporarily the NodeDefinition of jcr:storage so it is not protected. This approach would modify the NodeDefinition of the protected nodes so they can be unprotected. I would restore the data using import and then restore the protection and reload the repository. This way seems the easiest to achieve restore. 2/ Redefine InternalAddChild in NodeImpl so I can bypass protection. This method is protected. I would need to add a public method in NodeImpl which would not check any protection. I would then be able to import the data using importXML. 3/ Add to the VersionManagerImpl a public import method heavily based on the SessionImpl one. This solution seems the most elegant but might not be the easiest. 4/ Change the storage format (right now the sysView) in order to get an easier restore (using for instance Java serialization). What do you think? Nico my blog! http://www.deviant-abstraction.net !!
