Release Notes - ModeShape - Version 2.3.0.Final ModeShape 2.3.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, an enhanced JCR-SQL2 grammar, and a lot of 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 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 2.1.0.Final 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 2.3.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 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 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 & 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 - 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 Bug Fixes, Features, and other Issues ------------------------------------- ** Bug * [MODE-849] - Unit Test JsonRestClientTest.shouldGetWorkspaces fails when pointed to a jbossas rest ware deployment * [MODE-850] - Checksum error when pulling ModeShape-2.1.0.Final jars from JBoss into corporate repository * [MODE-865] - Using 'jcr:contains' with a hyphen and wildcard in the full-text expression doesn't always work * [MODE-866] - Using FileSystemSource, problem setting invalid property names: [jcr:createdBy] during session.save() when creating JCR nt:file or nt:folder nodes * [MODE-867] - IncompatibleClassChangeError when running examples * [MODE-870] - When executing -P assembly, modeshape-jdbc wasn't performing resource property substitution * [MODE-871] - Failing org.modeshape.example.sequencer.SequencingClientTest.txt * [MODE-873] - JOPR discovery indicates its discovering 2 JcrEngines * [MODE-874] - JBoss AS deployment of the Java File Sequencer is missing eclipse jdt dependency * [MODE-875] - The JBoss AS deployment is missing the lucene_misc.jar * [MODE-876] - The Teiid.cnd should be added to the jboss as deployment configuration * [MODE-877] - Referential Integrity Check order * [MODE-878] - The tables and columns returned for the database metadata, when using the http protocol jdbc driver url, is not complete, not all columns based on nodetype dependencies is populated * [MODE-879] - ItemNotFound, after versioning a shared Node and cloning it * [MODE-882] - Constraint Violation Exception during import * [MODE-883] - ItemExistsException on removing a shared node * [MODE-885] - Third party webdav-servlet library contains resource hungry log4j.xml configuration file * [MODE-886] - JsonRestClient does not accept properly build SQL queries * [MODE-889] - RESTful Service mishandles same-name-siblings * [MODE-890] - WebDAV Service mishandles same-name-siblings * [MODE-891] - Importing metadata using JDBC driver contains tables with no columns * [MODE-892] - CndNodeTypeReader.read(String) does not indicate any errors if the resource is not found on the classpath * [MODE-893] - Base connector for map-oriented connectors is not always applying the changes to the latest version of the nodes * [MODE-894] - Reference Guide incorrectly uses the SYSTEM_WORKSPACE_NAME property * [MODE-895] - The node types returned by the Rest Client is not complete, not all dependencies were being included and some types needed to be exclueded * [MODE-896] - Modeshape REST client documentation needs update, URL patterns does not invoke proposed operations * [MODE-897] - Incorrectly configured Modeshape repositories should be detected and reported * [MODE-900] - Repository engine call hangs when getting federated repository * [MODE-901] - It is not possible to use JpaSource using JCR API inside container * [MODE-902] - NotSerializableException in the JpaRepository when using HSQL as the repository * [MODE-903] - Performance problems adding large numbers of nodes * [MODE-904] - JpaSource has hardcoded dependency on c3p0 * [MODE-905] - Problem using full-text search * [MODE-906] - When using the Filesystem Source on Windows with UNC Path for rootPath, access is EXTREMELY SLOW * [MODE-907] - Lucene Indexing using the F/S source seems to over-flow memory no matter how configured (maybe???) * [MODE-910] - Filesystem source projection into federated source causes RepositoryException" There is no repository named "xyz" * [MODE-911] - JDBC metadata getColumns() is exposing column jcr:primaryType for some tables in which its not queryable on the server * [MODE-913] - ResultSet methods should throw SQLFeatureNotSupportedException, instead of returning false when feature is not supported * [MODE-914] - Certain DatabaseMetaData methods should throw SQLFeatureNotSupportedException * [MODE-915] - JcrStatement should throw SQLFeatureNotSupported for certain methods * [MODE-917] - JcrRepositoryFactory documentation error * [MODE-918] - Maven pom elementnames in documentation are incorrect * [MODE-920] - RepositorySourceException thrown when creating file using WebDav client and FileSystem connector * [MODE-921] - modeshape-jdbc-2.2.1-http-jar-with-dependencies and modeshape-jpa-ddl-gen-2.2.1-jar-with-dependencies contains multiple files with the same name * [MODE-924] - Ddl-gen utility, as an example, says to use Basic as the -model argument, but this is not valid, it should be Simple * [MODE-926] - Change the jdbc metadata method getIdentifierQuoteString() to return double quote, rather than a single tic. * [MODE-927] - Unable to delete file through REST interface * [MODE-928] - When using jpa-ddl-gen tool and the -out