Implemented in 4.4

Experimental ModeShape support introduced. See Jan Haderka's blog posts: MM: Magnolia and ModeShape and Magnolia and ModeShape.

Rationale:

  • Provide viable open source alternative repository to JackRabbit
  • ensure portability of Magnolia to other JCR implementation beside JackRabbit (and JR based repositories such as CRX)
  • ModeShape has a CMIS connector which can be used to connect to another CMS/DMS

Goal

  • provide modeshape connector to replace default JackRabbit connector
  • provide webapp bundled with Modeshape to make building MS based Magnolia bundles simple

Issues

  • ModeShape differs conceptually from the JackRabbit in employing different (but allowed by the spec) strategy (copy-on-read) for session updates. This was originally fixed by MAGNOLIA-3261@jira, however this fix means that session refresh are executed from different thread (the event dispatcher thread).
  • JCR specification doesn't guarantee Session to be thread safe, and Session objects created by MS are indeed not thread safe, so the original fix for MAGNOLIA-3261@jiraneeds to be reversed and sessions need to refresh in case of PathNotFound exception and retry the operations or the refresh needs to be synchronized with other access to the session object to ensure only single thread can access given session at any time.
    • This issue impacts all places that use system context and observation - startup, installation, activation
  • MS implements JCR-2.0. The JCR-2.0 specification redefined some of the node types in comparison to JCR-1.0. This change affects mgnl:resource type that is no longer mix:referenceable by default. See MAGNOLIA-3474@jirafor details.
    • This issue prevents versioning and staged deletion from working properly.
  • DB backing repository

 

 

  • No labels

1 Comment

  1. I have brought together Magnolia 5 (5.1.1) and ModeShape 3.6.0 - see the modeshape-3.6.0 branch of the ModeShape Provider project (it requires also a small patch in the magnolia-core).

    Now the web app is able to start, but then there is a problem with installation:  MGNLMSHAPE-17 - Getting issue details... STATUS

    See also the other issues in the 2.0 version of the project: http://jira.magnolia-cms.com/issues/?jql=project%20%3D%20MGNLMSHAPE%20AND%20fixVersion%20%3D%20%222.0%22%20ORDER%20BY%20key%20ASC