Release Notes for ModeShape 2.4.0.Final
JCR Support
ModeShape 2.4.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),
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 (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.4.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.4.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.4.0.Final
Bug
- [MODE-687] - JCR Imports Need to Respect or Ignore Repostory-Level Semantics
- [MODE-909] - The return sort order is not in alpha order
- [MODE-912] - Importing metadata using JDBC driver doesnt return tables when the workspace isnt specified on the url
- [MODE-919] - Getting a broken pipe exception when publishing the attached DDL file
- [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-923] - Performance problem, MapTransaction.findNode() called excessively
- [MODE-955] - ModeShape error messages when starting admin console
- [MODE-956] - Property Not Found Exception when value is null
- [MODE-977] - Removing context-param for JCR_URL in web.xml in the rest war causes NPE
- [MODE-979] - ModeShape cannot be built with tests.
- [MODE-981] - JDBC driver, after performing a query, isn't seeing any new sequenced data
- [MODE-983] - Transaction isolation level cannot be configured for ModeShape JPA connector
- [MODE-989] - When publishing a file using JBDS, it causes an NPE when trying to load the mimeTypes
- [MODE-990] - When starting server, seeing - option value "system@store" references an invalid or non-existant source "null"
- [MODE-991] - The modeshape-web-jcr Project Depends on modeshape-graph
- [MODE-992] - JsonRestClient Contains a System.out.println
- [MODE-993] - When RHQ plugin is deployed, but the ModeShape service is not, a NPE is seen when admin console is accessed
- [MODE-997] - The JDBC driver methods, getTime / TimeStamp passing in a Calendar have issues if the current time is within the 11 hour
- [MODE-1002] - Errors in ModeShape options should be reported
- [MODE-1004] - Teiid VDB sequencer incorrectly set the value of the vdb:builtIn property
- [MODE-1005] - Session.getNode(String) throws InvalidPathException
- [MODE-1006] - ModeShape DDL Sequencer Does Not Create Primary Key Column Reference For Column Constraint That Uses "PRIMARY KEY" Keywords
- [MODE-1007] - Querying ModeShape thru Teiid on table relational_column produces NPE
- [MODE-1009] - The JBoss AS deployment configuration does not correctly reference the right JAAS policy
- [MODE-1010] - FileSystemConnector does not process rename node properly after commit
- [MODE-1012] - sequencing on different sources does not work
- [MODE-1013] - XML sequencer doesn't work correctly
- [MODE-1016] - ConstraintViolationException is thrown when importing sample drools rules from XML file.
- [MODE-1017] - Two jcr:roorVersion objects in VersionHistory.
- [MODE-1018] - Lock holding nodes can be deleted.
- [MODE-1021] - PropertyTypeUtil does not handle URIs correctly
- [MODE-1022] - The ModeShape ddl schema scripts do not contain a statement delimiter, which will make it difficult for use
- [MODE-1023] - Value conversion is not consistent
- [MODE-1024] - File System connector tests check maximum length of path, but fail when the target directory is already long
- [MODE-1025] - ModeShape JDBC driver must expose the psuedo column mode:properties in order that it is part of the metadata when the Designer jdbc importer builds the ModeShape model
- [MODE-1026] - xsi:type="xs:base64Binary" not honored
- [MODE-1031] - Create ddl scripts begin with drop statements, even when there are separate drop scripts
- [MODE-1035] - Cannot save jcr2 session after Node.remove() calls
- [MODE-1036] - Modeshape unit test JpaConnectorNoCreateWorkspaceTest freezes when Oracle is used.
- [MODE-1038] - Configuration setting, jaasLoginConfigName, when defined as the element name, is not picked up to override the default modeshape-jcr
- [MODE-1047] - Potential performance problems with Workspace.copy(...) of content with multiple 'mix:versionable' nodes
- [MODE-1049] - PlanUtil replaces descendant-node join conditions with child-node join conditions
- [MODE-1052] - NOT isn't handled properly
- [MODE-1054] - Creation of new workspace fails with HSQLDB
- [MODE-1055] - Query verification is too stringent
- [MODE-1056] - Node types can be queried even if they declare they are not queryable
- [MODE-1057] - Comparison operators in ModeShape queries are not limited to those specified in property definitions
- [MODE-1064] - Dialect auto detection does not work properly for MySQL
- [MODE-1066] - Error when importing nodes on JPA connectors
- [MODE-1067] - Calling QueryResult.getNodes() produces exception
- [MODE-1069] - Missing localization string in ModeShape JDBC driver
- [MODE-1070] - Enabling clustering in Reference Guide
Feature Request
- [MODE-861] - Add JCR descriptor to allow users to get names of workspaces through standard API
- [MODE-996] - Add clustering jar to the jboss as deployment
- [MODE-998] - Support binding the javax.jcr.Repository instances created during JcrEngine.start to JNDI
- [MODE-1001] - Clean up FileSystemConnector behavior for matching files
- [MODE-1019] - Provide mechanism to create initial repository structure
- [MODE-1020] - Add 'mode:publishArea' node type
- [MODE-1028] - When A File Node Is Removed The Associated Sequenced Nodes Should Also Be Removed
- [MODE-1033] - Sequenced output should contain pointer back to the content from which it originated
- [MODE-1053] - Use a more scalable structure for storing version histories
- [MODE-1071] - Provide a standard way for RepositorySource implementations to garbage collect unused content
Task
- [MODE-899] - Its requested that the file name of modeshape-jdbc-2.2.1-SNAPSHOT-http-jar-with-dependencies.jar be renamed to modeshape-client-<version>.jar
- [MODE-1003] - Rework MetaValueFactory Code to Remove Missing Dependency in JON
- [MODE-1027] - Publishing Using The JsonRestClient Does Not Support Repository Resource Versioning