Goal

Remove JackRabbit dependencies from core (and other modules) to keep them all in one place

Rationale

Magnolia is no longer used only with Jackrabbit but also with other repository implementations such as ModeShape.

When Magnolia is not exclusive owner of the repo (such as when using JNDI module) it is necessary to share the access to repo and share repo libraries. Since version 4.5 we moved security to security layer of the repository instead of having it on top. Security related classes then need to be deployed with the repository in case of shared setup.

Proposal

  • split interfaces from magnolia-core into magnolia-API
  • split current (JR) repository provider implementation in magnolia-provider-jackrabbit
  • main project should have dependency on APIprovider and jaas modules while none of those should have dependency on magnolia-core
  • core should be a core of the product only

 

  • No labels