jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From thom...@apache.org
Subject svn commit: r1858009 [2/2] - in /jackrabbit/site/live/oak/docs: ./ nodestore/document/ nodestore/segment/ query/ security/accesscontrol/ security/authorization/
Date Tue, 23 Apr 2019 13:50:48 GMT
Modified: jackrabbit/site/live/oak/docs/query/lucene.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/query/lucene.html?rev=1858009&r1=1858008&r2=1858009&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/query/lucene.html (original)
+++ jackrabbit/site/live/oak/docs/query/lucene.html Tue Apr 23 13:50:48 2019
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2019-02-07 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2019-04-23 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20190207" />
+    <meta name="Date-Revision-yyyymmdd" content="20190423" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Lucene Index</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.6.min.css" />
@@ -142,9 +142,9 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2019-02-07<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2019-04-23<span class="divider">|</span>
 </li>
-          <li id="projectVersion">Version: 1.12-SNAPSHOT</li>
+          <li id="projectVersion">Version: 1.14-SNAPSHOT</li>
         </ul>
       </div>
       <div class="row-fluid">
@@ -169,6 +169,7 @@
     <li><a href="../nodestore/documentmk.html" title="Document NodeStore"><span
class="icon-chevron-down"></span>Document NodeStore</a>
       <ul class="nav nav-list">
     <li><a href="../nodestore/document/mongo-document-store.html" title="MongoDB
DocumentStore"><span class="none"></span>MongoDB DocumentStore</a>  </li>
+    <li><a href="../nodestore/document/rdb-document-store.html" title="RDB DocumentStore"><span
class="none"></span>RDB DocumentStore</a>  </li>
     <li><a href="../nodestore/document/node-bundling.html" title="Node Bundling"><span
class="none"></span>Node Bundling</a>  </li>
     <li><a href="../nodestore/document/secondary-store.html" title="Secondary Store"><span
class="none"></span>Secondary Store</a>  </li>
     <li><a href="../nodestore/persistent-cache.html" title="Persistent Cache"><span
class="none"></span>Persistent Cache</a>  </li>
@@ -1469,8 +1470,22 @@ Copied 8.5 MB in 218.7 ms
           - propertyIndex = true
 </pre></div></div>
 
-<p>By default ACL checks are always performed on facets by the Lucene property index
however there are a few configuration option to configure how ACL checks are done by configuring
<i>secure</i> property in the <i>facets</i> configuration node. <tt>@since
Oak 1.6.16, 1.8.10, 1.9.13</tt> <tt>secure</tt> property is a string with
allowed values of <tt>secure</tt>, <tt>statistical</tt> and <tt>insecure</tt>
- <tt>secure</tt> being the default value. Before that <tt>secure</tt>
was a boolean property and to maintain compatibility <tt>false</tt> maps to <tt>insecure</tt>
while <tt>true</tt> (default at the time) maps to <tt>secure</tt>.</p>
-<p>For <tt>insecure</tt> facets, the facet counts reported by lucene index
are reported back as is. For <tt>secure</tt> configuration all results of a query
are checked for access permissions and facets returned by index are updated accordingly. This
can be very bad from performance point of view for large result set. As a trade off <tt>statistical</tt>
configuration can be used to randomly sample some items (default <tt>1000</tt>
configurable via <tt>sampleSize</tt>) and check ACL for the random samples. Facet
counts returned via index are updated proportionally to the percentage of accessible samples
that were checked for ACL. Do note that the <a class="externalLink" href="https://onlinecourses.science.psu.edu/stat100/node/16/">beauty
of sampling</a> is that a sample size of <tt>1000</tt> would have 3% error
rate with 95% confidence. But that&#x2019;s a theoretical limit for infinite number of
experiments - in practice though, a low rate of accessible documents decreases chances t
 o reach that average rate. To have a sense of expectation of error rate, here&#x2019;s
how errors looked like in different scenarios of test runs with sample size of 1000 with error
averaged over 1000 random runs for each scenario.</p>
+<p>By default, ACL checks are always performed on facets by the Lucene property index.
This is secure (no information leakage is possible), but can be slow. The <i>secure</i>
configuration property allows to configure how facet counts are performed. <tt>@since
Oak 1.6.16, 1.8.10, 1.9.13</tt> <tt>secure</tt> property is a string with
allowed values of <tt>secure</tt>, <tt>statistical</tt> and <tt>insecure</tt>
- <tt>secure</tt> being the default value. Before that <tt>secure</tt>
was a boolean property and to maintain compatibility <tt>false</tt> maps to <tt>insecure</tt>
while <tt>true</tt> (default at the time) maps to <tt>secure</tt>.
The following configuration options are supported:</p>
+<ul>
+
+<li>
+
+<p><tt>secure</tt> (the default) means all results of a query are checked
for access permissions. Facets and counts returned by index reflect what is accessible to
the given user. The query result therefore only reflects information the user has access rights
for. This can be slow, specially for large result set.</p>
+</li>
+<li>
+
+<p><tt>insecure</tt> means the facet counts are reported as stored in the
index, without performing access rights checks. Warning: this setting potentially leaks repository
information the user that runs the query may not see. It must only be used if either the index
is guaranteed to only contain data that is public (e.g. a public subtree of the repository),
or if the leaked information is not sensitive.</p>
+</li>
+<li>
+
+<p><tt>statistical</tt> means the data is sampled randomly (default <tt>1000</tt>
configurable via <tt>sampleSize</tt>), and ACL checks are performed on this sample.
Facet counts returned are proportional to the percentage of accessible samples that were checked
for ACL. Warning: this setting potentially leaks repository information the user that runs
the query may not see. It must only be used if either the index is guaranteed to only contain
data that is public (e.g. a public subtree of the repository), or if the leaked information
is not sensitive. Do note that the <a class="externalLink" href="https://onlinecourses.science.psu.edu/stat100/node/16/">beauty
of sampling</a> is that a sample size of <tt>1000</tt> has an error rate
of 3% with 95% confidence, if ACLs are evenly distributed over the sampled data. However,
often ACLs are not evenly distributed. Also, a low rate of accessible documents decreases
chances to reach that average rate. To have a sense of expectation of error 
 rate, here&#x2019;s how errors looked like in different scenarios of test runs with sample
size of 1000 with error averaged over 1000 random runs for each scenario.</p>
+</li>
+</ul>
 
 <div>
 <div>

Modified: jackrabbit/site/live/oak/docs/release-schedule.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/release-schedule.html?rev=1858009&r1=1858008&r2=1858009&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/release-schedule.html (original)
+++ jackrabbit/site/live/oak/docs/release-schedule.html Tue Apr 23 13:50:48 2019
@@ -1,15 +1,15 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2019-02-07 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2019-04-23 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20190207" />
+    <meta name="Date-Revision-yyyymmdd" content="20190423" />
     <meta http-equiv="Content-Language" content="en" />
-    <title>Jackrabbit Oak &#x2013; Release Schedule</title>
+    <title>Jackrabbit Oak &#x2013; Releases</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
     <link rel="stylesheet" href="./css/site.css" />
     <link rel="stylesheet" href="./css/print.css" media="print" />
@@ -142,9 +142,9 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2019-02-07<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2019-04-23<span class="divider">|</span>
 </li>
-          <li id="projectVersion">Version: 1.12-SNAPSHOT</li>
+          <li id="projectVersion">Version: 1.14-SNAPSHOT</li>
         </ul>
       </div>
       <div class="row-fluid">
@@ -169,6 +169,7 @@
     <li><a href="nodestore/documentmk.html" title="Document NodeStore"><span
class="icon-chevron-down"></span>Document NodeStore</a>
       <ul class="nav nav-list">
     <li><a href="nodestore/document/mongo-document-store.html" title="MongoDB DocumentStore"><span
class="none"></span>MongoDB DocumentStore</a>  </li>
+    <li><a href="nodestore/document/rdb-document-store.html" title="RDB DocumentStore"><span
class="none"></span>RDB DocumentStore</a>  </li>
     <li><a href="nodestore/document/node-bundling.html" title="Node Bundling"><span
class="none"></span>Node Bundling</a>  </li>
     <li><a href="nodestore/document/secondary-store.html" title="Secondary Store"><span
class="none"></span>Secondary Store</a>  </li>
     <li><a href="nodestore/persistent-cache.html" title="Persistent Cache"><span
class="none"></span>Persistent Cache</a>  </li>
@@ -253,18 +254,61 @@
    See the License for the specific language governing permissions and
    limitations under the License.
   -->
-<h1>Release Schedule</h1>
-<p>Here is the frequency where the team <b>aim</b> to cut new releases.
As we strive for quality rather than frequency the date may slip according to needs.</p>
+<h1>Releases</h1>
+<div class="section">
+<h2><a name="Schedule"></a>Schedule</h2>
+<p>We <i>aim</i> at keeping this frequency for releses. However dates may
slip according to needs</p>
 <ul>
 
-<li>Trunk: TBD</li>
+<li>trunk: every 8 weeks (~6 / year)</li>
 <li>1.10: every 4 weeks (~12 / year)</li>
 <li>1.8: every 8 weeks (~6 / year)</li>
 <li>1.6: every 13 weeks (~4 / year)</li>
 <li>1.4: every 26 weeks (~2 / year)</li>
 <li>1.2: every 52 weeks (1 / year)</li>
 <li>1.0: every 52 weeks (1 / year)</li>
+</ul></div>
+<div class="section">
+<h2><a name="Strategies"></a>Strategies</h2>
+<p>For a full discussion around these topics see in <a class="externalLink" href="https://lists.apache.org/thread.html/9a7c0e2fdfab5deb051fbd99add6c2b7109d750805b6182138eece55@%3Coak-dev.jackrabbit.apache.org%3E">oak-dev
archives</a>.</p>
+<ul>
+
+<li>trunk will be considered stable</li>
+<li>only releases from trunk other than existing branches</li>
+<li>any previous release from trunk will be automatically deprecated</li>
+</ul></div>
+<div class="section">
+<h2><a name="Branching"></a>Branching</h2>
+<p>Branching will not happen other than in specific circumstances. Such as, but not
limited to:</p>
+<ul>
+
+<li>incompatible API changes</li>
+<li>incompatible JVM changes</li>
+<li>updates to dependencies that breaks backward compatibility</li>
 </ul>
+<p>In short: most probably it will always be around non-backward-compatible changes</p>
+<p>Anyhow in such cases the branching is not automatic and will be discussed between
PMCs a best course of actions. Alternatives may be a different way to implement something
breaking.</p></div>
+<div class="section">
+<h2><a name="Version_Numbers"></a>Version Numbers</h2>
+<p><i>Version Numbers</i></p>
+<ul>
+
+<li>
+
+<p>Released versions will be in the format of <tt>Major.Minor.Patch</tt>
where, as rule of thumb we will increase</p>
+<p>MAJOR for incompatible API changes<br />
+MINOR for new backwards-compatible functionality PATCH for backwards-compatible bug fixes.</p>
+</li>
+<li>
+
+<p>We&#x2019;ll keep the even/odd schema</p>
+</li>
+<li>Any new official release will be always even: 1.12.0, 1.14.0, 1.16.0, &#x2026;,
1.124.0</li>
+<li>A release will always be with a patch number (the last part) of <tt>.0</tt>.
This ease OSGi deployments.</li>
+<li>Diagnostic builds will be cut with the odd version and <tt>-Rxxx</tt>
such as <tt>1.15-R12345</tt>.</li>
+<li>In case of branching the increased part will always be the PATCH so: <tt>1.16.0</tt>,
<tt>1.16.1</tt>, <tt>1.16.2</tt>, etc.</li>
+<li>In case of branching the diagnostic build will follow the current pattern: <tt>1.16.5-R12345</tt></li>
+</ul></div>
         </div>
       </div>
     </div>

Modified: jackrabbit/site/live/oak/docs/security/accesscontrol/default.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/accesscontrol/default.html?rev=1858009&r1=1858008&r2=1858009&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/accesscontrol/default.html (original)
+++ jackrabbit/site/live/oak/docs/security/accesscontrol/default.html Tue Apr 23 13:50:48
2019
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2019-01-08 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2019-04-23 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20190108" />
+    <meta name="Date-Revision-yyyymmdd" content="20190423" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Access Control Management : The Default Implementation</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.6.min.css" />
@@ -142,9 +142,9 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2019-01-08<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2019-04-23<span class="divider">|</span>
 </li>
-          <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
+          <li id="projectVersion">Version: 1.14-SNAPSHOT</li>
         </ul>
       </div>
       <div class="row-fluid">
@@ -169,6 +169,7 @@
     <li><a href="../../nodestore/documentmk.html" title="Document NodeStore"><span
class="icon-chevron-down"></span>Document NodeStore</a>
       <ul class="nav nav-list">
     <li><a href="../../nodestore/document/mongo-document-store.html" title="MongoDB
DocumentStore"><span class="none"></span>MongoDB DocumentStore</a>  </li>
+    <li><a href="../../nodestore/document/rdb-document-store.html" title="RDB DocumentStore"><span
class="none"></span>RDB DocumentStore</a>  </li>
     <li><a href="../../nodestore/document/node-bundling.html" title="Node Bundling"><span
class="none"></span>Node Bundling</a>  </li>
     <li><a href="../../nodestore/document/secondary-store.html" title="Secondary
Store"><span class="none"></span>Secondary Store</a>  </li>
     <li><a href="../../nodestore/persistent-cache.html" title="Persistent Cache"><span
class="none"></span>Persistent Cache</a>  </li>
@@ -315,7 +316,11 @@
 <li><tt>/jcr:system/jcr:nodeTypes</tt>: stores all registered node types</li>
 <li><tt>/jcr:system/rep:privileges</tt>: stores all registered privileges</li>
 </ul>
-<p>The default set can be changed or extended by setting the corresponding configuration
option. However, it is important to note that many JCR API calls rely on the accessibility
of the namespace, nodetype and privilege information. Removing the corresponding paths from
the configuration will most probably have undesired effects.</p></div></div>
+<p>The default set can be changed or extended by setting the corresponding configuration
option. However, it is important to note that many JCR API calls rely on the accessibility
of the namespace, nodetype and privilege information. Removing the corresponding paths from
the configuration will most probably have undesired effects.</p></div>
+<div class="section">
+<h5><a name="Effective_Policies"></a>Effective Policies</h5>
+<p>The effective policies exposed by <tt>AccessControlManager.getEffectivePolicies(String)</tt>
and <tt>JackrabbitAccessControlManager.getEffectivePolicies(Set&lt;Principal&gt;)</tt>
represent an immutable view on the persisted policies taking effect act the given path or
for the given set of principals. Transient modifications that are the result of <tt>setPolicy</tt>
and <tt>removePolicy</tt> will not be reflected.</p>
+<p>Note however, that these methods are defined to be a best-effort. In particular
<tt>AccessControlManager.getEffectivePolicies(String)</tt> will not evaluate restrictions
associated with individual entries that might limit the effect to individual items in the
subtree. See also <a class="externalLink" href="https://issues.apache.org/jira/browse/OAK-8000">OAK-8000</a>
for details.</p></div></div>
 <div class="section">
 <h4><a name="Access_Control_Entries"></a>Access Control Entries</h4>
 <p>The access control entries present in a given list are subject to the following
rules applied upon editing but not enforced by <tt>CommitHook</tt>s:</p>

Modified: jackrabbit/site/live/oak/docs/security/authorization/cug.html
URL: http://svn.apache.org/viewvc/jackrabbit/site/live/oak/docs/security/authorization/cug.html?rev=1858009&r1=1858008&r2=1858009&view=diff
==============================================================================
--- jackrabbit/site/live/oak/docs/security/authorization/cug.html (original)
+++ jackrabbit/site/live/oak/docs/security/authorization/cug.html Tue Apr 23 13:50:48 2019
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2019-01-08 
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2019-04-23 
  | Rendered using Apache Maven Fluido Skin 1.6
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20190108" />
+    <meta name="Date-Revision-yyyymmdd" content="20190423" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Jackrabbit Oak &#x2013; Managing Access with Closed User Groups (CUG)</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.6.min.css" />
@@ -142,9 +142,9 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2019-01-08<span class="divider">|</span>
+        <li id="publishDate">Last Published: 2019-04-23<span class="divider">|</span>
 </li>
-          <li id="projectVersion">Version: 1.10-SNAPSHOT</li>
+          <li id="projectVersion">Version: 1.14-SNAPSHOT</li>
         </ul>
       </div>
       <div class="row-fluid">
@@ -169,6 +169,7 @@
     <li><a href="../../nodestore/documentmk.html" title="Document NodeStore"><span
class="icon-chevron-down"></span>Document NodeStore</a>
       <ul class="nav nav-list">
     <li><a href="../../nodestore/document/mongo-document-store.html" title="MongoDB
DocumentStore"><span class="none"></span>MongoDB DocumentStore</a>  </li>
+    <li><a href="../../nodestore/document/rdb-document-store.html" title="RDB DocumentStore"><span
class="none"></span>RDB DocumentStore</a>  </li>
     <li><a href="../../nodestore/document/node-bundling.html" title="Node Bundling"><span
class="none"></span>Node Bundling</a>  </li>
     <li><a href="../../nodestore/document/secondary-store.html" title="Secondary
Store"><span class="none"></span>Secondary Store</a>  </li>
     <li><a href="../../nodestore/persistent-cache.html" title="Persistent Cache"><span
class="none"></span>Persistent Cache</a>  </li>
@@ -335,7 +336,10 @@
 <li>the <tt>Subject</tt> contains<tt>Principal</tt> <i>apache-members</i>
and|or <i>jackrabbit-pmc</i> (as defined in the <tt>CugPolicy</tt>)</li>
 <li>the <tt>Subject</tt> contains at least one <tt>Principal</tt>
explicitly excluded from CUG evaluation in the configured, global <tt>CugExclude</tt></li>
 </ul>
-<p>This further implies that the <tt>PermissionProvider</tt> will only
evaluate regular read permissions (i.e. <tt>READ_NODE</tt> and <tt>READ_PROPERTY</tt>).
Evaluation of any other <a href="../permission.html#oak_permissions">permissions</a>
including reading the cug policy node (access control content) is consequently delegated to
other authorization modules. In case there was no module dealing with these permissions, access
will be denied (see in section <i>Combining Multiple Authorization Models</i>
for <a href="composite.html#details">details</a>).</p></div></div>
+<p>This further implies that the <tt>PermissionProvider</tt> will only
evaluate regular read permissions (i.e. <tt>READ_NODE</tt> and <tt>READ_PROPERTY</tt>).
Evaluation of any other <a href="../permission.html#oak_permissions">permissions</a>
including reading the cug policy node (access control content) is consequently delegated to
other authorization modules. In case there was no module dealing with these permissions, access
will be denied (see in section <i>Combining Multiple Authorization Models</i>
for <a href="composite.html#details">details</a>).</p></div>
+<div class="section">
+<h4><a name="Permission_Evaluation_with_Multiplexed_Stores"></a>Permission
Evaluation with Multiplexed Stores</h4>
+<p>The CUG authorization module is not designed to be used in combination with non-default
mounts. If any of the configured supported paths (see below) is found to be an ancestor of
any non-default mount or included therein the activation/modification of the <tt>CugConfiguration</tt>
will fail with immediately and log an error.</p></div></div>
 <div class="section">
 <h3><a name="Representation_in_the_Repository"></a>Representation in the
Repository</h3>
 <p>CUG policies defined by this module in a dedicate node name <tt>rep:cugPolicy</tt>
of type <tt>rep:CugPolicy</tt>. This node is defined by a dedicate mixin type
<tt>rep:CugMixin</tt> (similar to <tt>rep:AccessControllable</tt>)
and has a single mandatory, protected property which stores the name of principals that are
granted read access in the restricted area:</p>



Mime
View raw message