Implemented in 4.4
- 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
- provide modeshape connector to replace default JackRabbit connector
- provide webapp bundled with Modeshape to make building MS based Magnolia bundles simple
- 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
Sessionto be thread safe, and
Sessionobjects 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:resourcetype that is no longer
mix:referenceableby default. See MAGNOLIA-3474@jirafor details.
- This issue prevents versioning and staged deletion from working properly.
- DB backing repository
- Derby is not usable as a default DB backing repository due to https://issues.jboss.org/browse/MODE-702 & http://opensource.atlassian.com/projects/hibernate/browse/HHH-3434
- HSQLDB is not usable as a default DB backing repository due to issues with serialization on v 1.8. and due to https://issues.jboss.org/browse/MODE-1062