Index: docs/reference/src/main/docbook/en-US/content/jcr/configuration.xml =================================================================== --- docs/reference/src/main/docbook/en-US/content/jcr/configuration.xml (revision 1896) +++ docs/reference/src/main/docbook/en-US/content/jcr/configuration.xml (working copy) @@ -685,7 +685,7 @@ try { org.modeshape modeshape-jcr - 1.1.0.Final + 2.0.Final ]]> @@ -694,13 +694,13 @@ try { org.modeshape modeshape-connector-store-jpa - 1.1.0.Final + 2.0.Final ... org.modeshape modeshape-sequencer-java - 1.1.0.Final + 2.0.Final ]]> Index: docs/reference/src/main/docbook/en-US/content/jcr/jcr.xml =================================================================== --- docs/reference/src/main/docbook/en-US/content/jcr/jcr.xml (revision 1896) +++ docs/reference/src/main/docbook/en-US/content/jcr/jcr.xml (working copy) @@ -35,37 +35,23 @@ Content Repository for Java technology API provides a standard Java API for working with content repositories. Abbreviated "JCR", this API was developed as part of the Java Community Process under JSR-170 (JCR 1.0) and has been revised under JSR-283. - ModeShape provides a partial JCR 1.0 implementation that allows you to work with the contents of a repository using the - JCR API. For information about how to use the JCR API, please see the JSR-170 specification. + ModeShape provides a JCR 2.0 implementation that allows you to work with the contents of a repository using the + JCR API. For information about how to use the JCR API, please see the JSR-283 specification. - In the interests of brevity, this chapter does not attempt to reproduce the JSR-170 specification nor provide + In the interests of brevity, this chapter does not attempt to reproduce the JSR-283 specification nor provide an exhaustive definition of ModeShape JCR capabilities. Rather, this chapter will describe any deviations from the specification as well as any ModeShape-specific public APIs and configuration. - Using ModeShape within your application is actually quite straightforward. As you'll see in this chapter, - the first step is setting up ModeShape and starting the JcrEngine. After that, you obtain the - javax.jcr.Repository instance for a named repository and just use the standard JCR API throughout your - application. + + Using ModeShape within your application is actually quite straightforward. First, you need to get a reference + to a JCR &Repository; as described in the previous chapter. At this point, your application can proceed by working with the JCR API. - - Obtaining JCR Repositories - Once you've obtained a reference to a JcrEngine as described in - the previous chapter, obtaining a repository is as easy as calling - the getRepository(String) method with the name of the repository that you just configured. - -&String; repositoryName = ...; -&JcrEngine; jcrEngine = ...; -&Repository; repository = jcrEngine.getRepository(repositoryName); - - At this point, your application can proceed by working with the JCR API. - - Creating JCR Sessions Once you have obtained a reference to the JCR &Repository;, you can create a JCR session using one of its - login(...) methods. The JSR-170 specification provides four login methods, but the + login(...) methods. The JSR-283 specification provides four login methods, but the behavior of these methods depends on the kind of authentication system your application is using. @@ -200,16 +186,14 @@ final &LoginContext; loginContext = ...; Level 1 and Level 2 (Required) Features ModeShape currently supports all Level 1 and Level 2 features defined by the - JSR-170 specification. + JSR-283 specification. Optional Features - ModeShape also supports the optional JCR locking, observation, query, and versioning features. - However, ModeShape's behavior with regard to events upon deletion follows the updated behavior - outline in the JSR-283 specification (namely that when a subgraph - is deleted, ModeShape generates only one event for the top-level node in that subgraph). + ModeShape also supports the optional JCR locking, observation, query, and full versioning features, + as well as most of the node type management features. ModeShape now supports the optional SQL query feature as defined by JSR-170 @@ -224,7 +208,7 @@ final &LoginContext; loginContext = ...; JCR Security - Although the JSR-170 specification requires implementation of the Session.checkPermission(String, String) method, + Although the JSR-283 specification requires implementation of the Session.checkPermission(String, String) method, it allows implementors to choose the granularity of their access controls. ModeShape supports coarse-grained, role-based access control at the repository and workspace level. @@ -347,25 +331,25 @@ final &LoginContext; loginContext = ...; and read/write access to any workspace in a staging repository. - As a final note, the ModeShape JCR implementation may have additional security roles added prior to the 1.0 release. A CONNECT role + As a final note, the ModeShape JCR implementation may have additional security roles added in the future. A CONNECT role is already being used by the ModeShape REST Server to control whether users have access to the repository through that means. Built-In Node Types - ModeShape supports all of the built-in node types described in the JSR-170 specification. + ModeShape supports all of the built-in node types described in the JSR-283 specification. ModeShape also defines some custom node types in the mode namespace, but none of these - node types except for mode:resource are intended to be used by developers integrating with ModeShape and may be changed or removed + node types (other than mode:resource) are intended to be used by developers integrating with ModeShape and may be changed or removed at any time. Custom Node Type Registration - Although the JSR-170 specification does not require support for registration and unregistration of custom types, ModeShape supports this extremely - useful feature. Custom node types can be added at startup, as noted above or at runtime through a ModeShape-specific interface. ModeShape supports defining node - types either through a JSR-283-like template approach or through the use of &CND; (CND) files. - Both type registration mechanisms are supported equally within ModeShape, although the CND approach for defining node types is recommended. + Although the JSR-283 specification does not require support for registration and unregistration of custom types, ModeShape supports this extremely + useful feature. Custom node types can be added at startup, as noted above, at runtime through a ModeShape-specific interface that accepts CND files, or through the JSR-283 + node type template methods. + All three of these node type registration mechanisms are supported equally within ModeShape, although the CND approach for defining node types is recommended. ModeShape also supports defining custom node types to load at startup. This is discussed in more detail in the previous chapter. @@ -373,12 +357,6 @@ final &LoginContext; loginContext = ...; - The JSR-283 specification provides a useful means of programmatically defining JCR node types. ModeShape supports a comparable - node type definition API that implements the functionality from the specification, albeit with interfaces in the org.modeshape.jcr.nodetype package. - The intent is to deprecate these classes and replace their usage with the JSR-283 equivalents when ModeShape fully supports - the JSR-283 final adopted specification in a future release. - - Node types can be defined like so: &Session; session = ... ; @@ -423,7 +401,7 @@ nodeTypeManager.registerNodeType(nodeType,false); This definition could then be registered as part of the repository configuration, using the &JcrConfiguration; class (see the previous chapter). Or, you can also - use a Session to declare the node types in a CDN file, but this also requires ModeShape-specific interfaces and classes: + use a Session to declare the node types in a CND file, but this also requires ModeShape-specific interfaces and classes: String pathToCndFileInClassLoader = ...; &CndNodeTypeSource; nodeTypeSource = new &CndNodeTypeSource;(pathToCndFileInClassLoader); Index: docs/reference/src/main/docbook/en-US/content/jcr/web_access.xml =================================================================== --- docs/reference/src/main/docbook/en-US/content/jcr/web_access.xml (revision 1896) +++ docs/reference/src/main/docbook/en-US/content/jcr/web_access.xml (working copy) @@ -319,7 +319,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma modeshape org.modeshape - 1.1 + 2.0 ../.. modeshape-web-jcr-webdav-war @@ -357,32 +357,30 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma | + configRepository.xml | + log4j.properties (Optional) + /lib - | + activation-1.1.jar | + aperture-1.1.0.Beta1.jar | + google-collections-1.0.jar | + hamcrest-core-1.1.jar | + jakarta-regexp-1.4.jar - | + jaxb-api-2.1.jar - | + jaxb-impl-2.1.12.jar | + jcip-annotations-1.0.jar - | + jcr-1.0.1.jar + | + jcr-2.0.jar | + joda-time-1.6.jar | + junit-dep-4.4.jar | + lucene-analyzers-3.0.0.jar | + lucene-core-3.0.0.jar | + lucene-regex-3.0.0.jar | + lucene-snowball-3.0.0.jar - | + modeshape-cnd-1.1.jar - | + modeshape-common-1.1.jar - | + modeshape-graph-1.1.jar - | + modeshape-jcr-1.1.jar - | + modeshape-mimetype-detector-aperture-1.1.jar - | + modeshape-repository-1.1.jar - | + modeshape-search-lucene-1.1.jar - | + modeshape-web-jcr-1.1.jar - | + modeshape-web-jcr-webdav-1.1.jar + | + modeshape-cnd-2.0.jar + | + modeshape-common-2.0.jar + | + modeshape-graph-2.0.jar + | + modeshape-jcr-2.0.jar + | + modeshape-jcr-api-2.0.jar + | + modeshape-mimetype-detector-aperture-2.0.jar + | + modeshape-repository-2.0.jar + | + modeshape-search-lucene-2.0.jar + | + modeshape-web-jcr-2.0.jar + | + modeshape-web-jcr-webdav-2.0.jar | + rdf2go.api-4.6.2.jar - | + slf4j-api-1.5.8.jar + | + slf4j-api-1.5.11.jar | + slf4j-log4j12-1.5.8.jar | + stax-api-1.0-2.jar | + webdav-servlet-2.0.jar @@ -807,7 +805,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma modeshape org.modeshape - 1.1 + 2.0 ../.. modeshape-web-jcr-rest-war @@ -819,7 +817,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma org.modeshape modeshape-web-jcr-rest - 1.1 + 2.0 @@ -832,7 +830,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma org.jboss.resteasy resteasy-client - 1.1.GA + 1.2.1.GA @@ -865,7 +863,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma | + jaxrs-api-1.2.1.GA.jar | + jcip-annotations-1.0.jar | + jcl-over-slf4j-1.5.8.jar - | + jcr-1.0.1.jar + | + jcr-2.0.jar | + jettison-1.1.jar | + joda-time-1.6.jar | + jsr250-api-1.0.jar @@ -874,20 +872,21 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma | + lucene-core-3.0.0.jar | + lucene-regex-3.0.0.jar | + lucene-snowball-3.0.0.jar - | + modeshape-cnd-1.1.jar - | + modeshape-common-1.1.jar - | + modeshape-graph-1.1.jar - | + modeshape-jcr-1.1.jar - | + modeshape-repository-1.1.jar - | + modeshape-search-lucene-1.1.jar - | + modeshape-web-jcr-1.1.jar - | + modeshape-web-jcr-rest-1.1.jar + | + modeshape-cnd-2.0.jar + | + modeshape-common-2.0.jar + | + modeshape-graph-2.0.jar + | + modeshape-jcr-2.0.jar + | + modeshape-jcr-api-2.0.jar + | + modeshape-repository-2.0.jar + | + modeshape-search-lucene-2.0.jar + | + modeshape-web-jcr-2.0.jar + | + modeshape-web-jcr-rest-2.0.jar | + resteasy-jaxb-provider-1.2.1.GA.jar | + resteasy-jaxrs-1.2.1.GA.jar | + resteasy-jettison-provider-1.2.1.GA.jar | + scannotation-1.0.2.jar | + sjsxp-1.0.1.jar - | + slf4j-api-1.5.8.jar + | + slf4j-api-1.5.11.jar | + slf4j-log4j12-1.5.8.jar | + slf4j-simple-1.5.8.jar | + stax-api-1.0-2.jar Index: docs/reference/src/main/docbook/en-US/master.xml =================================================================== --- docs/reference/src/main/docbook/en-US/master.xml (revision 1896) +++ docs/reference/src/main/docbook/en-US/master.xml (working copy) @@ -75,7 +75,7 @@ as well as the configuration and engine in which all the components run. These are all topics covered in this part of the document. - The ModeShape implementation of the JCR API as well as some other + The ModeShape implementation of the JCR API as well as some other JCR-related components are covered in the next part. @@ -88,7 +88,7 @@ ModeShape JCR - The ModeShape project provides an implementation of the JCR API, which is + The ModeShape project provides an implementation of the JCR API, which is built on top of the core libraries discussed earlier. This implementation as well as a number of JCR-related components are described in this part of the document. But before talking about how to use the JCR API with a ModeShape repository, first we need to