Release Notes for ModeShape 2.6.0.Beta2
ModeShape 2.6.0.Beta2 includes several new features, improvements, and bug fixes since 2.5.0.Final. Beta1 included
the following changes:
- improved overall performance
- new disk-based storage connector
- added cache support in several connectors
- pluggable authentication and authorization
- the JPA connector now support configuring/using Hibernate 2nd-level cache
- kits for JBoss Application Server 5.x and 6.x
- improved BINARY property support for large files
- automatically use the JDK logger if SLF4J binding is not available
- upgraded to Infinispan 4.2.1.Final
- faster startup of the ModeShape engine
- over two dozen bug fixes
while Beta2 included an additional dozen bug fixes and minor improvements.
JCR Supported Features
ModeShape 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.
The 2.6.0.Beta2 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 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 Optional Features
- Locking
- Observation
- Versioning
- Shareable Nodes
Connectors, Sequencers, and Other Features
As with previous releases, ModeShape 2.6.0.Beta2 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, disk-storage 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.
Connectors
- Federated Connector
- JPA Connector (read-write/persistent storage)
- In-Memory Connector (read-write)
- Disk-based Storage 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)
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
- XML Schema Document (XSD) Sequencer
- Web Service Definition Lanaguage (WSDL) 1.1 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 5.x and 6.x, with JOPR monitoring
- JDBC driver for accessing ModeShape content through JDBC API and JCR-SQL2 queries
Bug Fixes, Features, and other Issues
The following are the bugs, features and other issues that have been fixed in the 2.6.0.Beta2 release:
Bug
- MODE-1211 - Columns of type 'Name' are returned as type 'String' in resultset metadata, but returned as type 'Name' in database metadata
- MODE-1190 - supertype "nt:unstructured" not found
- MODE-1191 - Wrong Hibernate dialect for MySQL 5.1 causes issues; need better documentation
- MODE-1216 - Remove the jdbc util classes that duplicate common-core functionality
- MODE-1219 - When starting server, using ModeShape as repo, error - Supertype 'nt:hierarchyNode' from type 'drools:configurationNodeType' does not exist
- MODE-1164 - ModeShape configuration in the JBoss Kit should store data in JDBC data source rather than in-memory
- MODE-1228 - Error during restoring mixin on children of a frozen node
- MODE-1229 - Anonymous access to ModeShape repository cannot be disabled
- MODE-1222 - Anonymous credentials always used when regular authentication fails
- MODE-1224 - Slow server start up with PostgreSQL database
- MODE-1225 - MySQL 5.1 - UTCTIMESTAMP is reserved and fails when the DNACHANGELOG table is trying to be created
Enhancement
- MODE-1232 - Add support for resolving references to nodes stored in the file system connector
Feature Request
- MODE-1230 - Add ModeShape Disk Connector to the JBoss Kit
Task
- MODE-1223 - Add additional tests to verify session user ID
- MODE-1227 - Write RHQ plugin documentation
The following are the bugs, features and other issues that have been fixed in the 2.6.0.Beta1 release:
Bug
- MODE-497 - Wrap system access, context class loader access, and reflection with doPrivileged
- MODE-1214 - modeshape-connector-store-jpa issue when trying to start JBoss AS 5.1
- MODE-1182 - Workspaces Aren't Fully Destroyed
- MODE-1201 - Using InMemoryBinary when writing to a repository can cause heap/memory problems writing large files
- MODE-1215 - java.lang.StackOverflowError seen in the server when accessing ModeShape thru Teiid
- MODE-1192 - InfinispanRepository Attempts to Remove Elements from an Immutable Set
- MODE-1193 - ModeShape should work with the JDK logger if no SLF4J logging binder is available.
- MODE-1178 - Repository Sources No Longer Respect creatingWorkspacesAllowed Flag
- MODE-1194 - modeshape-jdbc-ds.xml driver class should be changed to be org.modeshape.jdbc.LocalJcrDriver
- MODE-1195 - Error in Reference Guide
- MODE-1198 - Copyright and License header still refers to JBoss DNA
- MODE-1199 - Username in JBoss AS kit's modeshape-jdbc-ds.xml file should be 'user-name'
- MODE-1115 - Modeshape responses slowly when queried for data
Component Upgrade
- MODE-1185 - Upgrade to Infinispan 4.2.1.Final
Enhancement
- MODE-1181 - Add Benchmark to Track Connector Performance over Time
- MODE-1180 - JcrEngine.start(true) should start the repositories in parallel but should still block
- MODE-1184 - Update the JBoss deployment configuration to add the new nodeTypes .cnd references for newly added sequencers
- MODE-1189 - Improve Large Property Support in Disk Connector
- MODE-1197 - Remove JBoss Maven repository specification from POM
- MODE-1179 - Add Connector for Disk-Based Storage
Feature Request
- MODE-1206 - Add Ability to Specify Temporary Storage Area on File System Connector
- MODE-1081 - Add support for deploying ModeShape to JBoss AS 6.0
- MODE-1205 - Provide support for pluggable authorization
- MODE-1209 - Add Support for Hibernate 2nd Level Cache to JPA Connector
- MODE-1107 - Provide support for plugging custom authentication
- MODE-1203 - Support Node Caching in Connectors
- MODE-1196 - Add Support for Clustering Disk Connectors
Task
- MODE-1212 - Clean up unit/integration tests that uses SecurityContextCredentials
- MODE-1011 - Incorrect datatypes in ModeShape JDBC driver