Author: buildbot Date: Wed Jun 14 07:49:57 2017 New Revision: 1014016 Log: Staging update by buildbot for sling
Modified: websites/staging/sling/trunk/content/ (props changed) websites/staging/sling/trunk/content/documentation/bundles/content-loading-jcr-contentloader.html Propchange: websites/staging/sling/trunk/content/ ------------------------------------------------------------------------------ --- cms:source-revision (original) +++ cms:source-revision Wed Jun 14 07:49:57 2017 @@ -1 +1 @@ -1798604 +1798656 Modified: websites/staging/sling/trunk/content/documentation/bundles/content-loading-jcr-contentloader.html ============================================================================== --- websites/staging/sling/trunk/content/documentation/bundles/content-loading-jcr-contentloader.html (original) +++ websites/staging/sling/trunk/content/documentation/bundles/content-loading-jcr-contentloader.html Wed Jun 14 07:49:57 2017 @@ -441,8 +441,35 @@ Support for re-registration of node type <h3 id="automated-tests">Automated tests<a class="headerlink" href="#automated-tests" title="Permanent link">¶</a></h3> <p>The initial content found in the <a href="http://svn.apache.org/repos/asf/sling/trunk/launchpad/content/src/main/resources/content/sling-test">sling-test folder of the launchpad initial content</a> is verified by the <a href="http://svn.apache.org/repos/asf/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/InitialContentTest.java">InitialContentTest</a> when running the <em>launchpad/testing</em> integration tests.</p> <p>Those tests can be used as verified examples of initial content loading. Contributions are welcome to improve the coverage of those tests.</p> +<h2 id="acls-and-principals">ACLs and Principals<a class="headerlink" href="#acls-and-principals" title="Permanent link">¶</a></h2> +<p>By adding a <code>security:acl</code> object to a content node definition in JSON you can define an ACL for this node. For each array entry in this example an ACE is added. Example:</p> +<div class="codehilite"><pre><span class="p">{</span> + "<span class="n">security</span><span class="p">:</span><span class="n">acl</span>"<span class="p">:</span> <span class="p">[</span> + <span class="p">{</span> "<span class="n">principal</span>"<span class="p">:</span> "<span class="n">TestGroup1</span>"<span class="p">,</span> "<span class="n">granted</span>"<span class="p">:</span> <span class="p">[</span>"<span class="n">jcr</span><span class="p">:</span><span class="n">read</span>"<span class="p">,</span>"<span class="n">jcr</span><span class="p">:</span><span class="n">write</span>"<span class="p">]</span> <span class="p">},</span> + <span class="p">{</span> "<span class="n">principal</span>"<span class="p">:</span> "<span class="n">TestUser1</span>"<span class="p">,</span> "<span class="n">granted</span>"<span class="p">:</span> <span class="p">[</span>"<span class="n">jcr</span><span class="p">:</span><span class="n">read</span>"<span class="p">],</span> "<span class="n">denied</span>"<span class="p">:</span> <span class="p">[</span>"<span class="n">jcr</span><span class="p">:</span><span class="n">write</span>"<span class="p">]</span> <span class="p">}</span> + <span class="p">]</span> +<span class="p">}</span> +</pre></div> + + +<p>If ACLs already exist on the node you can add an <code>order</code> property to each array entry controlling the position where the new ACE is inserted into the list of existing ACEs. Possible values for this property:</p> +<ul> +<li><strong>first</strong>: Place the target ACE as the first amongst its siblings</li> +<li><strong>last</strong>: Place the target ACE as the last amongst its siblings</li> +<li><strong>before xyz</strong>: Place the target ACE immediately before the sibling whose name is xyz</li> +<li><strong>after xyz</strong>: Place the target ACE immediately after the sibling whose name is xyz</li> +<li><strong>numeric</strong>: Place the target ACE at the specified index</li> +</ul> +<p>You can also add new principals (users or groups) to the repository by adding a <code>security:principals</code> object. This is not related to any specific path/node, so you can add this JSON fragment anywhere. Example for creating one use and one group:</p> +<div class="codehilite"><pre><span class="p">{</span> + "<span class="n">security</span><span class="p">:</span><span class="n">principals</span>"<span class="p">:</span> <span class="p">[</span> + <span class="p">{</span> "<span class="n">name</span>"<span class="p">:</span> "<span class="n">TestUser1</span>"<span class="p">,</span> "<span class="n">password</span>"<span class="p">:</span> "<span class="n">mypassword</span>"<span class="p">,</span> "<span class="n">extraProp1</span>"<span class="p">:</span> "<span class="n">extraProp1Value</span>" <span class="p">},</span> + <span class="p">{</span> "<span class="n">name</span>"<span class="p">:</span> "<span class="n">TestGroup1</span>"<span class="p">,</span> "<span class="n">isgroup</span>"<span class="p">:</span> "<span class="n">true</span>"<span class="p">,</span> "<span class="n">members</span>"<span class="p">:</span> <span class="p">[</span>"<span class="n">TestUser1</span>"<span class="p">],</span> "<span class="n">extraProp1</span>"<span class="p">:</span> "<span class="n">extraProp1Value</span>" <span class="p">}</span> + <span class="p">]</span> +<span class="p">}</span> +</pre></div> <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;"> - Rev. 1793675 by sseifert on Wed, 3 May 2017 16:50:30 +0000 + Rev. 1798656 by sseifert on Wed, 14 Jun 2017 07:49:33 +0000 </div> <div class="trademarkFooter"> Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project