[dna-commits] DNA SVN: r1209 - in trunk/docs/reference/src/main/docbook/en-US/content: connectors and 2 other directories.

dna-commits at lists.jboss.org dna-commits at lists.jboss.org
Fri Sep 11 16:24:33 EDT 2009


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/someProperty
 
-"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



More information about the dna-commits mailing list