Hi Marco,

the main purpose of the oak-upgrade is to migrate a Jackrabbit 2 / CRX2 
repository into Oak or to migrate one Oak node store (eg. segment) to another 
(like Mongo). On the other hand, it’s not a good choice to use it for the 
application upgrades within the same repository type. You didn’t mention if 
your upgrade involves the repository migration (in this case choosing 
oak-upgrade would be justified) or not.

If you still want to use oak-upgrade, it allows to use custom CommitHooks [1] 
during the migration. They should be included in the class path with the 
ServiceLoader mechanism [2].

Regards,
Tomek

[1] 
http://jackrabbit.apache.org/oak/docs/architecture/nodestate.html#The_commit_hook_mechanism
[2] https://docs.oracle.com/javase/tutorial/sound/SPI-intro.html

-- 
Tomek Rękawek | Adobe Research | www.adobe.com
[email protected]

> On 14 May 2017, at 12:20, Marco Piovesana <[email protected]> wrote:
> 
> Hi all,
> I'm trying to deal with backward-incompatible changes on my repository
> structure. I was looking at the oak-upgrade module but, as far as I could
> understand, I can't really make modifications that require some logic (e.g.
> remove a property and add a new mandatory property with a value based on
> the removed one).
> I saw that one of the options might be the "namespace migration":
> - remap the current namespace to a different prefix;
> - create a new namespace with original prefix;
> - port all nodes from old namespace to new namespace applying the required
> modifications.
> 
> I couldn't find much documentation on the topic, so my question is: is this
> the right way to do it? There are other suggested approaches to the
> problem? There's already a tool that can be used to define how to map a
> source CND definition into a destination CND definition and then apply the
> modifications to a repository?
> 
> Marco.

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to