You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2019/05/20 11:23:20 UTC

svn commit: r1859550 [21/26] - in /jackrabbit/site/live/archive: ./ wiki/ wiki/JCR/ wiki/JCR/attachments/ wiki/JCR/attachments/115513387/ wiki/JCR/attachments/115513390/ wiki/JCR/attachments/115513408/ wiki/JCR/attachments/115513413/ wiki/JCR/attachmen...

Added: jackrabbit/site/live/archive/wiki/JCR/SandboxCMIS_115513500.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/archive/wiki/JCR/SandboxCMIS_115513500.html?rev=1859550&view=auto
==============================================================================
--- jackrabbit/site/live/archive/wiki/JCR/SandboxCMIS_115513500.html (added)
+++ jackrabbit/site/live/archive/wiki/JCR/SandboxCMIS_115513500.html Mon May 20 11:23:18 2019
@@ -0,0 +1,124 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>Apache Jackrabbit : SandboxCMIS</title>
+        <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+
+    <body class="theme-default aui-theme-default">
+        <div id="page">
+            <div id="main" class="aui-page-panel">
+                <div id="main-header">
+                    <div id="breadcrumb-section">
+                        <ol id="breadcrumbs">
+                            <li class="first">
+                                <span><a href="index.html">Apache Jackrabbit</a></span>
+                            </li>
+                                                    <li>
+                                <span><a href="Home_70731.html">Home</a></span>
+                            </li>
+                                                </ol>
+                    </div>
+                    <h1 id="title-heading" class="pagetitle">
+                                                <span id="title-text">
+                            Apache Jackrabbit : SandboxCMIS
+                        </span>
+                    </h1>
+                </div>
+
+                <div id="content" class="view">
+                    <div class="page-metadata">
+                        
+        
+    
+        
+    
+        
+        
+            Created by <span class='author'> ASF Infrabot</span> on May 20, 2019
+                        </div>
+                    <div id="main-content" class="wiki-content group">
+                    <div class="table-wrap"><table class="confluenceTable"><tbody>
+<tr>
+<td class="confluenceTd"><p> <img class="emoticon emoticon-warning" src="images/icons/emoticons/warning.svg" data-emoticon-name="warning" alt="(warning)"/> This page is outdated. SandboxCMIS is now an Apache Incubator project called <a href="http://incubator.apache.org/chemistry/" class="external-link" rel="nofollow">Chemistry</a>. </p></td>
+</tr>
+</tbody></table></div>
+
+
+<h3 id="SandboxCMIS-WhatisCMIS?">What is CMIS?</h3>
+<p>CMIS stands for Content Management Interoperability Services and consists mainly of  two network bindings for essential Document Management operations.</p>
+
+<p>CMIS is in the process of being developed at <a href="http://xml.coverpages.org/cmis.html" class="external-link" rel="nofollow">OASIS</a>.</p>
+
+<h3 id="SandboxCMIS-TheCMISSandboxatJackrabbit">The CMIS Sandbox at Jackrabbit</h3>
+<p>Based on interest from various Apache Communities the CMIS Sandbox is hosted by the Apache Jackrabbit project and is open to all committers of the ASF.</p>
+
+<p>Sumamrizing conversations on the dev mailing list the goal of this effort would be to build a freely available implementation and client of the CMIS specification as it grows. While the CMIS specification is still under development the early implementation will allow to give feedback to the Technical Committee at OASIS to modify and improve the specification.</p>
+
+<p>The implementation should not need any Jackrabbit (Content Repository) specific dependencies but should be as portable and reusable for other implementations as possible.</p>
+
+<h3 id="SandboxCMIS-OverallProposedArchitecture">Overall Proposed Architecture</h3>
+
+<p>The overall Architecture is separated into three major blocks as reflected in the <a href="http://svn.apache.org/repos/asf/jackrabbit/sandbox/jcr-cmis/" class="external-link" rel="nofollow">SVN Layout</a>.</p>
+
+<p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="attachments/115513500/115513502.png" data-image-src="attachments/115513500/115513502.png" data-unresolved-comment-count="0" data-linked-resource-id="115513502" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="cmis-arch.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="115513500" data-linked-resource-container-version="1"></span></p>
+
+<p>The API represents the Java Language Bindings of the CMIS Model and therefore is used to implement both the CMIS client (that exposes the API) but also the server that allows for plug-able implementation of that.</p>
+
+
+<h3 id="SandboxCMIS-ProposedServerArchitecture">Proposed Server Architecture</h3>
+
+<p>The CMIS Server is architected in a fashion that offers a Layered approach. The <a class="createlink" href="/confluence/pages/createpage.action?spaceKey=JCR&amp;title=AtomPub&amp;linkCreation=true&amp;fromPageId=115513500">AtomPub</a> and SOAP bindings are separated by the API. This allows to use both protocol implementations while just having to implement the API on any particular proprietary or standard based server. In Jackrabbit the implementation of the API then will use a standards based JCR binding to avoid and Jackrabbit specific bindings and hence allows to be run on any third party JCR implementation.</p>
+
+<p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="attachments/115513500/115513501.png" data-image-src="attachments/115513500/115513501.png" data-unresolved-comment-count="0" data-linked-resource-id="115513501" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="cmis-arch-server.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="115513500" data-linked-resource-container-version="1"></span></p>
+
+
+<h3 id="SandboxCMIS-ProposedClientArchitecture">Proposed Client Architecture</h3>
+
+<p>To provide a general purpose CMIS Java client it is important of course provide language bindings of the CMIS Model and then implement the two protocols proposed by CMIS. This will not only be used by Java Application Developers that want to consume CMIS but also can serve as an initial test suite to test any servers interoperability.</p>
+
+<p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="attachments/115513500/115513503.png" data-image-src="attachments/115513500/115513503.png" data-unresolved-comment-count="0" data-linked-resource-id="115513503" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="cmis-arch-client.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="115513500" data-linked-resource-container-version="1"></span></p>
+
+
+<h3 id="SandboxCMIS-FirstStepswiththeCMISServer">First Steps with the CMIS Server</h3>
+
+<p>(To be added)</p>
+
+<h3 id="SandboxCMIS-FirstStepswiththeCMISClient">First Steps with the CMIS Client</h3>
+
+<p>(To be added)</p>
+
+
+<h3 id="SandboxCMIS-FurtherConversations">Further Conversations</h3>
+<p>Find the current CMIS Discussions on the <a href="http://jackrabbit.markmail.org/search/?q=cmis" class="external-link" rel="nofollow">Jackrabbit</a> List and also on the CMIS <a href="http://markmail.org/search/?q=list%3Aorg.oasis-open.lists.cmis" class="external-link" rel="nofollow">OASIS</a> list.</p>
+                    </div>
+
+                                        <div class="pageSection group">
+                        <div class="pageSectionHeader">
+                            <h2 id="attachments" class="pageSectionTitle">Attachments:</h2>
+                        </div>
+
+                        <div class="greybox" align="left">
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/115513500/115513501.png">cmis-arch-server.png</a> (image/png)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/115513500/115513502.png">cmis-arch.png</a> (image/png)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/115513500/115513503.png">cmis-arch-client.png</a> (image/png)
+                                <br/>
+                                                    </div>
+                    </div>
+                    
+                                                      
+                </div>             </div> 
+            <div id="footer" role="contentinfo">
+                <section class="footer-body">
+                    <p>Document generated by Confluence on May 20, 2019 11:11</p>
+                    <div id="footer-logo"><a href="http://www.atlassian.com/">Atlassian</a></div>
+                </section>
+            </div>
+        </div>     </body>
+</html>

Propchange: jackrabbit/site/live/archive/wiki/JCR/SandboxCMIS_115513500.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/site/live/archive/wiki/JCR/SandboxCMIS_115513500.html
------------------------------------------------------------------------------
    svn:executable = *

Added: jackrabbit/site/live/archive/wiki/JCR/SearchIndex_115513505.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/archive/wiki/JCR/SearchIndex_115513505.html?rev=1859550&view=auto
==============================================================================
--- jackrabbit/site/live/archive/wiki/JCR/SearchIndex_115513505.html (added)
+++ jackrabbit/site/live/archive/wiki/JCR/SearchIndex_115513505.html Mon May 20 11:23:18 2019
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>Apache Jackrabbit : SearchIndex</title>
+        <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+
+    <body class="theme-default aui-theme-default">
+        <div id="page">
+            <div id="main" class="aui-page-panel">
+                <div id="main-header">
+                    <div id="breadcrumb-section">
+                        <ol id="breadcrumbs">
+                            <li class="first">
+                                <span><a href="index.html">Apache Jackrabbit</a></span>
+                            </li>
+                                                    <li>
+                                <span><a href="Home_70731.html">Home</a></span>
+                            </li>
+                                                </ol>
+                    </div>
+                    <h1 id="title-heading" class="pagetitle">
+                                                <span id="title-text">
+                            Apache Jackrabbit : SearchIndex
+                        </span>
+                    </h1>
+                </div>
+
+                <div id="content" class="view">
+                    <div class="page-metadata">
+                        
+        
+    
+        
+    
+        
+        
+            Created by <span class='author'> ASF Infrabot</span> on May 20, 2019
+                        </div>
+                    <div id="main-content" class="wiki-content group">
+                    <p>See the <a href="Search_115513504.html">Search</a> page.</p>
+                    </div>
+
+                    
+                                                      
+                </div>             </div> 
+            <div id="footer" role="contentinfo">
+                <section class="footer-body">
+                    <p>Document generated by Confluence on May 20, 2019 11:11</p>
+                    <div id="footer-logo"><a href="http://www.atlassian.com/">Atlassian</a></div>
+                </section>
+            </div>
+        </div>     </body>
+</html>

Propchange: jackrabbit/site/live/archive/wiki/JCR/SearchIndex_115513505.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/site/live/archive/wiki/JCR/SearchIndex_115513505.html
------------------------------------------------------------------------------
    svn:executable = *

Added: jackrabbit/site/live/archive/wiki/JCR/Search_115513504.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/archive/wiki/JCR/Search_115513504.html?rev=1859550&view=auto
==============================================================================
--- jackrabbit/site/live/archive/wiki/JCR/Search_115513504.html (added)
+++ jackrabbit/site/live/archive/wiki/JCR/Search_115513504.html Mon May 20 11:23:18 2019
@@ -0,0 +1,333 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>Apache Jackrabbit : Search</title>
+        <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+
+    <body class="theme-default aui-theme-default">
+        <div id="page">
+            <div id="main" class="aui-page-panel">
+                <div id="main-header">
+                    <div id="breadcrumb-section">
+                        <ol id="breadcrumbs">
+                            <li class="first">
+                                <span><a href="index.html">Apache Jackrabbit</a></span>
+                            </li>
+                                                    <li>
+                                <span><a href="Home_70731.html">Home</a></span>
+                            </li>
+                                                </ol>
+                    </div>
+                    <h1 id="title-heading" class="pagetitle">
+                                                <span id="title-text">
+                            Apache Jackrabbit : Search
+                        </span>
+                    </h1>
+                </div>
+
+                <div id="content" class="view">
+                    <div class="page-metadata">
+                        
+        
+    
+        
+    
+        
+        
+            Created by <span class='author'> ASF Infrabot</span> on May 20, 2019
+                        </div>
+                    <div id="main-content" class="wiki-content group">
+                    <h2 id="Search-Search">Search</h2>
+
+<p>Note: the following is for Jackrabbit 2.x and does not apply for Jackrabbit Oak.</p>
+
+<style type='text/css'>/*<![CDATA[*/
+div.rbtoc1558350683792 {padding: 0px;}
+div.rbtoc1558350683792 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1558350683792 li {margin-left: 0px;padding-left: 0px;}
+
+/*]]>*/</style><div class='toc-macro rbtoc1558350683792'>
+<ul class='toc-indentation'>
+<li><a href='#Search-Search'>Search</a></li>
+<li><a href='#Search-Features'>Features</a></li>
+<li><a href='#Search-SearchConfiguration'>Search Configuration</a></li>
+<li><a href='#Search-ProprietaryFeatures'>Proprietary Features</a></li>
+<li><a href='#Search-FulltextIndexingofChinese,JapaneseandKorea'>Fulltext Indexing of Chinese, Japanese and Korea</a></li>
+<li><a href='#Search-RebuildingtheIndex'>Rebuilding the Index</a></li>
+<li><a href='#Search-AnalyzingQueryPerformance'>Analyzing Query Performance</a></li>
+<li><a href='#Search-SQL-2'>SQL-2</a></li>
+<li><a href='#Search-FurtherDevelopment'>Further Development</a></li>
+</ul>
+</div>
+
+<h2 id="Search-Features">Features</h2>
+
+<p>Node names and property values are indexed as soon as the data is saved or as soon as the transaction is committed.</p>
+
+<p>Text extraction is done asynchronously in a in a background thread. That means changed or added text is not available immediately, but after a short delay. The exact behavior can be configured using the extractor* settings.</p>
+
+<h2 id="Search-SearchConfiguration">Search Configuration</h2>
+
+<p>The search index in Jackrabbit is pluggable and has a default implementation based on Apache Lucene. It is configured in the file workspace.xml once the workspace is created. For new workspaces, the configuration in the file repository.xml is used as a template. </p>
+
+<p>To disable the search index, disable (comment out) the index configuration in the file repository.xml and workspace.xml file(s).</p>
+
+<p>This default implementation has the following options:</p>
+
+<div class="table-wrap"><table class="confluenceTable"><tbody>
+<tr>
+<td class="confluenceTd"><p> <strong>Parameter</strong> </p></td>
+<td class="confluenceTd"><p> <strong>Default Value</strong> </p></td>
+<td class="confluenceTd"><p> <strong>Description</strong> </p></td>
+<td class="confluenceTd"><p> <strong>Since</strong> </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> path </p></td>
+<td class="confluenceTd"><p> <em>none</em> </p></td>
+<td class="confluenceTd"><p> The location of the index directory. This parameter is mandatory. A reasonable value is: {<code>${wsp.home}/index</code>} </p></td>
+<td class="confluenceTd"><p> 1.0 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> useCompoundFile </p></td>
+<td class="confluenceTd"><p> true </p></td>
+<td class="confluenceTd"><p> Advises lucene to use compound files for the index files. </p></td>
+<td class="confluenceTd"><p> 1.0 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> minMergeDocs </p></td>
+<td class="confluenceTd"><p> 100 </p></td>
+<td class="confluenceTd"><p> Minimum number of nodes in an index until segments are merged </p></td>
+<td class="confluenceTd"><p> 1.0 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> volatileIdleTime </p></td>
+<td class="confluenceTd"><p> 3 </p></td>
+<td class="confluenceTd"><p> Idle time in seconds until the volatile index part is moved to a persistent index even though minMergeDocs is not reached. </p></td>
+<td class="confluenceTd"><p> 1.0 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> maxMergeDocs </p></td>
+<td class="confluenceTd"><p> 100000, &gt;=1.4: 2147483647 </p></td>
+<td class="confluenceTd"><p> Maximum number of nodes in segments that will be merged. The default value changed in Jackrabbit 1.4 to Integer.MAX_VALUE. </p></td>
+<td class="confluenceTd"><p> 1.0 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> mergeFactor </p></td>
+<td class="confluenceTd"><p> 10 </p></td>
+<td class="confluenceTd"><p> Determines how often segment indices are merged. </p></td>
+<td class="confluenceTd"><p> 1.0 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> maxFieldLength </p></td>
+<td class="confluenceTd"><p> 10000 </p></td>
+<td class="confluenceTd"><p> The number of words that are fulltext indexed at most per property. </p></td>
+<td class="confluenceTd"><p> 1.1 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> bufferSize </p></td>
+<td class="confluenceTd"><p> 10 </p></td>
+<td class="confluenceTd"><p> Maximum number of documents that are held in a pending queue until added to the index </p></td>
+<td class="confluenceTd"><p> 1.0 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> cacheSize </p></td>
+<td class="confluenceTd"><p> 1000 </p></td>
+<td class="confluenceTd"><p> Size of the document number cache. This cache maps uuids to lucene document numbers </p></td>
+<td class="confluenceTd"><p> 1.0 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> forceConsistencyCheck </p></td>
+<td class="confluenceTd"><p> false </p></td>
+<td class="confluenceTd"><p> Runs a consistency check on every startup. If false, a consistency check is only performed when the search index detects a prior forced shutdown. </p></td>
+<td class="confluenceTd"><p> 1.0 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> autoRepair </p></td>
+<td class="confluenceTd"><p> true </p></td>
+<td class="confluenceTd"><p> Errors detected by a consistency check are automatically repaired. If false, errors are only written to the log. </p></td>
+<td class="confluenceTd"><p> 1.0 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> analyzer </p></td>
+<td class="confluenceTd"><p> <code>org.apache.lucene.analysis.standard.StandardAnalyzer</code> </p></td>
+<td class="confluenceTd"><p> Class name of a lucene analyzer to use for fulltext indexing of text. </p></td>
+<td class="confluenceTd"><p> 1.0 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> queryClass </p></td>
+<td class="confluenceTd"><p> <code>org.apache.jackrabbit.core.query.QueryImpl</code> </p></td>
+<td class="confluenceTd"><p> Class name that implements the <code>javax.jcr.query.Query</code> interface. This class must also extend from the class: <code>org.apache.jackrabbit.core.query.AbstractQueryImpl</code> </p></td>
+<td class="confluenceTd"><p> 1.0 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> respectDocumentOrder </p></td>
+<td class="confluenceTd"><p> true, &gt;=1.5: false </p></td>
+<td class="confluenceTd"><p> If true and the query does not contain an 'order by' clause, result nodes will be in document order. For better performance when queries return a lot of nodes set to 'false' (In 1.5 'false' is now the default). </p></td>
+<td class="confluenceTd"><p> 1.0 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> textFilterClasses </p></td>
+<td class="confluenceTd"><p> <code>org.apache.jackrabbit.core.query.lucene.TextPlainTextFilter</code> </p></td>
+<td class="confluenceTd"><p> Sets the list of text filters (and text extractors) to use for extracting text content from binary properties. The list must be comma (or whitespace) separated, and contain fully qualified class names of the <code>TextFilter</code> (and since 1.3 <code>TextExtractor</code> ) classes to be used. The configured classes must all have a public default constructor. </p></td>
+<td class="confluenceTd"><p> 1.0 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> resultFetchSize </p></td>
+<td class="confluenceTd"><p> 2147483647 </p></td>
+<td class="confluenceTd"><p> The number of results the query handler should initially fetch when a query is executed. Default value: Integer.MAX_VALUE (-&gt; all) </p></td>
+<td class="confluenceTd"><p> 1.2.1 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> extractorPoolSize </p></td>
+<td class="confluenceTd"><p> 0, &gt;=1.5: twice #ofAvailProcessors </p></td>
+<td class="confluenceTd"><p> Defines the maximum number of background threads that are used to extract text from binary properties. If set to zero no background threads are allocated and text extractors run in the current thread. </p></td>
+<td class="confluenceTd"><p> 1.3 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> extractorTimeout </p></td>
+<td class="confluenceTd"><p> 100 </p></td>
+<td class="confluenceTd"><p> A text extractor is executed using a background thread if it doesn't finish within this timeout defined in milliseconds. This parameter has no effect if extractorPoolSize is zero. </p></td>
+<td class="confluenceTd"><p> 1.3 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> extractorBackLogSize </p></td>
+<td class="confluenceTd"><p> 100, &gt;=1.6: 2147483647 </p></td>
+<td class="confluenceTd"><p> The size of the extractor pool back log. If all threads in the pool are busy, incomming work is put into a wait queue. If the wait queue reaches the back log size, incomming extractor work will not be queued anymore but will be executed with the current thread. </p></td>
+<td class="confluenceTd"><p> 1.3 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> excerptProviderClass </p></td>
+<td class="confluenceTd"><p> 1.3: <code>org.apache.jackrabbit.core.query.lucene.DefaultXMLExcerpt</code>, &gt;=1.4: <code>org.apache.jackrabbit.core.query.lucene.DefaultHTMLExcerpt</code> </p></td>
+<td class="confluenceTd"><p> The name of the class that implements <code>org.apache.jackrabbit.core.query.lucene.ExcerptProvider</code> and should be used for the rep:excerpt() function in a query. </p></td>
+<td class="confluenceTd"><p> 1.3 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> supportHighlighting </p></td>
+<td class="confluenceTd"><p> false </p></td>
+<td class="confluenceTd"><p> If set to <code>true</code> additional information is stored in the index to support highlighting using the rep:excerpt() function. </p></td>
+<td class="confluenceTd"><p> 1.3 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> synonymProviderClass </p></td>
+<td class="confluenceTd"><p> <em>none</em> </p></td>
+<td class="confluenceTd"><p> The name of a class that implements <code>org.apache.jackrabbit.core.query.lucene.SynonymProvider</code>. The default value is null (-&gt; not set). </p></td>
+<td class="confluenceTd"><p> 1.4 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> synonymProviderConfigPath </p></td>
+<td class="confluenceTd"><p> <em>none</em> </p></td>
+<td class="confluenceTd"><p> The path to the synonym provider configuration file. This path interpreted relative to the <code>path</code> parameter. If there is a <code>FileSystem</code> element inside the <code>SearchIndex</code> element, then this path is interpreted relative to the root path of the <code>FileSystem</code>. Whether this parameter is mandatory depends on the synonym provider implementation. The default value is null (-&gt; not set). </p></td>
+<td class="confluenceTd"><p> 1.4 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> indexingConfiguration </p></td>
+<td class="confluenceTd"><p> <em>none</em> </p></td>
+<td class="confluenceTd"><p> The path to the indexing configuration file. See also <a href="IndexingConfiguration_115513411.html">IndexingConfiguration</a> </p></td>
+<td class="confluenceTd"><p> 1.4 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> indexingConfigurationClass </p></td>
+<td class="confluenceTd"><p> <code>org.apache.jackrabbit.core.query.lucene.IndexingConfigurationImpl</code> </p></td>
+<td class="confluenceTd"><p> The name of the class that implements <code>org.apache.jackrabbit.core.query.lucene.IndexingConfiguration</code>. See also <a href="IndexingConfiguration_115513411.html">IndexingConfiguration</a>. </p></td>
+<td class="confluenceTd"><p> 1.4 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> enableConsistencyCheck </p></td>
+<td class="confluenceTd"><p> false </p></td>
+<td class="confluenceTd"><p> If set to <code>true</code> a consistency check is performed depending on the parameter <em>forceConsistencyCheck</em>. If set to <code>false</code> no consistency check is performed on startup, even if a redo log had been applied. </p></td>
+<td class="confluenceTd"><p> 1.4 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> spellCheckerClass </p></td>
+<td class="confluenceTd"><p> <em>none</em> </p></td>
+<td class="confluenceTd"><p> The name of a class that implements <code>org.apache.jackrabbit.core.query.lucene.SpellChecker</code>. See also <a href="SpellChecker_115513512.html">SpellChecker</a> </p></td>
+<td class="confluenceTd"><p> 1.4 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> similarityClass </p></td>
+<td class="confluenceTd"><p> Depends on what <code>Similarity.getDefault()</code> returns </p></td>
+<td class="confluenceTd"><p> The name of a class that extends <code>org.apache.lucene.search.Similarity</code>. </p></td>
+<td class="confluenceTd"><p> 1.5 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> maxVolatileIndexSize </p></td>
+<td class="confluenceTd"><p> 1048576 </p></td>
+<td class="confluenceTd"><p> The maximum volatile index size in bytes until it is written to disk. The default value is 1MB. </p></td>
+<td class="confluenceTd"><p> 1.6 </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> initializeHierarchyCache </p></td>
+<td class="confluenceTd"><p> true </p></td>
+<td class="confluenceTd"><p> With the default value of <code>true</code> the hierarchy cache is initialized on startup and control is only given back when the initialization has completed. When set to <code>false</code> the cache is populated during regular use. </p></td>
+<td class="confluenceTd"><p> 1.6 </p></td>
+</tr>
+</tbody></table></div>
+
+
+
+<p><strong>Note</strong>: all parameters (except path) have default values and can be omitted to use the default.</p>
+
+
+<h2 id="Search-ProprietaryFeatures">Proprietary Features</h2>
+
+<p>Jackrabbit supports some advanced features, which are not specified in JSR 170:</p>
+
+<ul>
+	<li>Extract text from binary content: <a href="http://jackrabbit.apache.org/jackrabbit-text-extractors.html" class="external-link" rel="nofollow">TextExtractor</a>; <a href="TextExtractorExamples_115513519.html">TextExtractorExamples</a></li>
+	<li>Get a text excerpt with highlighted words that matched the query: <a href="ExcerptProvider_115513398.html">ExcerptProvider</a></li>
+	<li>Search for a term and its synonyms: <a href="SynonymSearch_115513518.html">SynonymSearch</a></li>
+	<li>Search for similar nodes: <a href="SimilaritySearch_115513506.html">SimilaritySearch</a></li>
+	<li>Define index aggregates, rules and scores: <a href="IndexingConfiguration_115513411.html">IndexingConfiguration</a></li>
+	<li>Check spelling of a fulltext query statement: <a href="SpellChecker_115513512.html">SpellChecker</a></li>
+</ul>
+
+
+<h2 id="Search-FulltextIndexingofChinese,JapaneseandKorea">Fulltext Indexing of Chinese, Japanese and Korea</h2>
+
+<p>To index documents written in one of those languages, use the analyzer <code>org.apache.lucene.analysis.cjk.CJKAnalyzer</code>. Due to a limitation of PDFBox, some PDF files may not be indexed at all or indexed correctly. If this is the case, a warning message is written to the log file (&quot;Failed to extract PDF text content&quot;).</p>
+
+<h2 id="Search-RebuildingtheIndex">Rebuilding the Index</h2>
+
+<p>After a power outage or after killing the process, the index may become inconsistent. To rebuild the index, stop Jackrabbit, delete the index directories, and start Jackrabbit. The index will automatically be re-built. There is one index directory for each workspace at <code>&lt;repositoryHome&gt;/&lt;workspaceName&gt;/index</code>, plus one index directory for the version store at <code>&lt;repositoryHome&gt;/repository/index</code>.</p>
+
+<h2 id="Search-AnalyzingQueryPerformance">Analyzing Query Performance</h2>
+
+<p>To get query statements and timings, set the following log level in log4j.xml:</p>
+
+<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>&lt;logger name=&quot;org.apache.jackrabbit.core.query.QueryImpl&quot;&gt;
+    &lt;level value=&quot;debug&quot;/&gt;
+&lt;/logger&gt;
+</pre>
+</div></div>
+
+<h2 id="Search-SQL-2">SQL-2</h2>
+
+<p>The default query language for JCR 2.0 is SQL-2. </p>
+
+<ul>
+	<li><a href="http://www.h2database.com/jcr/grammar.html" class="external-link" rel="nofollow">Railroad diagrams</a></li>
+	<li><a href="http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-spi-commons/src/test/resources/org/apache/jackrabbit/spi/commons/query/sql2/test.sql2.txt?view=markup" class="external-link" rel="nofollow">Examples (actually test cases)</a></li>
+</ul>
+
+
+<h2 id="Search-FurtherDevelopment">Further Development</h2>
+
+<ul>
+	<li><a href="ReduceMemOfSharedFieldCache_115513493.html">ReduceMemOfSharedFieldCache</a></li>
+</ul>
+                    </div>
+
+                    
+                                                      
+                </div>             </div> 
+            <div id="footer" role="contentinfo">
+                <section class="footer-body">
+                    <p>Document generated by Confluence on May 20, 2019 11:11</p>
+                    <div id="footer-logo"><a href="http://www.atlassian.com/">Atlassian</a></div>
+                </section>
+            </div>
+        </div>     </body>
+</html>

Propchange: jackrabbit/site/live/archive/wiki/JCR/Search_115513504.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/site/live/archive/wiki/JCR/Search_115513504.html
------------------------------------------------------------------------------
    svn:executable = *

Added: jackrabbit/site/live/archive/wiki/JCR/SimilaritySearch_115513506.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/archive/wiki/JCR/SimilaritySearch_115513506.html?rev=1859550&view=auto
==============================================================================
--- jackrabbit/site/live/archive/wiki/JCR/SimilaritySearch_115513506.html (added)
+++ jackrabbit/site/live/archive/wiki/JCR/SimilaritySearch_115513506.html Mon May 20 11:23:18 2019
@@ -0,0 +1,99 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>Apache Jackrabbit : SimilaritySearch</title>
+        <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+
+    <body class="theme-default aui-theme-default">
+        <div id="page">
+            <div id="main" class="aui-page-panel">
+                <div id="main-header">
+                    <div id="breadcrumb-section">
+                        <ol id="breadcrumbs">
+                            <li class="first">
+                                <span><a href="index.html">Apache Jackrabbit</a></span>
+                            </li>
+                                                    <li>
+                                <span><a href="Home_70731.html">Home</a></span>
+                            </li>
+                                                </ol>
+                    </div>
+                    <h1 id="title-heading" class="pagetitle">
+                                                <span id="title-text">
+                            Apache Jackrabbit : SimilaritySearch
+                        </span>
+                    </h1>
+                </div>
+
+                <div id="content" class="view">
+                    <div class="page-metadata">
+                        
+        
+    
+        
+    
+        
+        
+            Created by <span class='author'> ASF Infrabot</span> on May 20, 2019
+                        </div>
+                    <div id="main-content" class="wiki-content group">
+                    <p>Starting with version, 1.4 Jackrabbit allows you to search for nodes that are similar to an existing node.</p>
+
+<p>Similarity is determined by looking up terms that are common to nodes. There are some conditions that must be met for a term to be considered. This is required to limit the number possibly relevant terms.</p>
+
+<ul>
+	<li>Only terms with at least 4 characters are considered.</li>
+	<li>Only terms that occur at least 2 times in the source node are considered.</li>
+	<li>Only terms that occur in at least 5 nodes are considered.
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<p><strong>Note</strong>: The similarity functionality requires that the <code>supportHightlighting</code> is enabled. Please make sure that you have the following parameter set for the query handler in your workspace.xml.</p>
+
+<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>&lt;param name=&quot;supportHighlighting&quot; value=&quot;true&quot;/&gt;
+</pre>
+</div></div>
+
+<p>The functions are called rep:similar() (in XPath) and similar() (in SQL) and have two arguments:</p>
+
+<ul>
+	<li>relativePath: a relative path to a descendant node or <code>.</code> for the current node.</li>
+	<li>absoluteStringPath: a string literal that contains the path to the node for which to find similar nodes.
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<p>Examples:</p>
+
+<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>//element(*, nt:resource)[rep:similar(., &#39;/my:content/readme.txt/jcr:content&#39;)]
+</pre>
+</div></div>
+
+<p>Finds nt:resource nodes, which are similar to <code>/my:content/readme.txt/jcr:content</code>.</p>
+
+<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>select * from nt:file where similar(jcr:content, &#39;/my:content/readme.txt/jcr:content&#39;)
+</pre>
+</div></div>
+
+<p>Finds files that contains content similar to <code>/my:content/readme.txt</code>.</p>
+
+<p><strong>Note</strong>: SQL only supports one path step for the relativePath parameter!</p>
+                    </div>
+
+                    
+                                                      
+                </div>             </div> 
+            <div id="footer" role="contentinfo">
+                <section class="footer-body">
+                    <p>Document generated by Confluence on May 20, 2019 11:11</p>
+                    <div id="footer-logo"><a href="http://www.atlassian.com/">Atlassian</a></div>
+                </section>
+            </div>
+        </div>     </body>
+</html>

Propchange: jackrabbit/site/live/archive/wiki/JCR/SimilaritySearch_115513506.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/site/live/archive/wiki/JCR/SimilaritySearch_115513506.html
------------------------------------------------------------------------------
    svn:executable = *

Added: jackrabbit/site/live/archive/wiki/JCR/SimpleJbossAccessManager_115513507.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/archive/wiki/JCR/SimpleJbossAccessManager_115513507.html?rev=1859550&view=auto
==============================================================================
--- jackrabbit/site/live/archive/wiki/JCR/SimpleJbossAccessManager_115513507.html (added)
+++ jackrabbit/site/live/archive/wiki/JCR/SimpleJbossAccessManager_115513507.html Mon May 20 11:23:18 2019
@@ -0,0 +1,137 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>Apache Jackrabbit : SimpleJbossAccessManager</title>
+        <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+
+    <body class="theme-default aui-theme-default">
+        <div id="page">
+            <div id="main" class="aui-page-panel">
+                <div id="main-header">
+                    <div id="breadcrumb-section">
+                        <ol id="breadcrumbs">
+                            <li class="first">
+                                <span><a href="index.html">Apache Jackrabbit</a></span>
+                            </li>
+                                                    <li>
+                                <span><a href="Home_70731.html">Home</a></span>
+                            </li>
+                                                </ol>
+                    </div>
+                    <h1 id="title-heading" class="pagetitle">
+                                                <span id="title-text">
+                            Apache Jackrabbit : SimpleJbossAccessManager
+                        </span>
+                    </h1>
+                </div>
+
+                <div id="content" class="view">
+                    <div class="page-metadata">
+                        
+        
+    
+        
+    
+        
+        
+            Created by <span class='author'> ASF Infrabot</span> on May 20, 2019
+                        </div>
+                    <div id="main-content" class="wiki-content group">
+                    <p><em>THIS CLASS WILL BE REMOVED IN JACKRABBIT 2.18, PLEASE SEE <a href="https://issues.apache.org/jira/browse/JCR-4258" class="external-link" rel="nofollow">https://issues.apache.org/jira/browse/JCR-4258</a> FOR DETAILS</em></p>
+
+
+<p>The simple jboss access manager is a specialized Access Manager to handle <strong>Authorization</strong> of individuals authenticated through jboss login modules.  It maps roles from the jboss simplegroup class to jackrabbit permissions.</p>
+
+
+<p>The intent of this document is to</p>
+<ul>
+	<li>Deploy and enable a <a href="SimpleJbossAccessManager_115513507.html">SimpleJbossAccessManager</a>.</li>
+	<li>Configure the mappings between groups/roles from the authentication system to jackrabbit permissions.
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<p>Files that will be modified</p>
+<ul>
+	<li>Deploy <a href="SimpleJbossAccessManager_115513507.html">SimpleJbossAccessManager</a>.jar to WEB-INF/lib or somewhere else to add to the classpath.</li>
+	<li>repository.xml</li>
+	<li>$REPO_HOMEDIR/rolemappings.properties
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<hr/>
+<h2 id="SimpleJbossAccessManager-Addtoclasspath">Add <a href="SimpleJbossAccessManager_115513507.html">SimpleJbossAccessManager</a> to classpath</h2>
+<p>All code is apache licensed. </p>
+<ul>
+	<li><a href="attachments/115513507/115513508.jar" data-linked-resource-id="115513508" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="SimpleJbossAccessManager.jar" data-nice-type="Java Archive" data-linked-resource-content-type="application/octet-stream" data-linked-resource-container-id="115513507" data-linked-resource-container-version="1">SimpleJbossAccessManager.jar</a></li>
+	<li><a href="attachments/115513507/115513509.java" data-linked-resource-id="115513509" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="SimpleJbossAccessManager.java" data-nice-type="Java Source File" data-linked-resource-content-type="text/x-java-source" data-linked-resource-container-id="115513507" data-linked-resource-container-version="1">SimpleJbossAccessManager.java</a></li>
+	<li><a href="attachments/115513507/115513510.xml" data-linked-resource-id="115513510" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="pom.xml" data-nice-type="XML File" data-linked-resource-content-type="text/xml" data-linked-resource-container-id="115513507" data-linked-resource-container-version="1">pom.xml</a>
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<p>For the server .WAR deployment option, go to the attachments section and save the <a href="SimpleJbossAccessManager_115513507.html">SimpleJbossAccessManager</a>.jar under /WEB-INF/lib/SimpleJbossAccessManager.jar.  </p>
+
+<p>For JCA deployment option, save that same .jar and add it to the RAR file.</p>
+<hr/>
+<h2 id="SimpleJbossAccessManager-ConfigureJackrabbittouse">Configure Jackrabbit to use <a href="SimpleJbossAccessManager_115513507.html">SimpleJbossAccessManager</a></h2>
+<p>Go to your repository.xml and modify the following:</p>
+
+<p>    &lt;Security appName=&quot;Jackrabbit&quot;&gt;<br/>
+        &lt;AccessManager class=&quot;<strong>org.apache.jackrabbit.core.security.jboss.SimpleJbossAccessManager</strong>&quot;&gt;<br/>
+        &lt;/AccessManager&gt;<br/>
+<em>&lt;!-- remove this loginmodule so only use the login-config.xml configured modules.</em> _        &lt;LoginModule class=&quot;org.apache.jackrabbit.core.security.SimpleLoginModule&quot;&gt;_ _           &lt;param name=&quot;anonymousId&quot; value=&quot;anonymous&quot;/&gt;_ _        &lt;/LoginModule&gt;_ <em>--&gt;</em><br/>
+    &lt;/Security&gt;</p>
+<hr/>
+<h2 id="SimpleJbossAccessManager-Authorization-mappingrolestopermissions">Authorization - mapping roles to permissions</h2>
+<p>This module uses the Jboss simplegroup class to get a list of <strong>Roles</strong> from the login-modules.  This has specifically been tested on AD (active directory), although should be transparent for other security implementations.</p>
+
+<p>Under your repository homedir (defined in your repository.xml as 'path') that usually shows /repository, /version, and /workspace directories create a <strong>rolemappings.properties</strong> file.  If someone wanted to modify the code to allow positioning where the mapping file is, that would be fine.</p>
+
+<p>rolemappings.properties (without the bullets):</p>
+<ul>
+	<li>#SimpleJbossAccessManager Jackrabbit permissions.</li>
+	<li>#permissions must be:</li>
+	<li># read, full, or none</li>
+	<li>#Roles that are not defined are defaulted to none.</li>
+	<li>developers=full</li>
+	<li>admin=full</li>
+	<li>active_directory_group_called_jackrabbit_ro=read
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<hr/>
+                    </div>
+
+                                        <div class="pageSection group">
+                        <div class="pageSectionHeader">
+                            <h2 id="attachments" class="pageSectionTitle">Attachments:</h2>
+                        </div>
+
+                        <div class="greybox" align="left">
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/115513507/115513508.jar">SimpleJbossAccessManager.jar</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/115513507/115513509.java">SimpleJbossAccessManager.java</a> (text/x-java-source)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/115513507/115513510.xml">pom.xml</a> (text/xml)
+                                <br/>
+                                                    </div>
+                    </div>
+                    
+                                                      
+                </div>             </div> 
+            <div id="footer" role="contentinfo">
+                <section class="footer-body">
+                    <p>Document generated by Confluence on May 20, 2019 11:11</p>
+                    <div id="footer-logo"><a href="http://www.atlassian.com/">Atlassian</a></div>
+                </section>
+            </div>
+        </div>     </body>
+</html>

Propchange: jackrabbit/site/live/archive/wiki/JCR/SimpleJbossAccessManager_115513507.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/site/live/archive/wiki/JCR/SimpleJbossAccessManager_115513507.html
------------------------------------------------------------------------------
    svn:executable = *

Added: jackrabbit/site/live/archive/wiki/JCR/SlingProposal_115513511.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/archive/wiki/JCR/SlingProposal_115513511.html?rev=1859550&view=auto
==============================================================================
--- jackrabbit/site/live/archive/wiki/JCR/SlingProposal_115513511.html (added)
+++ jackrabbit/site/live/archive/wiki/JCR/SlingProposal_115513511.html Mon May 20 11:23:18 2019
@@ -0,0 +1,273 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>Apache Jackrabbit : SlingProposal</title>
+        <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+
+    <body class="theme-default aui-theme-default">
+        <div id="page">
+            <div id="main" class="aui-page-panel">
+                <div id="main-header">
+                    <div id="breadcrumb-section">
+                        <ol id="breadcrumbs">
+                            <li class="first">
+                                <span><a href="index.html">Apache Jackrabbit</a></span>
+                            </li>
+                                                    <li>
+                                <span><a href="Home_70731.html">Home</a></span>
+                            </li>
+                                                </ol>
+                    </div>
+                    <h1 id="title-heading" class="pagetitle">
+                                                <span id="title-text">
+                            Apache Jackrabbit : SlingProposal
+                        </span>
+                    </h1>
+                </div>
+
+                <div id="content" class="view">
+                    <div class="page-metadata">
+                        
+        
+    
+        
+    
+        
+        
+            Created by <span class='author'> ASF Infrabot</span> on May 20, 2019
+                        </div>
+                    <div id="main-content" class="wiki-content group">
+                    <h1 id="SlingProposal-SlingProposal">Sling Proposal</h1>
+
+<h2 id="SlingProposal-Abstract">Abstract</h2>
+
+<p>Sling is a framework to develop content centric web applications based on the idea of modularizing the rendering of HTTP resources.</p>
+
+<h2 id="SlingProposal-Proposal">Proposal</h2>
+
+<p>Sling allows easy development of web application which are centered around content which is acted upon. As such each request URL addresses a Content object which in turn resolves to a Component, which finally is responsible for handling the request and providing a response. Though Content is a Java abstraction, the main source of data is a Java Content Repository conforming to the <a href="http://www.jcp.org/en/jsr/detail?id=170" class="external-link" rel="nofollow">JSR 170 API</a> such as <a href="http://jackrabbit.apache.org" class="external-link" rel="nofollow">Apache Jackrabbit</a>.</p>
+
+<h2 id="SlingProposal-Background">Background</h2>
+
+<p>Sling came to live in an effort to rewrite the central request processing engine of Day Communiqué 4.0 and make it available for other applications requiring an easy to use and flexible web application framework. As such, the guidelines to develop Sling can be summarized as follows:</p>
+
+<p> <strong>Modularization</strong></p>
+
+ <div class="indent20 inline" style="margin-left: 20px;"><style type="text/css">div.inline p:first-child { display: inline; }</style><p> Functional blocks of the processing engine should be split to enable independent upgrade and replacement. At the same time some degree of dependency management amongst the modules is required.</p></div>
+<p> <strong>Runtime Management</strong></p>
+ <div class="indent20 inline" style="margin-left: 20px;"><style type="text/css">div.inline p:first-child { display: inline; }</style><p> Modules must enabled to be separatly started and stopped as well as installed, upgraded and removed.</p></div>
+<p> <strong>Components</strong></p>
+ <div class="indent20 inline" style="margin-left: 20px;"><style type="text/css">div.inline p:first-child { display: inline; }</style><p> Recognizing the need to componentize development of Web Applications and have easy mix and match for such components to build web pages, the basic building blocks of web pages are called components.</p></div>
+<p> <strong>Content Repository</strong></p>
+ <div class="indent20 inline" style="margin-left: 20px;"><style type="text/css">div.inline p:first-child { display: inline; }</style><p> Leading the Java Content Repository (JCR) initiative a new request processing engine must natively support JCR (e.g. <a href="http://jackrabbit.apache.org" class="external-link" rel="nofollow">Apache Jackrabbit</a>) as the store for its content.</p></div>
+
+<p>By leveraging the <a href="http://www.osgi.org" class="external-link" rel="nofollow">OSGi core service platform specification</a> the modularization and runtime management goals can be more than met. Sling is therefore built as a set of bundles. Additionally Sling provides a standalone application launcher and a web application to launch <a href="http://felix.apache.org" class="external-link" rel="nofollow">Apache Felix</a> as its OSGi framework to deploy the Sling bundles into.</p>
+
+<h2 id="SlingProposal-Rationale">Rationale</h2>
+
+<p>Content repositories, as defined in the Content Repository for Java Technology API (JCR), are well suited to work as content stores of web applications. However, the JCR API deals with generic Nodes and Properties and not with business objects that would be more  meaningful to application developers. Therefore one of the building blocks of Sling is the integration of a content mapping infrastructure, namely <a href="http://incubator.apache.org/graffito/jcr-mapping/index.html" class="external-link" rel="nofollow">Jackrabbit Object Content Mapping</a>.</p>
+
+<p>Another cause of regular headaches in current web application frameworks is managing the life cycle of long-running applications: Add new functionality, fix bugs, starting and stopping modules. This is where the <a href="http://www.osgi.org/" class="external-link" rel="nofollow">OSGi service platform</a> comes into play. This specification provides both help in the area of modularization and lifecycle management (and more, actually) and definitions of services, so called Compendium Services, which help concentrate on the core application and not worry about issues such as logging, configuration management etc. Sling uses <a href="http://felix.apache.org/" class="external-link" rel="nofollow">Apache Felix</a> as the OSGi framework.</p>
+
+<p>Third, a request will generally not be handled by a single Component but a series Components. The idea is that a request URL addresses a Content object, which is mapped from a JCR Node and which is serviced by a Component. The Component may then access child Content objects, aka child nodes, and have Sling service those Content objects through their Components again. Using this mechanism, each Component only contributes to part of the final web page.</p>
+
+<p>The advantage of this mechanism is, that Sling does not require tons of templates or scripts to render different pages. Rather the developer may provide a tool box of Components which may be mix-and-matched as required. In addition this even allows for easy content authoring.</p>
+
+<p>In short, the main features of Sling may be summarized as follows:</p>
+
+<ul>
+	<li>Uses a JCR Repository as its data store</li>
+	<li>Uses Jackrabbit OCM to map Repository Items to Java Objects</li>
+	<li>Internally deals with Java Objects</li>
+	<li>Built as OSGi Bundles supporting any compliant OSGi framework</li>
+	<li>Provides integration into Apache Felix for launching and OSGi services support</li>
+	<li>Componentized data model allowing flexible web application building</li>
+	<li>Based on standard Servlet API</li>
+	<li>Open to allow support for web application complying with REST architectural style</li>
+	<li>Each Node for which a valid Jackrabbit OCM mapping exists may be addressed by URL
+<br class="atl-forced-newline"/>
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<h2 id="SlingProposal-InitialGoals">Initial Goals</h2>
+
+<p>Establish Sling as the content centric web application framework for JCR repositories. As such, it is intended for Sling to mature into a subproject of Apache Jackrabbit.</p>
+
+<h2 id="SlingProposal-CurrentStatus">Current Status</h2>
+
+<h3 id="SlingProposal-Meritocracy">Meritocracy</h3>
+
+<p>We plan to do everything possible to encourage an environment that supports a meritocracy.</p>
+
+<h3 id="SlingProposal-Community">Community</h3>
+
+<p>By proposing this project to the Incubator for inclusion as subproject of Apache Jackrabbit we hope grow Sling into first class web application framework which leverages the know-how of the Apache community.</p>
+
+<h3 id="SlingProposal-CoreDevelopers">Core Developers</h3>
+
+<p>The project was founded be Felix Meschberger in late 2006 at Day. Currently only Day employees work on this project, though this will change as soon as we get a chance to invite more people to join this effort. In fact the initial committer list already contains several people not related to Day.</p>
+
+<h3 id="SlingProposal-Alignment">Alignment</h3>
+
+<p>Sling is targeted to be deployed into any compliant OSGi framework. To support HTTP requests Sling interoperates with the OSGi <a class="createlink" href="/confluence/pages/createpage.action?spaceKey=JCR&amp;title=HttpService&amp;linkCreation=true&amp;fromPageId=115513511">HttpService</a>. This allows deployment of the framework inside a Servlet API compliant servlet container given appropriate bridging or the framework may be run as a standalone application, where an implementation of the OSGi <a class="createlink" href="/confluence/pages/createpage.action?spaceKey=JCR&amp;title=HttpService&amp;linkCreation=true&amp;fromPageId=115513511">HttpService</a> handling the HTTP requests is deployed.</p>
+
+<p>To access content addressed by URLs, Sling depends on any compliant implementation of the JCR API, such as Jackrabbit, plus the Jackrabbit Object Content Mapping.</p>
+
+<h2 id="SlingProposal-KnownRisks">Known Risks</h2>
+
+<h3 id="SlingProposal-Orphanedproducts">Orphaned products</h3>
+
+<p>This is an active project within Day Software and will be the basis of ongoing work of Day's own content management products, such as Digital Asset Manager. In addition, it is foreseen, that Web services of Jackrabbit may be ported to Sling.</p>
+
+<h3 id="SlingProposal-InexperiencewithOpenSource">Inexperience with Open Source</h3>
+
+<p>All committers have experience working on open source projects and several are veterans at Apache.</p>
+
+<h3 id="SlingProposal-HomogenousDevelopers">Homogenous Developers</h3>
+
+<p>Sling is currently being developed only by Day employees, but we hope that the framework will attract interest from other individuals and companies.</p>
+
+<h3 id="SlingProposal-RelianceonSalariedDevelopers">Reliance on Salaried Developers</h3>
+
+<p>Most of the developers are paid by their employer to contribute to this project, but given the anticipation from the Java community for Sling the committers' sense of ownership for the code, the project would continue without issue if no salaried developers contributed to the project.</p>
+
+<h3 id="SlingProposal-RelationshipswithOtherApacheProducts">Relationships with Other Apache Products</h3>
+
+<ul>
+	<li><a href="http://jackrabbit.apache.org/" class="external-link" rel="nofollow">Apache Jackrabbit</a></li>
+	<li><a href="http://felix.apache.org/" class="external-link" rel="nofollow">Apache Felix</a>
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<h3 id="SlingProposal-AExcessiveFascinationwiththeApacheBrand">A Excessive Fascination with the Apache Brand</h3>
+
+<p>Day actively contributes to Apache Jackrabbit and other Apache projects, and the individuals behind the Sling project feel that an Apache community would be the best environment for the codebase to grow and attract new users and contributors.</p>
+
+<h2 id="SlingProposal-Documentation">Documentation</h2>
+
+<p>Initial Documentation is made available on the Jackrabbit Wiki pages at <a href="ApacheSling_115513331.html">ApacheSling</a>.</p>
+
+<h2 id="SlingProposal-InitialSource">Initial Source</h2>
+
+<p>Currently Sling is a closed source project. For this reason the source can only be opened upon the acceptance of the project as an Apache Incubator project by the IPMC. Upon the acceptance of the project and submission of the Software Grant by Day, the source code will be committed to the Apache SVN repository.</p>
+
+<h2 id="SlingProposal-SourceandIntellectualPropertySubmissionPlan">Source and Intellectual Property Submission Plan</h2>
+
+<p>The code base will be licensed to the ASF using a software grant from Day, allowing Apache to relicense as pure Apache License 2.0 code.</p>
+
+<h2 id="SlingProposal-ExternalDependencies">External Dependencies</h2>
+
+<p>Besides depending on two Apache projects, namely Jackrabbit and Felix, Sling depends on the OSGi API libraries, which are made available as part of the Apache Felix project under the Apache License 2.0.</p>
+
+<h2 id="SlingProposal-Cryptography">Cryptography</h2>
+
+<ul>
+	<li>none
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<h2 id="SlingProposal-RequiredResources">Required Resources</h2>
+
+<h3 id="SlingProposal-Mailinglists">Mailing lists</h3>
+
+<ul>
+	<li>sling-dev at incubator.apache dot org</li>
+	<li>sling-commits at incubator dot apache dot org</li>
+	<li>sling-private at incubator dot apache dot org
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<h3 id="SlingProposal-SubversionDirectory">Subversion Directory</h3>
+
+<ul>
+	<li><a href="https://svn.apache.org/repos/asf/incubator/sling" class="external-link" rel="nofollow">https://svn.apache.org/repos/asf/incubator/sling</a>
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<h3 id="SlingProposal-IssueTracking">Issue Tracking</h3>
+
+<ul>
+	<li>JIRA Sling (SLING)
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<h3 id="SlingProposal-JavaPackaging">Java Packaging</h3>
+
+<ul>
+	<li>All Sling classes live inside and below <code>sling</code>. It is foreseen to root <code>sling</code> at <code>org.apache</code> such as to have all Sling classes at or below <code>org.apache.sling</code>.
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<h3 id="SlingProposal-OtherResources">Other Resources</h3>
+
+<ul>
+	<li>none
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<h2 id="SlingProposal-InitialCommitters">Initial Committers</h2>
+
+<ul>
+	<li>Felix Meschberger (fmeschbe at apache dot org)</li>
+	<li>Carsten Ziegeler (cziegeler at apache dot org)</li>
+	<li>Bertrand Delacretaz (bdelacretaz at apache dot org)</li>
+	<li>Christophe Lombart (clombart at apache dot org)</li>
+	<li>Juan José Vázquez Delgado (juanjo dot vazquez at gmail dot com)</li>
+	<li>Karl Pauls (pauls at apache dot org)</li>
+	<li>Alexandru Popescu (apopescu at apache dot org)
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<h2 id="SlingProposal-Affiliations">Affiliations</h2>
+
+<p>Of the committers Felix, Carsten and Bertrand are tasked by Day to work on Sling. All of them have a professional as well as an personal interest to further develop this project. Neither of the other initial committers is affiliated with Day in any way.</p>
+
+<h2 id="SlingProposal-Sponsors">Sponsors</h2>
+
+<h3 id="SlingProposal-Champion">Champion</h3>
+
+<ul>
+	<li>Jukka Zitting (jukka at apache dot org)
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<h3 id="SlingProposal-NominatedMentors">Nominated Mentors</h3>
+
+<ul>
+	<li>Jukka Zitting (jukka at apache dot org)</li>
+	<li>Gianugo Rabellino (gianugo at apache dot org)</li>
+	<li>J Aaron Farr (farra at apache dot org)
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<h3 id="SlingProposal-SponsoringEntity">Sponsoring Entity</h3>
+
+<ul>
+	<li>Apache Jackrabbit PMC</li>
+</ul>
+                    </div>
+
+                    
+                                                      
+                </div>             </div> 
+            <div id="footer" role="contentinfo">
+                <section class="footer-body">
+                    <p>Document generated by Confluence on May 20, 2019 11:11</p>
+                    <div id="footer-logo"><a href="http://www.atlassian.com/">Atlassian</a></div>
+                </section>
+            </div>
+        </div>     </body>
+</html>

Propchange: jackrabbit/site/live/archive/wiki/JCR/SlingProposal_115513511.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/site/live/archive/wiki/JCR/SlingProposal_115513511.html
------------------------------------------------------------------------------
    svn:executable = *

Added: jackrabbit/site/live/archive/wiki/JCR/SpellChecker_115513512.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/archive/wiki/JCR/SpellChecker_115513512.html?rev=1859550&view=auto
==============================================================================
--- jackrabbit/site/live/archive/wiki/JCR/SpellChecker_115513512.html (added)
+++ jackrabbit/site/live/archive/wiki/JCR/SpellChecker_115513512.html Mon May 20 11:23:18 2019
@@ -0,0 +1,111 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>Apache Jackrabbit : SpellChecker</title>
+        <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+
+    <body class="theme-default aui-theme-default">
+        <div id="page">
+            <div id="main" class="aui-page-panel">
+                <div id="main-header">
+                    <div id="breadcrumb-section">
+                        <ol id="breadcrumbs">
+                            <li class="first">
+                                <span><a href="index.html">Apache Jackrabbit</a></span>
+                            </li>
+                                                    <li>
+                                <span><a href="Home_70731.html">Home</a></span>
+                            </li>
+                                                </ol>
+                    </div>
+                    <h1 id="title-heading" class="pagetitle">
+                                                <span id="title-text">
+                            Apache Jackrabbit : SpellChecker
+                        </span>
+                    </h1>
+                </div>
+
+                <div id="content" class="view">
+                    <div class="page-metadata">
+                        
+        
+    
+        
+    
+        
+        
+            Created by <span class='author'> ASF Infrabot</span> on May 20, 2019
+                        </div>
+                    <div id="main-content" class="wiki-content group">
+                    <p>The lucene based query handler implementation supports a pluggable spell checker mechanism. Per default spell checking is not available and you have to configure it first. See parameter <code>spellCheckerClass</code> on page <a href="Search_115513504.html">lucene-spellchecker</a>]. Jackrabbit currently provides an implementation in the sandbox area, which uses the [<a href="http://wiki.apache.org/jakarta-lucene/SpellChecker" class="external-link" rel="nofollow">http://wiki.apache.org/jakarta-lucene/SpellChecker</a> contrib. The dictionary is derived from the fulltext indexed content of the workspace and updated periodically. You can configure the refresh interval by picking one of the available inner classes of <code>org.apache.jackrabbit.core.query.lucene.spell.LuceneSpellChecker</code>:</p>
+
+<ul>
+	<li>One{{`Minute}}<code>Refresh</code>`Interval</li>
+	<li>Five{{`Minutes}}<code>Refresh</code>`Interval</li>
+	<li>Thirty{{`Minutes}}<code>Refresh</code>`Interval</li>
+	<li>One{{`Hour}}<code>Refresh</code>`Interval</li>
+	<li>Six{{`Hours}}<code>Refresh</code>`Interval</li>
+	<li>Twelve{{`Hours}}<code>Refresh</code>`Interval</li>
+	<li>One{{`Day}}<code>Refresh</code>`Interval
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<p>E.g. if you want a refresh interval of six hours the class name is: <code>org.apache.jackrabbit.core.query.lucene.spell.LuceneSpellChecker$SixHoursRefreshInterval</code>. If you use <code>org.apache.jackrabbit.core.query.lucene.spell.LuceneSpellChecker</code> the refresh interval will be one hour.</p>
+
+<p>The spell checker dictionary is stored as a lucene index under &lt;workspace-name&gt;/index/spellchecker. If it does not exist, a background thread will create it on startup. Similarly the dictionary refresh is also done in a background thread to not block regular queries.</p>
+
+<h2 id="SpellChecker-HowdoIuseit?">How do I use it?</h2>
+
+<p>You can spell check a fulltext statement either with an XPath or a SQL query:</p>
+
+<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>    // rep:spellcheck(&#39;jackrabit&#39;) will always evaluate to true
+    Query query = qm.createQuery(&quot;/jcr:root[rep:spellcheck(&#39;jackrabit&#39;)]/(rep:spellcheck())&quot;, Query.XPATH);
+    RowIterator rows = query.execute().getRows();
+    // the above query will always return the root node no matter what string we check
+    Row r = rows.nextRow();
+    // get the result of the spell checking
+    Value v = r.getValue(&quot;rep:spellcheck()&quot;);
+    if (v == null) {
+        // no suggestion returned, the spelling is correct or the spell checker
+        // does not know how to correct it.
+    } else {
+        String suggestion = v.getString();
+    }
+</pre>
+</div></div>
+
+<p>And the same using SQL:</p>
+
+<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>    // SPELLCHECK(&#39;jackrabit&#39;) will always evaluate to true
+    Query query = qm.createQuery(&quot;SELECT rep:spellcheck() FROM nt:base WHERE jcr:path = &#39;/&#39; AND SPELLCHECK(&#39;jackrabit&#39;)&quot;, Query.SQL);
+    RowIterator rows = query.execute().getRows();
+    // the above query will always return the root node no matter what string we check
+    Row r = rows.nextRow();
+    // get the result of the spell checking
+    Value v = r.getValue(&quot;rep:spellcheck()&quot;);
+    if (v == null) {
+        // no suggestion returned, the spelling is correct or the spell checker
+        // does not know how to correct it.
+    } else {
+        String suggestion = v.getString();
+    }
+</pre>
+</div></div>
+                    </div>
+
+                    
+                                                      
+                </div>             </div> 
+            <div id="footer" role="contentinfo">
+                <section class="footer-body">
+                    <p>Document generated by Confluence on May 20, 2019 11:11</p>
+                    <div id="footer-logo"><a href="http://www.atlassian.com/">Atlassian</a></div>
+                </section>
+            </div>
+        </div>     </body>
+</html>

Propchange: jackrabbit/site/live/archive/wiki/JCR/SpellChecker_115513512.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/site/live/archive/wiki/JCR/SpellChecker_115513512.html
------------------------------------------------------------------------------
    svn:executable = *

Added: jackrabbit/site/live/archive/wiki/JCR/Statistics_115513513.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/archive/wiki/JCR/Statistics_115513513.html?rev=1859550&view=auto
==============================================================================
--- jackrabbit/site/live/archive/wiki/JCR/Statistics_115513513.html (added)
+++ jackrabbit/site/live/archive/wiki/JCR/Statistics_115513513.html Mon May 20 11:23:18 2019
@@ -0,0 +1,353 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>Apache Jackrabbit : Statistics</title>
+        <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+
+    <body class="theme-default aui-theme-default">
+        <div id="page">
+            <div id="main" class="aui-page-panel">
+                <div id="main-header">
+                    <div id="breadcrumb-section">
+                        <ol id="breadcrumbs">
+                            <li class="first">
+                                <span><a href="index.html">Apache Jackrabbit</a></span>
+                            </li>
+                                                    <li>
+                                <span><a href="Home_70731.html">Home</a></span>
+                            </li>
+                                                </ol>
+                    </div>
+                    <h1 id="title-heading" class="pagetitle">
+                                                <span id="title-text">
+                            Apache Jackrabbit : Statistics
+                        </span>
+                    </h1>
+                </div>
+
+                <div id="content" class="view">
+                    <div class="page-metadata">
+                        
+        
+    
+        
+    
+        
+        
+            Created by <span class='author'> ASF Infrabot</span> on May 20, 2019
+                        </div>
+                    <div id="main-content" class="wiki-content group">
+                    <h1 id="Statistics-JackrabbitStatistics">Jackrabbit Statistics</h1>
+
+<p>Apache Jackrabbit 2.3.2 introduced via <a href="https://issues.apache.org/jira/browse/JCR-2936" class="external-link" rel="nofollow">JCR-2936</a> a new mechanism to gather low level statistics at the repository level.</p>
+
+<h2 id="Statistics-RepositoryStatistics">Repository Statistics</h2>
+
+<h3 id="Statistics-Overview">Overview</h3>
+
+<p>The newly introduced <a href="http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/stats/RepositoryStatistics.java" class="external-link" rel="nofollow">Repository Statistics</a> service leverages a set of <a href="#Statistics-TimeSeries">time series</a> to provide 3 types of statistical information:</p>
+
+<ul>
+	<li><strong>COUNTER</strong>(s)  They generally refer to Quantity.</li>
+	<li><strong>DURATION</strong>(s) They generally refer to event duration. Measured in nanoseconds, unless specified otherwise.</li>
+	<li><strong>AVERAGE</strong>(s)  They are computed by dividing <strong>DURATION</strong>(s) with <strong>COUNTER</strong>(s).
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<p>Sequence Types: Depending on how the time series aggregates data points there are 2 types of sequences:</p>
+
+<ul>
+	<li><strong>Single</strong> - each data point represents only the recorded value</li>
+	<li><strong>Incremental</strong> - each data point represents the value of the previous data point + the new recorded value
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<p>The Repository Statistics service is always <em>enabled</em>.</p>
+
+<h3 id="Statistics-ProvidedStatisticalInformation">Provided Statistical Information</h3>
+
+<div class="table-wrap"><table class="confluenceTable"><tbody>
+<tr>
+<td class="confluenceTd"><p> </p></td>
+<td class="confluenceTd"><p> </p></td>
+<td class="confluenceTd"><p> <strong><a href="PersistenceManagerFAQ_115513487.html">PersistenceManager</a></strong>  (not implemented in Oak) </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> Name </p></td>
+<td class="confluenceTd"><p> Sequence Type </p></td>
+<td class="confluenceTd"><p> Description </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> BUNDLE_READ_COUNTER         </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Counts the number of bundle read operations</p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> BUNDLE_WRITE_COUNTER        </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Counts the number of bundle write operations</p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> BUNDLE_WRITE_DURATION       </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Tracks the duration (ns) of bundle write operations  </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> BUNDLE_WRITE_AVERAGE        </p></td>
+<td class="confluenceTd"><p> <em>Incremental</em> </p></td>
+<td class="confluenceTd"><p> Computes the bundle write average duration (ns): BUNDLE_WRITE_DURATION / BUNDLE_WRITE_COUNTER </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> BUNDLE_CACHE_ACCESS_COUNTER </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Bundle Cache: access counter </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> BUNDLE_CACHE_SIZE_COUNTER   </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Bundle Cache: size counter </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> BUNDLE_CACHE_MISS_COUNTER   </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Bundle Cache: cache miss count </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> BUNDLE_CACHE_MISS_DURATION  </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Bundle Cache: cache miss duration (ns) </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> BUNDLE_CACHE_MISS_AVERAGE   </p></td>
+<td class="confluenceTd"><p> <em>Incremental</em> </p></td>
+<td class="confluenceTd"><p> Bundle Cache: cache miss average (ns): BUNDLE_CACHE_MISS_DURATION / BUNDLE_CACHE_MISS_COUNTER </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> BUNDLE_COUNTER              </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> <em>Not Implemented</em> </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> BUNDLE_WS_SIZE_COUNTER      </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> <em>Not Implemented</em> </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> </p></td>
+<td class="confluenceTd"><p>  <strong>*</strong> <em>ns</em> = nanoseconds  </p></td>
+<td class="confluenceTd"><p> </p></td>
+</tr>
+</tbody></table></div>
+
+
+<div class="table-wrap"><table class="confluenceTable"><tbody>
+<tr>
+<td class="confluenceTd"><p> </p></td>
+<td class="confluenceTd"><p> </p></td>
+<td class="confluenceTd"><p> <strong><a href="JcrSessionHandling_115513446.html">Session</a></strong> </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> Name </p></td>
+<td class="confluenceTd"><p> Sequence Type </p></td>
+<td class="confluenceTd"><p> Description</p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> SESSION_READ_COUNTER        </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Counts the number of session read operations </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> SESSION_READ_DURATION       </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Tracks the duration (ns) of session read operations </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> SESSION_READ_AVERAGE        </p></td>
+<td class="confluenceTd"><p> <em>Incremental</em> </p></td>
+<td class="confluenceTd"><p> Computes the average duration (ns) of session read operations </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> SESSION_WRITE_COUNTER       </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Counts the number of session write operations </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> SESSION_WRITE_DURATION      </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Tracks the duration (ns) of session write operations </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> SESSION_WRITE_AVERAGE       </p></td>
+<td class="confluenceTd"><p> <em>Incremental</em> </p></td>
+<td class="confluenceTd"><p> Computes the average duration (ns) of session write operations </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> SESSION_LOGIN_COUNTER       </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Counts the number of session logins (new created sessions) </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> SESSION_COUNT               </p></td>
+<td class="confluenceTd"><p> <em>Single</em> </p></td>
+<td class="confluenceTd"><p> Counts the number of active sessions </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> </p></td>
+<td class="confluenceTd"><p>  <strong>*</strong> <em>ns</em> = nanoseconds  </p></td>
+<td class="confluenceTd"><p> </p></td>
+</tr>
+</tbody></table></div>
+
+
+<p>Classification of <a href="JcrSessionHandling_115513446.html">Session</a> related operations:</p>
+
+<ul>
+	<li><strong>Read</strong> operations: <em><a href="http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/javax/jcr/Session.html#getItem(java.lang.String)" class="external-link" rel="nofollow">#getItem()</a></em>, <em><a href="http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/javax/jcr/Session.html#getNode(java.lang.String)" class="external-link" rel="nofollow">#getNode()</a></em>, <em><a href="http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/javax/jcr/Session.html#getProperty(java.lang.String)" class="external-link" rel="nofollow">#getProperty()</a></em>, <em><a href="http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/javax/jcr/Session.html#itemExists(java.lang.String)" class="external-link" rel="nofollow">#itemExists()</a></em>, <em><a href="http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/javax/jcr/Session.html#nodeExists(java.lang.String)" class="external-link" rel="nofollow">#nodeExists()</a></em>, <em><a href="http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/javax/jc
 r/Session.html#propertyExists(java.lang.String)" class="external-link" rel="nofollow">#propertyExists()</a></em>, <em><a href="http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/javax/jcr/Session.html#refresh(boolean)" class="external-link" rel="nofollow">#refresh()</a>, <a href="http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/javax/jcr/Session.html#removeItem(java.lang.String)" class="external-link" rel="nofollow">#removeItem()</a></em></li>
+	<li><strong>Write</strong> operations: <em><a href="http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/javax/jcr/Session.html#move(java.lang.String, java.lang.String)" class="external-link" rel="nofollow">#move()</a></em>, <em><a href="http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/javax/jcr/Session.html#save()" class="external-link" rel="nofollow">#save()</a></em>
+<br class="atl-forced-newline"/>
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<div class="table-wrap"><table class="confluenceTable"><tbody>
+<tr>
+<td class="confluenceTd"><p> </p></td>
+<td class="confluenceTd"><p> <strong>Query</strong> </p></td>
+<td class="confluenceTd"><p> </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> Name </p></td>
+<td class="confluenceTd"><p> Sequence Type </p></td>
+<td class="confluenceTd"><p> Description </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> QUERY_COUNT                 </p></td>
+<td class="confluenceTd"><p> <em>Single</em> </p></td>
+<td class="confluenceTd"><p> Counts the number of queries ran </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> QUERY_DURATION              </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Tracks the duration (ms) of queries </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> QUERY_AVERAGE               </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Computes the average duration (ms) of the queries </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> </p></td>
+<td class="confluenceTd"><p>  <strong>*</strong> <em>ms</em> = milliseconds </p></td>
+<td class="confluenceTd"><p> </p></td>
+</tr>
+</tbody></table></div>
+
+
+<div class="table-wrap"><table class="confluenceTable"><tbody>
+<tr>
+<td class="confluenceTd"><p> </p></td>
+<td class="confluenceTd"><p> <strong>Observation</strong>  (not implemented in Jackrabbit 2) </p></td>
+<td class="confluenceTd"><p> </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> Name </p></td>
+<td class="confluenceTd"><p> Sequence Type </p></td>
+<td class="confluenceTd"><p> Description </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> OBSERVATION_EVENT_COUNTER   </p></td>
+<td class="confluenceTd"><p> <em>Single</em> </p></td>
+<td class="confluenceTd"><p> Counts the number of observation Event instances delivered </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> OBSERVATION_EVENT_DURATION  </p></td>
+<td class="confluenceTd"><p> <em>Single</em>  </p></td>
+<td class="confluenceTd"><p> Tracks the time (ns) spent processing observation events </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> OBSERVATION_EVENT_AVERAGE   </p></td>
+<td class="confluenceTd"><p> <em>Incremental</em>  </p></td>
+<td class="confluenceTd"><p> Computes the average time (ns) spent processing observation events </p></td>
+</tr>
+<tr>
+<td class="confluenceTd"><p> </p></td>
+<td class="confluenceTd"><p>  <strong>*</strong> <em>ns</em> = nanoseconds </p></td>
+<td class="confluenceTd"><p> </p></td>
+</tr>
+</tbody></table></div>
+
+
+
+<h3 id="Statistics-TimeSeries"><a class="createlink" href="/confluence/pages/createpage.action?spaceKey=JCR&amp;title=TimeSeries&amp;linkCreation=true&amp;fromPageId=115513513">TimeSeries</a></h3>
+
+<p>The <a href="http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/stats/TimeSeries.java" class="external-link" rel="nofollow">TimeSeries</a> is an interface for a time series of the measured values per second, minute, hour and day. The type of the value is arbitrary; it could be cache hits or misses, disk reads or writes, created sessions, completed transactions, or pretty much anything of interest.</p>
+
+<p>It is available since Apache Jackrabbit 2.3.2.</p>
+
+<h4 id="Statistics-Abriefwalkthough">A brief walkthough</h4>
+
+<ul>
+	<li><em>#getValuePerSecond()</em> returns the measured value per second over the last minute</li>
+	<li><em>#getValuePerMinute()</em> returns the measured value per minute over the last hour</li>
+	<li><em>#getValuePerHour()</em> returns the measured value per hour over the last week</li>
+	<li><em>#getValuePerWeek()</em> returns the measured value per week over the last three years
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<p>All the data series are cronological and have as many data point slots as units in the time period they represent: <em>valuePerSecond</em> has 60 slots as there are 60 seconds in a minute, <em>valuePerMinute</em> also contains 60 as there are 60 minutes in an hour, <em>valuePerHour</em> contains 168 (7x24) slots and <em>valuePerWeek</em> 156 (3x52) slots.</p>
+
+<p>Each data series is being aggregated down (as presented in the above hierarchy) once the time period it represents has passed. For example: after each minute the <em>valuePerSecond</em> data points will be summed and added as a single data point into the <em>valuePerMinute</em> series, and so on.</p>
+
+<p>Example:</p>
+<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>  RepositoryContext context = // get the RepositoryContext
+  RepositoryStatistics repositoryStatistics = context.getRepositoryStatistics();
+  TimeSeries loginCounter = repositoryStatistics.getTimeSeries(Type.SESSION_LOGIN_COUNTER);
+  System.out.println(Arrays.toString(loginCounter.getValuePerSecond()));
+</pre>
+</div></div>
+
+<p>And the output is:</p>
+<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3]
+</pre>
+</div></div>
+
+<p>The <strong>SESSION_LOGIN_COUNTER</strong> is a simple counter (non-incremental) so each data point represents the absolute value of the counter: we can see 3 logins in the last second, none the previous one and just 1 the one before.</p>
+
+
+<h2 id="Statistics-QueryStatistics">Query Statistics</h2>
+
+<p>The <a href="http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/stats/QueryStat.java" class="external-link" rel="nofollow">QueryStat</a> service provides query related performance logs:</p>
+
+<ul>
+	<li><em>#getSlowQueries()</em> provides a list of the slowest queries. The queue size can be specified via the <em>#setSlowQueriesQueueSize()</em> method. The default queue size value is 15.</li>
+	<li><em>#getPopularQueries()</em> provides a list of the queries that ran more often. The queue size can be specified via the <em>#setPopularQueriesQueueSize()</em> method. The default queue size value is 15.
+<br class="atl-forced-newline"/>
+<br class="atl-forced-newline"/></li>
+</ul>
+
+
+<p>The Query Statistics service is <em>disabled</em> by default.</p>
+
+<h2 id="Statistics-Futurework">Future work</h2>
+
+<p>One of the ideas for future improvements is to turn the statistics code into its own dedicated component. This evolution can be followed via <a href="https://issues.apache.org/jira/browse/JCR-3130" class="external-link" rel="nofollow">JCR-3130</a>.</p>
+                    </div>
+
+                    
+                                                      
+                </div>             </div> 
+            <div id="footer" role="contentinfo">
+                <section class="footer-body">
+                    <p>Document generated by Confluence on May 20, 2019 11:11</p>
+                    <div id="footer-logo"><a href="http://www.atlassian.com/">Atlassian</a></div>
+                </section>
+            </div>
+        </div>     </body>
+</html>

Propchange: jackrabbit/site/live/archive/wiki/JCR/Statistics_115513513.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/site/live/archive/wiki/JCR/Statistics_115513513.html
------------------------------------------------------------------------------
    svn:executable = *