Hi Tomek,
yes I'm trying to upgrade within the same repository type but I can decide
weather to migrate the repository or not based on what makes the upgrade
easier.
The CommitHooks can only be used inside an upgrade to a new repository?
What is the suggested way to apply backward-incompatible changes if i don't
want to migrate the data from one repository to another but I want to apply
the modifications to the original one?

Marco.

On Tue, May 16, 2017 at 4:04 PM, Tomek Rekawek <[email protected]>
wrote:

> 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.
>

Reply via email to