Note |
---|
As of Fedora 6.0, Modeshape is no longer being used as a component of Fedora's storage layer. The information on this page information applies only to versions 4.x and 5.x. |
ModeShape
ModeShape is a JCR implementation with a slew of additional services and functionality, including a REST/HTTP API, additional query languages (including full-text search), clustering and federation, and automatic disassembly of ingested content into repository nodes.
...
ModeShape is a distributed, hierarchical, transactional, and consistent data store with support for queries, full-text search, events, versioning, references, and flexible and dynamic schemas. It is very fast, highly available, extremely scalable, and it is 100% open source and written in Java. Clients use the (JSR-283) standard Java API for content repositories (aka, JCR) or ModeShape's REST API, and can query content through JDBC and SQL.
Features
Children Display |
---|
Notes from Experience
- While we try to maintain some independence from the JCR implementation, some code (in particular concerning low-level binary storage) is tightly bound to Modeshape, but where possible depends on the public API extensions to org.modeshape.jcr.api.
- Long-lived sessions with lots of changes is bad.
- JCR loves hierarchy.
- Creating sessions is cheap. Saving sessions takes time.
- Nothing is persisted until the session is saved (almost.)
- Binary content is stored using the SHA-1 value as its key, meaning:
- only one copy of content is persisted to the storage layer (although the storage layer may keep multiple copies around)
- content can be stored immediately, and lazily garbage collected
Namespace prefixes must be pre-registered before they can be used
Pro/Con Overview
...
But would limit F4 to Infinispan-supported persistence options, or implementing ModeShape-specific interfaces
...
Please see the ModeShape project documentation for more information.