You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by th...@apache.org on 2018/08/21 10:31:38 UTC

svn commit: r1838538 [35/35] - in /jackrabbit/site/live/oak/docs: ./ architecture/ coldstandby/ features/ nodestore/ nodestore/document/ nodestore/segment/ oak-mongo-js/ oak-mongo-js/fonts/ oak-mongo-js/scripts/ oak-mongo-js/scripts/prettify/ oak-mongo...

Modified: jackrabbit/site/live/oak/docs/security/user/query.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/user/query.html?rev=1838538&r1=1838537&r2=1838538&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/user/query.html (original)
+++ jackrabbit/site/live/oak/docs/security/user/query.html Tue Aug 21 10:31:37 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-08-10 
+ | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-02-21 
  | 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="20180810" />
+    <meta name="Date-Revision-yyyymmdd" content="20180221" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Searching Users and Groups</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.6.min.css" />
@@ -52,7 +52,6 @@
         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Main APIs <b class="caret"></b></a>
         <ul class="dropdown-menu">
             <li><a href="http://www.day.com/specs/jcr/2.0/index.html" title="JCR API">JCR API</a></li>
-            <li><a href="https://jackrabbit.apache.org/jcr/jcr-api.html" title="Jackrabbit API">Jackrabbit API</a></li>
             <li><a href="../../oak_api/overview.html" title="Oak API">Oak API</a></li>
         </ul>
       </li>
@@ -137,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-08-10<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-02-21<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -156,14 +155,12 @@
     <li><a href="../../architecture/nodestate.html" title="The Node State Model"><span class="none"></span>The Node State Model</a>  </li>
           <li class="nav-header">Main APIs</li>
     <li><a href="http://www.day.com/specs/jcr/2.0/index.html" class="externalLink" title="JCR API"><span class="none"></span>JCR API</a>  </li>
-    <li><a href="https://jackrabbit.apache.org/jcr/jcr-api.html" class="externalLink" title="Jackrabbit API"><span class="none"></span>Jackrabbit API</a>  </li>
     <li><a href="../../oak_api/overview.html" title="Oak API"><span class="none"></span>Oak API</a>  </li>
           <li class="nav-header">Features and Plugins</li>
     <li><a href="../../nodestore/overview.html" title="Node Storage"><span class="icon-chevron-down"></span>Node Storage</a>
       <ul class="nav nav-list">
     <li><a href="../../nodestore/documentmk.html" title="Document NodeStore"><span class="icon-chevron-down"></span>Document NodeStore</a>
       <ul class="nav nav-list">
-    <li><a href="../../nodestore/document/mongo-document-store.html" title="MongoDB DocumentStore"><span class="none"></span>MongoDB DocumentStore</a>  </li>
     <li><a href="../../nodestore/document/node-bundling.html" title="Node Bundling"><span class="none"></span>Node Bundling</a>  </li>
     <li><a href="../../nodestore/document/secondary-store.html" title="Secondary Store"><span class="none"></span>Secondary Store</a>  </li>
     <li><a href="../../nodestore/persistent-cache.html" title="Persistent Cache"><span class="none"></span>Persistent Cache</a>  </li>
@@ -242,16 +239,18 @@
    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="Searching_Users_and_Groups"></a>Searching Users and Groups</h2>
 <p>The user management API provided with Jackrabbit comes with a dedicated query API that allows for searching authorizables indepedant of the underlying user management implementation.</p>
 <div class="section">
 <h3><a name="Lookup_a_Single_Authorizable"></a>Lookup a Single Authorizable</h3>
-<ul>
 
+<ul>
+  
 <li><tt>UserManager.getAuthorizable(String)</tt> : lookup by id</li>
+  
 <li><tt>UserManager.getAuthorizable(Principal</tt> : lookup by principal</li>
+  
 <li><tt>UserManager.getAuthorizableByPath(String)</tt> : lookup by path</li>
 </ul>
 <div class="section">
@@ -259,26 +258,29 @@
 <div class="section">
 <h6><a name="Examples"></a>Examples</h6>
 
-<div>
-<div>
-<pre class="source">Authorizable a = userMgr.getAuthorizable(&quot;jackrabbit&quot;);
+<div class="source">
+<div class="source"><pre class="prettyprint">Authorizable a = userMgr.getAuthorizable(&quot;jackrabbit&quot;);
 Authorizable a2 = userManager.getAuthorizableByPath(a.getPath());
 Authorizable everyoneGroup = userManager.getAuthorizable(EveryonePrincipal.getInstance());
-</pre></div></div>
-</div></div></div></div>
+</pre></div></div></div></div></div></div>
 <div class="section">
 <h3><a name="Searching_for_Authorizables"></a>Searching for Authorizables</h3>
-<ul>
 
+<ul>
+  
 <li><tt>UserManager.findAuthorizables(String relPath, String value)</tt></li>
+  
 <li><tt>UserManager.findAuthorizables(String relPath, String value, int searchType)</tt></li>
+  
 <li><tt>UserManager.findAuthorizables(Query query)</tt></li>
 </ul></div>
 <div class="section">
 <h3><a name="The_Query_API"></a>The Query API</h3>
-<ul>
 
+<ul>
+  
 <li><a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/security/user/Query.java">Query</a>: The query object passed to the findAuthorizable method. It has a single <tt>build(QueryBuilder)</tt> method.</li>
+  
 <li><a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/security/user/QueryBuilder.java">QueryBuilder</a>: The query builder as described below.</li>
 </ul>
 <div class="section">
@@ -286,24 +288,32 @@ Authorizable everyoneGroup = userManager
 <div class="section">
 <h5><a name="Find_by_Property"></a>Find by Property</h5>
 <p>The following conditions can be used to find authorizables by properties:</p>
-<ul>
 
+<ul>
+  
 <li><tt>QueryBuilder.eq(String relPath, Value)</tt>: holds if property at relPath is <i>equal</i> to the specified value.</li>
+  
 <li><tt>QueryBuilder.neq(String relPath, Value)</tt>: holds if property at relPath is <i>not equal</i> to the specified value.</li>
+  
 <li><tt>QueryBuilder.lt(String relPath, Value)</tt>: holds if property at relPath is <i>smaller</i> than the specified value.</li>
+  
 <li><tt>QueryBuilder.le(String relPath, Value)</tt>: holds if property at relPath is <i>smaller or equal</i> than/to the specified value.- QueryBuilder.lt(String relPath, Value) : matches if property value at relPath is <i>smaller</i> than the specified value.</li>
+  
 <li><tt>QueryBuilder.gt(String relPath, Value)</tt>: holds if property at relPath is <i>greater</i> than the specified value.</li>
+  
 <li><tt>QueryBuilder.ge(String relPath, Value)</tt>: holds if property at relPath is <i>greater or equal</i> than/to the specified value.</li>
+  
 <li><tt>QueryBuilder.ge(String relPath, Value)</tt>: holds if property at relPath is <i>greater or equal</i> than/to the specified value.</li>
+  
 <li><tt>QueryBuilder.contains(String relPath, String searchExpr)</tt>: full text search.</li>
+  
 <li><tt>QueryBuilder.exists(String relPath)</tt>: holds if a property at relPath exists.</li>
 </ul>
 <div class="section">
 <h6><a name="Examples"></a>Examples</h6>
 
-<div>
-<div>
-<pre class="source">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
+<div class="source">
+<div class="source"><pre class="prettyprint">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
     public &lt;T&gt; void build(QueryBuilder&lt;T&gt; builder) {
         builder.setCondition(builder.eq(&quot;@name&quot;, vf.createValue(&quot;jackrabbit&quot;)));
     }
@@ -326,23 +336,24 @@ Iterator&lt;Authorizable&gt; result = us
         builder.setCondition(builder.exists(&quot;@poisonous&quot;));
     }
 });
-</pre></div></div>
-</div></div>
+</pre></div></div></div></div>
 <div class="section">
 <h5><a name="Find_by_Pattern"></a>Find by Pattern</h5>
 <p>The following conditions allow to specify a search pattern, where &#x2018;%&#x2019; represents any string of zero or more characters and &#x2018;_&#x2019; represents any single character.</p>
-<ul>
 
+<ul>
+  
 <li><tt>QueryBuilder.like(String relPath, String pattern)</tt>: holds if a property relPath matches the pattern.</li>
+  
 <li><tt>QueryBuilder.like(String relPath, String pattern)</tt>: holds if a property relPath matches the pattern.</li>
+  
 <li><tt>QueryBuilder.nameMatches(String pattern)</tt>: filter by principal name (see below)</li>
 </ul>
 <div class="section">
 <h6><a name="Examples"></a>Examples</h6>
 
-<div>
-<div>
-<pre class="source">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
+<div class="source">
+<div class="source"><pre class="prettyprint">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
   public &lt;T&gt; void build(QueryBuilder&lt;T&gt; builder) {
       builder.setCondition(builder.like(&quot;profile/@food&quot;, &quot;c%&quot;));
   }
@@ -353,17 +364,15 @@ Iterator&lt;Authorizable&gt; result = us
       builder.setCondition(builder.like(&quot;profile/@food&quot;, &quot;c_t&quot;));
   }
 });
-</pre></div></div>
-</div></div>
+</pre></div></div></div></div>
 <div class="section">
 <h5><a name="Find_in_Any_Property"></a>Find in Any Property</h5>
 <p>Use &#x201c;.&#x201d; to indicate that properties with any name at a given relative path should be included in the search result.</p>
 <div class="section">
 <h6><a name="Examples"></a>Examples</h6>
 
-<div>
-<div>
-<pre class="source">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
+<div class="source">
+<div class="source"><pre class="prettyprint">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
     public &lt;T&gt; void build(QueryBuilder&lt;T&gt; builder) {
         builder.setCondition(builder.contains(&quot;.&quot;, &quot;&quot;jackrabbit&quot;&quot;));
     }
@@ -374,22 +383,23 @@ Iterator&lt;Authorizable&gt; result = us
         builder.setCondition(builder.contains(&quot;profile/.&quot;, &quot;gold&quot;));
     }
 });
-</pre></div></div>
-</div></div>
+</pre></div></div></div></div>
 <div class="section">
 <h5><a name="Multiple_Conditions"></a>Multiple Conditions</h5>
-<ul>
 
+<ul>
+  
 <li><tt>QueryBuilder.and(Condition condition1, Condition condition2)</tt>: holds if both sub conditions hold</li>
+  
 <li><tt>QueryBuilder.or(Condition condition1, Condition condition2)</tt>: holds if any of the two sub conditions hold</li>
+  
 <li><tt>QueryBuilder.not(Condition condition)</tt>: holds if the sub condition does not hold.</li>
 </ul>
 <div class="section">
 <h6><a name="Examples"></a>Examples</h6>
 
-<div>
-<div>
-<pre class="source">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
+<div class="source">
+<div class="source"><pre class="prettyprint">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
     public &lt;T&gt; void build(QueryBuilder&lt;T&gt; builder) {
         builder.setCondition(builder.and(
             builder.eq(&quot;profile/@cute&quot;, vf.createValue(true)),
@@ -423,48 +433,50 @@ Iterator&lt;Authorizable&gt; result = us
         ));
     }
 });
-</pre></div></div>
-</div></div>
+</pre></div></div></div></div>
 <div class="section">
 <h5><a name="Sort_Results"></a>Sort Results</h5>
-<ul>
 
+<ul>
+  
 <li><tt>QueryBuilder.setSortOrder(String propertyName, Direction direction)</tt></li>
+  
 <li><tt>QueryBuilder.setSortOrder(String propertyName, Direction direction, boolean ignoreCase)</tt></li>
 </ul>
 <p>where direction can be either of</p>
-<ul>
 
+<ul>
+  
 <li><tt>Direction.ASCENDING</tt></li>
+  
 <li><tt>Direction.DESCENDING</tt></li>
 </ul>
 <div class="section">
 <h6><a name="Examples"></a>Examples</h6>
 
-<div>
-<div>
-<pre class="source">final boolean ignoreCase = true;
+<div class="source">
+<div class="source"><pre class="prettyprint">final boolean ignoreCase = true;
 Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
     public &lt;T&gt; void build(QueryBuilder&lt;T&gt; builder) {
         builder.setCondition(builder.exists(&quot;profile/@weight&quot;));
         builder.setSortOrder(&quot;profile/@weight&quot;, QueryBuilder.Direction.ASCENDING, ignoreCase);
     }
 });
-</pre></div></div>
-</div></div>
+</pre></div></div></div></div>
 <div class="section">
 <h5><a name="Set_Limits"></a>Set Limits</h5>
-<ul>
 
+<ul>
+  
 <li><tt>QueryBuilder.setLimit(long offset, long maxCount)</tt></li>
+  
 <li><tt>QueryBuilder.setLimit(Value bound, long maxCount)</tt> : bound refers to the value of the <tt>setSortOrder(String, Direction)</tt> property. The result is limited to authorizables whose values of the sort order property follow <tt>bound</tt> in the sort direction.</li>
 </ul>
 <div class="section">
 <h6><a name="Examples"></a>Examples</h6>
 
-<div>
-<div>
-<pre class="source">final long offset = 25;
+<div class="source">
+<div class="source"><pre class="prettyprint">final long offset = 25;
 final long maxCount = 1000; // -1 for no limit
 Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
     public &lt;T&gt; void build(QueryBuilder&lt;T&gt; builder) {
@@ -479,46 +491,47 @@ Iterator&lt;Authorizable&gt; result = us
         builder.setLimit(vf.createValue(1000.0), count);
     }
 });
-</pre></div></div>
-</div></div>
+</pre></div></div></div></div>
 <div class="section">
 <h5><a name="Filter_by_Authorizable_Type"></a>Filter by Authorizable Type</h5>
-<ul>
 
+<ul>
+  
 <li><tt>QueryBuilder.setSelector(Class&lt;? extends Authorizable&gt; selector)</tt>: Limit search result to a specific type of authorizables (in the example: groups only)</li>
 </ul>
 <p>The selector may take any of the following values:</p>
-<ul>
 
+<ul>
+  
 <li><tt>Authorizable.class</tt></li>
+  
 <li><tt>Group.class</tt></li>
+  
 <li><tt>User.class</tt></li>
 </ul>
 <div class="section">
 <h6><a name="Example"></a>Example</h6>
 
-<div>
-<div>
-<pre class="source">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
+<div class="source">
+<div class="source"><pre class="prettyprint">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
     public &lt;T&gt; void build(QueryBuilder&lt;T&gt; builder) {
         builder.setSelector(Group.class);
     }
 });
-</pre></div></div>
-</div></div>
+</pre></div></div></div></div>
 <div class="section">
 <h5><a name="Find_by_Principal_Name"></a>Find by Principal Name</h5>
-<ul>
 
+<ul>
+  
 <li><tt>QueryBuilder.nameMatches(String pattern)</tt>: the pattern may include &#x2018;_&#x2019; and &#x2018;%&#x2019; (see above).</li>
 </ul>
 <p>NOTE: the &#x2018;nameMatches&#x2019; condition is a shortcut for a regular search for the principal name, which in the default implementation is stored in <tt>rep:principalName</tt>. It does not take any custom name properties into account nor query <tt>rep:authorizableId</tt>.</p>
 <div class="section">
 <h6><a name="Examples"></a>Examples</h6>
 
-<div>
-<div>
-<pre class="source">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
+<div class="source">
+<div class="source"><pre class="prettyprint">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
     public &lt;T&gt; void build(QueryBuilder&lt;T&gt; builder) {
         builder.setCondition(builder.nameMatches(&quot;j%P&quot;));
     }
@@ -529,65 +542,61 @@ Iterator&lt;Authorizable&gt; result = us
         builder.setCondition(builder.nameMatches(&quot;c_tP&quot;));
     }
 });
-</pre></div></div>
-</div></div>
+</pre></div></div></div></div>
 <div class="section">
 <h5><a name="Find_Group_Members"></a>Find Group Members</h5>
-<ul>
 
+<ul>
+  
 <li><tt>QueryBuilder.setScope(String groupName, boolean declaredOnly)</tt>: will only return members of the group with the specified name.</li>
 </ul>
 <div class="section">
 <h6><a name="Example"></a>Example</h6>
 
-<div>
-<div>
-<pre class="source">final declaredMembersOnly = false;
+<div class="source">
+<div class="source"><pre class="prettyprint">final declaredMembersOnly = false;
 Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
     public &lt;T&gt; void build(QueryBuilder&lt;T&gt; builder) {
         builder.setScope(&quot;mammals&quot;, declaredMembersOnly);
     }
 });
-</pre></div></div>
-</div></div>
+</pre></div></div></div></div>
 <div class="section">
 <h5><a name="Search_for_Impersonators"></a>Search for Impersonators</h5>
-<ul>
 
+<ul>
+  
 <li>&#x2018;QueryBuilder.impersonates(String principalName)&#x2019;</li>
 </ul>
 <p>NOTE: this condition looks for authorizables that granted impersonation to the authorizable with the specified principal name.</p>
 <div class="section">
 <h6><a name="Example"></a>Example</h6>
 
-<div>
-<div>
-<pre class="source">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
+<div class="source">
+<div class="source"><pre class="prettyprint">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
     public &lt;T&gt; void build(QueryBuilder&lt;T&gt; builder) {
         builder.setCondition(builder.impersonates(&quot;jackrabbitP&quot;));
     }
 });
-</pre></div></div>
-</div></div>
+</pre></div></div></div></div>
 <div class="section">
 <h5><a name="Find_All"></a>Find All</h5>
 <p>Find all authorizables accessible to the editing session</p>
 <div class="section">
 <h6><a name="Example"></a>Example</h6>
 
-<div>
-<div>
-<pre class="source">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
+<div class="source">
+<div class="source"><pre class="prettyprint">Iterator&lt;Authorizable&gt; result = userMgr.findAuthorizables(new Query() {
     public &lt;T&gt; void build(QueryBuilder&lt;T&gt; builder) { /* any */ }
 });
-</pre></div></div>
-</div></div></div></div>
+</pre></div></div></div></div></div></div>
 <div class="section">
 <h3><a name="Characteristics_of_the_Default_Implementation"></a>Characteristics of the Default Implementation</h3>
 <p>See sections <a href="differences.html#query">Differences to Jackrabbit 2.x</a> and <a href="default.html#query">The Default Implementation</a> for details.</p></div>
 <div class="section">
 <h3><a name="Utilities"></a>Utilities</h3>
-<p>See <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/jackrabbit/user/AuthorizableQueryManager.java">org.apache.jackrabbit.commons.jackrabbit.user.AuthorizableQueryManager</a> for a utility class provided by the jcr-commons module present with Jackrabbit.</p><!-- hidden references --></div></div>
+<p>See <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/jackrabbit/user/AuthorizableQueryManager.java">org.apache.jackrabbit.commons.jackrabbit.user.AuthorizableQueryManager</a> for a utility class provided by the jcr-commons module present with Jackrabbit.</p>
+<!-- hidden references --></div></div>
         </div>
       </div>
     </div>

Modified: jackrabbit/site/live/oak/docs/use_getting_started.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/use_getting_started.html?rev=1838538&r1=1838537&r2=1838538&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/use_getting_started.html (original)
+++ jackrabbit/site/live/oak/docs/use_getting_started.html Tue Aug 21 10:31:37 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2018-08-10 
+ | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-02-21 
  | 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="20180810" />
+    <meta name="Date-Revision-yyyymmdd" content="20180221" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Runnable jar</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
@@ -52,7 +52,6 @@
         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Main APIs <b class="caret"></b></a>
         <ul class="dropdown-menu">
             <li><a href="http://www.day.com/specs/jcr/2.0/index.html" title="JCR API">JCR API</a></li>
-            <li><a href="https://jackrabbit.apache.org/jcr/jcr-api.html" title="Jackrabbit API">Jackrabbit API</a></li>
             <li><a href="oak_api/overview.html" title="Oak API">Oak API</a></li>
         </ul>
       </li>
@@ -137,7 +136,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-08-10<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2018-02-21<span class="divider">|</span>
 </li>
           <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
         </ul>
@@ -156,14 +155,12 @@
     <li><a href="architecture/nodestate.html" title="The Node State Model"><span class="none"></span>The Node State Model</a>  </li>
           <li class="nav-header">Main APIs</li>
     <li><a href="http://www.day.com/specs/jcr/2.0/index.html" class="externalLink" title="JCR API"><span class="none"></span>JCR API</a>  </li>
-    <li><a href="https://jackrabbit.apache.org/jcr/jcr-api.html" class="externalLink" title="Jackrabbit API"><span class="none"></span>Jackrabbit API</a>  </li>
     <li><a href="oak_api/overview.html" title="Oak API"><span class="none"></span>Oak API</a>  </li>
           <li class="nav-header">Features and Plugins</li>
     <li><a href="nodestore/overview.html" title="Node Storage"><span class="icon-chevron-down"></span>Node Storage</a>
       <ul class="nav nav-list">
     <li><a href="nodestore/documentmk.html" title="Document NodeStore"><span class="icon-chevron-down"></span>Document NodeStore</a>
       <ul class="nav nav-list">
-    <li><a href="nodestore/document/mongo-document-store.html" title="MongoDB DocumentStore"><span class="none"></span>MongoDB DocumentStore</a>  </li>
     <li><a href="nodestore/document/node-bundling.html" title="Node Bundling"><span class="none"></span>Node Bundling</a>  </li>
     <li><a href="nodestore/document/secondary-store.html" title="Secondary Store"><span class="none"></span>Secondary Store</a>  </li>
     <li><a href="nodestore/persistent-cache.html" title="Persistent Cache"><span class="none"></span>Persistent Cache</a>  </li>
@@ -243,15 +240,13 @@
    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>Runnable jar</h1>
+  --><h1>Runnable jar</h1>
 <p>Oak comes with a <a class="externalLink" href="https://github.com/apache/jackrabbit-oak/blob/trunk/oak-run/README.md">runnable jar</a>, which contains everything you need for a simple Oak installation.</p>
 <h1>Using Oak in your project</h1>
 <p>To use Oak in your project simply add a dependency to <tt>org.apache.jackrabbit:oak-jcr:1.0.0</tt> and to <tt>javax.jcr:jcr:2.0</tt>:</p>
 
-<div>
-<div>
-<pre class="source">&lt;dependency&gt;
+<div class="source">
+<div class="source"><pre class="prettyprint">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.jackrabbit&lt;/groupId&gt;
   &lt;artifactId&gt;oak-jcr&lt;/artifactId&gt;
   &lt;version&gt;1.0.0&lt;/version&gt;
@@ -262,11 +257,12 @@
   &lt;version&gt;2.0&lt;/version&gt;
 &lt;/dependency&gt;
 </pre></div></div>
-
 <p>Oak has simple mechanisms for constructing and configuring content repositories for use in embedded deployments and test cases:</p>
-<ul>
 
+<ul>
+  
 <li><a href="construct.html">Repository construction</a></li>
+  
 <li><a href="osgi_config.html">Configuring Oak</a></li>
 </ul>
         </div>