jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ang...@apache.org
Subject svn commit: r1596134 [1/4] - in /jackrabbit/site/live/oak/docs: ./ security/ security/accesscontrol/ security/authentication/ security/permission/ security/principal/ security/privilege/ security/user/
Date Tue, 20 May 2014 08:15:52 GMT
Author: angela
Date: Tue May 20 08:15:50 2014
New Revision: 1596134

URL: http://svn.apache.org/r1596134
Log:
OAK-936: Site checkin for project Oak Documentation-0.20-SNAPSHOT

Added:
    jackrabbit/site/live/oak/docs/.DS_Store   (with props)
    jackrabbit/site/live/oak/docs/differences_accesscontrol.html   (with props)
    jackrabbit/site/live/oak/docs/differences_authentication.html   (with props)
    jackrabbit/site/live/oak/docs/differences_permission.html   (with props)
    jackrabbit/site/live/oak/docs/differences_principal.html   (with props)
    jackrabbit/site/live/oak/docs/differences_privileges.html   (with props)
    jackrabbit/site/live/oak/docs/differences_user.html   (with props)
    jackrabbit/site/live/oak/docs/from_here.html   (with props)
    jackrabbit/site/live/oak/docs/security/.DS_Store   (with props)
    jackrabbit/site/live/oak/docs/when_things_go_wrong.html   (with props)
Removed:
    jackrabbit/site/live/oak/docs/transactional-model.html
Modified:
    jackrabbit/site/live/oak/docs/FAQ.html
    jackrabbit/site/live/oak/docs/big-picture.png
    jackrabbit/site/live/oak/docs/blobstore.html
    jackrabbit/site/live/oak/docs/clustering.html
    jackrabbit/site/live/oak/docs/construct.html
    jackrabbit/site/live/oak/docs/dev_getting_started.html
    jackrabbit/site/live/oak/docs/differences.html
    jackrabbit/site/live/oak/docs/documentmk.html
    jackrabbit/site/live/oak/docs/dos_and_donts.html
    jackrabbit/site/live/oak/docs/downloads.html
    jackrabbit/site/live/oak/docs/index.html
    jackrabbit/site/live/oak/docs/jsop-diff.html
    jackrabbit/site/live/oak/docs/known_issues.html
    jackrabbit/site/live/oak/docs/license.html
    jackrabbit/site/live/oak/docs/microkernel.html
    jackrabbit/site/live/oak/docs/nodestate.html
    jackrabbit/site/live/oak/docs/osgi_config.html
    jackrabbit/site/live/oak/docs/overview.html
    jackrabbit/site/live/oak/docs/participating.html
    jackrabbit/site/live/oak/docs/query.html
    jackrabbit/site/live/oak/docs/security/accesscontrol.html
    jackrabbit/site/live/oak/docs/security/accesscontrol/differences.html
    jackrabbit/site/live/oak/docs/security/accesscontrol/editing.html
    jackrabbit/site/live/oak/docs/security/accesscontrol/restriction.html
    jackrabbit/site/live/oak/docs/security/authentication.html
    jackrabbit/site/live/oak/docs/security/authentication/differences.html
    jackrabbit/site/live/oak/docs/security/authentication/externalloginmodule.html
    jackrabbit/site/live/oak/docs/security/authentication/identitymanagement.html
    jackrabbit/site/live/oak/docs/security/authentication/ldap.html
    jackrabbit/site/live/oak/docs/security/authentication/preauthentication.html
    jackrabbit/site/live/oak/docs/security/authentication/tokenmanagement.html
    jackrabbit/site/live/oak/docs/security/authentication/usersync.html
    jackrabbit/site/live/oak/docs/security/overview.html
    jackrabbit/site/live/oak/docs/security/permission/differences.html
    jackrabbit/site/live/oak/docs/security/permission/evaluation.html
    jackrabbit/site/live/oak/docs/security/principal.html
    jackrabbit/site/live/oak/docs/security/principal/differences.html
    jackrabbit/site/live/oak/docs/security/privilege.html
    jackrabbit/site/live/oak/docs/security/privilege/differences.html
    jackrabbit/site/live/oak/docs/security/user.html
    jackrabbit/site/live/oak/docs/security/user/authorizableaction.html
    jackrabbit/site/live/oak/docs/security/user/differences.html
    jackrabbit/site/live/oak/docs/security/user/membership.html
    jackrabbit/site/live/oak/docs/security/user/query.html
    jackrabbit/site/live/oak/docs/segmentmk.html
    jackrabbit/site/live/oak/docs/use_getting_started.html

Added: jackrabbit/site/live/oak/docs/.DS_Store
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/.DS_Store?rev=1596134&view=auto
==============================================================================
Binary file - no diff available.

Propchange: jackrabbit/site/live/oak/docs/.DS_Store
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: jackrabbit/site/live/oak/docs/FAQ.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/FAQ.html?rev=1596134&r1=1596133&r2=1596134&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/FAQ.html (original)
+++ jackrabbit/site/live/oak/docs/FAQ.html Tue May 20 08:15:50 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-05-19
+ | Generated by Apache Maven Doxia at 2014-05-14
  | 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="20140519" />
+    <meta name="Date-Revision-yyyymmdd" content="20140514" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak -  Frequently asked questions</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
@@ -163,7 +163,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-05-19</li>
+                  <li id="publishDate">Last Published: 2014-05-14</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 0.20-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/big-picture.png
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/big-picture.png?rev=1596134&r1=1596133&r2=1596134&view=diff
==============================================================================
Binary files - no diff available.

Modified: jackrabbit/site/live/oak/docs/blobstore.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/blobstore.html?rev=1596134&r1=1596133&r2=1596134&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/blobstore.html (original)
+++ jackrabbit/site/live/oak/docs/blobstore.html Tue May 20 08:15:50 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-05-19
+ | Generated by Apache Maven Doxia at 2014-05-14
  | 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="20140519" />
+    <meta name="Date-Revision-yyyymmdd" content="20140514" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - The Blob Store</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
@@ -163,7 +163,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-05-19</li>
+                  <li id="publishDate">Last Published: 2014-05-14</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 0.20-SNAPSHOT</li>
                       
                 
@@ -399,59 +399,9 @@
 <li>
 <p>binaries that are similar are always stored separately no matter what</p></li>
 </ul>
-<p>Those problems are solved in Oak BlobStores, because binaries are split into blocks of 2 MB. This is similar to how <a class="externalLink" href="http://serverfault.com/questions/52861/how-does-dropbox-version-upload-large-files">DropBox works internally</a>. Blocks are processed in memory so that temp files are never needed, and blocks are cached. File handles don&#x2019;t need to be kept open. Sharding is trivial because each block is processed separately.</p>
+<p>Those problems are solved in Oak BlobStores, because binaries are split into blocks of 2 MB. This is similar to how DropBox works internally: <a class="externalLink" href="http://serverfault.com/questions/52861/how-does-dropbox-version-upload-large-files">http://serverfault.com/questions/52861/how-does-dropbox-version-upload-large-files</a> - blocks are processed in memory so that temp files are never needed, and blocks are cached. File handles don&#x2019;t need to be kept open. Sharding is trivial because each block is processed separately.</p>
 <p>Binaries that are similar: in the BlobStore, currently, they are stored separately except if some of the 2 MB blocks match. However, the algorithm in the BlobStore would allow to re-use all matching parts, because in the BlobStore, concatenating blob ids means concatenating the data.</p>
-<p>Another change was that most DataStore implementations use SHA-1, while the BlobStore uses SHA-256. Using SHA-256 will be a requirement at some point, see also <a class="externalLink" href="http://en.wikipedia.org/wiki/SHA-2">http://en.wikipedia.org/wiki/SHA-2</a> &#x201c;Federal agencies &#x2026; must use the SHA-2 family of hash functions for these applications after 2010&#x201d;. This might affect some potential users.</p>
-<div class="section">
-<h3>Support for Jackrabbit 2 DataStore<a name="Support_for_Jackrabbit_2_DataStore"></a></h3>
-<p>Jackrabbit 2 used <a class="externalLink" href="http://wiki.apache.org/jackrabbit/DataStore">DataStore</a> to store blobs. Oak supports usage of such DataStore via <tt>DataStoreBlobStore</tt> wrapper. This allows usage of <tt>FileDataStore</tt> and <tt>S3DataStore</tt> with Oak NodeStore implementations. </p></div>
-<div class="section">
-<h3>NodeStore and BlobStore<a name="NodeStore_and_BlobStore"></a></h3>
-<p>Currently Oak provides two NodeStore implementations i.e. <tt>SegmentNodeStore</tt> and <tt>DocumentNodeStore</tt>. Further Oak ships with multiple BlobStore implementations</p>
-
-<ol style="list-style-type: decimal">
-  
-<li><tt>FileBlobStore</tt> - Stores the file contents in chunks on file system</li>
-  
-<li><tt>MongoBlobStore</tt> - Stores the file content in chunks in Mongo. Typically used with  <tt>DocumentNodeStore</tt> when running on Mongo by default</li>
-  
-<li><tt>FileDataStore</tt> (with wrapper) - Stores the file on file system without breaking it into  chunks. Mostly used when blobs have to shared between multiple repositories. Also used by  default when migrating Jackrabbit 2 repositories to Oak</li>
-  
-<li><tt>S3DataStore</tt> (with wrapper) - Stores the file in Amazon S3</li>
-</ol>
-<p>In addition there are some more implementations which are considered <b>experimental</b></p>
-
-<ol style="list-style-type: decimal">
-  
-<li><tt>RDBBlobStore</tt> - Stores the file chunks in database</li>
-  
-<li><tt>CloudBlobStore</tt> - Stores the file file chunks in cloud storage using the <a class="externalLink" href="http://jclouds.apache.org/start/blobstore/">JClouds BlobStore API</a>.</li>
-  
-<li><tt>MongoGridFSBlobStore</tt> - Stores the file chunks in Mongo using GridFS support</li>
-</ol>
-<p>Depending on NodeStore type and usage requirement these can be configured to use a particular BlobStore implementation. For OSGi env refer to <a href="osgi_config.html#config-blobstore">Configuring DataStore/BlobStore</a></p>
-<div class="section">
-<h4>SegmentNodeStore<a name="SegmentNodeStore"></a></h4>
-<p>By default SegmentNodeStore does not require a BlobStore. Instead the binary content is directly stored as part of segment blob itself. Depending on requirements one of the following can be used </p>
-
-<ul>
-  
-<li>FileDataStore - This should be used if the blobs/binaries have to be shared between multiple  repositories. This would also be used when a JR2 repository is migrated to Oak</li>
-  
-<li>S3DataStore - This should be used when binaries are stored in Amazon S3</li>
-</ul></div>
-<div class="section">
-<h4>DocumentNodeStore<a name="DocumentNodeStore"></a></h4>
-<p>By default DocumentNodeStore when running on Mongo uses <tt>MongoBlobStore</tt>. Depending on requirements one of the following can be used </p>
-
-<ul>
-  
-<li>MongoBlobStore - Used by default</li>
-  
-<li>FileDataStore - This should be used if the binaries have to be stored on the file system. This  would also be used when a JR2 repository is migrated to Oak</li>
-  
-<li>S3DataStore - This should be used when binaries are stored in Amazon S3. Typically used when running  in Amazon AWS</li>
-</ul></div></div></div>
+<p>Another change was that most DataStore implementations use SHA-1, while the BlobStore uses SHA-256. Using SHA-256 will be a requirement at some point, see also <a class="externalLink" href="http://en.wikipedia.org/wiki/SHA-2">http://en.wikipedia.org/wiki/SHA-2</a> &#x201c;Federal agencies &#x2026; must use the SHA-2 family of hash functions for these applications after 2010&#x201d;. This might affect some potential users.</p></div>
                   </div>
             </div>
           </div>

Modified: jackrabbit/site/live/oak/docs/clustering.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/clustering.html?rev=1596134&r1=1596133&r2=1596134&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/clustering.html (original)
+++ jackrabbit/site/live/oak/docs/clustering.html Tue May 20 08:15:50 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-05-19
+ | Generated by Apache Maven Doxia at 2014-05-14
  | 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="20140519" />
+    <meta name="Date-Revision-yyyymmdd" content="20140514" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - </title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
@@ -163,7 +163,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-05-19</li>
+                  <li id="publishDate">Last Published: 2014-05-14</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 0.20-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/construct.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/construct.html?rev=1596134&r1=1596133&r2=1596134&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/construct.html (original)
+++ jackrabbit/site/live/oak/docs/construct.html Tue May 20 08:15:50 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-05-19
+ | Generated by Apache Maven Doxia at 2014-05-14
  | 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="20140519" />
+    <meta name="Date-Revision-yyyymmdd" content="20140514" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - Repository construction</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
@@ -163,7 +163,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-05-19</li>
+                  <li id="publishDate">Last Published: 2014-05-14</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 0.20-SNAPSHOT</li>
                       
                 

Modified: jackrabbit/site/live/oak/docs/dev_getting_started.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/dev_getting_started.html?rev=1596134&r1=1596133&r2=1596134&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/dev_getting_started.html (original)
+++ jackrabbit/site/live/oak/docs/dev_getting_started.html Tue May 20 08:15:50 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-05-19
+ | Generated by Apache Maven Doxia at 2014-05-14
  | 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="20140519" />
+    <meta name="Date-Revision-yyyymmdd" content="20140514" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - Getting Started</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
@@ -163,7 +163,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-05-19</li>
+                  <li id="publishDate">Last Published: 2014-05-14</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 0.20-SNAPSHOT</li>
                       
                 
@@ -377,8 +377,7 @@
    See the License for the specific language governing permissions and
    limitations under the License. --><div class="section">
 <h2>Getting Started<a name="Getting_Started"></a></h2>
-<p>Many parts of Oak are still under construction, so it may be a bit difficult to find your way around the codebase. The <a class="externalLink" href="https://github.com/apache/jackrabbit-oak/blob/trunk/README.md">README files</a>, this documentation, and the <a class="externalLink" href="http://oak.markmail.org/">Oak mailing list</a> archives are good places to start learning about Oak.</p>
-<p>There is also the <a class="externalLink" href="http://wiki.apache.org/jackrabbit/Jackrabbit%203">Jackrabbit 3 wiki page</a>, which is mostly outdated though and should only be consulted for historical research.</p>
+<p>Many parts of Oak are still under construction, so it may be a bit difficult to find your way around the codebase. The <a class="externalLink" href="https://github.com/apache/jackrabbit-oak/blob/trunk/README.md">README files</a>, the <a class="externalLink" href="http://wiki.apache.org/jackrabbit/Jackrabbit%203">Jackrabbit 3 wiki page</a>, and the <a class="externalLink" href="http://oak.markmail.org/">Oak mailing list</a> archives are good places to start learning about Oak.</p>
 <p>To get started developing Oak, build the latest sources with Maven 3 and Java 6 (or higher) like this:</p>
 
 <div class="source">

Modified: jackrabbit/site/live/oak/docs/differences.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/differences.html?rev=1596134&r1=1596133&r2=1596134&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/differences.html (original)
+++ jackrabbit/site/live/oak/docs/differences.html Tue May 20 08:15:50 2014
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2014-05-19
+ | Generated by Apache Maven Doxia at 2014-05-14
  | 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="20140519" />
+    <meta name="Date-Revision-yyyymmdd" content="20140514" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak - Backward compatibility</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
@@ -163,7 +163,7 @@
         <ul class="breadcrumb">
                 
                     
-                  <li id="publishDate">Last Published: 2014-05-19</li>
+                  <li id="publishDate">Last Published: 2014-05-14</li>
                   <li class="divider">|</li> <li id="projectVersion">Version: 0.20-SNAPSHOT</li>
                       
                 
@@ -383,7 +383,7 @@
 <p>This section gives a brief overview of the most notable changes in Oak with respect to Jackrabbit 2. These changes are generally caused by overall design decisions carefully considering the benefits versus the potential backward compatibility issues.</p>
 <div class="section">
 <h2>Session state and refresh behaviour<a name="Session_state_and_refresh_behaviour"></a></h2>
-<p>In Jackrabbit 2 sessions always reflects the latest state of the repository. With Oak a session reflects a stable view of the repository from the time the session was acquired (<a class="externalLink" href="http://en.wikipedia.org/wiki/MVCC">MVCC model</a>). This is a fundamental design aspect for achieving the distributed nature of an Oak repository. A rarely encountered side effect of this is that sessions expose <a href="transactional-model.html">write skew</a>.</p>
+<p>In Jackrabbit 2 sessions always reflects the latest state of the repository. With Oak a session reflects a stable view of the repository from the time the session was acquired (<a class="externalLink" href="http://en.wikipedia.org/wiki/MVCC">MVCC model</a>). This is a fundamental design aspect for achieving the distributed nature of an Oak repository.</p>
 <p>This change can cause subtle differences in behavior when two sessions perform modifications relying on one session seeing the other session&#x2019;s changes. Oak requires explicit calls to <tt>Session.refresh()</tt>in this case.</p>
 
 <blockquote>

Added: jackrabbit/site/live/oak/docs/differences_accesscontrol.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/differences_accesscontrol.html?rev=1596134&view=auto
==============================================================================
--- jackrabbit/site/live/oak/docs/differences_accesscontrol.html (added)
+++ jackrabbit/site/live/oak/docs/differences_accesscontrol.html Tue May 20 08:15:50 2014
@@ -0,0 +1,554 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia at 2014-04-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="20140430" />
+    <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" />
+    <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>
+                  
+                      <li>      <a href="from_here.html"  title="From here">From here</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="overview.html"  title="Overview">Overview</a>
+</li>
+                  
+                      <li>      <a href="nodestate.html"  title="The node state model">The node state model</a>
+</li>
+                  
+                      <li>      <a href="microkernel.html"  title="NodesStore and MicroKernel">NodesStore and MicroKernel</a>
+</li>
+                  
+                      <li>      <a href="query.html"  title="Query">Query</a>
+</li>
+                  
+                      <li>      <a href="blobstore.html"  title="BlobStore">BlobStore</a>
+</li>
+                  
+                      <li>      <a href="security/overview.html"  title="Security">Security</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="differences.html"  title="Differences to Jackrabbit 2">Differences to Jackrabbit 2</a>
+</li>
+                  
+                      <li>      <a href="osgi_config.html"  title="Configuring Oak">Configuring Oak</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="when_things_go_wrong.html"  title="When things go wrong">When things go wrong</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-04-30</li>
+                  <li class="divider">|</li> <li id="projectVersion">Version: 0.20-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>
+    
+                          <a href="from_here.html" title="From here">
+          <i class="none"></i>
+        From here</a>
+            </li>
+                              <li class="nav-header">Concepts and architecture</li>
+                                
+      <li>
+    
+                          <a href="overview.html" title="Overview">
+          <i class="none"></i>
+        Overview</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="nodestate.html" title="The node state model">
+          <i class="none"></i>
+        The node state model</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="microkernel.html" title="NodesStore and MicroKernel">
+          <i class="none"></i>
+        NodesStore and MicroKernel</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="query.html" title="Query">
+          <i class="none"></i>
+        Query</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="blobstore.html" title="BlobStore">
+          <i class="none"></i>
+        BlobStore</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="security/overview.html" title="Security">
+          <i class="none"></i>
+        Security</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="differences.html" title="Differences to Jackrabbit 2">
+          <i class="none"></i>
+        Differences to Jackrabbit 2</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="osgi_config.html" title="Configuring Oak">
+          <i class="none"></i>
+        Configuring Oak</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="when_things_go_wrong.html" title="When things go wrong">
+          <i class="none"></i>
+        When things go wrong</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-doc/" 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">
+<div class="section">
+<h3>AccessControl Management : Differences wrt Jackrabbit 2.x<a name="AccessControl_Management_:_Differences_wrt_Jackrabbit_2.x"></a></h3>
+<div class="section">
+<h4>1. Characteristics of the Default Implementation<a name="a1._Characteristics_of_the_Default_Implementation"></a></h4>
+<div class="section">
+<h5>General<a name="General"></a></h5>
+<p>In general the authorization related code in OAK clearly separates between access control management (such as defined by the JCR and Jackrabbit API) and the internal permission evaluation (see also <a href="differences_permissions.html">Permission Evaluation</a>).</p>
+<p>The default implementation of the access control management corresponds to the resource-based implementation present with Jackrabbit 2.x. The former principal-base access control management is no longer available but it&#x2019;s functionality has been incorporated both in the default ac management implementation and the permission evaluation.</p></div>
+<div class="section">
+<h5>JCR API<a name="JCR_API"></a></h5>
+<div class="section">
+<h6>AccessControlManager#hasPrivilege and #getPrivileges<a name="AccessControlManagerhasPrivilege_and_getPrivileges"></a></h6>
+<p>As of OAK those methods throw <tt>PathNotFoundException</tt> if the corresponding node is not accessible by the editing session. This is in accordance with the behavior mandated by JSR 283 and a bug in Jackrabbit 2.x.</p></div>
+<div class="section">
+<h6>AccessControlManager#getEffectivePolicies<a name="AccessControlManagergetEffectivePolicies"></a></h6>
+<p>In contrast to Jackrabbit 2.x the editing session is used to retrieve the effective policies and the policies returned by these methods are guarantueed to only return information that is otherwise accessible by the session. The corresponding methods in Jackrabbit 2.x use to throw an exception in this situation.</p></div>
+<div class="section">
+<h6>AccessControlPolicy<a name="AccessControlPolicy"></a></h6>
+<p>OAK introduces a new type of policy that enforces regular read-access for everyone on the trees that hold this new <tt>ReadPolicy</tt> [0]. The main usage of this new policy is to ensure backwards compatible behavior of repository level information (node types, namespace, privileges) that are now kept within the content repository. In Jackrabbit 2.x this information was stored in the file system without the ability to apply or enforce regular access control such as present with items in the repository.</p>
+<p>Currently these special read policies are defined as part of the overall security configuration and cannot be managed/edited using regular access control management API (see (<a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-951">OAK-951</a>)).</p></div>
+<div class="section">
+<h6>AccessControlEntry<a name="AccessControlEntry"></a></h6>
+<p>Validation: as of OAK the implementation of the <tt>AccessControlEntry</tt> interface is no longer in charge of validating the specified privileges. While some validation is still performed in the corresponding <tt>AccessControlList</tt> methods, the complete validation is delegated to the commit phase and executed by a specific <tt>Validator</tt> implementation.</p>
+<p>The default behavior with respect to principal validation is compliant with the specification and the same as in Jackrabbit 2.x.: Adding an ACE for an principal unknown to the repository will fail. However in order to be consistent with the ability have a more relaxed behavior upon XML import that validation will be relaxed if the import behavior is being changed to allow for unknown principals (see (<a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-1350">OAK-1350</a>)) and the section Import below.</p>
+<p>Restrictions: as of OAK the optional restrictions present with a given <tt>JackrabbitAccessControlEntry</tt> can be multivalued (see below).</p></div></div>
+<div class="section">
+<h5>Jackrabbit API<a name="Jackrabbit_API"></a></h5>
+<div class="section">
+<h6>Principal-based Access Control<a name="Principal-based_Access_Control"></a></h6>
+<p>The principal-based access control management as present in Jackrabbit-core is no longer present with OAK. The main benefit of the principal-based approach has been incorporated with the changes in the default <a href="differences_permissions.html">permission evaluation</a>). In addition the default access control manager implementation supports all methods defined by <tt>JackrabbitAccessControlManager</tt>; i.e. editing access control information by principal is possible as long as the editing session has sufficient permission on the target node(s). Similarly, the per principal policies exposed to a given session will always respect that access rights of that session.</p></div>
+<div class="section">
+<h6>Restrictions<a name="Restrictions"></a></h6>
+<p>The implementation of the additional restrictions associated with an ACE has been modified/extended as follows:</p>
+
+<ul>
+  
+<li>Separate restriction management API (see below) on the OAK level that allows to ease plugging custom restrictions.</li>
+  
+<li>Changed node type definition for storing restrictions in the default implementation.
+  
+<ul>
+    
+<li>as of OAK restrictions are collected underneath a separate child node &#x201c;rep:restrictions&#x201d;</li>
+    
+<li>restrictions can be multi-valued (see <a class="externalLink" href="https://issues.apache.org/jira/browse/JCR-3637">JCR-3637</a>, <a class="externalLink" href="https://issues.apache.org/jira/browse/JCR-3641">JCR-3641</a>)</li>
+    
+<li>backwards compatible behavior for restrictions stored underneath the ACE node directly</li>
+  </ul></li>
+  
+<li>New restrictions:
+  
+<ul>
+    
+<li>&#x201c;rep:ntNames&#x201d;, which allows to limit the affected ACE to nodes of the specified node type(s)</li>
+    
+<li>&#x201c;rep:prefixes&#x201d;, which allows to limit the effect to item names that have a specific namespace prefix.</li>
+  </ul></li>
+</ul></div></div>
+<div class="section">
+<h5>Import<a name="Import"></a></h5>
+<p>The import of access control content via JCR XML import has been extended to respect the <tt>o.a.j.oak.spi.xml.ImportBehavior</tt> flags instead of just performing a best effort import.</p>
+<p>Currently the <tt>ImportBehavior</tt> is only used to switch between different ways of handling principals unknown to the repository. For consistency and in order to match the validation requirements as specified by <tt>AccessControlList#addAccessControlEntry</tt> the default behavior is ABORT (while in Jackrabbit 2.x the behavior always was BESTEFFORT).</p>
+<p>The different <tt>ImportBehavior</tt> flags are implemented as follows: - <tt>ABORT</tt>: throws an <tt>AccessControlException</tt> if the principal is unknown - <tt>IGNORE</tt>: ignore the entry defining the unknown principal - <tt>BESTEFFORT</tt>: import the access control entry with an unknown principal.</p>
+<p>In order to get the same best effort behavior as present with Jackrabbit 2.x the configuration parameters of the <tt>AuthorizationConfiguration</tt> must contain the following entry:</p>
+
+<div class="source">
+<pre>importBehavior = &quot;besteffort&quot;
+</pre></div>
+<p>See also (<a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-1350">OAK-1350</a>))</p></div></div>
+<div class="section">
+<h4>2. Node Types<a name="a2._Node_Types"></a></h4>
+<p>As mentioned above the node type definitions have been extended to match the new functionality related to restrictions. The node type definition for access control entries:</p>
+
+<div class="source">
+<pre>[rep:ACE]
+  - rep:principalName (STRING) protected mandatory
+  - rep:privileges (NAME) protected mandatory multiple
+  - rep:nodePath (PATH) protected /* deprecated in favor of restrictions */
+  - rep:glob (STRING) protected   /* deprecated in favor of restrictions */
+  - * (UNDEFINED) protected       /* deprecated in favor of restrictions */
+  + rep:restrictions (rep:Restrictions) = rep:Restrictions protected
+</pre></div>
+<p>The new node type definition for restrictions:</p>
+
+<div class="source">
+<pre>/**
+ * @since oak 1.0
+ */
+[rep:Restrictions]
+  - * (UNDEFINED) protected
+  - * (UNDEFINED) protected multiple
+</pre></div></div>
+<div class="section">
+<h4>3. API Extensions and Public Classes<a name="a3._API_Extensions_and_Public_Classes"></a></h4>
+<p>org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol [1]</p>
+
+<ul>
+  
+<li><tt>AbstractAccessControlList</tt></li>
+  
+<li><tt>ImmutableACL</tt></li>
+  
+<li><tt>ACE</tt></li>
+</ul>
+<p>org.apache.jackrabbit.oak.spi.security.authorization.restriction [2]</p>
+
+<ul>
+  
+<li><tt>RestrictionProvider</tt>:</li>
+  
+<li><tt>RestrictionDefinition</tt></li>
+  
+<li><tt>RestrictionPattern</tt></li>
+  
+<li><tt>Restriction</tt></li>
+</ul></div>
+<div class="section">
+<h4>4. Configuration<a name="a4._Configuration"></a></h4>
+<p>The following access control related configuration options are present with the <tt>AuthorizationConfiguration</tt> as of OAK 1.0 [3]</p>
+
+<ul>
+  
+<li><tt>getAccessControlManager</tt></li>
+  
+<li><tt>getRestrictionProvider</tt></li>
+</ul>
+<p>Differences to Jackrabbit 2.x:</p>
+
+<ul>
+  
+<li>The &#x201c;omit-default-permission&#x201d; configuration option present with the Jackrabbit&#x2019;s AccessControlProvider implementations is no longer supported with Oak.</li>
+  
+<li>As of OAK no extra access control content is installed by default which renders that flag superfluous.</li>
+</ul></div>
+<div class="section">
+<h4>5. Important Note<a name="a5._Important_Note"></a></h4>
+<p>The following modification is most likely to have an effect on existing applications:</p>
+
+<ul>
+  
+<li><tt>AccessControlManager#hasPrivilege()</tt> and <tt>AccessControlManager#getPrivileges()</tt> will throw a  <tt>PathNotFoundException</tt> if the node for the specified path is not accessible. The Jackrabbit 2  implementation is wrong and we fixed that in OAK (<a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-886">OAK-886</a>).  If the new behaviour turns out to be a problem with existing applications we might consider  adding backward compatible behaviour.</li>
+</ul></div>
+<div class="section">
+<h4>6. References<a name="a6._References"></a></h4>
+<p>[0] <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-951">https://issues.apache.org/jira/browse/OAK-951</a></p>
+<p>[1] <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/">http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/</a></p>
+<p>[2] <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/">http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/accesscontrol/</a></p>
+<p>[3] <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/AuthorizationConfiguration.java">http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/AuthorizationConfiguration.java</a></p></div></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_users_logo.js"></script>
+    </div>
+        </div>
+    </footer>
+  </body>
+</html>
\ No newline at end of file

Propchange: jackrabbit/site/live/oak/docs/differences_accesscontrol.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/site/live/oak/docs/differences_authentication.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/differences_authentication.html?rev=1596134&view=auto
==============================================================================
--- jackrabbit/site/live/oak/docs/differences_authentication.html (added)
+++ jackrabbit/site/live/oak/docs/differences_authentication.html Tue May 20 08:15:50 2014
@@ -0,0 +1,573 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia at 2014-05-06
+ | 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="20140506" />
+    <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" />
+    <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>
+                  
+                      <li>      <a href="from_here.html"  title="From here">From here</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="overview.html"  title="Overview">Overview</a>
+</li>
+                  
+                      <li>      <a href="nodestate.html"  title="The node state model">The node state model</a>
+</li>
+                  
+                      <li>      <a href="microkernel.html"  title="NodesStore and MicroKernel">NodesStore and MicroKernel</a>
+</li>
+                  
+                      <li>      <a href="query.html"  title="Query">Query</a>
+</li>
+                  
+                      <li>      <a href="blobstore.html"  title="BlobStore">BlobStore</a>
+</li>
+                  
+                      <li>      <a href="security/overview.html"  title="Security">Security</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="differences.html"  title="Differences to Jackrabbit 2">Differences to Jackrabbit 2</a>
+</li>
+                  
+                      <li>      <a href="osgi_config.html"  title="Configuring Oak">Configuring Oak</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="when_things_go_wrong.html"  title="When things go wrong">When things go wrong</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-05-06</li>
+                  <li class="divider">|</li> <li id="projectVersion">Version: 0.20-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>
+    
+                          <a href="from_here.html" title="From here">
+          <i class="none"></i>
+        From here</a>
+            </li>
+                              <li class="nav-header">Concepts and architecture</li>
+                                
+      <li>
+    
+                          <a href="overview.html" title="Overview">
+          <i class="none"></i>
+        Overview</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="nodestate.html" title="The node state model">
+          <i class="none"></i>
+        The node state model</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="microkernel.html" title="NodesStore and MicroKernel">
+          <i class="none"></i>
+        NodesStore and MicroKernel</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="query.html" title="Query">
+          <i class="none"></i>
+        Query</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="blobstore.html" title="BlobStore">
+          <i class="none"></i>
+        BlobStore</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="security/overview.html" title="Security">
+          <i class="none"></i>
+        Security</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="differences.html" title="Differences to Jackrabbit 2">
+          <i class="none"></i>
+        Differences to Jackrabbit 2</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="osgi_config.html" title="Configuring Oak">
+          <i class="none"></i>
+        Configuring Oak</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="when_things_go_wrong.html" title="When things go wrong">
+          <i class="none"></i>
+        When things go wrong</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-doc/" 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">
+<div class="section">
+<h3>Authentication : Differences wrt Jackrabbit 2.x<a name="Authentication_:_Differences_wrt_Jackrabbit_2.x"></a></h3>
+<div class="section">
+<h4>1. Characteristics of the Default Implementation<a name="a1._Characteristics_of_the_Default_Implementation"></a></h4>
+<div class="section">
+<h5>Null Login<a name="Null_Login"></a></h5>
+<p>As of Oak 1.0 <tt>Repository#login()</tt> and <tt>Repository#login(null, wspName)</tt> is no longer treated as guest login. This behavior of Jackrabbit-core is violating the specification, which defines that null-login should be used for those cases where the authentication process is handled outside of the repository (-&gt; see pre-authentication below).</p>
+<p>In order to get a full backwards compatible behavior OAK provides a specific <tt>GuestLoginModule</tt> [0] that can be added to the JAAS (or corresponding OSGI) configuration.</p>
+<p>Example JAAS Configuration:</p>
+
+<div class="source">
+<pre>jackrabbit.oak {
+   org.apache.jackrabbit.oak.spi.security.authentication.GuestLoginModule  optional;
+   org.apache.jackrabbit.oak.security.authentication.user.LoginModuleImpl required;
+};
+</pre></div></div>
+<div class="section">
+<h5>Guest Login<a name="Guest_Login"></a></h5>
+<p>With respect to guest login (aka anonymous login) the OAK content repository out of the box contains the following modifications:</p>
+
+<ul>
+  
+<li>null login != guest login</li>
+  
+<li>no anonymous login with uid/pw</li>
+</ul>
+<p>As explained in 1) the null login will not longer fall back to a guest login unless explicitly configured (-&gt; <tt>GuestLoginModule</tt>). The proper way to obtain an guest session as of OAK is as specified by JSR 283:</p>
+
+<div class="source">
+<pre>String wspName = null;
+Session anonymous = repository.login(new GuestCredentials(), wspName);
+</pre></div>
+<p>Similarly, the special treatment that jackrabbit core applied for the guest (anonymous) user has been omitted altogether in OAK. In the default setup the anonymous user will created without any password. Therefore explicitly uid/pw login using the anonymous userId will no longer work. This behavior is now consistent with the default login of any other user which doesn&#x2019;t have a password set.</p></div>
+<div class="section">
+<h5>Pre-Authentication<a name="Pre-Authentication"></a></h5>
+<p>Oak provides two different mechanisms to create pre-authentication that doesn&#x2019;t involve the repositories internal authentication mechanism for credentials validation. See the corresponding section <a href="security/authentication/preauthentication.html">Pre-Authentication</a> for details and examples.</p>
+
+<ul>
+  
+<li>Pre-Authentication combined with Login Module Chain</li>
+  
+<li>Pre-Authentication without Repository Involvement: the <tt>Subject</tt> must be available  with the current <tt>java.security.AccessControlContext</tt>.</li>
+</ul></div></div>
+<div class="section">
+<h4>2. Impersonation<a name="a2._Impersonation"></a></h4>
+<div class="section">
+<h5>Self-Impersonation (aka Cloning a Session)<a name="Self-Impersonation_aka_Cloning_a_Session"></a></h5>
+<p>As of OAK 1.0 the latest changes made to JSR 333 with respect to <tt>Session#impersonate</tt> have been adopted [3]: Any attempt to impersonate the same session (self-impersonation) will succeed as long as the user is still valid.</p></div>
+<div class="section">
+<h5>Impersonation Credentials<a name="Impersonation_Credentials"></a></h5>
+<p>The OAK implementation of <tt>Session#impersonate</tt> no longer uses <tt>SimpleCredentials</tt> to transport the original <tt>Subject</tt> but rather performs the login with dedicated <tt>ImpersonationCredentials</tt> [4].</p>
+<p>With this change the impersonation feature no longer relies on <tt>SimpleCredentials</tt> being passed to <tt>Session#impersonate</tt> call. Instead the specified credentials are passed to a new instance of <tt>ImpersonationCredentials</tt> delegating the evaluation and validation of the specified <tt>Credentials</tt> to the configured login module(s).</p>
+<p>This modification will not affect applications that used JCR API to impersonate a given session. However the following example which &#x2018;manually&#x2019; builds impersonation credentials the way jackrabbit core was handling it will no longer work to impersonate an existing session:</p>
+
+<div class="source">
+<pre> SessionImpl sImpl = (SessionImpl) mySession;
+ SimpleCredentials jrImpCreds = new SimpleCredentials(&quot;someUserId, new char[0]);
+ creds.setAttribute(SecurityConstants.IMPERSONATOR_ATTRIBUTE, sImpl.getSubject());
+ Session impersonated = sImpl.getRepository().login(jrImpCreds, sImpl.getWorkspace().getName());
+</pre></div></div></div>
+<div class="section">
+<h4>3. Token based Authentication<a name="a3._Token_based_Authentication"></a></h4>
+<p>The token based authentication has been completely refactor in OAK.</p>
+
+<ul>
+  
+<li>Dedicated API for managing login tokens [5]</li>
+  
+<li>Pluggable configuration of the new token management API</li>
+  
+<li>Complete separation of token based authentication from regular  uid/pw authentication into a separate <tt>LoginModule</tt> [6]</li>
+</ul>
+<p>The default implementation differs from jackrabbit as follows - token node is referenceable with a dedicated node type (rep:Token) - expiration and key properties are mandatory and protected - expiration time is obtained from <tt>PARAM_TOKEN_EXPIRATION</tt> specified in the login attributes and falls back to the same configuration parameter.</p>
+<p>The definition of the new built-in node type &#x201c;rep:Token&#x201d;:</p>
+
+<div class="source">
+<pre>[rep:Token] &gt; mix:referenceable
+- rep:token.key (STRING) protected mandatory
+- rep:token.exp (DATE) protected mandatory
+- * (UNDEFINED) protected
+- * (UNDEFINED) multiple protected
+</pre></div>
+<p>Please note the following difference with respect to Jackrabbit core: - the <tt>TokenLoginModule</tt> is responsible for creating new login tokens. Other login modules should not attempt to do so. - token characteristics such as expiration time only need to be configured with the <tt>TokenLoginModule</tt> - Other <tt>LoginModule</tt> implementations consequently no longer need to have the same config options set.</p></div>
+<div class="section">
+<h4>4. External Authentication<a name="a4._External_Authentication"></a></h4>
+<p>While the default setup in OAK is solely relying on repository functionality to ensure proper authentication it quite common to authenticate against different systems (e.g. LDAP). For those setups that wish to combine initial authentication against a third party system with repository functionality, OAK provides some basic implementation and extension points [7] and ship an example setup for LDAP authentication.</p>
+<p>This is aimed to become the replacement for <tt>com.day.crx.security.ldap.LDAPLoginModule</tt> [8], which relies on jackrabbit internals and will no longer work with OAK.</p></div>
+<div class="section">
+<h4>5. API Extensions<a name="a5._API_Extensions"></a></h4>
+<p>The OAK project introduces the following authenticated related service provider interfaces:</p>
+<p>org.apache.jackrabbit.oak.spi.security.authentication:</p>
+
+<ul>
+  
+<li><tt>LoginContextProvider</tt>: Configurable provider of the <tt>LoginContext</tt> (see below)</li>
+  
+<li><tt>LoginContext</tt>: Interface version of the JAAS LoginContext aimed to ease integration with non-JAAS components</li>
+  
+<li><tt>Authentication</tt>: Aimed to validate credentials during the first phase of the (JAAS) login process.</li>
+</ul>
+<p>org.apache.jackrabbit.oak.spi.security.authentication.token:</p>
+
+<ul>
+  
+<li><tt>TokenConfiguration</tt>: Interface to obtain a <tt>TokenProvider</tt> instance.</li>
+  
+<li><tt>TokenProvider</tt>: Interface to manage login tokens.</li>
+  
+<li><tt>TokenInfo</tt>: Information related to a login token and token validity.</li>
+</ul>
+<p>org.apache.jackrabbit.oak.spi.security.authentication.external:</p>
+
+<ul>
+  
+<li>interfaces to ease custom implementation of the external authentication with  optional user/group synchronization to the repository (see [7]).</li>
+</ul></div>
+<div class="section">
+<h4>6. Configuration<a name="a6._Configuration"></a></h4>
+<div class="section">
+<h5>AuthenticationConfiguration [9]:<a name="AuthenticationConfiguration_9:"></a></h5>
+
+<ul>
+  
+<li><tt>getLoginContextProvider</tt> -&gt; configuration of the login context</li>
+</ul></div>
+<div class="section">
+<h5>TokenConfiguration [10]:<a name="TokenConfiguration_10:"></a></h5>
+
+<ul>
+  
+<li><tt>getTokenProvider</tt></li>
+</ul></div>
+<div class="section">
+<h5>Utilities<a name="Utilities"></a></h5>
+<p>There also exists a utility class that allows to obtain different <tt>javax.security.auth.login.Configuration</tt> for the most common setup [11]:</p>
+
+<ul>
+  
+<li>
+<p><tt>ConfigurationUtil#getDefaultConfiguration</tt>: default OAK configuration supporting uid/pw login configures <tt>LoginModuleImpl</tt> only</p></li>
+  
+<li>
+<p><tt>ConfigurationUtil#getJackrabbit2Configuration</tt>: backwards compatible configuration that provides the functionality covered by jackrabbit-core DefaultLoginModule, namely:</p>
+  
+<ul>
+    
+<li><tt>GuestLoginModule</tt>: null login falls back to anonymous</li>
+    
+<li><tt>TokenLoginModule</tt>: covers token base authentication</li>
+    
+<li><tt>LoginModuleImpl</tt>: covering regular uid/pw login</li>
+  </ul></li>
+</ul></div></div>
+<div class="section">
+<h4>7. References<a name="a7._References"></a></h4>
+<p>[0] <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/GuestLoginModule.java">http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/GuestLoginModule.java</a></p>
+<p>[1] <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/LoginContextProvider.java">http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/LoginContextProvider.java</a></p>
+<p>[2] <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/LoginContext.java">http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/LoginContext.java</a></p>
+<p>[3] <a class="externalLink" href="https://java.net/jira/browse/JSR_333-27">https://java.net/jira/browse/JSR_333-27</a></p>
+<p>[4] <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/ImpersonationCredentials.java">http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/ImpersonationCredentials.java</a></p>
+<p>[5] <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/token/">http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/token/</a></p>
+<p>[6] <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java">http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authentication/token/TokenLoginModule.java</a></p>
+<p>[7] <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/">http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/</a></p>
+<p>[8] <a class="externalLink" href="http://dev.day.com/docs/en/crx/current/administering/ldap_authentication.html">http://dev.day.com/docs/en/crx/current/administering/ldap_authentication.html</a></p>
+<p>[9] <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AuthenticationConfiguration.java">http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/AuthenticationConfiguration.java</a></p>
+<p>[10] <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/token/TokenConfiguration.java">http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/token/TokenConfiguration.java</a></p>
+<p>[11] <a class="externalLink" href="http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/ConfigurationUtil.java">http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/ConfigurationUtil.java</a></p></div></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_users_logo.js"></script>
+    </div>
+        </div>
+    </footer>
+  </body>
+</html>
\ No newline at end of file

Propchange: jackrabbit/site/live/oak/docs/differences_authentication.html
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message