You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bu...@apache.org on 2016/07/29 12:33:57 UTC
svn commit: r994045 - in /websites/staging/sling/trunk/content: ./
documentation/bundles/repository-initialization.html
Author: buildbot
Date: Fri Jul 29 12:33:56 2016
New Revision: 994045
Log:
Staging update by buildbot for sling
Modified:
websites/staging/sling/trunk/content/ (props changed)
websites/staging/sling/trunk/content/documentation/bundles/repository-initialization.html
Propchange: websites/staging/sling/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Jul 29 12:33:56 2016
@@ -1 +1 @@
-1754143
+1754506
Modified: websites/staging/sling/trunk/content/documentation/bundles/repository-initialization.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/repository-initialization.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/repository-initialization.html Fri Jul 29 12:33:56 2016
@@ -130,12 +130,13 @@ the same content repository you'll need
<p>They are called in increasing order of their <code>service.ranking</code> service property, which needs to be an <code>Integer</code> as usual.</p>
<p>If any of them throws an Exception, the <code>SlingRepository</code> service is not registered.</p>
<h2 id="the-repoinit-repository-initialization-language">The 'repoinit' Repository Initialization Language<a class="headerlink" href="#the-repoinit-repository-initialization-language" title="Permanent link">¶</a></h2>
-<p>The <code>org.apache.sling.repoinit.parser</code> implements a mini-language meant to create paths, service users and Access Control Lists in a content repository.</p>
+<p>The <code>org.apache.sling.repoinit.parser</code> implements a mini-language meant to create paths, service users and Access Control Lists in a content repository, as
+well as registering JCR namespaces and node types.</p>
<p>The language grammar is defined (using the JavaCC compiler-compiler, which has no runtime dependencies) in the <code>RepoInitGrammar.jjt</code> file in that module, and the automated tests provide a number of <a href="https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases">test cases</a> which demonstrate various features.</p>
<p>The companion <code>org.apache.sling.jcr.repoinit</code> module implements those operations on an Oak JCR repository, using a <code>SlingRepositoryInitializer</code>
registered by default with a service ranking of 100. It also provides a <code>JcrRepoInitOpsProcessor</code> service to explicitly apply the output
of the repoinit parser to a JCR repository.</p>
-<p>Here's a current example from the test cases mentioned above, that uses all language features as of version 1.0.0 of the parser module. </p>
+<p>Here's a current example from the test cases mentioned above, that uses all language features as of version 1.0.2 of the parser module. </p>
<p>The language is self-explaining but please refer to the actual test cases for details that are guaranteed to be up to date, assuming the tests pass.</p>
<div class="codehilite"><pre><span class="n">create</span> <span class="n">service</span> <span class="n">user</span> <span class="n">user1</span><span class="p">,</span> <span class="n">u</span><span class="o">-</span><span class="n">ser_2</span>
<span class="n">set</span> <span class="n">ACL</span> <span class="n">on</span> <span class="o">/</span><span class="n">libs</span><span class="p">,</span><span class="o">/</span><span class="n">apps</span>
@@ -166,6 +167,24 @@ of the repoinit parser to a JCR reposito
<span class="n">deny</span> <span class="n">jcr</span><span class="p">:</span><span class="n">all</span> <span class="n">on</span> <span class="o">/</span> <span class="n">nodetypes</span> <span class="n">example</span><span class="p">:</span><span class="n">Page</span>
<span class="k">end</span>
+# <span class="n">register</span> <span class="n">namespace</span> <span class="n">requires</span>
+# <span class="n">o</span><span class="p">.</span><span class="n">a</span><span class="p">.</span><span class="n">s</span><span class="p">.</span><span class="n">repoinit</span><span class="p">.</span><span class="n">parser</span> 1<span class="p">.</span>0<span class="p">.</span>4
+# <span class="n">and</span> <span class="n">o</span><span class="p">.</span><span class="n">a</span><span class="p">.</span><span class="n">s</span><span class="p">.</span><span class="n">jcr</span><span class="p">.</span><span class="n">repoinit</span> 1<span class="p">.</span>0<span class="p">.</span>2
+<span class="n">register</span> <span class="n">namespace</span> <span class="p">(</span> <span class="n">NSprefix</span> <span class="p">)</span> <span class="n">uri</span><span class="p">:</span><span class="n">someURI</span><span class="o">/</span><span class="n">v1</span><span class="p">.</span>42
+
+# <span class="n">register</span> <span class="n">nodetypes</span> <span class="n">in</span> <span class="n">CND</span> <span class="n">format</span>
+# <span class="p">(</span><span class="n">same</span> <span class="n">bundle</span> <span class="n">requirements</span> <span class="n">as</span> <span class="n">register</span> <span class="n">namespaces</span><span class="p">)</span>
+# <span class="n">The</span> <span class="n">optional</span> <span class="o"><<</span> <span class="n">markers</span> <span class="n">are</span> <span class="n">used</span> <span class="n">when</span> <span class="n">embedding</span>
+# <span class="n">this</span> <span class="n">in</span> <span class="n">a</span> <span class="n">Sling</span> <span class="n">provisioning</span> <span class="n">model</span><span class="p">,</span> <span class="n">to</span> <span class="n">avoid</span> <span class="n">syntax</span> <span class="n">errors</span>
+<span class="n">register</span> <span class="n">nodetypes</span>
+<span class="o"><<==</span><span class="p">=</span>
+<span class="o"><<</span> <span class="o"><</span><span class="n">slingevent</span><span class="p">=</span><span class="s">'http://sling.apache.org/jcr/event/1.0'</span><span class="o">></span>
+<span class="o"><<</span>
+<span class="o"><<</span> <span class="p">[</span><span class="n">slingevent</span><span class="p">:</span><span class="n">Event</span><span class="p">]</span> <span class="o">></span> <span class="n">nt</span><span class="p">:</span><span class="n">unstructured</span><span class="p">,</span> <span class="n">nt</span><span class="p">:</span><span class="n">hierarchyNode</span>
+<span class="o"><<</span> <span class="o">-</span> <span class="n">slingevent</span><span class="p">:</span><span class="n">topic</span> <span class="p">(</span><span class="n">string</span><span class="p">)</span>
+<span class="o"><<</span> <span class="o">-</span> <span class="n">slingevent</span><span class="p">:</span><span class="k">properties</span> <span class="p">(</span><span class="n">binary</span><span class="p">)</span>
+<span class="o">==</span><span class="p">=</span><span class="o">>></span>
+
<span class="n">create</span> <span class="n">service</span> <span class="n">user</span> <span class="n">the</span><span class="o">-</span><span class="n">last</span><span class="o">-</span><span class="n">one</span>
</pre></div>
@@ -187,7 +206,7 @@ example:</p>
<p>This also requires the <code>org.apache.sling.provisioning.model</code> bundle, version 1.4.2 or later.</p>
<p>All bundles required for this feature need to be active before the <code>SlingRepository</code> service starts.</p>
<div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
- Rev. 1751253 by bdelacretaz on Mon, 4 Jul 2016 11:42:13 +0000
+ Rev. 1754506 by bdelacretaz on Fri, 29 Jul 2016 12:33:42 +0000
</div>
<div class="trademarkFooter">
Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project