Author: rhauch
Date: 2009-09-11 16:24:33 -0400 (Fri, 11 Sep 2009)
New Revision: 1209
Modified:
trunk/docs/reference/src/main/docbook/en-US/content/connectors/infinispan.xml
trunk/docs/reference/src/main/docbook/en-US/content/connectors/subversion.xml
trunk/docs/reference/src/main/docbook/en-US/content/core/connector.xml
trunk/docs/reference/src/main/docbook/en-US/content/core/sequencing.xml
trunk/docs/reference/src/main/docbook/en-US/content/introduction.xml
trunk/docs/reference/src/main/docbook/en-US/content/jcr/rest_service.xml
Log:
DNA-517 Update Reference Guide and Getting Started Document for New and Modified Features
Made several changes, including:
1) Called out the new 'dna-connector-infinispan' project
2) Documented the binary property behavior in the REST service
3) Corrected the SVN connector property example
4) Changed versions of DNA components in examples from 0.5 to 0.6
Modified: trunk/docs/reference/src/main/docbook/en-US/content/connectors/infinispan.xml
===================================================================
---
trunk/docs/reference/src/main/docbook/en-US/content/connectors/infinispan.xml 2009-09-11
20:19:37 UTC (rev 1208)
+++
trunk/docs/reference/src/main/docbook/en-US/content/connectors/infinispan.xml 2009-09-11
20:24:33 UTC (rev 1209)
@@ -32,9 +32,9 @@
<title>Infinispan Connector</title>
<para>
The Infinispan repository connector allows a <ulink
url="http://www.jboss.org/infinispan/">Infinispan</ulink> instance to
be
- used as a JBoss DNA (and thus JCR) repository. This provides a repository that is an
effective, scalable, and distributed cache,
- and is often paired with other repository sources to provide a local or <link
linkend="federation-connector">federated</link>
- repository.
+ used as a JBoss DNA (and thus JCR) repository. This provides a way for the content in
a repository to be stored in an
+ effective, scalable, and distributed data grid. Like other connectors, this can be
paired with other repository sources
+ to provide a local or <link
linkend="federation-connector">federated</link> repository.
</para>
<para>
The &InfinispanSource; class provides a number of JavaBean properties that control
its behavior:
Modified: trunk/docs/reference/src/main/docbook/en-US/content/connectors/subversion.xml
===================================================================
---
trunk/docs/reference/src/main/docbook/en-US/content/connectors/subversion.xml 2009-09-11
20:19:37 UTC (rev 1208)
+++
trunk/docs/reference/src/main/docbook/en-US/content/connectors/subversion.xml 2009-09-11
20:24:33 UTC (rev 1209)
@@ -79,11 +79,13 @@
<entry>directoryForDefaultWorkspace</entry>
<entry>Optional property that, if used, specifies the relative path of the
directory in the repository that should be
exposed as the default workspace.
+ Each workspace name is the URL of the portion of the SVN repository being exposed
(e.g., "http://acme.com/repo/trunk").
</entry>
</row>
<row>
<entry>predefinedWorkspaceNames</entry>
<entry>Optional property that, if used, defines names of the workspaces that
are predefined and need not be created before being used.
+ Each workspace name is the URL of the portion of the SVN repository being exposed
(e.g., "http://acme.com/repo/trunk").
This can be coupled with a "fase" value for the
"creatingWorkspaceAllowed" property to allow only the use of only predefined
workspaces.
</entry>
</row>
@@ -116,7 +118,15 @@
.usingClass(SVNRepositorySource.class)
.setDescription("The DNA SVN repository (anonymous access)")
.setProperty("repositoryRootUrl",
"http://anonsvn.jboss.org/repos/dna");
- .setProperty("directoryForDefaultWorkspace", "trunk");
- .setProperty("predefinedWorkspaceNames", new
String[]{"trunk","tags/0.1","/tags/0.2",
"/tags/0.3", "/tags/0.4", "/tags/0.5");
+ .setProperty("directoryForDefaultWorkspace",
"http://anonsvn.jboss.org/repos/dna/trunk");
+ .setProperty("predefinedWorkspaceNames", new String[] {
+ "http://anonsvn.jboss.org/repos/dna/trunk",
+ "http://anonsvn.jboss.org/repos/dna/tags/0.1",
+ "http://anonsvn.jboss.org/repos/dna/tags/0.2",
+ "http://anonsvn.jboss.org/repos/dna/tags/0.3",
+ "http://anonsvn.jboss.org/repos/dna/tags/0.4",
+ "http://anonsvn.jboss.org/repos/dna/tags/0.5",
+ "http://anonsvn.jboss.org/repos/dna/tags/0.6"
+ });
]]></programlisting>
</chapter>
Modified: trunk/docs/reference/src/main/docbook/en-US/content/core/connector.xml
===================================================================
--- trunk/docs/reference/src/main/docbook/en-US/content/core/connector.xml 2009-09-11
20:19:37 UTC (rev 1208)
+++ trunk/docs/reference/src/main/docbook/en-US/content/core/connector.xml 2009-09-11
20:24:33 UTC (rev 1209)
@@ -248,7 +248,7 @@
<dependency>
<groupId>org.jboss.dna</groupId>
<artifactId>dna-graph</artifactId>
- <version>0.5</version>
+ <version>0.6</version>
</dependency>
]]></programlisting>
<para>
@@ -264,14 +264,14 @@
<dependency>
<groupId>org.jboss.dna</groupId>
<artifactId>dna-graph</artifactId>
- <version>0.5</version>
+ <version>0.6</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.dna</groupId>
<artifactId>dna-common</artifactId>
- <version>0.5</version>
+ <version>0.6</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
@@ -292,7 +292,7 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
- <version>1.4.3</version>
+ <version>1.5.8</version>
<scope>test</scope>
</dependency>
<dependency>
Modified: trunk/docs/reference/src/main/docbook/en-US/content/core/sequencing.xml
===================================================================
--- trunk/docs/reference/src/main/docbook/en-US/content/core/sequencing.xml 2009-09-11
20:19:37 UTC (rev 1208)
+++ trunk/docs/reference/src/main/docbook/en-US/content/core/sequencing.xml 2009-09-11
20:24:33 UTC (rev 1209)
@@ -314,7 +314,7 @@
<dependency>
<groupId>org.jboss.dna</groupId>
<artifactId>dna-graph</artifactId>
- <version>0.5</version>
+ <version>0.6</version>
</dependency>
]]></programlisting>
<para>These are minimum dependencies required for compiling a sequencer. Of
course, you'll have to add
@@ -325,14 +325,14 @@
<dependency>
<groupId>org.jboss.dna</groupId>
<artifactId>dna-graph</artifactId>
- <version>0.5</version>
+ <version>0.6</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.dna</groupId>
<artifactId>dna-common</artifactId>
- <version>0.5</version>
+ <version>0.6</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
@@ -353,7 +353,7 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
- <version>1.4.3</version>
+ <version>1.5.8</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -370,7 +370,7 @@
<dependency>
<groupId>org.jboss.dna</groupId>
<artifactId>dna-jcr</artifactId>
- <version>0.5</version>
+ <version>0.6</version>
<scope>test</scope>
</dependency>
<!-- Java Content Repository API -->
Modified: trunk/docs/reference/src/main/docbook/en-US/content/introduction.xml
===================================================================
--- trunk/docs/reference/src/main/docbook/en-US/content/introduction.xml 2009-09-11
20:19:37 UTC (rev 1208)
+++ trunk/docs/reference/src/main/docbook/en-US/content/introduction.xml 2009-09-11
20:24:33 UTC (rev 1209)
@@ -400,6 +400,16 @@
</listitem>
<listitem>
<para>
+ <emphasis
role="strong">dna-connector-infinispan</emphasis>
+ is a DNA repository connector that stores content in a deployed instance of
<ulink url="http://infinispan.org">Infinispan</ulink>.
+ Infinispan is an extremely scalable, highly available data grid platform that
distributes the data across the nodes
+ in the grid. This connector makes it possible for repository content to be
stored in a very efficient, fast,
+ higly-concurrent (essentially lock- and synchronization-free) and reliable
manner,
+ even when the content size grows to massive sizes.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
<emphasis
role="strong">dna-connector-store-jpa</emphasis>
is a DNA sequencer that provides for persistent storage and access of DNA
content in a relational database. This connector
is based on JPA technology.
Modified: trunk/docs/reference/src/main/docbook/en-US/content/jcr/rest_service.xml
===================================================================
--- trunk/docs/reference/src/main/docbook/en-US/content/jcr/rest_service.xml 2009-09-11
20:19:37 UTC (rev 1208)
+++ trunk/docs/reference/src/main/docbook/en-US/content/jcr/rest_service.xml 2009-09-11
20:24:33 UTC (rev 1209)
@@ -204,11 +204,15 @@
</para>
<para>
The PUT method allows for updates of nodes and properties. If the URI points to a
property, the body of the
- request should be the new JSON-encoded value for the property.
+ request should be the new JSON-encoded value for the property, which includes the
property name (allowing
+ proper determination of whether the values are binary; see the
+ <link linkend="binary_properties_in_rest_representations">next
section"</link>").
<programlisting><![CDATA[
PUT
http://www.example.com/resources/dna%3arepository/default/items/newNode/s...
-"bar"
+{
+ "someProperty" : "bar"
+}
]]></programlisting>
Setting multiple properties at once can be performed by providing a URI to a node
instead of a property. The
body of the request should then be a JSON object that maps property names to their new
values.
@@ -228,6 +232,37 @@
</para>
</note>
</para>
+ <sect2 id="binary_properties_in_rest_representations">
+ <title>Binary properties</title>
+ <para>
+ Binary property values are included in any of the the responses or requests, but
are represented
+ string values containing the <ulink
url="&Wikipedia;Base64">Base 64 encoding</ulink> of the binary
content.
+ Any such property is explicitly annotated such that "/base64/" is
appended to the property name.
+ First of all, this makes it very clear to the client and service which properties
are encoded, allowing them
+ to properly decode the values before use. Secondly, the "/base64/"
suffix was carefully chosen because it
+ cannot be used in a real property name (without escaping). Here's an example
of a node containing a "jcr:primaryType"
+ property with a single string value, a "jcr:uuid" property with another
single UUID value, another
+ "options" property that has two integer values, and a fourth
"content" property that has a single
+ binary value:
+<programlisting><![CDATA[
+{
+ "properties": {
+ "jcr:primaryType": "nt:unstructured",
+ "jcr:uuid": "163bc5e5-3b57-4e63-b2ae-ededf43d3445"
+ "options": [ "1", "2" ]
+ "content/base64/":
"TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz
+
IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg
+
dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu
+
dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo
+ ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4="
+ },
+}
+]]></programlisting>
+ All values of a property will always be Base 64 encoded if at least one of the
values is binary.
+ If there are multiple values, then they will be separated by commas and will
appear within '[' and ']'
+ characters (just like other properties).
+ </para>
+ </sect2>
</sect1>
<sect1 id="dna_rest_server_configuration">
<title>Configuring the DNA REST Server</title>
@@ -390,7 +425,7 @@
<parent>
<artifactId>dna</artifactId>
<groupId>org.jboss.dna</groupId>
- <version>0.5-SNAPSHOT</version>
+ <version>0.6</version>
<relativePath>../..</relativePath>
</parent>
<artifactId>dna-web-jcr-rest-war</artifactId>
@@ -402,20 +437,20 @@
<dependency>
<groupId>org.jboss.dna</groupId>
<artifactId>dna-web-jcr-rest</artifactId>
- <version>${pom.version}</version>
+ <version>0.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
- <version>1.4.3</version>
+ <version>1.5.8</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
- <version>1.0-beta-8</version>
+ <version>1.1.GA</version>
</dependency>
</dependencies>
</project>
@@ -438,13 +473,13 @@
| + commons-codec-1.2.jar
| + commons-httpclient-3.1.jar
| + commons-logging-1.0.4.jar
- | + dna-cnd-0.5-SNAPSHOT.jar
- | + dna-common-0.5-SNAPSHOT.jar
- | + dna-connector-federation-0.5-SNAPSHOT.jar
- | + dna-graph-0.5-SNAPSHOT.jar
- | + dna-jcr-0.5-SNAPSHOT.jar
- | + dna-repository-0.5-SNAPSHOT.jar
- | + dna-web-jcr-rest-0.5-SNAPSHOT.jar
+ | + dna-cnd-0.6.jar
+ | + dna-common-0.6.jar
+ | + dna-connector-federation-0.6.jar
+ | + dna-graph-0.6.jar
+ | + dna-jcr-0.6.jar
+ | + dna-repository-0.6.jar
+ | + dna-web-jcr-rest-0.6.jar
| + FastInfoset-1.2.2.jar
| + google-collect-snapshot-20080530.jar
| + hamcrest-core-1.1.jar