Release Notes for ModeShape 1.0.0.Final
JCR Support
With version this release, ModeShape introduces support for all JCR Level 1 and Level 2 features and the optional
locking and observation features. The release adds support for JCR referential integrity for REFERENCE properties,
and a host of other fixes and improvements.
ModeShape's support for observation does have one caveat: when a subgraph is deleted, only the delete event for
the top node in the subgraph is produced. This is more inline with the behavior outlined in the JSR-283 specification.
As with the 1.0.0.Beta1 release, this release of ModeShape does not support the optional SQL query feature as defined by
JSR-170 and its JCR-SQL query language. Instead, ModeShape supports its replacement, the JCR-SQL2 query language defined
by the JSR-283 specification. JCR-SQL2 is much improved and much more capable. For details, see the chapter on queries
and search languages in the Reference Guide.
ModeShape does not yet support the optional versioning feature of JSR-170, but our goal is to support it in the next release.
The 1.0.0.Final release has not yet been certified to be fully compliant with JCR 1.0. The ModeShape project plans to
focus on attaining this certification in the very near future.
Accessing the Repository
- JAAS Authentication
- HTTP Authentication (for REST 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-SQL2
- 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 Node Types (All But Version-Related Types)
- Custom Node Type Registration (CND-Based and Template-Based)
Repository Metadata under System Node
- Permanent Namespace Mappings
- Node Types (Built-In and User-Registered)
- Active Locks
JCR Optional Features
ModeShape-Specific Features
Connectors
- Federated Connector
- JPA Connector (read-write/persistent storage)
- In-Memory 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)
Deployment/Access Models
- JNDI-Based Deployment
- Embedded (in Server or JEE Archive) Deployment
- OSGi-Compatible Archives
- Access through RESTful Services
ModeShape 1.0.0.Final
Bug
- [MODE-391] - AbstractJcrNode.getReferences() Is Incorrect
- [MODE-392] - Referenced Nodes Can Be Deleted
- [MODE-601] - mvn eclipse:clean eclipse:eclipse doesn't work on dna-connector-store-jpa
- [MODE-613] - Correct QUERY_XPATH_DOC_ORDER descriptor since the optional XPath position() and last() functions are not supported
- [MODE-646] - Generated JavaDoc is missing recently-added public packages
- [MODE-648] - CanRemoveItemTest.testMandatoryProperty JCR TCK Test Failing
- [MODE-649] - Fix JavaDoc
- [MODE-655] - AbstractJcrNode.getProperty Fails Intermittently
- [MODE-656] - Failing DurationTest test case
- [MODE-657] - The XPathQueryLevel2Test TCK Level 2 unit tests fail
- [MODE-658] - Using JCR API to add files to SVN results in infinite block
- [MODE-659] - SVN Connector Requires Trailing Slash on URL
- [MODE-660] - The ElementTest TCK unit test is not being run
- [MODE-661] - Maven Classloader module dependency on Jackrabbit should be removed
- [MODE-667] - File system connector should behave better when creating "jcr:content" child nodes under an "nt:file" node with the default conflict behavior
- [MODE-669] - Root cause is swallowed for AccessControlException in JcrRepository
- [MODE-670] - One suite of JCR TCK tests is failing during Hudson run but not locally
Feature Request
- [MODE-36] - Federate content from SVN
- [MODE-96] - ModeShape should provide a JCR 1.0 API (JSR-170) implementation
- [MODE-266] - Sequence Java class files to extract the class structure with annotations
- [MODE-277] - Federate/cache content from a remote JCR (and DNA) repository
- [MODE-397] - Provide OSGi information in archives (via META-INF/MANIFEST.MF files)
- [MODE-628] - Allow CachePolicy Configuration through Graph and Configuration Files
- [MODE-631] - Provide a way to set the JcrRepository descriptors from the JcrConfiguration and JcrEngine
- [MODE-635] - ModeShapeConfiguration and JcrConfiguration should provide methods to write the configuration to a file
- [MODE-636] - JcrConfiguration files should be able to specify node types by referencing one or more CND files
- [MODE-641] - The DDL sequencer should allow specifying the dialect type in DDL comments
- [MODE-642] - DDL sequencer should accept optional configuration property listing possible dialects
- [MODE-643] - Provide a JAR (or OSGi bundle) that contains all of the JCR implementation, all extensions, and all dependencies
- [MODE-668] - Utilize the 'nofulltext' property attribute in the CND format (added in JCR 2.0) to dictate whether the full-text searching should be enabled for each property
- [MODE-673] - Refactor JcrResources to Better Partition Logic
Task
- [MODE-504] - Switch to JDK 6 (aka 1.6) for baseline
- [MODE-651] - Change all Logger instance variables to static class variables
- [MODE-652] - Remove empty packages in examples
- [MODE-663] - Reduce visibility of some classes in the org.modeshape.jcr package
- [MODE-666] - Upgrade JavaDoc stylesheets to those designed by JBoss.org
- [MODE-676] - Update Documentation
- [MODE-678] - Move the permission and role constants from JcrSession to separate public interfaces
Thirdparty Change
- [MODE-662] - Upgrade to Infinispan 4.0.0.Final
- [MODE-664] - Upgrade to Mockito 1.8.1
- [MODE-665] - Upgrade to Hibernate 3.3.2
- [MODE-674] - Upgrade to Google Collections 1.0 final
- [MODE-675] - Upgrade to Joda Time 1.6
Sub-task
- [MODE-108] - Automatically build single JAR file that can be used to deploy ModeShape to a container to execute official TCK
[MODE-580] - Rebrand project to new name
[MODE-647] - Support backward compatibility with content using the JBoss DNA namespaces