You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2018/07/09 08:53:19 UTC

svn commit: r1835390 [1/23] - in /jackrabbit/site/live/oak/docs: ./ architecture/ coldstandby/ features/ nodestore/ nodestore/document/ nodestore/segment/ oak-mongo-js/ oak_api/ plugins/ query/ security/ security/accesscontrol/ security/authentication/...

Author: mreutegg
Date: Mon Jul  9 08:53:17 2018
New Revision: 1835390

URL: http://svn.apache.org/viewvc?rev=1835390&view=rev
Log:
OAK-936: Site checkin for project Oak Documentation-1.10-SNAPSHOT

Added:
    jackrabbit/site/live/oak/docs/nodestore/document/cluster-node-lease.png   (with props)
    jackrabbit/site/live/oak/docs/nodestore/document/metrics.html   (with props)
Modified:
    jackrabbit/site/live/oak/docs/FAQ.html
    jackrabbit/site/live/oak/docs/architecture/nodestate.html
    jackrabbit/site/live/oak/docs/architecture/overview.html
    jackrabbit/site/live/oak/docs/architecture/transactional-model.html
    jackrabbit/site/live/oak/docs/articles.html
    jackrabbit/site/live/oak/docs/attribution.html
    jackrabbit/site/live/oak/docs/branching.html
    jackrabbit/site/live/oak/docs/clustering.html
    jackrabbit/site/live/oak/docs/coldstandby/coldstandby.html
    jackrabbit/site/live/oak/docs/command_line.html
    jackrabbit/site/live/oak/docs/constraints.html
    jackrabbit/site/live/oak/docs/construct.html
    jackrabbit/site/live/oak/docs/dev_getting_started.html
    jackrabbit/site/live/oak/docs/developing-with-git.html
    jackrabbit/site/live/oak/docs/diagnostic-builds.html
    jackrabbit/site/live/oak/docs/differences.html
    jackrabbit/site/live/oak/docs/dos_and_donts.html
    jackrabbit/site/live/oak/docs/downloads.html
    jackrabbit/site/live/oak/docs/features/atomic-counter.html
    jackrabbit/site/live/oak/docs/features/oak-run-nodestore-connection-options.html
    jackrabbit/site/live/oak/docs/features/observation.html
    jackrabbit/site/live/oak/docs/index.html
    jackrabbit/site/live/oak/docs/jsop-diff.html
    jackrabbit/site/live/oak/docs/known_issues.html
    jackrabbit/site/live/oak/docs/license.html
    jackrabbit/site/live/oak/docs/migration.html
    jackrabbit/site/live/oak/docs/nodestore/compositens.html
    jackrabbit/site/live/oak/docs/nodestore/document/mongo-document-store.html
    jackrabbit/site/live/oak/docs/nodestore/document/node-bundling.html
    jackrabbit/site/live/oak/docs/nodestore/document/secondary-store.html
    jackrabbit/site/live/oak/docs/nodestore/document/upgrade.html
    jackrabbit/site/live/oak/docs/nodestore/documentmk.html
    jackrabbit/site/live/oak/docs/nodestore/overview.html
    jackrabbit/site/live/oak/docs/nodestore/persistent-cache.html
    jackrabbit/site/live/oak/docs/nodestore/segment/changes.html
    jackrabbit/site/live/oak/docs/nodestore/segment/classes.html
    jackrabbit/site/live/oak/docs/nodestore/segment/overview.html
    jackrabbit/site/live/oak/docs/nodestore/segment/records.html
    jackrabbit/site/live/oak/docs/nodestore/segment/tar.html
    jackrabbit/site/live/oak/docs/nodestore/segmentmk.html
    jackrabbit/site/live/oak/docs/oak-mongo-js/index.html
    jackrabbit/site/live/oak/docs/oak-mongo-js/oak-mongo.js.html
    jackrabbit/site/live/oak/docs/oak-mongo-js/oak.html
    jackrabbit/site/live/oak/docs/oak_api/error_codes.html
    jackrabbit/site/live/oak/docs/oak_api/overview.html
    jackrabbit/site/live/oak/docs/osgi_config.html
    jackrabbit/site/live/oak/docs/participating.html
    jackrabbit/site/live/oak/docs/plugins/blobstore.html
    jackrabbit/site/live/oak/docs/query/flags.html
    jackrabbit/site/live/oak/docs/query/grammar-sql2.html
    jackrabbit/site/live/oak/docs/query/grammar-xpath.html
    jackrabbit/site/live/oak/docs/query/index-management.html
    jackrabbit/site/live/oak/docs/query/indexing.html
    jackrabbit/site/live/oak/docs/query/lucene-old.html
    jackrabbit/site/live/oak/docs/query/lucene.html
    jackrabbit/site/live/oak/docs/query/oak-run-indexing.html
    jackrabbit/site/live/oak/docs/query/ootb-index-change.html
    jackrabbit/site/live/oak/docs/query/ordered-index-migrate.html
    jackrabbit/site/live/oak/docs/query/ordered-index.html
    jackrabbit/site/live/oak/docs/query/pre-extract-text.html
    jackrabbit/site/live/oak/docs/query/property-index.html
    jackrabbit/site/live/oak/docs/query/query-engine.html
    jackrabbit/site/live/oak/docs/query/query-troubleshooting.html
    jackrabbit/site/live/oak/docs/query/query.html
    jackrabbit/site/live/oak/docs/query/search-mt.html
    jackrabbit/site/live/oak/docs/query/solr.html
    jackrabbit/site/live/oak/docs/release-schedule.html
    jackrabbit/site/live/oak/docs/security/accesscontrol.html
    jackrabbit/site/live/oak/docs/security/accesscontrol/default.html
    jackrabbit/site/live/oak/docs/security/accesscontrol/differences.html
    jackrabbit/site/live/oak/docs/security/accesscontrol/editing.html
    jackrabbit/site/live/oak/docs/security/authentication.html
    jackrabbit/site/live/oak/docs/security/authentication/default.html
    jackrabbit/site/live/oak/docs/security/authentication/differences.html
    jackrabbit/site/live/oak/docs/security/authentication/external/defaultusersync.html
    jackrabbit/site/live/oak/docs/security/authentication/external/dynamic.html
    jackrabbit/site/live/oak/docs/security/authentication/external/externallogin_examples.html
    jackrabbit/site/live/oak/docs/security/authentication/external/faq.html
    jackrabbit/site/live/oak/docs/security/authentication/externalloginmodule.html
    jackrabbit/site/live/oak/docs/security/authentication/identitymanagement.html
    jackrabbit/site/live/oak/docs/security/authentication/ldap.html
    jackrabbit/site/live/oak/docs/security/authentication/preauthentication.html
    jackrabbit/site/live/oak/docs/security/authentication/token/default.html
    jackrabbit/site/live/oak/docs/security/authentication/tokenmanagement.html
    jackrabbit/site/live/oak/docs/security/authentication/usersync.html
    jackrabbit/site/live/oak/docs/security/authorization.html
    jackrabbit/site/live/oak/docs/security/authorization/composite.html
    jackrabbit/site/live/oak/docs/security/authorization/cug.html
    jackrabbit/site/live/oak/docs/security/authorization/restriction.html
    jackrabbit/site/live/oak/docs/security/introduction.html
    jackrabbit/site/live/oak/docs/security/overview.html
    jackrabbit/site/live/oak/docs/security/permission.html
    jackrabbit/site/live/oak/docs/security/permission/default.html
    jackrabbit/site/live/oak/docs/security/permission/differences.html
    jackrabbit/site/live/oak/docs/security/permission/evaluation.html
    jackrabbit/site/live/oak/docs/security/permission/multiplexing.html
    jackrabbit/site/live/oak/docs/security/permission/permissionsandprivileges.html
    jackrabbit/site/live/oak/docs/security/principal.html
    jackrabbit/site/live/oak/docs/security/principal/cache.html
    jackrabbit/site/live/oak/docs/security/principal/differences.html
    jackrabbit/site/live/oak/docs/security/principal/principalprovider.html
    jackrabbit/site/live/oak/docs/security/privilege.html
    jackrabbit/site/live/oak/docs/security/privilege/default.html
    jackrabbit/site/live/oak/docs/security/privilege/differences.html
    jackrabbit/site/live/oak/docs/security/privilege/mappingtoitems.html
    jackrabbit/site/live/oak/docs/security/privilege/mappingtoprivileges.html
    jackrabbit/site/live/oak/docs/security/user.html
    jackrabbit/site/live/oak/docs/security/user/authorizableaction.html
    jackrabbit/site/live/oak/docs/security/user/authorizablenodename.html
    jackrabbit/site/live/oak/docs/security/user/default.html
    jackrabbit/site/live/oak/docs/security/user/differences.html
    jackrabbit/site/live/oak/docs/security/user/expiry.html
    jackrabbit/site/live/oak/docs/security/user/groupaction.html
    jackrabbit/site/live/oak/docs/security/user/history.html
    jackrabbit/site/live/oak/docs/security/user/membership.html
    jackrabbit/site/live/oak/docs/security/user/query.html
    jackrabbit/site/live/oak/docs/use_getting_started.html

Modified: jackrabbit/site/live/oak/docs/FAQ.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/FAQ.html?rev=1835390&r1=1835389&r2=1835390&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/FAQ.html (original)
+++ jackrabbit/site/live/oak/docs/FAQ.html Mon Jul  9 08:53:17 2018
@@ -1,15 +1,15 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-05-24 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-07-09 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180524" />
+    <meta name="Date-Revision-yyyymmdd" content="20180709" />
     <meta http-equiv="Content-Language" content="en" />
-    <title>Jackrabbit Oak &#x2013;  Frequently asked questions</title>
+    <title>Jackrabbit Oak &#x2013;  Frequently asked questions</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
     <link rel="stylesheet" href="./css/site.css" />
     <link rel="stylesheet" href="./css/print.css" media="print" />
@@ -136,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-05-24<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-07-09<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -241,7 +241,8 @@
    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.
-  --><h1>&#xa0;Frequently asked questions</h1>
+  -->
+<h1>&#xa0;Frequently asked questions</h1>
 <div class="section">
 <div class="section">
 <div class="section">
@@ -255,7 +256,7 @@
 <p>You need to setup a regular job for <a href="nodestore/segmentmk.html#Segment_Compaction">compacting the segments</a>.</p></div>
 <div class="section">
 <h4><a name="How_do_I_debug_merge_conflict_errors"></a>How do I debug merge conflict errors</h4>
-<p>Debugging merge conflict errors is now possible by enabling <tt>DEBUG</tt> logs on <tt>org.apache.jackrabbit.oak.plugins.commit.MergingNodeStateDiff</tt> and <tt>org.apache.jackrabbit.oak.plugins.commit.ConflictValidator</tt>. This option is available via <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-3057">OAK-3057</a> since Oak 1.0.17, 1.2.3, 1.3.3. </p></div>
+<p>Debugging merge conflict errors is now possible by enabling <tt>DEBUG</tt> logs on <tt>org.apache.jackrabbit.oak.plugins.commit.MergingNodeStateDiff</tt> and <tt>org.apache.jackrabbit.oak.plugins.commit.ConflictValidator</tt>. This option is available via <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-3057">OAK-3057</a> since Oak 1.0.17, 1.2.3, 1.3.3.</p></div>
 <div class="section">
 <h4><a name="My_question_is_not_listed_here"></a>My question is not listed here</h4>
 <p>Search the <a class="externalLink" href="http://jackrabbit.markmail.org/search/+list:org.apache.jackrabbit.oak-dev">Oak dev list</a> and the <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK">Oak issue tracker</a>. If you still can&#x2019;t find an answer ask on <a href="participating.html">the list</a>.</p></div></div></div>

Modified: jackrabbit/site/live/oak/docs/architecture/nodestate.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/architecture/nodestate.html?rev=1835390&r1=1835389&r2=1835390&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/architecture/nodestate.html (original)
+++ jackrabbit/site/live/oak/docs/architecture/nodestate.html Mon Jul  9 08:53:17 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-05-24 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-07-09 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180524" />
+    <meta name="Date-Revision-yyyymmdd" content="20180709" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Understanding the node state model</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.6.min.css" />
@@ -136,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-05-24<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-07-09<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -241,7 +241,8 @@
    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.
-  --><h1>Understanding the node state model</h1>
+  -->
+<h1>Understanding the node state model</h1>
 <p>This article describes the <i>node state model</i> that is the core design abstraction inside the <tt>oak-core</tt> component. Understanding the node state model is essential to working with Oak internals and to building custom Oak extensions.</p>
 <div class="section">
 <h2><a name="Background"></a>Background</h2>
@@ -249,7 +250,7 @@
 <p>The node state model as expressed in the NodeState interface in oak-core is designed for these purposes. It provides a unified low-level abstraction for managing all tree content and lays the foundation for the higher-level Oak API that&#x2019;s visible to clients.</p></div>
 <div class="section">
 <h2><a name="The_state_of_a_node"></a>The state of a node</h2>
-<p>A <i>node</i> in Oak is an unordered collection of named properties and child nodes. As the content tree evolves through a sequence of revisions, a node in it will go through a series of different states. A <i>node state</i> then is an <i>immutable</i> snapshot of a specific state of a node and the subtree beneath it.</p>
+<p>A <i>node</i> in Oak is an unordered collection of named properties and child nodes. As the content tree evolves through a sequence of revisions, a node in it will go through a series of different states. A <i>node state</i>  then is an <i>immutable</i> snapshot of a specific state of a node and the subtree beneath it.</p>
 <p>As an example, the following diagram shows two revisions of a content tree, the first revision consists of five nodes, and in the second revision a sixth node is added in one of the subtrees. Note how unmodified subtrees can be shared across revisions, while only the modified nodes and their ancestors up to the root (shown in yellow) need to be updated to reflect the change. This way both revisions remain readable at all times without the implementation having to make a separate copy of the entire repository for each revision.</p>
 <p><img src="nodestate-r1.png?raw=true" alt="two revisions of a content tree" /></p>
 <p>To avoid making a special case of the root node and therefore to make it easy to write algorithms that can recursively process each subtree as a standalone content tree, a node state is <i>unnamed</i> and does not contain information about it&#x2019;s location within a larger content tree. Instead each property and child node state is uniquely named within a parent node state. An algorithm that needs to know the path of a node can construct it from the encountered names as it descends the tree structure.</p>
@@ -257,17 +258,12 @@
 <div class="section">
 <h2><a name="The_NodeState_interface"></a>The NodeState interface</h2>
 <p>The above design principles are reflected in the <tt>NodeState</tt> interface in the <tt>org.apache.jackrabbit.oak.spi.state</tt> package of <tt>oak-core</tt>. The interface consists of three sets of methods:</p>
-
 <ul>
-  
+
 <li>Methods for accessing properties</li>
-  
 <li>Methods for accessing child nodes</li>
-  
 <li>The <tt>exists</tt> method for checking whether the node exists or is accessible</li>
-  
 <li>The <tt>builder</tt> method for building modified states</li>
-  
 <li>The <tt>compareAgainstBaseState</tt> method for comparing states</li>
 </ul>
 <p>You can request a property or a child node by name, get the number of properties or child nodes, or iterate through all of them. Even though properties and child nodes are accessed through separate methods, they share the same namespace so a given name can either refer to a property or a child node, but not to both at the same time.</p>
@@ -277,8 +273,9 @@
 <h2><a name="Existence_and_iterability_of_node_states"></a>Existence and iterability of node states</h2>
 <p>The <tt>exists</tt> method makes it possible to always traverse any path regardless of whether the named content exists or not. The <tt>getChildNode</tt> method returns a child <tt>NodeState</tt> instance for any given name, and the caller is expected to use the <tt>exists</tt> method to check whether the named node actually does exist. The purpose of this feature is to allow paths like <tt>/foo/bar</tt> to be traversed even if the current user only has read access to the <tt>bar</tt> node but not its parent <tt>foo</tt>. As a consequence it&#x2019;s even possible to access content like a fictional <tt>/bar</tt> subtree that doesn&#x2019;t exist at all. A piece of code for accessing such content could look like this:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">NodeState root = ...;
+<div>
+<div>
+<pre class="source">NodeState root = ...;
 
 NodeState foo = root.getChildNode(&quot;foo&quot;);
 assert !foo.exists();
@@ -288,36 +285,35 @@ assert bar.exists();
 NodeState baz = root.getChildNode(&quot;baz&quot;);
 assert !baz.exists();
 </pre></div></div>
+
 <p>The following diagram illustrates such a content tree, both as the raw content that simply exists and as an access controlled view of that tree:</p>
 <p><img src="nodestate-r2.png?raw=true" alt="content tree with and without access control" /></p>
 <p>If a node is missing, i.e. its <tt>exists</tt> method returns <tt>false</tt> and thus it either does not exist at all or is read-protected, one can&#x2019;t list any of its properties or child nodes. And on the other hand, a non-readable node or property will only show up when listing the child nodes or properties of its parent. In other words, a node or a property is <i>iterable</i> only if both it and its parent are readable. For example, attempts to list properties or child nodes of the node <tt>foo</tt> will show up empty:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">assert !foo.getProperties().iterator().hasNext();
+<div>
+<div>
+<pre class="source">assert !foo.getProperties().iterator().hasNext();
 assert !foo.getChildNodeEntries().iterator().hasNext();
 </pre></div></div>
+
 <p>Note that without some external knowledge about the accessibility of a child node like <tt>bar</tt> there&#x2019;s no way for a piece of code to distinguish between the existing but non-readable node <tt>foo</tt> and the non-existing node <tt>baz</tt>.</p></div>
 <div class="section">
 <h2><a name="Building_new_node_states"></a>Building new node states</h2>
 <p>Since node states are immutable, a separate builder interface, <tt>NodeBuilder</tt>, is used to construct new, modified node states. Calling the <tt>builder</tt> method on a node state returns such a builder for modifying that node and the subtree below it.</p>
 <p>A node builder can be thought of as a <i>mutable</i> version of a node state. In addition to property and child node access methods like the ones that are already present in the <tt>NodeState</tt> interface, the <tt>NodeBuilder</tt> interface contains the following key methods:</p>
-
 <ul>
-  
+
 <li>The <tt>setProperty</tt> and <tt>removeProperty</tt> methods for modifying properties</li>
-  
 <li>The <tt>getChildNode</tt> method for accessing or modifying an existing subtree</li>
-  
 <li>The <tt>setChildNode</tt> and <tt>removeChildNode</tt> methods for adding, replacing or removing a subtree</li>
-  
 <li>The <tt>exists</tt> method for checking whether the node represented by a builder exists or is accessible</li>
-  
 <li>The <tt>getNodeState</tt> method for getting a frozen snapshot of the modified content tree</li>
 </ul>
 <p>All the builders acquired from the same root builder instance are linked so that changes made through one instance automatically become visible in the other builders. For example:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">NodeBuilder rootBuilder = root.builder();
+<div>
+<div>
+<pre class="source">NodeBuilder rootBuilder = root.builder();
 NodeBuilder fooBuilder = rootBuilder.getChildNode(&quot;foo&quot;);
 NodeBuilder barBuilder = fooBuilder.getChildNode(&quot;bar&quot;);
 
@@ -329,37 +325,40 @@ assert barBuilder.exists();
 fooBuilder.removeChildNode(&quot;bar&quot;);
 assert !barBuilder.exists();
 </pre></div></div>
+
 <p>The <tt>getNodeState</tt> method returns a frozen, immutable snapshot of the current state of the builder. Providing such a snapshot can be somewhat expensive especially if there are many changes in the builder, so the method should generally only be used as the last step after all intended changes have been made. Meanwhile the accessors in the <tt>NodeBuilder</tt> interface can be used to provide efficient read access to the current state of the tree being modified.</p>
 <p>The node states constructed by a builder often retain an internal reference to the base state used by the builder. This allows common node state comparisons to perform really well as described in the next section.</p></div>
 <div class="section">
 <h2><a name="Comparing_node_states"></a>Comparing node states</h2>
 <p>As a node evolves through a sequence of states, it&#x2019;s often important to be able to tell what has changed between two states of the node. This functionality is available through the <tt>compareAgainstBaseState</tt> method. The method takes two arguments:</p>
-
 <ul>
-  
+
 <li>A <i>base state</i> for the comparison. The comparison will report all changes necessary for moving from the given base state to the node state on which the comparison method is invoked.</li>
-  
 <li>A <tt>NodeStateDiff</tt> instance to which all detected changes are reported. The diff interface contains callback methods for reporting added, modified or removed properties or child nodes.</li>
 </ul>
 <p>The comparison method can actually be used to compare any two nodes, but the implementations of the method are typically heavily optimized for the case when the given base state actually is an earlier version of the same node. In practice this is by far the most common scenario for node state comparisons, and can typically be executed in <tt>O(d)</tt> time where <tt>d</tt> is the number of changes between the two states. The fallback strategy for comparing two completely unrelated node states can be much more expensive.</p>
 <p>An important detail of the <tt>NodeStateDiff</tt> mechanism is the <tt>childNodeChanged</tt> method that will get called if there can be <i>any</i> changes in the subtree starting at the named child node. The comparison method should thus be able to efficiently detect differences at any depth below the given nodes. On the other hand the <tt>childNodeChanged</tt> method is called only for the direct child node, and the diff implementation should explicitly recurse down the tree if it wants to know what exactly did change under that subtree. The code for such recursion typically looks something like this:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">public void childNodeChanged(
+<div>
+<div>
+<pre class="source">public void childNodeChanged(
         String name, NodeState before, NodeState after) {
     after.compareAgainstBaseState(before, ...);
 }
 </pre></div></div>
+
 <p>Note that for performance reasons it&#x2019;s possible for the <tt>childNodeChanged</tt> method to be called in some cases even if there actually are no changes within that subtree. The only hard guarantee is that if that method is <i>not</i> called for a subtree, then that subtree definitely has not changed, but in most common cases the <tt>compareAgainstBaseState</tt> implementation can detect such cases and thus avoid extra <tt>childNodeChanged</tt> calls. However it&#x2019;s important that diff handlers are prepared to deal with such events.</p></div>
 <div class="section">
 <h2><a name="The_commit_hook_mechanism"></a>The commit hook mechanism</h2>
 <p>A repository typically has various constraints to control what kind of content is allowed. It often also wants to annotate content changes with additional modifications like adding auto-created content or updating in-content indices. The <i>commit hook mechanism</i> is designed for these purposes. An Oak instance has a list of commit hooks that it applies to all commits. A commit hook is in full control of what to do with the commit: it can reject the commit, pass it through as-is, or modify it in any way.</p>
 <p>All commit hooks implement the <tt>CommitHook</tt> interface that contains just a single <tt>processCommit</tt> method:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">NodeState processCommit(NodeState before, NodeState after)
+<div>
+<div>
+<pre class="source">NodeState processCommit(NodeState before, NodeState after)
     throws CommitFailedException;
 </pre></div></div>
+
 <p>The <tt>before</tt> state is the original revision on which the content changes being committed are based, and the <tt>after</tt> state contains all those changes. A <tt>after.compareAgainstBaseState(before, ...)</tt> call can be used to find out the exact set of changes being committed.</p>
 <p>If, based on the content diff or some other inspection of the commit, a hook decides to reject the commit for example due to a constraint violation, it can do so by throwing a <tt>CommitFailedException</tt> with an appropriate error code as outlined in <a class="externalLink" href="http://wiki.apache.org/jackrabbit/OakErrorCodes">http://wiki.apache.org/jackrabbit/OakErrorCodes</a>.</p>
 <p>If the commit is acceptable, the hook can return the after state as-is or it can make some additional modifications and return the resulting node state. The returned state is then passed as the after state to the next hook until all the hooks have had a chance to process the commit. The resulting final node state is then persisted as a new revision and made available to other Oak clients.</p></div>
@@ -368,11 +367,13 @@ assert !barBuilder.exists();
 <p>In practice most commit hooks are interested in the content diff as returned by the <tt>compareAgainstBaseState</tt> call mentioned above. This call can be somewhat expensive especially for large commits, so it&#x2019;s not a good idea for multiple commit hooks to each do a separate diff. A more efficient approach is to do the diff just once and have multiple hooks process it in parallel. The <i>commit editor mechanism</i> is used for this purpose. An editor is essentially a commit hook optimized for processing content diffs.</p>
 <p>Instead of a list of separate hooks, the editors are all handled by a single <tt>EditorHook</tt> instance. This hook handles the details of performing the content diff and notifying all available editors about the detected content changes. The editors are provided by a list of <tt>EditorProvider</tt> instances that implement the following method:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">Editor getRootEditor(
+<div>
+<div>
+<pre class="source">Editor getRootEditor(
     NodeState before, NodeState after, NodeBuilder builder)
     throws CommitFailedException;
 </pre></div></div>
+
 <p>Instead of comparing the given before and after states directly, the provider is expected to return an <tt>Editor</tt> instance to be used for the comparison. The before and after states are passed to this method so that the provider can collect generic information like node type definitions that is needed to construct the returned editor.</p>
 <p>The given <tt>NodeBuilder</tt> instance can be used by the returned editor to make modifications based on the detected content changes. The builder is based on the after state, but it is shared by multiple editors so during the diff processing it might no longer exactly match the after state. Editors within a single editor hook should generally not attempt to make conflicting changes.</p>
 <p>The <tt>Editor</tt> interface is much like the <tt>NodeStateDiff</tt> interface described earlier. The main differences are that all the editor methods are allowed to throw <tt>CommitFailedExceptions</tt> and that the child node modification methods all return a further <tt>Editor</tt> instance.</p>

Modified: jackrabbit/site/live/oak/docs/architecture/overview.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/architecture/overview.html?rev=1835390&r1=1835389&r2=1835390&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/architecture/overview.html (original)
+++ jackrabbit/site/live/oak/docs/architecture/overview.html Mon Jul  9 08:53:17 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-05-24 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-07-09 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180524" />
+    <meta name="Date-Revision-yyyymmdd" content="20180709" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Oak - The big picture</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.6.min.css" />
@@ -136,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-05-24<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-07-09<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -241,39 +241,32 @@
    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.
-  --><div class="section">
+  -->
+<div class="section">
 <h2><a name="Oak_-_The_big_picture"></a>Oak - The big picture</h2>
 <p>TODO: Explain concepts: MVCC, Oak modules and plugins, key APIs, &#x2026;</p>
 <p><img src="big-picture.png?raw=true" alt="The big picture" /></p></div>
 <div class="section">
 <h2><a name="Main_Concepts"></a>Main Concepts</h2>
-
 <ul>
-  
+
 <li><a href="nodestate.html">Node State Model</a></li>
-  
 <li><a href="transactional-model.html">Transactional Model</a></li>
 </ul></div>
 <div class="section">
 <h2><a name="The_APIs"></a>The APIs</h2>
-
 <ul>
-  
+
 <li><a class="externalLink" href="http://www.day.com/specs/jcr/2.0/index.html">JCR</a></li>
-  
 <li><a href="../oak_api/overview.html">Oak API</a></li>
-  
 <li><a href="../nodestore/overview.html">NodeStore API</a></li>
 </ul></div>
 <div class="section">
 <h2><a name="Readmes"></a>Readmes</h2>
-
 <ul>
-  
+
 <li><a class="externalLink" href="https://github.com/apache/jackrabbit-oak/blob/trunk/README.md">Oak</a></li>
-  
 <li><a class="externalLink" href="https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/README.md">Oak core</a></li>
-  
 <li><a class="externalLink" href="https://github.com/apache/jackrabbit-oak/blob/trunk/oak-run/README.md">Oak run</a></li>
 </ul></div>
         </div>

Modified: jackrabbit/site/live/oak/docs/architecture/transactional-model.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/architecture/transactional-model.html?rev=1835390&r1=1835389&r2=1835390&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/architecture/transactional-model.html (original)
+++ jackrabbit/site/live/oak/docs/architecture/transactional-model.html Mon Jul  9 08:53:17 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-05-24 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-07-09 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180524" />
+    <meta name="Date-Revision-yyyymmdd" content="20180709" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Transactional model of sessions</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.6.min.css" />
@@ -136,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-05-24<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-07-09<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -240,12 +240,14 @@
    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.
-  --><h1>Transactional model of sessions</h1>
+  -->
+<h1>Transactional model of sessions</h1>
 <p>Sessions in Oak are based on a multi version concurrency control model using snapshot isolation with a relaxed first committer wins strategy. That is, on login each session is under the impression of operating on its own copy of the repository. Modifications from other sessions do not affect the current session. With the relaxed first committer wins strategy a later session will fail on save when it contains operations which are incompatible with the operations of an earlier session which saved successfully. This is different from the standard first committer wins strategy where failure would occur on conflicting operations rather than on incompatible operations. Incompatible is weaker than conflict since two write operation on the same item do conflict but are not incompatible. The details of what incompatible is somewhat dependent on the implementation of <tt>NodeStore.rebase()</tt> and the backend being used. See <a href="#rebasing">below</a>.</p>
 <p>Snapshot isolation exhibits <a class="externalLink" href="http://http//research.microsoft.com/apps/pubs/default.aspx?id=69541">write skew</a> which can be problematic for some application level consistency requirements. Consider the following sequence of operations:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">session1.getNode(&quot;/testNode&quot;).setProperty(&quot;p1&quot;, -1);
+<div>
+<div>
+<pre class="source">session1.getNode(&quot;/testNode&quot;).setProperty(&quot;p1&quot;, -1);
 check(session1);
 session1.save();
 
@@ -256,44 +258,54 @@ session2.save();
 Session session3 = repository.login();
 check(session3);
 </pre></div></div>
+
 <p>The check method enforces an application logic constraint which says that the sum of the properties <tt>p1</tt> and <tt>p2</tt> must not be negative. While session1 and session2 each enforce this constraint before saving, the constraint might not hold globally for session3.</p>
 <p>See <tt>CompatibilityIssuesTest.sessionIsolation</tt> for a test case demonstrating this in runnable code.</p>
 <div class="section">
 <h2><a name="Rebasing_and_incompatible_changes_conflicts"></a><a name="rebasing"></a> Rebasing and incompatible changes (conflicts)</h2>
-<p>On save the changes from a session are rebased on top of the current head. That is, all changes done withing that session are re-applied on top of the latest state of the repository. This process can lead to conflicts when the latest state includes changes that are incompatible with the changes in that session. E.g. when the session modified the value of a property while in the latest state of the repository the same property changed to a different value. </p>
+<p>On save the changes from a session are rebased on top of the current head. That is, all changes done withing that session are re-applied on top of the latest state of the repository. This process can lead to conflicts when the latest state includes changes that are incompatible with the changes in that session. E.g. when the session modified the value of a property while in the latest state of the repository the same property changed to a different value.</p>
 <p>The rebasing process attempts to resolve such conflicts if possible. If a conflict is not resolvable conflicting nodes are annotated with a conflict marker denoting the type of the conflict and the value(s) before the rebase operation. The conflict marker is an internal node with the name <tt>:conflict</tt> and is added to the node whose properties or child nodes are in conflict.</p>
 <div class="section">
 <div class="section">
 <h4><a name="Types_of_non_resolvable_conflicts"></a>Types of non resolvable conflicts</h4>
-
 <ul>
-  
+
 <li>
-<p><tt>addExistingProperty</tt>: A property has been added that has a different value than a property with the same name that has been added in trunk.</p></li>
-  
+
+<p><tt>addExistingProperty</tt>: A property has been added that has a different value than a property with the same name that has been added in trunk.</p>
+</li>
 <li>
-<p><tt>removeRemovedProperty</tt>: A property has been removed while a property of the same name has been removed in trunk. <i>Note:</i> while this conflict is technically easy to resolve, the current JCR specification mandates a conflict here. </p></li>
-  
+
+<p><tt>removeRemovedProperty</tt>: A property has been removed while a property of the same name has been removed in trunk. <i>Note:</i> while this conflict is technically easy to resolve, the current JCR specification mandates a conflict here.</p>
+</li>
 <li>
-<p><tt>removeChangedProperty</tt>: A property has been removed while a property of the same name has been changed in trunk. </p></li>
-  
+
+<p><tt>removeChangedProperty</tt>: A property has been removed while a property of the same name has been changed in trunk.</p>
+</li>
 <li>
-<p><tt>changeRemovedProperty</tt>: A property has been changed while a property of the same name has been removed in trunk. </p></li>
-  
+
+<p><tt>changeRemovedProperty</tt>: A property has been changed while a property of the same name has been removed in trunk.</p>
+</li>
 <li>
-<p><tt>changeChangedProperty</tt>: A property has been changed while a property of the same name has been changed to a different value in trunk. </p></li>
-  
+
+<p><tt>changeChangedProperty</tt>: A property has been changed while a property of the same name has been changed to a different value in trunk.</p>
+</li>
 <li>
-<p><tt>addExistingNode</tt>: A node has been added that is different from a node of them same name that has been added to the trunk. <i>Note:</i> Some subtleties are currently being discussed. See <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-1553">OAK-1553</a>. </p></li>
-  
+
+<p><tt>addExistingNode</tt>: A node has been added that is different from a node of them same name that has been added to the trunk. <i>Note:</i> Some subtleties are currently being discussed. See <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-1553">OAK-1553</a>.</p>
+</li>
 <li>
-<p><tt>removeRemovedNode</tt>: A node has been removed while a node of the same name has been removed in trunk. <i>Note:</i> while this conflict is technically easy to resolve, the current JCR specification mandates a conflict here. </p></li>
-  
+
+<p><tt>removeRemovedNode</tt>: A node has been removed while a node of the same name has been removed in trunk. <i>Note:</i> while this conflict is technically easy to resolve, the current JCR specification mandates a conflict here.</p>
+</li>
 <li>
-<p><tt>removeChangedNode</tt>: A node has been removed while a node of the same name has been changed in trunk. </p></li>
-  
+
+<p><tt>removeChangedNode</tt>: A node has been removed while a node of the same name has been changed in trunk.</p>
+</li>
 <li>
-<p><tt>changeRemovedNode</tt>: A node has been changed while a node of the same name has been removed in trunk. </p></li>
+
+<p><tt>changeRemovedNode</tt>: A node has been changed while a node of the same name has been removed in trunk.</p>
+</li>
 </ul></div></div></div>
         </div>
       </div>

Modified: jackrabbit/site/live/oak/docs/articles.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/articles.html?rev=1835390&r1=1835389&r2=1835390&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/articles.html (original)
+++ jackrabbit/site/live/oak/docs/articles.html Mon Jul  9 08:53:17 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-05-24 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-07-09 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180524" />
+    <meta name="Date-Revision-yyyymmdd" content="20180709" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Articles</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
@@ -136,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-05-24<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-07-09<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -241,43 +241,30 @@
    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.
-  --><h1>Articles</h1>
+  -->
+<h1>Articles</h1>
 <p>This page contains links to the latest articles and presentations on Jackrabbit Oak. It is meant as an entry point for any newcommer to Jackrabbit Oak</p>
-
 <ul>
-  
+
 <li>Valentin Olteanu, Michael Duerig, <a class="externalLink" href="https://adapt.to/2017/en/schedule/tarmk--facts-and-figures.html">TarMK: Facts and Figures</a></li>
-  
 <li>Michael Duerig, <a class="externalLink" href="https://adapt.to/2016/en/schedule/into-the-tar-pit--a-tarmk-deep-dive.html">Into the tar pit: a TarMK deep dive</a> (September 2016) adaptTo() 2016</li>
-  
 <li>Michael Duerig, <a class="externalLink" href="https://adapt.to/2015/en/schedule/avoiding-and-dealing-with-conflicting-updates-in-oak.html">Avoiding and dealing with conflicting updates in Oak</a> (September 2015) adaptTo() 2015</li>
-  
 <li>Davide Giannella, <a class="externalLink" href="https://adapt.to/2015/en/schedule/scaling-the-query-with-oak.html">Scaling the query with Oak</a> (September 2015) adaptTo() 2015</li>
-  
 <li>Tommaso Teofili, <a class="externalLink" href="https://adapt.to/2013/en/schedule/09_scalingsearch.html">Scaling Search in Oak with Solr</a> (September 2013) adaptTo() 2013</li>
-  
 <li>Michael Marth, <a class="externalLink" href="https://adapt.to/2013/en/schedule/03_oakintro.html">Oak: an introduction for users</a> (September 2013) adaptTo() 2013</li>
-  
 <li>Tommaso Teofili <a class="externalLink" href="https://adapt.to/2012/en/schedule/oak-solr-integration.html">Oak / Solr integration</a> (September 2012) adaptTo() 2012</li>
-  
 <li>Michael Duerig, Jukka Zitting <a class="externalLink" href="https://adapt.to/2012/en/schedule/apache-jackrabbit-oak.html">Apache Jackrabbit Oak</a> (September 2012) adaptTo() 2012</li>
-  
 <li><a class="externalLink" href="http://jackrabbit.apache.org/jcr/articles.html">JCR and Jackrabbit related links</a></li>
-  
 <li><a class="externalLink" href="http://www.slideshare.net/jukka/oak-the-architecture-of-apache-jackrabbit-3">Oak, the architecture of Apache Jackrabbit 3</a>.</li>
-  
 <li><a class="externalLink" href="http://www.slideshare.net/MichaelDrig/oak-39377061">Oak, the architecture of the new Repository</a></li>
 </ul>
 <div class="section">
 <h2><a name="Other_References"></a>Other References</h2>
 <p>Following links are also useful to search for information which is not documented in current docs</p>
-
 <ul>
-  
-<li>the <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK">Oak JIRA</a>, specifically <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-14">OAK-14</a>, which lists the known backward compatibility issues,</li>
-  
+
+<li>the <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK">Oak JIRA</a>, specifically [OAK-14] (<a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-14">https://issues.apache.org/jira/browse/OAK-14</a>), which lists the known backward compatibility issues,</li>
 <li>the <a class="externalLink" href="http://jackrabbit.markmail.org/search/+list:org.apache.jackrabbit.oak-dev">Oak development list</a>,</li>
-  
 <li>the <a class="externalLink" href="https://github.com/apache/jackrabbit-oak/blob/trunk/README.md">README files</a></li>
 </ul></div>
         </div>

Modified: jackrabbit/site/live/oak/docs/attribution.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/attribution.html?rev=1835390&r1=1835389&r2=1835390&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/attribution.html (original)
+++ jackrabbit/site/live/oak/docs/attribution.html Mon Jul  9 08:53:17 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-05-24 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-07-09 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180524" />
+    <meta name="Date-Revision-yyyymmdd" content="20180709" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Supporting software attribution</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
@@ -136,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-05-24<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-07-09<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -241,7 +241,8 @@
    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.
-  --><div class="section">
+  -->
+<div class="section">
 <div class="section">
 <h3><a name="Supporting_software_attribution"></a>Supporting software attribution</h3>
 <p>Developers use various tools to assist with their work, such as <a class="externalLink" href="http://www.jetbrains.com/idea/opensource/">IntelliJ IDEA</a> or <a class="externalLink" href="http://www.eclipse.org/">Eclipse</a>. Most tools do not require attribution, but some do (<a class="externalLink" href="http://www.yourkit.com/">YourKit Java Profiler</a>).</p></div></div>

Modified: jackrabbit/site/live/oak/docs/branching.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/branching.html?rev=1835390&r1=1835389&r2=1835390&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/branching.html (original)
+++ jackrabbit/site/live/oak/docs/branching.html Mon Jul  9 08:53:17 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-05-24 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-07-09 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180524" />
+    <meta name="Date-Revision-yyyymmdd" content="20180709" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Branching</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
@@ -136,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-05-24<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-07-09<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -241,55 +241,61 @@
    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.
-  --><h1>Branching</h1>
+  -->
+<h1>Branching</h1>
 <p>Following a quick reminder on how to do branching for a stable release.</p>
 <p>It&#x2019;s based on the 1.8 branching, fix the commands where needed. For details about each option please refer to the <a class="externalLink" href="http://maven.apache.org/maven-release/maven-release-plugin/branch-mojo.html">official documentation</a>.</p>
 <div class="section">
 <h2><a name="a1._Test_the_command_locally"></a>1. Test the command locally</h2>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">$ mvn release:branch -DbranchName=1.8 \
+<div>
+<div>
+<pre class="source">$ mvn release:branch -DbranchName=1.8 \
   -DbranchBase=https://svn.apache.org/repos/asf/jackrabbit/oak/branches \
   -DupdateBranchVersions=true -DreleaseVersion=1.8.0-SNAPSHOT \
   -DdryRun=true
 </pre></div></div>
+
 <p>You will be prompted for the next trunk version. In our example: <tt>1.10-SNAPSHOT</tt>.</p>
 <p>Check that the following files contains the right versions</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">pom.xml.branch        # should be 1.8.0-SNAPSHOT
+<div>
+<div>
+<pre class="source">pom.xml.branch        # should be 1.8.0-SNAPSHOT
 pom.xml.next          # should be 1.10-SNAPSHOT
 pom.xml.releaseBackup # should be 1.8-SNAPSHOT
-</pre></div></div></div>
+</pre></div></div>
+</div>
 <div class="section">
 <h2><a name="a2._Revert_the_local_changes"></a>2. Revert the local changes</h2>
 <p>You&#x2019;ll have a bunch of files locally that are not committed to svn. Just to have a clean situation clean up everything</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">$ svn st | grep '^?' | awk '{print $2}' | xargs rm
-</pre></div></div></div>
+<div>
+<div>
+<pre class="source">$ svn st | grep '^?' | awk '{print $2}' | xargs rm
+</pre></div></div>
+</div>
 <div class="section">
 <h2><a name="a3._Actual_branching"></a>3. Actual branching</h2>
 <p>Re-execute the first command <b>without</b> the <tt>-DdryRun=true</tt></p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">$ mvn release:branch -DbranchName=1.8 \
+<div>
+<div>
+<pre class="source">$ mvn release:branch -DbranchName=1.8 \
   -DbranchBase=https://svn.apache.org/repos/asf/jackrabbit/oak/branches \
   -DupdateBranchVersions=true -DreleaseVersion=1.8.0-SNAPSHOT \
 </pre></div></div>
+
 <p>Now you can checkout the branch and proceed with the release as normal.</p></div>
 <div class="section">
 <h2><a name="a4._Final_Checks_and_leftovers"></a>4. Final Checks and leftovers</h2>
 <p><tt>release:branch</tt> will leave behind the <tt>oak-doc</tt>&#x2019;s pom. You&#x2019;ll have to manually update the version referring to the new <tt>oak-parent</tt>. See <a class="externalLink" href="http://svn.apache.org/r1820738">r1820738</a> for an example.</p></div>
 <div class="section">
 <h2><a name="References"></a>References</h2>
-
 <ul>
-  
+
 <li><a class="externalLink" href="http://maven.apache.org/maven-release/maven-release-plugin/branch-mojo.html">http://maven.apache.org/maven-release/maven-release-plugin/branch-mojo.html</a></li>
-  
 <li><a class="externalLink" href="http://maven.apache.org/maven-release/maven-release-plugin/examples/branch.html">http://maven.apache.org/maven-release/maven-release-plugin/examples/branch.html</a></li>
-  
 <li><a class="externalLink" href="http://jackrabbit.apache.org/jcr/creating-releases.html">http://jackrabbit.apache.org/jcr/creating-releases.html</a></li>
 </ul></div>
         </div>

Modified: jackrabbit/site/live/oak/docs/clustering.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/clustering.html?rev=1835390&r1=1835389&r2=1835390&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/clustering.html (original)
+++ jackrabbit/site/live/oak/docs/clustering.html Mon Jul  9 08:53:17 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-05-24 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-07-09 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180524" />
+    <meta name="Date-Revision-yyyymmdd" content="20180709" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Clustering</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
@@ -136,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-05-24<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-07-09<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -241,7 +241,8 @@
    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.
-  --><div class="section">
+  -->
+<div class="section">
 <div class="section">
 <h3><a name="Clustering"></a>Clustering</h3>
 <p>Clustering is currently supported for the MongoDB and RDBMs storage subsystems.</p>

Modified: jackrabbit/site/live/oak/docs/coldstandby/coldstandby.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/coldstandby/coldstandby.html?rev=1835390&r1=1835389&r2=1835390&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/coldstandby/coldstandby.html (original)
+++ jackrabbit/site/live/oak/docs/coldstandby/coldstandby.html Mon Jul  9 08:53:17 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-05-24 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-07-09 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180524" />
+    <meta name="Date-Revision-yyyymmdd" content="20180709" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Cold Standby</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.6.min.css" />
@@ -136,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-05-24<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-07-09<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -241,7 +241,8 @@
    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.
-  --><h1>Cold Standby</h1>
+  -->
+<h1>Cold Standby</h1>
 <div class="section">
 <div class="section">
 <h3><a name="What_is_it"></a>What is it?</h3>
@@ -252,15 +253,11 @@
 <div class="section">
 <h3><a name="How_it_works"></a>How it works</h3>
 <p>On the master a TCP port is opened and listening to incoming messages. Currently there are four messages implemented:</p>
-
 <ul>
-  
+
 <li>give me the segment id of the current head</li>
-  
 <li>give me the segment data for a segment with the specified id</li>
-  
 <li>give me all the segment ids referenced by a segment with the specified id</li>
-  
 <li>give me the blob data for a blob with the specified id</li>
 </ul>
 <p>The clients periodically request the segment id of the current head of the master. If the segment is locally unknown it will be retrieved. If it&#x2019;s already present the segments are compared and referenced segments and blobs (if necessary) will be requested, too.</p></div>
@@ -269,15 +266,11 @@
 <p>An Oak installation using the SegmentNodeStore.</p></div>
 <div class="section">
 <h3><a name="Setup"></a>Setup</h3>
-
 <ol style="list-style-type: decimal">
-  
+
 <li>Perform a filesystem based copy of the master repository.</li>
-  
 <li>On the master activate the feature by specifying the runmode <tt>primary</tt>.</li>
-  
 <li>On the client(s) activate the feature by specifying the runmode <tt>standby</tt> (add additional parameters if desired) and specify the path to the repository.</li>
-  
 <li>Start the master and the client(s).</li>
 </ol>
 <p>You can add the additional configuration option <tt>secure=true</tt> if you like a SSL secured connection between the client and the master. It must be garantueed that <b>all</b> clients and the master either use secure or standard connections! A mixed configuration will definitely fail.</p>
@@ -293,30 +286,23 @@
 <div class="section">
 <h5><a name="Client"></a>Client</h5>
 <p>Observing a client you will notice exactly one node (the id is either a generic UUID or the name specified by the <tt>standbyID</tt> system property). This node has five readonly attributes:</p>
-
 <ul>
-  
+
 <li><tt>Running</tt>: boolean indicating whether the sync process is running</li>
-  
 <li><tt>Mode</tt>: always <tt>Client:</tt> followed by the ID described above</li>
-  
 <li><tt>Status</tt>: a textual representation of the current state (like <tt>running</tt>, <tt>stopped</tt> and others)</li>
-  
 <li><tt>FailedRequests</tt>: the number of consecutive errors</li>
-  
 <li><tt>SecondsSinceLastSuccess</tt>: the number of seconds since the last successful communication with the server or -1 if there is none</li>
 </ul>
 <p>There are also two invokable methods:</p>
-
 <ul>
-  
+
 <li><tt>start()</tt>: start the sync process</li>
-  
 <li><tt>stop()</tt>: stop the sync process</li>
 </ul>
 <div class="section">
 <h6><a name="Examples"></a>Examples</h6>
-<p>A typical communication with the server can look like this (the server is contacted every five seconds and there is no error at all): </p>
+<p>A typical communication with the server can look like this (the server is contacted every five seconds and there is no error at all):</p>
 <p><img src="client_mbean_server_working.png" alt="Screenshot showing MBeans with working server" /></p>
 <p>The server can not be contacted anymore:</p>
 <p><img src="client_mbean_server_died.png" alt="Screenshot showing MBeans with server died" /></p>
@@ -325,33 +311,22 @@
 <div class="section">
 <h5><a name="Master"></a>Master</h5>
 <p>Observing the master exposes some general (non client-specific) information via a MBean whose id value is the port number the <tt>Cold Standby</tt> service is using (usually <tt>8023</tt>). There are almost the same attributes and methods as described above, but the values differ:</p>
-
 <ul>
-  
+
 <li><tt>Mode</tt>: always the constant value <tt>master</tt></li>
-  
 <li><tt>Status</tt>: has more values like <tt>got message</tt></li>
-  
 <li><tt>FailedRequests</tt>: not available in master mode</li>
-  
 <li><tt>SecondsSinceLastSuccess</tt>: not available in master mode</li>
 </ul>
 <p>Furthermore, information for each (up to 10) clients can be retrieved. The MBean id is the name of the client (see above). There are no invokable methods for these MBeans, but some very useful readonly attributes:</p>
-
 <ul>
-  
+
 <li><tt>Name</tt>: the id of the client</li>
-  
 <li><tt>LastSeenTimestamp</tt>: the timestamp of the last request in a textual representation</li>
-  
 <li><tt>LastRequest</tt>: the last request of the client</li>
-  
 <li><tt>RemoteAddress</tt>: the IP address of the client</li>
-  
 <li><tt>RemotePort</tt>: the (generic) port the client used for the last request</li>
-  
 <li><tt>TransferredSegments</tt>: the total number of segments transferred to this client</li>
-  
 <li><tt>TransferredSegmentBytes</tt>: the total number of bytes transferred to this client</li>
 </ul>
 <p>A typical state might look like this:</p>

Modified: jackrabbit/site/live/oak/docs/command_line.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/command_line.html?rev=1835390&r1=1835389&r2=1835390&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/command_line.html (original)
+++ jackrabbit/site/live/oak/docs/command_line.html Mon Jul  9 08:53:17 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-05-24 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-07-09 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180524" />
+    <meta name="Date-Revision-yyyymmdd" content="20180709" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Command Line Tools</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
@@ -136,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-05-24<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-07-09<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -241,7 +241,8 @@
    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.
-  --><div class="section">
+  -->
+<div class="section">
 <h2><a name="Command_Line_Tools"></a>Command Line Tools</h2>
 <div class="section">
 <h3><a name="Oak_Run"></a>Oak Run</h3>
@@ -253,25 +254,31 @@
 <h4><a name="Backup"></a>Backup</h4>
 <p>To back up a repository, use:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">java -mx4g -jar oak-run-*.jar backup &lt;repository&gt; &lt;backup&gt;
+<div>
+<div>
+<pre class="source">java -mx4g -jar oak-run-*.jar backup &lt;repository&gt; &lt;backup&gt;
 </pre></div></div>
-<p>When using the (default) Tar storage, the <tt>&lt;repository&gt;</tt> setting is the path to the directory that contains the segment (data*.tar) files. The <tt>&lt;backup&gt;</tt> option is the target directory.</p></div>
+
+<p>When using the (default) Tar storage, the <tt>&lt;repository&gt;</tt> setting is the path to the directory that contains the segment  (data*.tar) files. The <tt>&lt;backup&gt;</tt> option is the target directory.</p></div>
 <div class="section">
 <h4><a name="Checkpoint"></a>Checkpoint</h4>
 <p>To list the checkpoints of a repository, use:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">java -mx4g -jar oak-run-*.jar checkpoints &lt;repository&gt;
+<div>
+<div>
+<pre class="source">java -mx4g -jar oak-run-*.jar checkpoints &lt;repository&gt;
 </pre></div></div>
-<p>When using the (default) Tar storage, the <tt>&lt;repository&gt;</tt> setting is the path to the directory that contains the segment (data*.tar) files.</p></div>
+
+<p>When using the (default) Tar storage, the <tt>&lt;repository&gt;</tt> setting is the path to the directory that contains the segment  (data*.tar) files.</p></div>
 <div class="section">
 <h4><a name="Compaction"></a>Compaction</h4>
 <p>The oak-run compact operation may be used to perform an offline compaction:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">java -mx4g -jar oak-run-*.jar compact &lt;repository&gt;
+<div>
+<div>
+<pre class="source">java -mx4g -jar oak-run-*.jar compact &lt;repository&gt;
 </pre></div></div>
+
 <p>It makes sense to find and remove the old checkpoints, using the <tt>checkpoints</tt> command described above.</p></div>
 <div class="section">
 <h4><a name="Index_Management"></a>Index Management</h4>
@@ -279,37 +286,39 @@
 <div class="section">
 <h4><a name="System_properties_supported_by_the_oak-run"></a>System properties supported by the oak-run</h4>
 <p>When performing operations on the SegmentNodeStore (eg. backup, checkpoints, compact), it&#x2019;s possible to tweak various system properties to get the optimal performance. These are:</p>
-
 <ul>
-  
+
 <li><tt>cache</tt> - cache size for the SegmentNodeStore (default: <tt>256</tt>),</li>
-  
 <li><tt>compaction-progress-log</tt> - how many entries should be compacted between log messages (default: <tt>150000</tt>),</li>
-  
 <li><tt>update.limit</tt> - threshold for the flush of a temporary transaction to disk (default: <tt>10000</tt>),</li>
-  
 <li><tt>tar.memoryMapped</tt> - allow to use memory mapped files to reduce memory usage (default: <tt>false</tt>),</li>
 </ul>
 <p>Example:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">java -Dtar.memoryMapped=true -mx4g -jar oak-run-*.jar checkpoints &lt;repository&gt;
-</pre></div></div></div>
+<div>
+<div>
+<pre class="source">java -Dtar.memoryMapped=true -mx4g -jar oak-run-*.jar checkpoints &lt;repository&gt;
+</pre></div></div>
+</div>
 <div class="section">
 <h4><a name="Analyzing_Thread_Dumps"></a>Analyzing Thread Dumps</h4>
 <p>To analyze thread dumps, filter out idle threads, and get profiling data, use the following, there the directory contains thread dump files:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">java -jar oak-run-*.jar threaddump --filter --profile &lt;directory&gt;
-</pre></div></div></div></div>
+<div>
+<div>
+<pre class="source">java -jar oak-run-*.jar threaddump --filter --profile &lt;directory&gt;
+</pre></div></div>
+</div></div>
 <div class="section">
 <h3><a name="MongoDB_Shell_with_oak-mongo.js"></a>MongoDB Shell with oak-mongo.js</h3>
 <p>MongoDB comes with a command line shell that can be extended with custom JavaScript. Oak provides a oak-mongo.js file with MongoMK specific extensions. You first need to download the JavaScript file and then start the MongoDB shell with the file.</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">wget https://s.apache.org/oak-mongo.js
+<div>
+<div>
+<pre class="source">wget https://s.apache.org/oak-mongo.js
 mongo --shell oak-mongo.js
 </pre></div></div>
+
 <p>Now the MongoDB shell has an <tt>oak</tt> namespace with <a href="oak-mongo-js/oak.html">additional functions</a>.</p></div></div>
         </div>
       </div>

Modified: jackrabbit/site/live/oak/docs/constraints.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/constraints.html?rev=1835390&r1=1835389&r2=1835390&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/constraints.html (original)
+++ jackrabbit/site/live/oak/docs/constraints.html Mon Jul  9 08:53:17 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-05-24 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-07-09 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180524" />
+    <meta name="Date-Revision-yyyymmdd" content="20180709" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Constraints</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
@@ -136,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-05-24<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-07-09<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -241,31 +241,26 @@
    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.
-  --><h1>Constraints</h1>
+  -->
+<h1>Constraints</h1>
 <div class="section">
 <h2><a name="Item_Names"></a>Item Names</h2>
 <p>The JCR specification already restricts what can go into the &#x201c;local&#x201d; part of an item name - see <a class="externalLink" href="https://docs.adobe.com/docs/en/spec/jcr/2.0/3_Repository_Model.html#3.2%20Names">JCR v2.0 Specification, Section 3.2</a>. In particular:</p>
-
 <ul>
-  
-<li>Characters not allowed in XML are forbidden in names as well; this affects  most control characters plus unpaired surrogates; see <a class="externalLink" href="https://www.w3.org/TR/xml/#NT-Char">Extensible Markup  Language (XML) 1.0 (Fifth Edition), Section 2.2</a>.</li>
-  
+
+<li>Characters not allowed in XML are forbidden in names as well; this affects most control characters plus unpaired surrogates; see <a class="externalLink" href="https://www.w3.org/TR/xml/#NT-Char">Extensible Markup Language (XML) 1.0 (Fifth Edition), Section 2.2</a>.</li>
 <li>Furthermore, the names <tt>.</tt> and <tt>..</tt> can not be used.</li>
-  
-<li>Finally, the characters <tt>/</tt>, <tt>:</tt>, <tt>[</tt>, <tt>]</tt>, <tt>|</tt>, and <tt>*</tt> are forbidden. For these, the <a class="externalLink" href="https://docs.adobe.com/docs/en/spec/jcr/2.0/3_Repository_Model.html#3.2.5.4%20Exposing%20Non-JCR%20Names">JCR v2.0 Specification, Section 3.2.5.4</a> proposes a mapping to &#x201c;private-use&#x201d; code points.</li>
+<li>Finally, the characters <tt>/</tt>,  <tt>:</tt>, <tt>[</tt>, <tt>]</tt>, <tt>|</tt>, and <tt>*</tt> are forbidden. For these, the <a class="externalLink" href="https://docs.adobe.com/docs/en/spec/jcr/2.0/3_Repository_Model.html#3.2.5.4%20Exposing%20Non-JCR%20Names">JCR v2.0 Specification, Section 3.2.5.4</a> proposes a mapping to &#x201c;private-use&#x201d; code points.</li>
 </ul>
 <p>On top of that, Oak implements several <i>additional</i> restrictions (as per <a class="externalLink" href="https://docs.adobe.com/content/docs/en/spec/jcr/2.0/3_Repository_Model.html#3.2.4%20Naming%20Restrictions">JCR v2.0 Specification, Section 3.2.4</a>):</p>
-
 <ul>
-  
+
 <li>The space character (U+0020) is disallowed at the beginning and the end of a (local) name (see <a class="externalLink" href="https://docs.adobe.com/content/docs/en/spec/jcr/2.0/5_Reading.html#5.2.2.1%20Name%20Patterns">JCR v2.0 Specification, Section 5.2.2.1</a> for motivation).</li>
-  
 <li>Other ASCII whitespace characters (CR, LF, TAB) are always disallowed (before OAK 1.10, more were disallowed, see <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-4857">OAK-4857</a>).</li>
 </ul>
 <p>Finally, the chosen persistence implementation might restrict node names even further, for instance:</p>
-
 <ul>
-  
+
 <li>in the &#x201c;Document NodeStore&#x201d;, the UTF-8 representation of local names can not exceed ~150 bytes.</li>
 </ul></div>
 <div class="section">

Modified: jackrabbit/site/live/oak/docs/construct.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/construct.html?rev=1835390&r1=1835389&r2=1835390&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/construct.html (original)
+++ jackrabbit/site/live/oak/docs/construct.html Mon Jul  9 08:53:17 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-05-24 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-07-09 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180524" />
+    <meta name="Date-Revision-yyyymmdd" content="20180709" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Repository Construction</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
@@ -136,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-05-24<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-07-09<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -241,32 +241,40 @@
    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.
-  --><h1>Repository Construction</h1>
+  -->
+<h1>Repository Construction</h1>
 <p>Oak comes with a simple and flexible mechanism for constructing content repositories for use in embedded deployments and test cases. This article describes this mechanism. Deployments in managed environments like OSGi should use the native construction/configuration mechanism of the environment.</p>
 <p>First, we construct a Repository instance. Both the <tt>Oak</tt> and the <tt>Jcr</tt> classes support <tt>with()</tt> methods, so you can easily extend the repository with custom functionality if you like. To construct an in-memory repository, use:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">    Repository repo = new Jcr(new Oak()).createRepository();
+<div>
+<div>
+<pre class="source">    Repository repo = new Jcr(new Oak()).createRepository();
 </pre></div></div>
+
 <p>To use a tar file based Segment NodeStore backend, use:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">    FileStore fs = FileStoreBuilder.fileStoreBuilder(new File(&quot;repository&quot;)).build();
+<div>
+<div>
+<pre class="source">    FileStore fs = FileStoreBuilder.fileStoreBuilder(new File(&quot;repository&quot;)).build();
     SegmentNodeStore ns = SegmentNodeStoreBuilders.builder(fs).build();
     Repository repo = new Jcr(new Oak(ns)).createRepository();
 </pre></div></div>
+
 <p>To use a MongoDB backend, use:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">    DB db = new MongoClient(&quot;127.0.0.1&quot;, 27017).getDB(&quot;test2&quot;);
+<div>
+<div>
+<pre class="source">    DB db = new MongoClient(&quot;127.0.0.1&quot;, 27017).getDB(&quot;test2&quot;);
     DocumentNodeStore ns = new DocumentMK.Builder().
             setMongoDB(db).getNodeStore();
     Repository repo = new Jcr(new Oak(ns)).createRepository();
 </pre></div></div>
+
 <p>To login to the repository and do some work (using the default username/password combination), use:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">    Session session = repo.login(
+<div>
+<div>
+<pre class="source">    Session session = repo.login(
             new SimpleCredentials(&quot;admin&quot;, &quot;admin&quot;.toCharArray()));
     Node root = session.getRootNode();
     if (root.hasNode(&quot;hello&quot;)) {
@@ -280,10 +288,12 @@
     }
     session.save();
 </pre></div></div>
+
 <p>To logout and close the backend store, use:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">    session.logout();
+<div>
+<div>
+<pre class="source">    session.logout();
     // depending on NodeStore implementation either:
     // close FileStore
     fs.close();

Modified: jackrabbit/site/live/oak/docs/dev_getting_started.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/dev_getting_started.html?rev=1835390&r1=1835389&r2=1835390&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/dev_getting_started.html (original)
+++ jackrabbit/site/live/oak/docs/dev_getting_started.html Mon Jul  9 08:53:17 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-05-24 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-07-09 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180524" />
+    <meta name="Date-Revision-yyyymmdd" content="20180709" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Getting Started</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
@@ -136,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-05-24<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-07-09<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -241,126 +241,119 @@
    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.
-  --><div class="section">
+  -->
+<div class="section">
 <h2><a name="Getting_Started"></a>Getting Started</h2>
 <p>Many parts of Oak are still under construction, so it may be a bit difficult to find your way around the codebase. The <a class="externalLink" href="https://github.com/apache/jackrabbit-oak/blob/trunk/README.md">README files</a>, this documentation, and the <a class="externalLink" href="http://oak.markmail.org/">Oak mailing list</a> archives are good places to start learning about Oak.</p>
 <p>There is also the <a class="externalLink" href="http://wiki.apache.org/jackrabbit/Jackrabbit%203">Jackrabbit 3 wiki page</a>, which is mostly outdated though and should only be consulted for historical research.</p>
 <p>To get started developing Oak, checkout the sources from <a class="externalLink" href="https://svn.apache.org/repos/asf/jackrabbit/oak/trunk">svn</a>, or <a class="externalLink" href="https://github.com/apache/jackrabbit-oak">fork them</a> on GitHub. Then build the latest sources with Maven 3 and Java 7 (or higher) like this:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">mvn clean install
+<div>
+<div>
+<pre class="source">mvn clean install
 </pre></div></div>
+
 <p>To enable all integration tests, including the JCR TCK, use:</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">mvn clean install -PintegrationTesting
+<div>
+<div>
+<pre class="source">mvn clean install -PintegrationTesting
 </pre></div></div>
+
 <p>Before committing changes or submitting a patch, please make sure that the above integration testing build passes without errors. If you like, you can enable integration tests by default by setting the <tt>OAK_INTEGRATION_TESTING</tt> environment variable.</p></div>
 <div class="section">
 <h2><a name="MongoDB_integration"></a>MongoDB integration</h2>
 <p>Parts of the Oak build expects a MongoDB instance to be available for testing. By default a MongoDB instance running on localhost is expected, and the relevant tests are simply skipped if such an instance is not found. You can also configure the build to use custom MongoDB settings with the following properties (shown with their default values):</p>
 
-<div class="source">
-<div class="source"><pre class="prettyprint">-Dmongo.host=127.0.0.1
+<div>
+<div>
+<pre class="source">-Dmongo.host=127.0.0.1
 -Dmongo.port=27017
 -Dmongo.db=MongoMKDB
 -Dmongo.db2=MongoMKDB2
 </pre></div></div>
+
 <p>Note that the configured test databases will be <i>dropped</i> by the test cases.</p></div>
 <div class="section">
 <h2><a name="Components"></a>Components</h2>
 <p>The build consists of the following components:</p>
-
 <ul>
-  
-<li>oak-parent - parent POM</li>
-  
-<li>oak-doc - Oak documentation</li>
-  
-<li>oak-commons - shared utility code</li>
-  
-<li>
-<p><a class="externalLink" href="https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/README.md">oak-api</a> - Oak repository API </p></li>
-  
-<li>oak-core - Oak repository implementation</li>
-  
-<li>oak-core-spi - Oak repository extensions</li>
-  
+
+<li>oak-parent        - parent POM</li>
+<li>oak-doc           - Oak documentation</li>
+<li>oak-commons       - shared utility code</li>
 <li>
-<p>oak-jcr - JCR binding for the Oak repository</p></li>
-  
+
+<p><a class="externalLink" href="https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/README.md">oak-api</a>      - Oak repository API</p>
+</li>
+<li>oak-core          - Oak repository implementation</li>
+<li>oak-core-spi      - Oak repository extensions</li>
 <li>
-<p>oak-solr-core - Apache Solr indexing and search</p></li>
-  
+
+<p>oak-jcr           - JCR binding for the Oak repository</p>
+</li>
+<li>
+
+<p>oak-solr-core     - Apache Solr indexing and search</p>
+</li>
 <li>oak-solr-osgi</li>
-  
-<li>oak-lucene - Lucene-based query index</li>
-  
-<li>
-<p>oak-auth-external - External authentication support</p></li>
-  
-<li>oak-auth-ldap - LDAP implementation of external authentication</li>
-  
+<li>oak-lucene        - Lucene-based query index</li>
+<li>
+
+<p>oak-auth-external - External authentication support</p>
+</li>
+<li>oak-auth-ldap     - LDAP implementation of external authentication</li>
 <li>oak-authorization-cug - Authorization model for closed user groups (CUG)</li>
-  
 <li>
-<p>oak-blob - Oak Blob Store API</p></li>
-  
-<li>oak-blob-plugins - Oak Blob : Extensions and Base Implementations</li>
-  
-<li>oak-blob-cloud - S3 cloud blob store implementation</li>
-  
+
+<p>oak-blob          - Oak Blob Store API</p>
+</li>
+<li>oak-blob-plugins  - Oak Blob : Extensions and Base Implementations</li>
+<li>oak-blob-cloud    - S3 cloud blob store implementation</li>
 <li>oak-blob-cloud-azure - Azure cloud blob store implementation</li>
-  
 <li>
-<p>oak-store-spi - Oak NodeStore and Commit SPI </p></li>
-  
-<li>oak-segment-tar - TarMK API and nodestore implementation</li>
-  
+
+<p>oak-store-spi     - Oak NodeStore and Commit SPI</p>
+</li>
+<li>oak-segment-tar   - TarMK API and nodestore implementation</li>
 <li>oak-store-document - Oak DocumentNodeStore implementation on MongoDB and RDB</li>
-  
 <li>oak-store-composite - CompositeNodeStore implementation</li>
-  
 <li>
-<p>oak-upgrade - tooling for upgrading Jackrabbit repositories to Oak and sidegrading Oak to Oak</p></li>
-  
+
+<p>oak-upgrade       - tooling for upgrading Jackrabbit repositories to Oak and sidegrading Oak to Oak</p>
+</li>
+<li>
+
+<p>oak-run           - runnable jar packaging</p>
+</li>
+<li>oak-run-commons   - utilities shared by oak-run and oak-benchmarks</li>
 <li>
-<p>oak-run - runnable jar packaging</p></li>
-  
-<li>oak-run-commons - utilities shared by oak-run and oak-benchmarks</li>
-  
-<li>
-<p>oak-benchmarks - benchmark tests</p></li>
-  
-<li>oak-it - integration tests</li>
-  
-<li>oak-it-osgi - integration tests for OSGi</li>
-  
+
+<p>oak-benchmarks    - benchmark tests</p>
+</li>
+<li>oak-it            - integration tests</li>
+<li>oak-it-osgi       - integration tests for OSGi</li>
 <li>
-<p>oak-http - HTTP binding for Oak</p></li>
-  
+
+<p>oak-http          - HTTP binding for Oak</p>
+</li>
 <li>oak-pojosr</li>
-  
 <li>
-<p><a class="externalLink" href="https://github.com/apache/jackrabbit-oak/blob/trunk/oak-exercise/README.md">oak-exercise</a> - Oak training material</p></li>
-  
-<li>oak-examples - Oak examples (webapp and standalone)</li>
+
+<p><a class="externalLink" href="https://github.com/apache/jackrabbit-oak/blob/trunk/oak-exercise/README.md">oak-exercise</a> - Oak training material</p>
+</li>
+<li>oak-examples      - Oak examples (webapp and standalone)</li>
 </ul></div>
 <div class="section">
 <h2><a name="Archive"></a>Archive</h2>
 <p>The following components have been moved to the Jackrabbit Attic:</p>
-
 <ul>
-  
-<li>oak-mk-api - MicroKernel API (<i>deprecated</i>, OAK-2701)</li>
-  
-<li>oak-mk - MicroKernel implementation (see OAK-2702)</li>
-  
-<li>oak-mk-remote - MicroKernel remoting (see <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-2693">OAK-2693</a>)</li>
-  
-<li>oak-it/mk - integration tests for MicroKernel</li>
-  
-<li>oak-remote - Oak Remote API (see OAK-7035)</li>
+
+<li>oak-mk-api        - MicroKernel API (<i>deprecated</i>, OAK-2701)</li>
+<li>oak-mk            - MicroKernel implementation (see OAK-2702)</li>
+<li>oak-mk-remote     - MicroKernel remoting  (see <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-2693">OAK-2693</a>)</li>
+<li>oak-it/mk         - integration tests for MicroKernel</li>
+<li>oak-remote        - Oak Remote API (see OAK-7035)</li>
 </ul></div>
         </div>
       </div>