Author: buildbot Date: Tue Sep 15 16:49:56 2015 New Revision: 965548 Log: Staging update by buildbot for sling
Added: websites/staging/sling/trunk/content/documentation/bundles/nosql-resource-providers.html Modified: websites/staging/sling/trunk/content/ (props changed) websites/staging/sling/trunk/content/documentation/bundles.html Propchange: websites/staging/sling/trunk/content/ ------------------------------------------------------------------------------ --- cms:source-revision (original) +++ cms:source-revision Tue Sep 15 16:49:56 2015 @@ -1 +1 @@ -1703185 +1703252 Modified: websites/staging/sling/trunk/content/documentation/bundles.html ============================================================================== --- websites/staging/sling/trunk/content/documentation/bundles.html (original) +++ websites/staging/sling/trunk/content/documentation/bundles.html Tue Sep 15 16:49:56 2015 @@ -124,6 +124,7 @@ h2:hover > .headerlink, h3:hover > .head <ul> <li><a href="/documentation/bundles/accessing-filesystem-resources-extensions-fsresource.html">Accessing Filesystem Resources (org.apache.sling.fsresource)</a></li> <li><a href="/documentation/bundles/bundle-resources-extensions-bundleresource.html">Bundle Resources (extensions.bundleresource)</a></li> +<li><a href="/documentation/bundles/nosql-resource-providers.html">NoSQL Resource Providers (org.apache.sling.nosql)</a></li> </ul> <h2 id="users-groups-access-permissions-acls-on-resources">Users, Groups, Access, Permissions, ACLs on Resources<a class="headerlink" href="#users-groups-access-permissions-acls-on-resources" title="Permanent link">¶</a></h2> <ul> @@ -174,7 +175,7 @@ h2:hover > .headerlink, h3:hover > .head <li><a href="/documentation/bundles/log-tracers.html">Log Tracer</a></li> </ul> <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;"> - Rev. 1689368 by bdelacretaz on Mon, 6 Jul 2015 11:23:06 +0000 + Rev. 1703252 by sseifert on Tue, 15 Sep 2015 16:49:44 +0000 </div> <div class="trademarkFooter"> Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project Added: websites/staging/sling/trunk/content/documentation/bundles/nosql-resource-providers.html ============================================================================== --- websites/staging/sling/trunk/content/documentation/bundles/nosql-resource-providers.html (added) +++ websites/staging/sling/trunk/content/documentation/bundles/nosql-resource-providers.html Tue Sep 15 16:49:56 2015 @@ -0,0 +1,147 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE- 2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + <head> + <title>Apache Sling - NoSQL Resource Providers (org.apache.sling.nosql)</title> + <link rel="icon" href="/res/favicon.ico"> + <link rel="stylesheet" href="/res/site.css" type="text/css" media="all"> + <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all"> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + </head> + <body> + <div class="title"> + <div class="logo"> + <a href="http://sling.apache.org/"> + <img border="0" alt="Apache Sling" src="/res/logo.png"> + </a> + </div> + <div class="header"> + <a href="http://www.apache.org/"> + <img border="0" alt="Apache" src="/res/apache.png"> + </a> + </div> + </div> + + <div class="menu"> + <style type="text/css"> +/* The following code is added by mdx_elementid.py + It was originally lifted from http://subversion.apache.org/style/site.css */ +/* + * Hide class="elementid-permalink", except when an enclosing heading + * has the :hover property. + */ +.headerlink, .elementid-permalink { + visibility: hidden; +} +h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> +<p><strong><a href="/documentation.html">Documentation</a></strong> <br /> +<a href="/documentation/getting-started.html">Getting Started</a> <br /> +<a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br /> +<a href="/documentation/development.html">Development</a> <br /> +<a href="/documentation/bundles.html">Bundles</a> <br /> +<a href="/documentation/tutorials-how-tos.html">Tutorials & How-Tos</a> <br /> +<a href="/documentation/configuration.html">Configuration</a> </p> +<p><a href="http://s.apache.org/sling.wiki">Wiki</a> <br /> +<a href="http://s.apache.org/sling.faq">FAQ</a> </p> +<p><strong>API Docs</strong> <br /> +<a href="/apidocs/sling7/index.html">Sling 7</a> <br /> +<a href="/apidocs/sling6/index.html">Sling 6</a> <br /> +<a href="/apidocs/sling5/index.html">Sling 5</a> </p> +<p><strong>Project info</strong> <br /> +<a href="/downloads.cgi">Downloads</a> <br /> +<a href="http://www.apache.org/licenses/">License</a> <br /> +<a href="/contributing.html">Contributing</a> <br /> +<a href="/news.html">News</a> <br /> +<a href="/links.html">Links</a> <br /> +<a href="/project-information.html">Project Information</a> <br /> +<a href="https://issues.apache.org/jira/browse/SLING">Issue Tracker</a> <br /> +<a href="http://ci.apache.org/builders/sling-trunk">Build Server</a> <br /> +<a href="/project-information/security.html">Security</a> </p> +<p><strong>Source</strong> <br /> +<a href="http://svn.apache.org/viewvc/sling/trunk">Subversion</a> <br /> +<a href="git://git.apache.org/sling.git">Git</a> <br /> +<a href="https://github.com/apache/sling">Github Mirror</a> </p> +<p><strong>Sponsorship</strong> <br /> +<a href="http://www.apache.org/foundation/thanks.html">Thanks</a> <br /> +<a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a> <br /> +<a href="http://www.apache.org/foundation/buy_stuff.html">Buy Stuff</a> </p> +<p><strong><a href="/sitemap.html">Site Map</a></strong></p> +<!-- no valid ads for now, we'll reactivate this when needed +<iframe + src="http://www.apache.org/ads/button.html" + style="border-width:0; float: left" frameborder="0" + scrolling="no" + width="135" + height="135"> +</iframe> +--> + </div> + + <div class="main"> + <div class="breadcrump" style="font-size: 80%;"> + <a href="/">Home</a> » <a href="/documentation.html">Documentation</a> » <a href="/documentation/bundles.html">Bundles</a> + </div> + + + + <h1>NoSQL Resource Providers (org.apache.sling.nosql)</h1> + <style type="text/css"> +/* The following code is added by mdx_elementid.py + It was originally lifted from http://subversion.apache.org/style/site.css */ +/* + * Hide class="elementid-permalink", except when an enclosing heading + * has the :hover property. + */ +.headerlink, .elementid-permalink { + visibility: hidden; +} +h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> +<div class="toc"> +<ul> +<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> +</ul> +</div> +<h2 id="introduction">Introduction<a class="headerlink" href="#introduction" title="Permanent link">¶</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>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">¶</a></h2> +<p>tbd.</p> +<h2 id="couchbase-nosql-resource-provider">Couchbase NoSQL Resource Provider<a class="headerlink" href="#couchbase-nosql-resource-provider" title="Permanent link">¶</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 + </div> + <div class="trademarkFooter"> + Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project + logo are trademarks of The Apache Software Foundation. All other marks mentioned + may be trademarks or registered trademarks of their respective owners. + </div> + </div> + </body> +</html>