Author: buildbot
Date: Tue Sep 15 17:02:24 2015
New Revision: 965549

Log:
Staging update by buildbot for sling

Modified:
    websites/staging/sling/trunk/content/   (props changed)
    
websites/staging/sling/trunk/content/documentation/bundles/nosql-resource-providers.html

Propchange: websites/staging/sling/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Sep 15 17:02:24 2015
@@ -1 +1 @@
-1703252
+1703258

Modified: 
websites/staging/sling/trunk/content/documentation/bundles/nosql-resource-providers.html
==============================================================================
--- 
websites/staging/sling/trunk/content/documentation/bundles/nosql-resource-providers.html
 (original)
+++ 
websites/staging/sling/trunk/content/documentation/bundles/nosql-resource-providers.html
 Tue Sep 15 17:02:24 2015
@@ -117,25 +117,40 @@ h2:hover > .headerlink, h3:hover > .head
 <li><a href="#introduction">Introduction</a></li>
 <li><a href="#mongodb-nosql-resource-provider">MongoDB NoSQL Resource 
Provider</a></li>
 <li><a href="#couchbase-nosql-resource-provider">Couchbase NoSQL Resource 
Provider</a></li>
+<li><a href="#writing-your-own-nosql-resource-provider">Writing your own NoSQL 
Resource Provider</a></li>
 </ul>
 </div>
 <h2 id="introduction">Introduction<a class="headerlink" href="#introduction" 
title="Permanent link">&para;</a></h2>
 <p>Apache Sling provides resource-based access to NoSQL document stores like 
MongoDB and Couchbase via its Resource API using the NoSQL resource providers. 
This is possible in combination with a JCR-based repository (e.g. only on a 
special path in the resource tree), or a only persistence for the whole 
resource tree depending on the resource provider configuration.</p>
-<p>The general concept of retrieving from and storing resource data in NoSQL 
document stores is the same independently from the NoSQL product used:
-<em> For each resource a structured document is stored (usually in JSON format)
-</em> The path of the resource is the key of the document
-<em> The properties of the resource are stored in a map-like form in the 
document
-</em> Special mapping applies to convert special data types like numbers, 
dates and binary data to a format that can safely stored in the document event 
if the format is not natively supported (e.g. converting dates to strings and 
binary to base64)
-<em> The Sling CRUD support defines a simple transaction model with buffering 
all changes in memory until a call to "commit()" persists them to the NoSQL 
database
-</em> Iterating over child resources and deleting a resource including all 
descendants requires some basic query capabilities in the NoSQL store</p>
+<p>The general concept of retrieving from and storing resource data in NoSQL 
document stores is the same independently from the NoSQL product used:</p>
+<ul>
+<li>For each resource a structured document is stored (usually in JSON 
format)</li>
+<li>The path of the resource is the key of the document</li>
+<li>The properties of the resource are stored in a map-like form in the 
document</li>
+<li>Special mapping applies to convert special data types like numbers, dates 
and binary data to a format that can safely stored in the document event if the 
format is not natively supported (e.g. converting dates to strings and binary 
to base64)</li>
+<li>The Sling CRUD support defines a simple transaction model with buffering 
all changes in memory until a call to "commit()" persists them to the NoSQL 
database</li>
+<li>Iterating over child resources and deleting a resource including all 
descendants requires some basic query capabilities in the NoSQL store</li>
+</ul>
 <p>All these general features are implemented in an abstraction layer called 
<a 
href="https://svn.apache.org/repos/asf/sling/trunk/contrib/nosql/generic";>"Apache
 Sling NoSQL Generic Resource Provider"</a>, which is used by the resource 
provider implementations per NoSQL product. Those implementation than only 
implement a thin "adapter" which maps the resource data to the NoSQL 
product-specific storage formats and query capabilities, without having to care 
about all the complex resource provider handling.</p>
 <p>This generic resource provider also contains a set of integration tests 
covering the most relevant resource read- and write usecases which can be used 
to test a NoSQL product-specific  resource provider implementation and the 
underlying NoSQL database.</p>
 <h2 id="mongodb-nosql-resource-provider">MongoDB NoSQL Resource Provider<a 
class="headerlink" href="#mongodb-nosql-resource-provider" title="Permanent 
link">&para;</a></h2>
-<p>tbd.</p>
+<p>Resource provider for <a href="https://www.mongodb.org/";>MongoDB</a> NoSQL 
database.</p>
+<p>Tested with MongoDB Server 3.0.6 and MongoDB Java Driver 3.0.4.</p>
+<p>Configuration example:</p>
+<p><code>org.apache.sling.nosql.mongodb.resourceprovider.MongoDBNoSqlResourceProviderFactory.factory.config
+    provider.roots=["/"]
+    connectionString="localhost:27017"
+    database="sling"
+    collection="resources"</code></p>
+<p>See Apache Felix OSGi console for detailed documentation of the parameters. 
All resource data is stored in one Collection of one MongoDB database. Each 
resource is stored as a document with the path stored in an "_id" property.</p>
+<p>Source code: <a 
href="https://svn.apache.org/repos/asf/sling/trunk/contrib/nosql/mongodb-resourceprovider";>Apache
 Sling NoSQL MongoDB Resource Provider</a></p>
+<p>Please note: there is an <a 
href="https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/mongodb";>alternative
 MongoDB resource provider implementation</a> from 2012 which has less 
features, a slightly different concept for storing resource data (in multiple 
collections), and it does not use the "Generic Resource Provider".</p>
 <h2 id="couchbase-nosql-resource-provider">Couchbase NoSQL Resource Provider<a 
class="headerlink" href="#couchbase-nosql-resource-provider" title="Permanent 
link">&para;</a></h2>
 <p>tbd.</p>
+<h2 id="writing-your-own-nosql-resource-provider">Writing your own NoSQL 
Resource Provider<a class="headerlink" 
href="#writing-your-own-nosql-resource-provider" title="Permanent 
link">&para;</a></h2>
+<p>tbd.</p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; 
text-align: right;">
-        Rev. 1703252 by sseifert on Tue, 15 Sep 2015 16:49:44 +0000
+        Rev. 1703258 by sseifert on Tue, 15 Sep 2015 17:02:17 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Sling, Sling, Apache, the Apache feather logo, and the Apache 
Sling project


Reply via email to