ModeShape &version; includes several new minor improvements, such as new javax.jcr.Credentials classes for anonymous and HTTP servlet authentication, a built-in profiling framework enabling use of Byteman runtime bytecode injection, and a switch to Maven 3 and refactoring of the build process. The release also contains fixes for almost two dozen bugs. ModeShape also uses PicketBox for the JAAS implementation used in tests.
This means that ModeShape now implements all of the required JCR 2.0 features (repository acquisition, authentication, reading/navigating, query, export, node type discovery, and permissions and capability checking) and most of the optional JCR 2.0 features (writing, import, observation, workspace management versioning, locking, node type management, same-name siblings, shareable nodes, and orderable child nodes). The remaining optional features in JCR 2.0 (access control management, lifecycle management, retention and hold, and transactions) may be introduced in future versions.
ModeShape supports the JCR-SQL2 and JCR-QOM query languages defined in JSR-283, plus the XPath and JCR-SQL languages defined in JSR-170 but deprecated in JSR-283. ModeShape also supports a simple search-engine-like language that is actually just the full-text search expression grammar used in the second parameter of the CONTAINS(...) function of the JCR-SQL2 language.
As with previous releases, ModeShape &version; integrates with JAAS, web application security, or you can easily integrate it with other systems. ModeShape can use a variety of back-ends to store information (RDBMSes, Infinispan data grid, memory, JBoss Cache, JCR repositories), can access content in multiple systems (file systems, SVN repositories, JDBC metadata), can federate multiple stores and systems into a single JCR repository, or can access other systems using custom connectors. ModeShape is also able to automatically extract and store useful content from files you upload into the repository using its library of sequencers, making that information much more accessible and searchable than if it remains locked up inside the stored files. And ModeShape provides WebDAV and RESTful services to allow various clients to access the content. For details, see the Reference Guide.
The &version; release has not yet been certified to be fully compliant with JCR 2.0. The ModeShape project plans to focus on attaining this certification in the very near future.
- JAAS Authentication
- HTTP Authentication (for RESTful and WebDAV Services Only)
- Custom Authentication
- Session Remapping
- Permanent Addition/Deletion
- Traversal Access
- Direct Access
- Same-Name Siblings
- Multi-Value Properties
- All Property Types Supported
- Property Type Conversion
- Create/Update/Delete Nodes
- Create/Update/Delete Properties (Through Parent Nodes)
- Moving, Copying, Cloning
- Adding/Removing Mixins
- Referential integrity enforcement
- XPath
- JCR-SQL
- JCR-SQL2
- JCR-QOM
- Full-Text Search
- System View Import/Export
- Document View Import/Export
- Inheritance Among Node Types
- Discovering available Node Types
- Discovering the Node Types of a Node
- Discovering the Definition of a Node Type
- Property Constraints
- Automatic Item Creation
- Predefined standard Node Types
- Custom Node Type Registration (CND-Based and and JCR 2.0 API Template-Based)
- Permanent Namespace Mappings
- Node Types (Built-In and User-Registered)
- Active Locks
- Locking
- Observation
- Versioning
- Shareable Nodes
- Federated Connector
- JPA Connector (read-write/persistent storage)
- In-Memory Connector (read-write)
- JCR Connector (read-write)
- Infinispan Connector (read-write/persistent storage)
- JBoss Cache Connector (read-write/persistent storage)
- File System Connector (read-write/persistent storage of files & folders)
- Subversion Connector (read-write/persistent storage of files & folders)
- JDBC Metadata Connector (read-only)
- Compact Node Definition (CND) Sequencer
- DDL Sequencer
- Image Sequencer
- Java Source Sequencer
- Java Class Sequencer
- MP3 Sequencer
- MS Office Sequencer
- Text Sequencers (Delimited and Fixed Width)
- XML Sequencer
- Zip File Sequencer (also WARs, JARs, and EARs)
- Teiid Relational Model Sequencer
- Teiid VDB Sequencer
- Clustering
- JNDI-Based Deployment
- Embedded (in Server or JEE Archive) Deployment
- OSGi-Compatible Archives
- Access through RESTful Service
- Access through WebDAV Service
- Deploy as a service in JBoss Application Server, with JOPR monitoring
- JDBC driver for accessing ModeShape content through JDBC API and JCR-SQL2 queries