jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From thom...@apache.org
Subject svn commit: r1643833 [6/8] - in /jackrabbit/site/live/oak/docs: ./ META-INF/ architecture/ coldstandby/ nodestore/ oak_api/ plugins/ query/ security/ security/accesscontrol/ security/authentication/ security/permission/ security/principal/ security/pri...
Date Mon, 08 Dec 2014 14:58:39 GMT
Added: jackrabbit/site/live/oak/docs/query.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/query.html?rev=1643833&view=auto
==============================================================================
--- jackrabbit/site/live/oak/docs/query.html (added)
+++ jackrabbit/site/live/oak/docs/query.html Mon Dec  8 14:58:38 2014
@@ -0,0 +1,842 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia at 2014-10-30
+ | Rendered using Apache Maven Fluido Skin 1.3.0
+-->
+<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="20141030" />
+    <meta http-equiv="Content-Language" content="en" />
+    <title>Jackrabbit Oak - The Query Engine</title>
+    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
+    <link rel="stylesheet" href="./css/site.css" />
+    <link rel="stylesheet" href="./css/print.css" media="print" />
+
+      
+    <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script>
+
+    
+            </head>
+        <body class="topBarEnabled">
+          
+    
+    
+            
+    
+    
+    <a href="http://github.com/apache/jackrabbit-oak">
+      <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
+        src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png"
+        alt="Fork me on GitHub">
+    </a>
+  
+                
+                    
+                
+
+    <div id="topbar" class="navbar navbar-fixed-top ">
+      <div class="navbar-inner">
+                <div class="container-fluid">
+        <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+        </a>
+                
+                                <ul class="nav">
+                          <li class="dropdown">
+        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Overview <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+        
+                      <li>      <a href="index.html"  title="Jackrabbit Oak">Jackrabbit Oak</a>
+</li>
+                  
+                      <li>      <a href="license.html"  title="License">License</a>
+</li>
+                  
+                      <li>      <a href="downloads.html"  title="Downloads">Downloads</a>
+</li>
+                          </ul>
+      </li>
+                <li class="dropdown">
+        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Concepts and Architecture <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+        
+                      <li>      <a href="architecture/overview.html"  title="Overview">Overview</a>
+</li>
+                  
+                      <li>      <a href="architecture/nodestate.html"  title="The Node State Model">The Node State Model</a>
+</li>
+                          </ul>
+      </li>
+                <li class="dropdown">
+        <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="oak_api/overview.html"  title="Oak API">Oak API</a>
+</li>
+                  
+                      <li>      <a href="nodestore/overview.html"  title="NodeStore and MicroKernel API">NodeStore and MicroKernel API</a>
+</li>
+                          </ul>
+      </li>
+                <li class="dropdown">
+        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Features and Plugins <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+        
+                      <li>      <a href="query.html"  title="Query">Query</a>
+</li>
+                  
+                      <li>      <a href="security/overview.html"  title="Security">Security</a>
+</li>
+                  
+                      <li>      <a href="plugins/blobstore.html"  title="BlobStore">BlobStore</a>
+</li>
+                  
+                      <li>      <a href="clustering.html"  title="Clustering">Clustering</a>
+</li>
+                          </ul>
+      </li>
+                <li class="dropdown">
+        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Using Oak <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+        
+                      <li>      <a href="use_getting_started.html"  title="Getting Started">Getting Started</a>
+</li>
+                  
+                      <li>      <a href="construct.html"  title="Repository Construction">Repository Construction</a>
+</li>
+                  
+                      <li>      <a href="osgi_config.html"  title="Configuring Oak">Configuring Oak</a>
+</li>
+                  
+                      <li>      <a href="command_line.html"  title="Command Line Tools">Command Line Tools</a>
+</li>
+                  
+                      <li>      <a href="differences.html"  title="Differences to Jackrabbit 2">Differences to Jackrabbit 2</a>
+</li>
+                  
+                      <li>      <a href="known_issues.html"  title="Known Issues">Known Issues</a>
+</li>
+                  
+                      <li>      <a href="dos_and_donts.html"  title="Dos and Don'ts">Dos and Don'ts</a>
+</li>
+                  
+                      <li>      <a href="coldstandby/coldstandby.html"  title="Cold Standby">Cold Standby</a>
+</li>
+                  
+                      <li>      <a href="FAQ.html"  title="FAQ">FAQ</a>
+</li>
+                          </ul>
+      </li>
+                <li class="dropdown">
+        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Developing Oak <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+        
+                      <li>      <a href="dev_getting_started.html"  title="Getting Started">Getting Started</a>
+</li>
+                  
+                      <li>      <a href="participating.html"  title="Participating">Participating</a>
+</li>
+                  
+                      <li>      <a href="apidocs/index.html"  title="API Docs">API Docs</a>
+</li>
+                          </ul>
+      </li>
+                <li class="dropdown">
+        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Links <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+        
+                      <li>      <a href="http://jackrabbit.apache.org/oak"  title="Apache Jackrabbit Oak">Apache Jackrabbit Oak</a>
+</li>
+                  
+                      <li>      <a href="http://jackrabbit.apache.org/"  title="Apache Jackrabbit">Apache Jackrabbit</a>
+</li>
+                          </ul>
+      </li>
+                  </ul>
+          
+          
+          
+                   
+                      </div>
+          
+        </div>
+      </div>
+    </div>
+    
+        <div class="container-fluid">
+          <div id="banner">
+        <div class="pull-left">
+                                <div id="bannerLeft">
+                <h2>Oak Documentation</h2>
+                </div>
+                      </div>
+        <div class="pull-right">  </div>
+        <div class="clear"><hr/></div>
+      </div>
+
+      <div id="breadcrumbs">
+        <ul class="breadcrumb">
+                
+                    
+                  <li id="publishDate">Last Published: 2014-10-30</li>
+                  <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
+                      
+                
+                    
+      
+                            </ul>
+      </div>
+
+            
+      <div class="row-fluid">
+        <div id="leftColumn" class="span3">
+          <div class="well sidebar-nav">
+                
+                    
+                <ul class="nav nav-list">
+                    <li class="nav-header">Overview</li>
+                                
+      <li>
+    
+                          <a href="index.html" title="Jackrabbit Oak">
+          <i class="none"></i>
+        Jackrabbit Oak</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="license.html" title="License">
+          <i class="none"></i>
+        License</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="downloads.html" title="Downloads">
+          <i class="none"></i>
+        Downloads</a>
+            </li>
+                              <li class="nav-header">Concepts and Architecture</li>
+                                
+      <li>
+    
+                          <a href="architecture/overview.html" title="Overview">
+          <i class="none"></i>
+        Overview</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="architecture/nodestate.html" title="The Node State Model">
+          <i class="none"></i>
+        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">
+          <i class="none"></i>
+        JCR API</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="oak_api/overview.html" title="Oak API">
+          <i class="none"></i>
+        Oak API</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="nodestore/overview.html" title="NodeStore and MicroKernel API">
+          <i class="none"></i>
+        NodeStore and MicroKernel API</a>
+            </li>
+                              <li class="nav-header">Features and Plugins</li>
+                                
+      <li class="active">
+    
+            <a href="#"><i class="none"></i>Query</a>
+          </li>
+                  
+      <li>
+    
+                          <a href="security/overview.html" title="Security">
+          <i class="none"></i>
+        Security</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="plugins/blobstore.html" title="BlobStore">
+          <i class="none"></i>
+        BlobStore</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="clustering.html" title="Clustering">
+          <i class="none"></i>
+        Clustering</a>
+            </li>
+                              <li class="nav-header">Using Oak</li>
+                                
+      <li>
+    
+                          <a href="use_getting_started.html" title="Getting Started">
+          <i class="none"></i>
+        Getting Started</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="construct.html" title="Repository Construction">
+          <i class="none"></i>
+        Repository Construction</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="osgi_config.html" title="Configuring Oak">
+          <i class="none"></i>
+        Configuring Oak</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="command_line.html" title="Command Line Tools">
+          <i class="none"></i>
+        Command Line Tools</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="differences.html" title="Differences to Jackrabbit 2">
+          <i class="none"></i>
+        Differences to Jackrabbit 2</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="known_issues.html" title="Known Issues">
+          <i class="none"></i>
+        Known Issues</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="dos_and_donts.html" title="Dos and Don'ts">
+          <i class="none"></i>
+        Dos and Don'ts</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="coldstandby/coldstandby.html" title="Cold Standby">
+          <i class="none"></i>
+        Cold Standby</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="FAQ.html" title="FAQ">
+          <i class="none"></i>
+        FAQ</a>
+            </li>
+                              <li class="nav-header">Developing Oak</li>
+                                
+      <li>
+    
+                          <a href="dev_getting_started.html" title="Getting Started">
+          <i class="none"></i>
+        Getting Started</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="participating.html" title="Participating">
+          <i class="none"></i>
+        Participating</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="apidocs/index.html" title="API Docs">
+          <i class="none"></i>
+        API Docs</a>
+            </li>
+                              <li class="nav-header">Links</li>
+                                
+      <li>
+    
+                          <a href="http://jackrabbit.apache.org/oak" class="externalLink" title="Apache Jackrabbit Oak">
+          <i class="none"></i>
+        Apache Jackrabbit Oak</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="http://jackrabbit.apache.org/" class="externalLink" title="Apache Jackrabbit">
+          <i class="none"></i>
+        Apache Jackrabbit</a>
+            </li>
+            </ul>
+                
+                    
+                
+          <hr class="divider" />
+
+           <div id="poweredBy">
+                   
+    <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
+
+    
+    <div class="g-plusone" data-href="http://jackrabbit.apache.org/oak/docs/" data-size="tall" ></div>
+
+                   <div class="clear"></div>
+                            <div class="clear"></div>
+                            <div class="clear"></div>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                  </div>
+          </div>
+        </div>
+        
+                
+        <div id="bodyColumn"  class="span9" >
+                                  
+            <!-- Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License. --><div class="section">
+<h2>The Query Engine<a name="The_Query_Engine"></a></h2>
+<p>Oak does not index content by default as does Jackrabbit 2. You need to create custom indexes when necessary, much like in traditional RDBMSs. If there is no index for a specific query, then the repository will be traversed. That is, the query will still work but probably be very slow.</p>
+<p>Query Indices are defined under the <tt>oak:index</tt> node.</p>
+<div class="section">
+<h3>Compatibility<a name="Compatibility"></a></h3>
+<div class="section">
+<h4>Quoting<a name="Quoting"></a></h4>
+<p>The query parser is now generally more strict about invalid syntax. The following query used to work in Jackrabbit 2.x, but not in Oak, because multiple way to quote the path are used at the same time:</p>
+
+<div class="source">
+<pre>SELECT * FROM [nt:base] AS s 
+WHERE ISDESCENDANTNODE(s, [&quot;/libs/sling/config&quot;])
+</pre></div>
+<p>Instead, the query now needs to be:</p>
+
+<div class="source">
+<pre>SELECT * FROM [nt:base] AS s 
+WHERE ISDESCENDANTNODE(s, [/libs/sling/config])
+</pre></div></div>
+<div class="section">
+<h4>Equality for Path Constraints<a name="Equality_for_Path_Constraints"></a></h4>
+<p>In Jackrabbit 2.x, the following condition was interpreted as a LIKE condition:</p>
+
+<div class="source">
+<pre>SELECT * FROM nt:base WHERE jcr:path = '/abc/%'
+</pre></div>
+<p>Therefore, the query behaves exactly the same as if LIKE was used. In Oak, this is no longer the case, and such queries search for an exact path match.</p></div></div>
+<div class="section">
+<h3>Slow Queries and Read Limits<a name="Slow_Queries_and_Read_Limits"></a></h3>
+<p>Slow queries are logged as follows:</p>
+
+<div class="source">
+<pre>*WARN* Traversed 1000 nodes with filter Filter(query=select ...)
+consider creating an index or changing the query
+</pre></div>
+<p>If this is the case, an index might need to be created, or the condition of the query might need to be changed to take advantage of an existing index.</p>
+<p>If a query reads more than 10 thousand nodes in memory, then the query is cancelled with an UnsupportedOperationException saying that &#x201c;The query read more than 10000 nodes in memory. To avoid running out of memory, processing was stopped.&#x201d; As a workaround, this limit can be changed using the system property &#x201c;oak.queryLimitInMemory&#x201d;.</p>
+<p>If a query traversed more than 100 thousand nodes (for example because there is no index at all and the whole repository is traversed), then the query is cancelled with an UnsupportedOperationException saying that &#x201c;The query read or traversed more than 10000 nodes. To avoid affecting other tasks, processing was stopped.&#x201d;. As a workaround, this limit can be changed using the system property &#x201c;oak.queryLimitReads&#x201d;.</p></div>
+<div class="section">
+<h3>Full-Text Queries<a name="Full-Text_Queries"></a></h3>
+<p>The full-text syntax supported by Jackrabbit Oak is a superset of the JCR specification. The following syntax is supported within <tt>contains</tt> queries:</p>
+
+<div class="source">
+<pre>FullTextSearch ::= Or
+Or ::= And { ' OR ' And }* 
+And ::= Term { ' ' Term }*
+Term ::= ['-'] { SimpleTerm | PhraseTerm } [ '^' Boost ]
+SimpleTerm ::= Word
+PhraseTerm ::= '&quot;' Word { ' ' Word }* '&quot;'
+Boost ::= &lt;number&gt;
+</pre></div>
+<p>Please note that <tt>OR</tt> needs to be written in uppercase. Characters within words can be escaped using a backslash.</p>
+<p>Examples:</p>
+
+<div class="source">
+<pre>jcr:contains(., 'jelly sandwich^4')
+jcr:contains(@jcr:title, 'find this')
+</pre></div>
+<p>In the first example, the word &#x201c;sandwich&#x201d; has weight four times more than the word &#x201c;jelly.&#x201d; For details of boosting, see the Apache Lucene documentation about Score Boosting.</p>
+<p>For compatibility with Jackrabbit 2.x, single quoted phrase queries are currently supported. That means the query <tt>contains(., &quot;word ''hello world'' word&quot;)</tt> is supported. New applications should not rely on this feature.</p></div>
+<div class="section">
+<h3>Native Queries<a name="Native_Queries"></a></h3>
+<p>To take advantage of features that are available in full-text index implementations such as Apache Lucene and Apache Lucene Solr, so called <tt>native</tt> constraints are supported. Such constraints are passed directly to the full-text index. This is supported for both XPath and SQL-2. For XPath queries, the name of the function is <tt>rep:native</tt>, and for SQL-2, it is <tt>native</tt>. The first parameter is the index type (currently supported are <tt>solr</tt> and <tt>lucene</tt>). The second parameter is the native search query expression. For SQL-2, the selector name (if needed) is the first parameter, just before the language. Examples:</p>
+
+<div class="source">
+<pre>//*[rep:native('solr', 'name:(Hello OR World)')]
+
+select [jcr:path] from [nt:base] 
+where native('solr', 'name:(Hello OR World)')
+
+select [jcr:path] from [nt:base] as a 
+where native(a, 'solr', 'name:(Hello OR World)')
+</pre></div>
+<p>This also allows to use the Solr <a class="externalLink" href="http://wiki.apache.org/solr/MoreLikeThis">MoreLikeThis</a> feature. An example query is:</p>
+
+<div class="source">
+<pre>select [jcr:path] from [nt:base] 
+where native('solr', 'mlt?q=id:UTF8TEST&amp;mlt.fl=manu,cat&amp;mlt.mindf=1&amp;mlt.mintf=1')
+</pre></div>
+<p>If no full-text implementation is available, those queries will fail.</p></div>
+<div class="section">
+<h3>Similarity Queries<a name="Similarity_Queries"></a></h3>
+<p>Oak supports similarity queries when using the Lucene full-text index. For example, the following query will return nodes that have similar content than the node /test/a:</p>
+
+<div class="source">
+<pre>//element(*, nt:base)[rep:similar(., '/test/a')]
+</pre></div>
+<p>Compared to Jackrabbit 2.x, support for rep:similar has the following limitations: Full-text aggregation is not currently supported.</p></div>
+<div class="section">
+<h3>XPath to SQL2 Transformation<a name="XPath_to_SQL2_Transformation"></a></h3>
+<p>To support the XPath query language, such queries are internally converted to SQL2. </p>
+<p>Every conversion is logged in <tt>debug</tt> level under the <tt>org.apache.jackrabbit.oak.query.QueryEngineImpl</tt> logger:</p>
+
+<div class="source">
+<pre>org.apache.jackrabbit.oak.query.QueryEngineImpl Parsing xpath statement: 
+    //element(*)[@sling:resourceType = 'slingevent:Lock')]
+org.apache.jackrabbit.oak.query.QueryEngineImpl XPath &gt; SQL2: 
+    select [jcr:path], [jcr:score], * from [nt:base] as a 
+    where [sling:resourceType] = 'slingevent:Lock' 
+    /* xpath: //element(*)[@sling:resourceType = 'slingevent:Lock' 
+    and @lock.created &lt; xs:dateTime('2013-09-02T15:44:05.920+02:00')] */
+</pre></div>
+<p><i>Each transformed SQL2 query contains the original XPath query as a comment.</i></p>
+<p>When converting from XPath to SQL-2, <tt>or</tt> conditions are automatically converted to <tt>union</tt> queries, so that indexes can be used for conditions of the form <tt>a = 'x' or b = 'y'</tt>.</p></div>
+<div class="section">
+<h3>Query Processing<a name="Query_Processing"></a></h3>
+<p>Internally, the query engine uses a cost based query optimizer that asks all the available query indexes for the estimated cost to process the query. It then uses the index with the lowest cost.</p>
+<p>By default, the following indexes are available:</p>
+
+<ul>
+  
+<li>A property index for each indexed property.</li>
+  
+<li>A full-text index which is based on Apache Lucene / Solr.</li>
+  
+<li>A node type index (which is based on an property index for the properties  jcr:primaryType and jcr:mixins).</li>
+  
+<li>A traversal index that iterates over a subtree.</li>
+</ul>
+<p>If no index can efficiently process the filter condition, the nodes in the repository are traversed at the given subtree.</p>
+<p>Usually, data is read from the index and repository while traversing over the query result. There are exceptions however, where all data is read in memory when the query is executed: when using a full-text index, and when using an &#x201c;order by&#x201d; clause.</p></div>
+<div class="section">
+<h3>The Property Index<a name="The_Property_Index"></a></h3>
+<p>Is useful whenever there is a query with a property constraint that is not full-text:</p>
+
+<div class="source">
+<pre>SELECT * FROM [nt:base] WHERE [jcr:uuid] = $id
+</pre></div>
+<p>To define a property index on a subtree you have to add an index definition node that:</p>
+
+<ul>
+  
+<li>must be of type <tt>oak:QueryIndexDefinition</tt></li>
+  
+<li>must have the <tt>type</tt> property set to <b><tt>property</tt></b></li>
+  
+<li>contains the <tt>propertyNames</tt> property that indicates what properties will be stored in the index.  <tt>propertyNames</tt> can be a list of properties, and it is optional.in case it is missing, the node name will be used as a property name reference value</li>
+</ul>
+<p><i>Optionally</i> you can specify</p>
+
+<ul>
+  
+<li>a uniqueness constraint on a property index by setting the <tt>unique</tt> flag to <tt>true</tt></li>
+  
+<li>that the property index only applies to a certain node type by setting the <tt>declaringNodeTypes</tt> property</li>
+  
+<li>the <tt>reindex</tt> flag which when set to <tt>true</tt>, triggers a full content re-index.</li>
+</ul>
+<p>Example:</p>
+
+<div class="source">
+<pre>{
+  NodeBuilder index = root.child(&quot;oak:index&quot;);
+  index.child(&quot;uuid&quot;)
+    .setProperty(&quot;jcr:primaryType&quot;, &quot;oak:QueryIndexDefinition&quot;, Type.NAME)
+    .setProperty(&quot;type&quot;, &quot;property&quot;)
+    .setProperty(&quot;propertyNames&quot;, &quot;jcr:uuid&quot;)
+    .setProperty(&quot;declaringNodeTypes&quot;, &quot;mix:referenceable&quot;)
+    .setProperty(&quot;unique&quot;, true)
+    .setProperty(&quot;reindex&quot;, true);
+}
+</pre></div>
+<p>or to simplify you can use one of the existing <tt>IndexUtils#createIndexDefinition</tt> helper methods:</p>
+
+<div class="source">
+<pre>{
+  NodeBuilder index = IndexUtils.getOrCreateOakIndex(root);
+  IndexUtils.createIndexDefinition(index, &quot;myProp&quot;, true, false, ImmutableList.of(&quot;myProp&quot;), null);
+}
+</pre></div>
+<p><b>Note on <tt>propertyNames</tt></b> Adding a property index definition that contains two or more properties will only include nodes that have <i>all</i> specified properties present. This is different than adding a dedicated property index for each and letting the query engine make use of them.</p>
+<p><b>Note</b> Is is currently not possible to add more than one property index on the same property name, even if it might be used in various combinations with other property names. This rule is not enforced in any way, but the behavior is undefined, one of the defined indexes will be updated while the others will simply be ignored by the indexer which can result in empty result sets at query time.</p>
+<div class="section">
+<h4>Reindexing<a name="Reindexing"></a></h4>
+<p>Reindexing a property index happens synchronously by setting the <b><tt>reindex</tt></b> flag to <b><tt>true</tt></b>. This means that the first #save call will generate a full repository traversal with the purpose of building the index content and it might take a long time.</p>
+<p>Asynchronous reindexing of a property index is available as of OAK-1456. The way this works is by pushing the property index updates to a background job and when the indexing process is done, the property definition will be switched back to a synchronous updates mode. To enable this async reindex behaviour you need to first set the <b><tt>reindex-async</tt></b> and <b><tt>reindex</tt></b> flags to <b><tt>true</tt></b> (call #save). You can verify the initial setup worked by refreshing the index definition node and looking for the <b><tt>async</tt></b> = <b><tt>async-reindex</tt></b> property. Next you need to start the dedicated background job via a jmx call to the <b><tt>PropertyIndexAsyncReindex#startPropertyIndexAsyncReindex</tt></b> MBean.</p>
+<p>Example:</p>
+
+<div class="source">
+<pre>{
+  NodeBuilder index = root.child(&quot;oak:index&quot;);
+  index.child(&quot;property&quot;)
+    .setProperty(&quot;reindex-async&quot;, true)
+    .setProperty(&quot;reindex&quot;, true);
+}
+</pre></div></div></div>
+<div class="section">
+<h3>The Ordered Index<a name="The_Ordered_Index"></a></h3>
+<p>Extension of the Property index will keep the order of the indexed property persisted in the repository.</p>
+<p>Used to speed-up queries with <tt>ORDER BY</tt> clause, <i>equality</i> and <i>range</i> ones.</p>
+
+<div class="source">
+<pre>SELECT * FROM [nt:base] ORDER BY jcr:lastModified
+
+SELECT * FROM [nt:base] WHERE jcr:lastModified &gt; $date
+
+SELECT * FROM [nt:base] WHERE jcr:lastModified &lt; $date
+
+SELECT * FROM [nt:base]
+WHERE jcr:lastModified &gt; $date1 AND jcr:lastModified &lt; $date2
+
+SELECT * FROM [nt:base] WHERE [jcr:uuid] = $id
+</pre></div>
+<p>To define a property index on a subtree you have to add an index definition node that:</p>
+
+<ul>
+  
+<li>must be of type <tt>oak:QueryIndexDefinition</tt></li>
+  
+<li>must have the <tt>type</tt> property set to <b><tt>ordered</tt></b></li>
+  
+<li>contains the <tt>propertyNames</tt> property that indicates what properties  will be stored in the index. <tt>propertyNames</tt> has to be a single  value list of type <tt>Name[]</tt></li>
+</ul>
+<p><i>Optionally</i> you can specify</p>
+
+<ul>
+  
+<li>the <tt>reindex</tt> flag which when set to <tt>true</tt>, triggers a full content  re-index.</li>
+  
+<li>The direction of the sorting by specifying a <tt>direction</tt> property of  type <tt>String</tt> of value <tt>ascending</tt> or <tt>descending</tt>. If not provided  <tt>ascending</tt> is the default.</li>
+  
+<li>The index can be defined as asynchronous by providing the property  <tt>async=async</tt></li>
+</ul>
+<p><i>Caveats</i></p>
+
+<ul>
+  
+<li>In case deploying on the index on a clustered mongodb you have to  define it as asynchronous by providing <tt>async=async</tt> in the index  definition. This is to avoid cluster merges.</li>
+</ul></div>
+<div class="section">
+<h3>The Lucene Full-Text Index<a name="The_Lucene_Full-Text_Index"></a></h3>
+<p>The full-text index handles the &#x2018;contains&#x2019; type of queries:</p>
+
+<div class="source">
+<pre>//*[jcr:contains(., 'text')]
+</pre></div>
+<p>If a full-text index is configured, then all queries that have a full-text condition use the full-text index, no matter if there are other conditions that are indexed, and no matter if there is a path restriction.</p>
+<p>If no full-text index is configured, then queries with full-text conditions may not work as expected. (The query engine has a basic verification in place for full-text conditions, but it does not support all features that Lucene does, and it traverses all nodes if there are no indexed constraints).</p>
+<p>The full-text index update is asynchronous via a background thread, see <tt>Oak#withAsyncIndexing</tt>. This means that some full-text searches will not work for a small window of time: the background thread runs every 5 seconds, plus the time is takes to run the diff and to run the text-extraction process. </p>
+<p>The async update status is now reflected on the <tt>oak:index</tt> node with the help of a few properties, see <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-980">OAK-980</a></p>
+<p>TODO Node aggregation <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-828">OAK-828</a></p>
+<p>The index definition node for a lucene-based full-text index:</p>
+
+<ul>
+  
+<li>must be of type <tt>oak:QueryIndexDefinition</tt></li>
+  
+<li>must have the <tt>type</tt> property set to <b><tt>lucene</tt></b></li>
+  
+<li>must contain the <tt>async</tt> property set to the value <tt>async</tt>, this is what sends the index update process to a background thread</li>
+</ul>
+<p><i>Optionally</i> you can add</p>
+
+<ul>
+  
+<li>what subset of property types to be included in the index via the <tt>includePropertyTypes</tt> property</li>
+  
+<li>a blacklist of property names: what property to be excluded from the index via the <tt>excludePropertyNames</tt> property</li>
+  
+<li>the <tt>reindex</tt> flag which when set to <tt>true</tt>, triggers a full content re-index.</li>
+</ul>
+<p>Example:</p>
+
+<div class="source">
+<pre>{
+  NodeBuilder index = root.child(&quot;oak:index&quot;);
+  index.child(&quot;lucene&quot;)
+    .setProperty(&quot;jcr:primaryType&quot;, &quot;oak:QueryIndexDefinition&quot;, Type.NAME)
+    .setProperty(&quot;type&quot;, &quot;lucene&quot;)
+    .setProperty(&quot;async&quot;, &quot;async&quot;)
+    .setProperty(PropertyStates.createProperty(&quot;includePropertyTypes&quot;, ImmutableSet.of(
+        PropertyType.TYPENAME_STRING, PropertyType.TYPENAME_BINARY), Type.STRINGS))
+    .setProperty(PropertyStates.createProperty(&quot;excludePropertyNames&quot;, ImmutableSet.of( 
+        &quot;jcr:createdBy&quot;, &quot;jcr:lastModifiedBy&quot;), Type.STRINGS))
+    .setProperty(&quot;reindex&quot;, true);
+}
+</pre></div>
+<p><b>Note</b> The Oak Lucene index will only index <i>Strings</i> and <i>Binaries</i> by default. If you need to add another data type, you need to add it to the <i>includePropertyTypes</i> setting, and don&#x2019;t forget to set the <i>reindex</i> flag to true.</p>
+<p>To store the Lucene index in the file system, in the Lucene index definition node, set the property &#x201c;persistence&#x201d; to &#x201c;file&#x201d;, and set the property &#x201c;path&#x201d; to the directory where the index should be stored. Then start reindexing by setting &#x201c;reindex&#x201d; to &#x201c;true&#x201d; (a boolean).</p></div>
+<div class="section">
+<h3>The Solr Index<a name="The_Solr_Index"></a></h3>
+<p>The Solr index is mainly meant for full-text search (the &#x2018;contains&#x2019; type of queries):</p>
+
+<div class="source">
+<pre>//*[jcr:contains(., 'text')]
+</pre></div>
+<p>but is also able to search by path, property restrictions and primary type restrictions. This means the Solr index in Oak can be used for any type of JCR query.</p>
+<p>Even if it&#x2019;s not just a full-text index, it&#x2019;s recommended to use it asynchronously (see <tt>Oak#withAsyncIndexing</tt>) because, in most production scenarios, it&#x2019;ll be a &#x2018;remote&#x2019; index, and therefore network eventual latency / errors would have less impact on the repository performance. To set up the Solr index to be asynchronous that has to be defined inside the index definition, see <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-980">OAK-980</a></p>
+<p>TODO Node aggregation.</p>
+<div class="section">
+<div class="section">
+<h5>Index definition for Solr index<a name="Index_definition_for_Solr_index"></a></h5>
+<p><a name="solr-index-definition"></a> The index definition node for a Solr-based index:</p>
+
+<ul>
+  
+<li>must be of type <tt>oak:QueryIndexDefinition</tt></li>
+  
+<li>must have the <tt>type</tt> property set to <b><tt>solr</tt></b></li>
+  
+<li>must contain the <tt>async</tt> property set to the value <tt>async</tt>, this is what sends the</li>
+</ul>
+<p>index update process to a background thread.</p>
+<p><i>Optionally</i> one can add</p>
+
+<ul>
+  
+<li>the <tt>reindex</tt> flag which when set to <tt>true</tt>, triggers a full content re-index.</li>
+</ul>
+<p>Example:</p>
+
+<div class="source">
+<pre>{
+  NodeBuilder index = root.child(&quot;oak:index&quot;);
+  index.child(&quot;solr&quot;)
+    .setProperty(&quot;jcr:primaryType&quot;, &quot;oak:QueryIndexDefinition&quot;, Type.NAME)
+    .setProperty(&quot;type&quot;, &quot;solr&quot;)
+    .setProperty(&quot;async&quot;, &quot;async&quot;)
+    .setProperty(&quot;reindex&quot;, true);
+}
+</pre></div></div></div>
+<div class="section">
+<h4>Setting up the Solr server<a name="Setting_up_the_Solr_server"></a></h4>
+<p>For the Solr index to work Oak needs to be able to communicate with a Solr instance / cluster. Apache Solr supports multiple deployment architectures: </p>
+
+<ul>
+  
+<li>embedded Solr instance running in the same JVM the client runs into</li>
+  
+<li>single remote instance</li>
+  
+<li>master / slave architecture, eventually with multiple shards and replicas</li>
+  
+<li>SolrCloud cluster, with Zookeeper instance(s) to control a dynamic, resilient set of Solr servers for high  availability and fault tolerance</li>
+</ul>
+<p>The Oak Solr index can be configured to either use an &#x2018;embedded Solr server&#x2019; or a &#x2018;remote Solr server&#x2019; (being able to connect to a single remote instance or to a SolrCloud cluster via Zookeeper).</p>
+<div class="section">
+<h5>OSGi environment<a name="OSGi_environment"></a></h5>
+<p>All the Solr configuration parameters are described in the &#x2018;Solr Server Configuration&#x2019; section on the <a href="osgi_config.html">OSGi configuration</a> page.</p>
+<p>Create an index definition for the Solr index, as described <a href="#solr-index-definition">above</a>. Once the query index definition node has been created, access OSGi ConfigurationAdmin via e.g. Apache Felix WebConsole:</p>
+
+<ol style="list-style-type: decimal">
+  
+<li>find the &#x2018;Oak Solr indexing / search configuration&#x2019; item and eventually change configuration properties as needed</li>
+  
+<li>find either the &#x2018;Oak Solr embedded server configuration&#x2019; or &#x2018;Oak Solr remote server configuration&#x2019; items depending  on the chosen Solr architecture and eventually change configuration properties as needed</li>
+  
+<li>find the &#x2018;Oak Solr server provider&#x2019; item and select the chosen provider (&#x2018;remote&#x2019; or &#x2018;embedded&#x2019;)</li>
+</ol></div>
+<div class="section">
+<h5>Solr server configurations<a name="Solr_server_configurations"></a></h5>
+<p>Depending on the use case, different Solr server configurations are recommended.</p>
+<div class="section">
+<h6>Embedded Solr server<a name="Embedded_Solr_server"></a></h6>
+<p>The embedded Solr server is recommended for developing and testing the Solr index for an Oak repository. With that an in-memory Solr instance is started in the same JVM of the Oak repository, without HTTP bindings (for security purposes as it&#x2019;d allow HTTP access to repository data independently of ACLs). Configuring an embedded Solr server mainly consists of providing the path to a standard <a class="externalLink" href="https://wiki.apache.org/solr/SolrTerminology">Solr home dir</a> (<i>solr.home.path</i> Oak property) to be used to start Solr; this path can be either relative or absolute, if such a path would not exist then the default configuration provided with <i>oak-solr-core</i> artifact would be put in the given path. To start an embedded Solr server with a custom configuration (e.g. different schema.xml / solrconfig.xml than the default  ones) the (modified) Solr home files would have to be put in a dedicated directory, according to Solr home structure, so  that th
 e solr.home.path property can be pointed to that directory.</p></div>
+<div class="section">
+<h6>Single remote Solr server<a name="Single_remote_Solr_server"></a></h6>
+<p>A single (remote) Solr instance is the simplest possible setup for using the Oak Solr index in a production environment. Oak will communicate to such a Solr server through Solr&#x2019;s HTTP APIs (via <a class="externalLink" href="http://wiki.apache.org/solr/Solrj">SolrJ</a> client). Configuring a single remote Solr instance consists of providing the URL to connect to in order to reach the <a class="externalLink" href="https://wiki.apache.org/solr/SolrTerminology">Solr core</a> that will host the Solr index for the Oak repository via the <i>solr.http.url</i>  property which will have to contain such a URL (e.g. _<a class="externalLink" href="http://10.10.1.101:8983/solr/oak_)">http://10.10.1.101:8983/solr/oak_)</a>. All the configuration and tuning of Solr, other than what&#x2019;s described in &#x2018;Solr Server Configuration&#x2019; section of the <a href="osgi_config.html">OSGi configuration</a> page, will have to be performed on the Solr side; <a class="externalLink" href="h
 ttp://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/resources/solr/">sample Solr configuration</a> files (schema.xml,  solrconfig.xml, etc.) to start with can be found in <i>oak-solr-core</i> artifact.</p></div>
+<div class="section">
+<h6>SolrCloud cluster<a name="SolrCloud_cluster"></a></h6>
+<p>A <a class="externalLink" href="https://cwiki.apache.org/confluence/display/solr/SolrCloud">SolrCloud</a> cluster is the recommended setup for an Oak Solr index in production as it provides a scalable and fault tolerant architecture. In order to configure a SolrCloud cluster the host of the Zookeeper instance / ensemble managing the Solr servers has to be provided in the <i>solr.zk.host</i> property (e.g. <i>10.1.1.108:9983</i>) since the SolrJ client for SolrCloud communicates directly with Zookeeper. The <a class="externalLink" href="https://wiki.apache.org/solr/SolrTerminology">Solr collection</a> to be used within Oak is named <i>oak</i>, having a replication  factor of 2 and using 2 shards; this means in the default setup the SolrCloud cluster would have to be composed by at  least 4 Solr servers as the index will be split into 2 shards and each shard will have 2 replicas. Such parameters can  be changed, look for the &#x2018;Oak Solr remote server configuration&#x2019; item
  on the <a href="osgi_config.html">OSGi configuration</a> page. SolrCloud also allows the hot deploy of configuration files to be used for a certain collection so while setting up the  collection to be used for Oak with the needed files before starting the cluster, configuration files can also be uploaded  from a local directory, this is controlled by the <i>solr.conf.dir</i> property of the &#x2018;Oak Solr remote server configuration&#x2019;. For a detailed description of how SolrCloud works see the <a class="externalLink" href="https://cwiki.apache.org/confluence/display/solr/SolrCloud">Solr reference guide</a>.</p></div></div></div>
+<div class="section">
+<h4>Differences with the Lucene index<a name="Differences_with_the_Lucene_index"></a></h4>
+<p>As of Oak version 1.0.0:</p>
+
+<ul>
+  
+<li>Solr index doesn&#x2019;t support search using relative properties, see <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-1835">OAK-1835</a>.</li>
+  
+<li>Solr configuration is mostly done on the Solr side via schema.xml / solrconfig.xml files.</li>
+  
+<li>Lucene can only be used for full-text queries, Solr can be used for full-text search <i>and</i> for JCR queries involving path, property and primary type restrictions.</li>
+</ul></div></div>
+<div class="section">
+<h3>The Node Type Index<a name="The_Node_Type_Index"></a></h3>
+<p>The <tt>NodeTypeIndex</tt> implements a <tt>QueryIndex</tt> using <tt>PropertyIndexLookup</tt>s on <tt>jcr:primaryType</tt> <tt>jcr:mixinTypes</tt> to evaluate a node type restriction on the filter. The cost for this index is the sum of the costs of the <tt>PropertyIndexLookup</tt> for queries on <tt>jcr:primaryType</tt> and <tt>jcr:mixinTypes</tt>.</p></div>
+<div class="section">
+<h3>Cost Calculation<a name="Cost_Calculation"></a></h3>
+<p>Each query index is expected to estimate the worst-case cost to query with the given filter. The returned value is between 1 (very fast; lookup of a unique node) and the estimated number of entries to traverse, if the cursor would be fully read, and if there could in theory be one network round-trip or disk read operation per node (this method may return a lower number if the data is known to be fully in memory).</p>
+<p>The returned value is supposed to be an estimate and doesn&#x2019;t have to be very accurate. Please note this method is called on each index whenever a query is run, so the method should be reasonably fast (not read any data itself, or at least not read too much data).</p>
+<p>If an index implementation can not query the data, it has to return <tt>Double.POSITIVE_INFINITY</tt>.</p></div>
+<div class="section">
+<h3>Index storage and manual inspection<a name="Index_storage_and_manual_inspection"></a></h3>
+<p>Sometimes there is a need to inspect the index content for debugging (or pure curiosity). The index content is generally stored as content under the index definition as hidden nodes (this doesn&#x2019;t apply to the solr index). In order to be able to browse down into an index content you need a low level repository tool that allows NodeStore level access. There are currently 2 options: the oak-console (command line tool, works will all existing NodeStore implementations) and the oak-explorer (gui based on java swing, works only on the TarMK), both available as run modes of the <a class="externalLink" href="https://github.com/apache/jackrabbit-oak/blob/trunk/oak-run/README.md">oak-run</a> module</p>
+<p>The structure of the index is specific to each implementation and is subject to change. What is worth mentioning is that all the <i>*PropertyIndex</i> flavors store the content as unstructured nodes (clear readable text), the <i>Lucene</i> index is stored as binaries, so one would need to export the entire Lucene directory to the local file system and browse it using a dedicated tool.</p></div></div>
+                  </div>
+            </div>
+          </div>
+
+    <hr/>
+
+    <footer>
+            <div class="container-fluid">
+              <div class="row span12">Copyright &copy;                    2012-2014
+                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
+            All Rights Reserved.      
+                    
+      </div>
+
+        
+        
+          
+    
+    
+                
+    <div id="ohloh" class="pull-right">
+      <script type="text/javascript" src="http://www.ohloh.net/p/jackrabbit-oak/widgets/project_thin_badge.js"></script>
+    </div>
+        </div>
+    </footer>
+  </body>
+</html>
\ No newline at end of file

Modified: jackrabbit/site/live/oak/docs/query/lucene.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/query/lucene.html?rev=1643833&r1=1643832&r2=1643833&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/query/lucene.html (original)
+++ jackrabbit/site/live/oak/docs/query/lucene.html Mon Dec  8 14:58:38 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-11-27
+ | Generated by Apache Maven Doxia at 2014-12-08
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <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="20141127" />
+    <meta name="Date-Revision-yyyymmdd" content="20141208" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - Lucene Index</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.3.0.min.css" />
@@ -192,7 +192,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-11-27</li>
+                  <li id="publishDate">Last Published: 2014-12-08</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/query/query.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/query/query.html?rev=1643833&r1=1643832&r2=1643833&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/query/query.html (original)
+++ jackrabbit/site/live/oak/docs/query/query.html Mon Dec  8 14:58:38 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-11-27
+ | Generated by Apache Maven Doxia at 2014-12-08
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <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="20141127" />
+    <meta name="Date-Revision-yyyymmdd" content="20141208" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - The Query Engine</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.3.0.min.css" />
@@ -192,7 +192,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-11-27</li>
+                  <li id="publishDate">Last Published: 2014-12-08</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
                       
                 
@@ -582,6 +582,8 @@ org.apache.jackrabbit.oak.query.QueryEng
   
 <li>that the property index only applies to a certain node type by setting the <tt>declaringNodeTypes</tt> property</li>
   
+<li>the <tt>entryCount</tt> (a long), which is used for the cost estimation (a high entry count means a high cost)</li>
+  
 <li>the <tt>reindex</tt> flag which when set to <tt>true</tt>, triggers a full content re-index.</li>
 </ul>
 <p>Example:</p>

Modified: jackrabbit/site/live/oak/docs/security/accesscontrol.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/accesscontrol.html?rev=1643833&r1=1643832&r2=1643833&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/accesscontrol.html (original)
+++ jackrabbit/site/live/oak/docs/security/accesscontrol.html Mon Dec  8 14:58:38 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-11-27
+ | Generated by Apache Maven Doxia at 2014-12-08
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <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="20141127" />
+    <meta name="Date-Revision-yyyymmdd" content="20141208" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - Access Control</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.3.0.min.css" />
@@ -192,7 +192,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-11-27</li>
+                  <li id="publishDate">Last Published: 2014-12-08</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/security/accesscontrol/differences.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/accesscontrol/differences.html?rev=1643833&r1=1643832&r2=1643833&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/accesscontrol/differences.html (original)
+++ jackrabbit/site/live/oak/docs/security/accesscontrol/differences.html Mon Dec  8 14:58:38 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-11-27
+ | Generated by Apache Maven Doxia at 2014-12-08
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <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="20141127" />
+    <meta name="Date-Revision-yyyymmdd" content="20141208" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - AccessControl Management : Differences wrt Jackrabbit 2.x</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.min.css" />
@@ -192,7 +192,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-11-27</li>
+                  <li id="publishDate">Last Published: 2014-12-08</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/security/accesscontrol/editing.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/accesscontrol/editing.html?rev=1643833&r1=1643832&r2=1643833&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/accesscontrol/editing.html (original)
+++ jackrabbit/site/live/oak/docs/security/accesscontrol/editing.html Mon Dec  8 14:58:38 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-11-27
+ | Generated by Apache Maven Doxia at 2014-12-08
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <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="20141127" />
+    <meta name="Date-Revision-yyyymmdd" content="20141208" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - Using the Access Control Management API</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.min.css" />
@@ -192,7 +192,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-11-27</li>
+                  <li id="publishDate">Last Published: 2014-12-08</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/security/accesscontrol/restriction.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/accesscontrol/restriction.html?rev=1643833&r1=1643832&r2=1643833&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/accesscontrol/restriction.html (original)
+++ jackrabbit/site/live/oak/docs/security/accesscontrol/restriction.html Mon Dec  8 14:58:38 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-11-27
+ | Generated by Apache Maven Doxia at 2014-12-08
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <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="20141127" />
+    <meta name="Date-Revision-yyyymmdd" content="20141208" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - Restriction Management</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.min.css" />
@@ -192,7 +192,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-11-27</li>
+                  <li id="publishDate">Last Published: 2014-12-08</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/security/authentication.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/authentication.html?rev=1643833&r1=1643832&r2=1643833&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/authentication.html (original)
+++ jackrabbit/site/live/oak/docs/security/authentication.html Mon Dec  8 14:58:38 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-11-27
+ | Generated by Apache Maven Doxia at 2014-12-08
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <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="20141127" />
+    <meta name="Date-Revision-yyyymmdd" content="20141208" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - Authentication</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.3.0.min.css" />
@@ -192,7 +192,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-11-27</li>
+                  <li id="publishDate">Last Published: 2014-12-08</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/security/authentication/differences.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/authentication/differences.html?rev=1643833&r1=1643832&r2=1643833&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/authentication/differences.html (original)
+++ jackrabbit/site/live/oak/docs/security/authentication/differences.html Mon Dec  8 14:58:38 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-11-27
+ | Generated by Apache Maven Doxia at 2014-12-08
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <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="20141127" />
+    <meta name="Date-Revision-yyyymmdd" content="20141208" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - Authentication : Differences wrt Jackrabbit 2.x</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.min.css" />
@@ -192,7 +192,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-11-27</li>
+                  <li id="publishDate">Last Published: 2014-12-08</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/security/authentication/externalloginmodule.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/authentication/externalloginmodule.html?rev=1643833&r1=1643832&r2=1643833&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/authentication/externalloginmodule.html (original)
+++ jackrabbit/site/live/oak/docs/security/authentication/externalloginmodule.html Mon Dec  8 14:58:38 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-11-27
+ | Generated by Apache Maven Doxia at 2014-12-08
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <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="20141127" />
+    <meta name="Date-Revision-yyyymmdd" content="20141208" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - Authentication with the External Login Module</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.min.css" />
@@ -192,7 +192,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-11-27</li>
+                  <li id="publishDate">Last Published: 2014-12-08</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/security/authentication/identitymanagement.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/authentication/identitymanagement.html?rev=1643833&r1=1643832&r2=1643833&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/authentication/identitymanagement.html (original)
+++ jackrabbit/site/live/oak/docs/security/authentication/identitymanagement.html Mon Dec  8 14:58:38 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-11-27
+ | Generated by Apache Maven Doxia at 2014-12-08
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <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="20141127" />
+    <meta name="Date-Revision-yyyymmdd" content="20141208" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - External Identity Management</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.min.css" />
@@ -192,7 +192,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-11-27</li>
+                  <li id="publishDate">Last Published: 2014-12-08</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/security/authentication/ldap.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/authentication/ldap.html?rev=1643833&r1=1643832&r2=1643833&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/authentication/ldap.html (original)
+++ jackrabbit/site/live/oak/docs/security/authentication/ldap.html Mon Dec  8 14:58:38 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-11-27
+ | Generated by Apache Maven Doxia at 2014-12-08
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <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="20141127" />
+    <meta name="Date-Revision-yyyymmdd" content="20141208" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - LDAP Integration</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.min.css" />
@@ -192,7 +192,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-11-27</li>
+                  <li id="publishDate">Last Published: 2014-12-08</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/security/authentication/preauthentication.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/authentication/preauthentication.html?rev=1643833&r1=1643832&r2=1643833&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/authentication/preauthentication.html (original)
+++ jackrabbit/site/live/oak/docs/security/authentication/preauthentication.html Mon Dec  8 14:58:38 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-11-27
+ | Generated by Apache Maven Doxia at 2014-12-08
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <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="20141127" />
+    <meta name="Date-Revision-yyyymmdd" content="20141208" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - Pre-Authenticated Login</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.min.css" />
@@ -192,7 +192,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-11-27</li>
+                  <li id="publishDate">Last Published: 2014-12-08</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/security/authentication/tokenmanagement.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/authentication/tokenmanagement.html?rev=1643833&r1=1643832&r2=1643833&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/authentication/tokenmanagement.html (original)
+++ jackrabbit/site/live/oak/docs/security/authentication/tokenmanagement.html Mon Dec  8 14:58:38 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-11-27
+ | Generated by Apache Maven Doxia at 2014-12-08
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <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="20141127" />
+    <meta name="Date-Revision-yyyymmdd" content="20141208" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - Token Authentication and Token Management</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.min.css" />
@@ -192,7 +192,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-11-27</li>
+                  <li id="publishDate">Last Published: 2014-12-08</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/security/authentication/usersync.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/authentication/usersync.html?rev=1643833&r1=1643832&r2=1643833&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/authentication/usersync.html (original)
+++ jackrabbit/site/live/oak/docs/security/authentication/usersync.html Mon Dec  8 14:58:38 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-11-27
+ | Generated by Apache Maven Doxia at 2014-12-08
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <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="20141127" />
+    <meta name="Date-Revision-yyyymmdd" content="20141208" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - User and Group Synchronization</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.min.css" />
@@ -192,7 +192,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-11-27</li>
+                  <li id="publishDate">Last Published: 2014-12-08</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 1.1-SNAPSHOT</li>
                       
                 



Mime
View raw message