Release Notes for ModeShape 2.2.0.Final
JCR Support
ModeShape 2.2.0.Final includes an improved JBoss AS deployment kit with JOPR monitoring plugin,
an improved JDBC driver for accessing content in ModeShape through JDBC (including JDBC metadata),
new sequencers for Teiid relational models and VDBs, several other features and improvements, and bug fixes.
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 (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 2.0.0.Final integrates with
JAAS
and
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 servers
to allow various clients to access the content. For details, see the
Reference Guide.
The 2.1.0.Final 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.
Accessing the Repository
- JAAS Authentication
- HTTP Authentication (for RESTful and WebDAV Services Only)
- Custom Authentication
Namespaces
- Session Remapping
- Permanent Addition/Deletion
Reading Repository Content
- Traversal Access
- Direct Access
- Same-Name Siblings
- Multi-Value Properties
- All Property Types Supported
- Property Type Conversion
Writing Repository Content
- Create/Update/Delete Nodes
- Create/Update/Delete Properties (Through Parent Nodes)
- Moving, Copying, Cloning
- Adding/Removing Mixins
- Referential integrity enforcement
Query / Search
- XPath
- JCR-SQL
- JCR-SQL2
- JCR-QOM
- Full-Text Search
Importing/Exporting Repository Content
- System View Import/Export
- Document View Import/Export
Node Types
- 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 JCR 2.0 API Template-Based)
Repository Metadata under System Node
- Permanent Namespace Mappings
- Node Types (Built-In and User-Registered)
- Active Locks
Other JCR 2.0 Optional Features
- Locking
- Observation
- Versioning
- Shareable Nodes
ModeShape-Specific Features
Connectors
- 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 and folders)
- Subversion Connector (read-write/persistent storage of files and folders)
- JDBC Metadata Connector (read-only)
Sequencers
- 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
Deployment/Access Models
- 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
ModeShape 2.0.0.Final
Bug
- [MODE-843] - The JBoss AS kit in the ModeShape 2.1.0.Final release is missing MS Office sequencer JAR
- [MODE-844] - RESTful WAR for JBoss AS contains test dependencies and is huge
- [MODE-846] - Security Exception Connecting to the ProfileService on SOA-P from Jopr Plugin
- [MODE-847] - Misnamed JAR files in -all-with-dependencies.jar
- [MODE-848] - Removing Nodes which referenced by WeakReferences or as String throw javax.jcr.ReferentialIntegrityException
- [MODE-851] - Incorrect path on children of node that was moved
- [MODE-853] - Allow Restart of Modeshape Engine Following a Shutdown
- [MODE-854] - java.lang.InterruptedException During Connector (RepositorySource) Discovery
- [MODE-858] - First node of two-node cluster doesn't get ClusteredObservationBus change notifications from second node
- [MODE-859] - The ModeShape 'with-dependencies' JAR files contain JAR files but should be unpacked
Feature Request
- [MODE-31] - Sequence relational XMI models from Teiid Designer
- [MODE-637] - Write JOPR plugin to manage and monitor a JCR engine/cluster
- [MODE-680] - Sequence Teiid VDB files
- [MODE-681] - Provide JDBC driver to allow applications to query repository content through JDBC
- [MODE-839] - Make RepositoryNodeTypeManager only reload changed nodes during cluster update
- [MODE-862] - Create reusable mixin node type to hold the SHA-1 hash
Task
- [MODE-845] - JBoss AS REST and WebDAV modules should be excluded from the Maven deploy operation
- [MODE-855] - Add Useful Descriptions to Connectors
- [MODE-856] - Add All Annotations (names, descriptions) and change Categories to i18n Strings
- [MODE-857] - Add Annotations to SequencerConfig