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 2015/09/22 12:23:33 UTC

svn commit: r966334 [3/11] - in /websites/staging/sling/trunk/content: ./ documentation/ documentation/bundles/ documentation/bundles/scripting/ documentation/development/ documentation/getting-started/ documentation/legacy/ documentation/the-sling-eng...

Modified: websites/staging/sling/trunk/content/documentation/bundles/models.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/models.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/models.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Sling Models</title>
     <link rel="icon" href="/res/favicon.ico">
     <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
     <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,7 +101,18 @@
       
       
       <h1>Sling Models</h1>
-      <div class="toc">
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<div class="toc">
 <ul>
 <li><a href="#design-goals">Design Goals</a></li>
 <li><a href="#basic-usage">Basic Usage</a></li>
@@ -124,7 +146,7 @@
 </ul>
 </div>
 <p>Many Sling projects want to be able to create model objects - POJOs which are automatically mapped from Sling objects, typically resources, but also request objects. Sometimes these POJOs need OSGi services as well.</p>
-<h1 id="design-goals">Design Goals</h1>
+<h1 id="design-goals">Design Goals<a class="headerlink" href="#design-goals" title="Permanent link">&para;</a></h1>
 <ul>
 <li>Entirely annotation driven. "Pure" POJOs.</li>
 <li>Use standard annotations where possible.</li>
@@ -135,7 +157,7 @@
 <li>Support both classes and interfaces.</li>
 <li>Work with existing Sling infrastructure (i.e. not require changes to other bundles).</li>
 </ul>
-<h1 id="basic-usage">Basic Usage</h1>
+<h1 id="basic-usage">Basic Usage<a class="headerlink" href="#basic-usage" title="Permanent link">&para;</a></h1>
 <p>In the simplest case, the class is annotated with <code>@Model</code> and the adaptable class. Fields which need to be injected are annotated with <code>@Inject</code>:</p>
 <div class="codehilite"><pre><span class="nd">@Model</span><span class="o">(</span><span class="n">adaptables</span><span class="o">=</span><span class="n">Resource</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyModel</span> <span class="o">{</span>
@@ -186,8 +208,8 @@ can be listed in a comma-separated list
 </pre></div>
 
 
-<h1 id="client-code">Client Code</h1>
-<h2 id="adaptto">adaptTo()</h2>
+<h1 id="client-code">Client Code<a class="headerlink" href="#client-code" title="Permanent link">&para;</a></h1>
+<h2 id="adaptto">adaptTo()<a class="headerlink" href="#adaptto" title="Permanent link">&para;</a></h2>
 <p>Client code doesn't need to be aware that Sling Models is being used. It just uses the Sling Adapter framework:</p>
 <div class="codehilite"><pre><span class="n">MyModel</span> <span class="n">model</span> <span class="o">=</span> <span class="n">resource</span><span class="o">.</span><span class="na">adaptTo</span><span class="o">(</span><span class="n">MyModel</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
 </pre></div>
@@ -204,7 +226,7 @@ can be listed in a comma-separated list
 
 
 <p>As with other AdapterFactories, if the adaptation can't be made for any reason, <code>adaptTo()</code> returns null.</p>
-<h2 id="modelfactory-since-120">ModelFactory (since 1.2.0)</h2>
+<h2 id="modelfactory-since-120">ModelFactory (since 1.2.0)<a class="headerlink" href="#modelfactory-since-120" title="Permanent link">&para;</a></h2>
 <p><em>See also  <a href="https://issues.apache.org/jira/browse/SLING-3709">SLING-3709</a></em></p>
 <p>Since Sling Models 1.2.0 there is another way of instantiating models. The OSGi service <code>ModelFactory</code> provides a method for instantiating a model that throws exceptions. This is not allowed by the Javadoc contract of the adaptTo method. That way <code>null</code> checks are not necessary and it is easier to see why instantiation of the model failed.</p>
 <div class="codehilite"><pre><span class="k">try</span> <span class="o">{</span>
@@ -218,8 +240,8 @@ can be listed in a comma-separated list
 
 
 <p>In addition <code>ModelFactory</code> provides methods for checking whether a given class is a model at all (having the model annotation) or whether a class can be adapted from a given adaptable.</p>
-<h1 id="other-options">Other Options</h1>
-<h2 id="names">Names</h2>
+<h1 id="other-options">Other Options<a class="headerlink" href="#other-options" title="Permanent link">&para;</a></h1>
+<h2 id="names">Names<a class="headerlink" href="#names" title="Permanent link">&para;</a></h2>
 <p>If the field or method name doesn't exactly match the property name, <code>@Named</code> can be used:</p>
 <div class="codehilite"><pre><span class="nd">@Model</span><span class="o">(</span><span class="n">adaptables</span><span class="o">=</span><span class="n">Resource</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyModel</span> <span class="o">{</span>
@@ -230,7 +252,7 @@ can be listed in a comma-separated list
 </pre></div>
 
 
-<h2 id="optional-and-required">Optional and Required</h2>
+<h2 id="optional-and-required">Optional and Required<a class="headerlink" href="#optional-and-required" title="Permanent link">&para;</a></h2>
 <p><code>@Inject</code>ed fields/methods are assumed to be required. To mark them as optional, use <code>@Optional</code>:</p>
 <div class="codehilite"><pre><span class="nd">@Model</span><span class="o">(</span><span class="n">adaptables</span><span class="o">=</span><span class="n">Resource</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyModel</span> <span class="o">{</span>
@@ -255,7 +277,7 @@ strategy by using adding <code>defaultIn
 <p>To still mark some fields/methods as being mandatory while relying on <code>defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL</code> for all other fields, the annotation <code>@Required</code> can be used.</p>
 <p><code>@Optional</code> annotations are only evaluated when using the <code>defaultInjectionStrategy = DefaultInjectionStrategy.REQUIRED</code> (which is the default), <code>@Required</code> annotations only if using <code>defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL</code>.</p>
 <p><em>The <code>defaultInjectionStrategy</code> is currently not considered for fields/methods annotated with Injector-specific annotations (see also <a href="https://issues.apache.org/jira/browse/SLING-4155">SLING-4155</a>)</em></p>
-<h2 id="defaults">Defaults</h2>
+<h2 id="defaults">Defaults<a class="headerlink" href="#defaults" title="Permanent link">&para;</a></h2>
 <p>A default value can be provided (for Strings &amp; primitives):</p>
 <div class="codehilite"><pre><span class="nd">@Model</span><span class="o">(</span><span class="n">adaptables</span><span class="o">=</span><span class="n">Resource</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyModel</span> <span class="o">{</span>
@@ -287,7 +309,7 @@ strategy by using adding <code>defaultIn
 
 
 <p>In this case, the name is not used -- only the class name.</p>
-<h2 id="collections">Collections</h2>
+<h2 id="collections">Collections<a class="headerlink" href="#collections" title="Permanent link">&para;</a></h2>
 <p>Lists and arrays are supported:</p>
 <div class="codehilite"><pre><span class="nd">@Model</span><span class="o">(</span><span class="n">adaptables</span><span class="o">=</span><span class="n">Resource</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyModel</span> <span class="o">{</span>
@@ -320,7 +342,7 @@ strategy by using adding <code>defaultIn
 
 
 <p>In this case, the <code>addresses</code> <code>List</code> will contain <code>address1</code> and <code>address2</code>.</p>
-<h2 id="osgi-service-filters">OSGi Service Filters</h2>
+<h2 id="osgi-service-filters">OSGi Service Filters<a class="headerlink" href="#osgi-service-filters" title="Permanent link">&para;</a></h2>
 <p>OSGi injection can be filtered:</p>
 <div class="codehilite"><pre><span class="nd">@Model</span><span class="o">(</span><span class="n">adaptables</span><span class="o">=</span><span class="n">SlingHttpServletRequest</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyModel</span> <span class="o">{</span>
@@ -339,7 +361,7 @@ strategy by using adding <code>defaultIn
 </pre></div>
 
 
-<h2 id="postconstruct-methods">PostConstruct Methods</h2>
+<h2 id="postconstruct-methods">PostConstruct Methods<a class="headerlink" href="#postconstruct-methods" title="Permanent link">&para;</a></h2>
 <p>The <code>@PostConstruct</code> annotation can be used to add methods which are invoked upon completion of all injections:</p>
 <div class="codehilite"><pre><span class="nd">@Model</span><span class="o">(</span><span class="n">adaptables</span><span class="o">=</span><span class="n">SlingHttpServletRequest</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyModel</span> <span class="o">{</span>
@@ -360,7 +382,7 @@ strategy by using adding <code>defaultIn
 
 
 <p><code>@PostConstruct</code> methods in a super class will be invoked first.</p>
-<h2 id="via">Via</h2>
+<h2 id="via">Via<a class="headerlink" href="#via" title="Permanent link">&para;</a></h2>
 <p>If the injection should be based on a JavaBean property of the adaptable, you can indicate this using the <code>@Via</code> annotation:</p>
 <div class="codehilite"><pre><span class="nd">@Model</span><span class="o">(</span><span class="n">adaptables</span><span class="o">=</span><span class="n">SlingHttpServletRequest</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">interface</span> <span class="nc">MyModel</span> <span class="o">{</span>
@@ -372,7 +394,7 @@ strategy by using adding <code>defaultIn
 </pre></div>
 
 
-<h2 id="source">Source</h2>
+<h2 id="source">Source<a class="headerlink" href="#source" title="Permanent link">&para;</a></h2>
 <p>If there is ambiguity where a given injection could be handled by more than one injector, the <code>@Source</code> annotation can be used to define which injector is responsible:</p>
 <div class="codehilite"><pre><span class="nd">@Model</span><span class="o">(</span><span class="n">adaptables</span><span class="o">=</span><span class="n">SlingHttpServletRequest</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">interface</span> <span class="nc">MyModel</span> <span class="o">{</span>
@@ -384,7 +406,7 @@ strategy by using adding <code>defaultIn
 </pre></div>
 
 
-<h2 id="adaptations">Adaptations</h2>
+<h2 id="adaptations">Adaptations<a class="headerlink" href="#adaptations" title="Permanent link">&para;</a></h2>
 <p>If the injected object does not match the desired type and the object implements the <code>Adaptable</code> interface, Sling Models will try to adapt it. This provides the ability to create rich object graphs. For example:</p>
 <div class="codehilite"><pre><span class="nd">@Model</span><span class="o">(</span><span class="n">adaptables</span><span class="o">=</span><span class="n">Resource</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
 <span class="kd">public</span> <span class="kd">interface</span> <span class="nc">MyModel</span> <span class="o">{</span>
@@ -419,10 +441,10 @@ strategy by using adding <code>defaultIn
 </pre></div>
 
 
-<h2 id="sling-validation-since-120">Sling Validation (since 1.2.0)</h2>
+<h2 id="sling-validation-since-120">Sling Validation (since 1.2.0)<a class="headerlink" href="#sling-validation-since-120" title="Permanent link">&para;</a></h2>
 <p><a name="validation"><em>See also <a href="https://issues.apache.org/jira/browse/SLING-4161">SLING-4161</a></em></a></p>
 <p>You can use the attribute <code>validation</code> on the Model annotation to enable validation of the resource being used by the Sling model through <a href="/documentation/bundles/validation.html">Sling Validation</a>. That field supports three different values:</p>
-<table>
+<table class="table">
 <thead>
 <tr>
 <th>Value</th>
@@ -458,10 +480,10 @@ strategy by using adding <code>defaultIn
 </table>
 <p>In case the model is not instantiated an appropriate error message is logged (if <code>adaptTo()</code> is used) or an appropriate exception is thrown (if <code>ModelFactory.createModel()</code> is used).
 Validation is only supported on models which are adapted from a <code>Resource</code> and if the Sling Validation Bundle is deployed.</p>
-<h1 id="custom-injectors">Custom Injectors</h1>
+<h1 id="custom-injectors">Custom Injectors<a class="headerlink" href="#custom-injectors" title="Permanent link">&para;</a></h1>
 <p>To create a custom injector, simply implement the <code>org.apache.sling.models.spi.Injector</code> interface and register your implementation with the OSGi service registry. Please refer to the standard injectors in <a href="http://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/injectors/">Subversion</a> for examples.</p>
 <p>Injectors are invoked in order of their service ranking, from lowest to highest. See the table below for the rankings of the standard injectors.</p>
-<h1 id="annotation-reference">Annotation Reference</h1>
+<h1 id="annotation-reference">Annotation Reference<a class="headerlink" href="#annotation-reference" title="Permanent link">&para;</a></h1>
 <dl>
 <dt><code>@Model</code></dt>
 <dd>declares a model class or interface</dd>
@@ -482,8 +504,8 @@ Validation is only supported on models w
 <dt><code>@Default</code></dt>
 <dd>set default values for a field or method</dd>
 </dl>
-<h1 id="available-injectors">Available Injectors</h1>
-<table>
+<h1 id="available-injectors">Available Injectors<a class="headerlink" href="#available-injectors" title="Permanent link">&para;</a></h1>
+<table class="table">
 <thead>
 <tr>
 <th>Title</th>
@@ -588,7 +610,7 @@ Validation is only supported on models w
 </tr>
 </tbody>
 </table>
-<h1 id="injector-specific-annotations-since-sling-models-impl-106">Injector-specific Annotations (Since Sling Models Impl 1.0.6)</h1>
+<h1 id="injector-specific-annotations-since-sling-models-impl-106">Injector-specific Annotations (Since Sling Models Impl 1.0.6)<a class="headerlink" href="#injector-specific-annotations-since-sling-models-impl-106" title="Permanent link">&para;</a></h1>
 <p><em>See also  <a href="https://issues.apache.org/jira/browse/SLING-3499">SLING-3499</a></em></p>
 <p>Sometimes it is desirable to use customized annotations which aggregate the standard annotations described above. This will generally have
 the following advantages over using the standard annotations:</p>
@@ -598,7 +620,7 @@ the following advantages over using the
 <li>Better IDE support (because the annotations provide elements for each configuration which is available for that specific injector, i.e. <code>filter</code> only for OSGi services)</li>
 </ul>
 <p>The follow annotations are provided which are tied to specific injectors:</p>
-<table>
+<table class="table">
 <thead>
 <tr>
 <th>Annotation</th>
@@ -649,14 +671,14 @@ the following advantages over using the
 </tr>
 </tbody>
 </table>
-<h2 id="hints">Hints</h2>
+<h2 id="hints">Hints<a class="headerlink" href="#hints" title="Permanent link">&para;</a></h2>
 <p>Those annotations replace <code>@Via</code>, <code>@Filter</code>, <code>@Named</code>, <code>@Optional</code>, <code>@Required</code>, <code>@Source</code> and <code>@Inject</code>.
 <code>@Default</code> may still be used in addition to the injector-specific annotation to set default values. All elements given above are optional.</p>
-<h2 id="custom-annotations">Custom Annotations</h2>
+<h2 id="custom-annotations">Custom Annotations<a class="headerlink" href="#custom-annotations" title="Permanent link">&para;</a></h2>
 <p>To create a custom annotation, implement the <code>org.apache.sling.models.spi.injectorspecific.StaticInjectAnnotationProcessorFactory</code> interface.
 This interface may be implemented by the same class as implements an injector, but this is not strictly necessary. Please refer to the
 injectors in <a href="http://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/injectors/">Subversion</a> for examples.</p>
-<h1 id="specifying-an-alternate-adapter-class-since-sling-models-110">Specifying an Alternate Adapter Class (Since Sling Models 1.1.0)</h1>
+<h1 id="specifying-an-alternate-adapter-class-since-sling-models-110">Specifying an Alternate Adapter Class (Since Sling Models 1.1.0)<a class="headerlink" href="#specifying-an-alternate-adapter-class-since-sling-models-110" title="Permanent link">&para;</a></h1>
 <p>By default, each model class is registered using its own implementation class as adapter. If the class has additional interfaces this is not relevant.</p>
 <p>The <code>@Model</code> annotations provides an optional <code>adapters</code> attribute which allows specifying under which type(s) the model
 implementation should be registered in the Models Adapter Factory. With this property it is possible to register the model

Modified: websites/staging/sling/trunk/content/documentation/bundles/nosql-resource-providers.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/nosql-resource-providers.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/nosql-resource-providers.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - NoSQL Resource Providers (org.apache.sling.nosql)</title>
     <link rel="icon" href="/res/favicon.ico">
     <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
     <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">

Modified: websites/staging/sling/trunk/content/documentation/bundles/org-apache-sling-junit-bundles.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/org-apache-sling-junit-bundles.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/org-apache-sling-junit-bundles.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - JUnit server-side testing support bundles</title>
     <link rel="icon" href="/res/favicon.ico">
     <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
     <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">

Modified: websites/staging/sling/trunk/content/documentation/bundles/osgi-installer.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/osgi-installer.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/osgi-installer.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - OSGi Installer</title>
     <link rel="icon" href="/res/favicon.ico">
     <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
     <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,23 +101,34 @@
       
       
       <h1>OSGi Installer</h1>
-      <h1 id="overview">Overview</h1>
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="overview">Overview<a class="headerlink" href="#overview" title="Permanent link">&para;</a></h1>
 <p>The OSGi installer is a central service for handling installs, updates and uninstall of "artifacts". By default, the installer supports bundles and has an extension for handling configurations for the OSGi configuration admin.</p>
 <p><img alt="Apache Sling OSGI Installer Diagram" src="/documentation/bundles/Slide14.jpg" /></p>
 <p>The OSGi installer itself is "just" the central service managing the tasks and states of the artifacts. The artifacts can be provided through various providers, e.g. through a file system provider reading artifacts from configured directories or the jcr provider reading artifacts from a JCR repository.</p>
 <p>A provider is just scanning for artifacts and their removal. It informs the OSGi installer about new artifacts and removed artifacts. The provider itself has usually no knowledge about the contents of an artifact. It does not know about bundles, configurations etc.</p>
 <p>As the OSGi installer itself is not performing the actual install, update or removal of an artifact, its possible to install transformers and installer factories. A transformer inspects the artifacts and tries to detect its type. By default, detecting of bundles and configurations is supported. The final service is an installer factory creating the actual task, like install this bundle, update that bundle etc.</p>
 <p>It's possible to add own providers, transformers and installer factories to support custom scenarios.</p>
-<h2 id="api">API</h2>
+<h2 id="api">API<a class="headerlink" href="#api" title="Permanent link">&para;</a></h2>
 <p>The installer API is defined by the <code>org.apache.sling.installer.api</code> package 
 of the <a href="http://svn.apache.org/repos/asf/sling/trunk/installer/core/">org.apache.sling.installer.core</a> module. The main
 interface is the <code>OsgiInstaller</code> with which installable resources can be registered.</p>
 <p>The [installer integration tests][1] module can be useful to understand the details of how the installer works.</p>
-<h2 id="artifact-handling">Artifact Handling</h2>
+<h2 id="artifact-handling">Artifact Handling<a class="headerlink" href="#artifact-handling" title="Permanent link">&para;</a></h2>
 <p>Once an artifact is detected by a transformer, it gets a unique id. By default a bundle gets the symbolic name as the unique identifier and a configuration the PID.
 In addition to this id, an artifact gets a priority information from the provider. The priority is used if an artifact with the same id is provided several times from different locations. For example if a file system provider is scanning two directories and an artifact with the same id (like a configuration) is added to both directories, one should have precedence over the other. This is handled by the priority.</p>
 <p>Artifacts with the same unique id are grouped and then sorted by priority and maybe other artifact dependent metadata like the bundle version. Only the first artifact in this sorted group is tried to be applied!</p>
-<h2 id="bundle-handling">Bundle Handling</h2>
+<h2 id="bundle-handling">Bundle Handling<a class="headerlink" href="#bundle-handling" title="Permanent link">&para;</a></h2>
 <p>In general, the OSGi installer always tries to install the highest version of a bundle if several bundles with the same symbolic name are provided. In this case higher version wins over priority.
 If an installed bundle is removed by a provider, for example deleted in the repository, the OSGi installer uninstall the bundle.
 If a bundle is removed from a provider which is currently not installed, this has no effect at all.
@@ -115,10 +137,10 @@ If a bundle is installed and a higher ve
 If an installed bundle is managed via any other OSGi tooling, like uninstalling it through the web console, the OSGi installer does no action at all!</p>
 <p>If a failure occurs during bundle installation or update, the OSGi installer will retry this as soon as another bundle has been installed. The common use case is an application installation with several bundles where one bundle depends on another. As they are installed in arbitrary order, this mechanism ensures that in the end all bundles are properly wired and installed.</p>
 <p>When all artifacts have been processed (either install, update or delete), a package refresh is automatically called.</p>
-<h3 id="versions-and-snapshots">Versions and Snapshots</h3>
+<h3 id="versions-and-snapshots">Versions and Snapshots<a class="headerlink" href="#versions-and-snapshots" title="Permanent link">&para;</a></h3>
 <p>The OSGi installer asumes that a symbolic name and version (not a snapshot version) uniquely identifies a bundle. Obviously this is a common development requirement that a released version of an artifact never changes over time. Therefore, once a bundle with a specific version is installed, it will not be reinstalled if the corresponding artifact changes. For example, if  bundle A with version 1.0 is put into the JCR repository, it gets installed. If now this jar in the repository is overwritten either with the same contents or with a different one, and this new artifact has again A as the symbolic name and version set to 1.0, nothing will happen as this exact bundle is already installed.</p>
 <p>During development, SNAPSHOT versions should be used, like 1.0.0-SNAPSHOT (using the Maven convention). If a bundle with a snapshot version is changed, it gets updated by the OSGI installer.</p>
-<h2 id="start-level-handling">Start Level Handling</h2>
+<h2 id="start-level-handling">Start Level Handling<a class="headerlink" href="#start-level-handling" title="Permanent link">&para;</a></h2>
 <p>The OSGi installer supports handling of start levels for bundles. If the provided bundle artifacts contain a start level information the bundle is installed with that start level, otherwise the default start level is used.
 Therefore, for initial provisioning to make use of start levels, the OSGi installer and the corresponding provider (see below) should run at a very low start level, probably at 1. This ensure that the bundles with a start level are started with respect to the start level.</p>
 <p>When an update of bundles is performed through the installer, by default the installer stays in the current start level and updates the bundles. However, if bundles at low start levels are affected, this might result in a lot of churn going on. Therefore, the OSGi installer can be configured to use a more intelligent start level handling:</p>
@@ -129,14 +151,14 @@ Therefore, for initial provisioning to m
 <li>the bundles are updated/installed</li>
 <li>the start level is increased to the previous level</li>
 </ul>
-<h2 id="plugins">Plugins</h2>
-<h3 id="factories">Factories</h3>
+<h2 id="plugins">Plugins<a class="headerlink" href="#plugins" title="Permanent link">&para;</a></h2>
+<h3 id="factories">Factories<a class="headerlink" href="#factories" title="Permanent link">&para;</a></h3>
 <p>An installer factory provides support for a specific artifact type, like a configuration or a deployment package etc.</p>
 <ul>
 <li><a href="/documentation/bundles/configuration-installer-factory.html">Configuration Installer Factory</a></li>
 <li><a href="/documentation/bundles/subsystem-installer-factory.html">Subsystem Installer Factory</a></li>
 </ul>
-<h3 id="providers">Providers</h3>
+<h3 id="providers">Providers<a class="headerlink" href="#providers" title="Permanent link">&para;</a></h3>
 <p>A provider provides artifacts, e.g. by scanning a directory or a database etc.</p>
 <ul>
 <li><a href="/documentation/bundles/file-installer-provider.html">File Installer Provider</a></li>

Modified: websites/staging/sling/trunk/content/documentation/bundles/output-rewriting-pipelines-org-apache-sling-rewriter.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/output-rewriting-pipelines-org-apache-sling-rewriter.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/output-rewriting-pipelines-org-apache-sling-rewriter.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Output Rewriting Pipelines (org.apache.sling.rewriter)</title>
     <link rel="icon" href="/res/favicon.ico">
     <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
     <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">

Modified: websites/staging/sling/trunk/content/documentation/bundles/rendering-content-default-get-servlets.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/rendering-content-default-get-servlets.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/rendering-content-default-get-servlets.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Rendering Content - Default GET Servlets</title>
     <link rel="icon" href="/res/favicon.ico">
     <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
     <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,7 +101,18 @@
       
       
       <h1>Rendering Content - Default GET Servlets</h1>
-      <div class="toc">
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<div class="toc">
 <ul>
 <li><a href="#default-get-and-head-servlets">Default GET and HEAD servlets</a></li>
 <li><a href="#default-renderings">Default renderings</a><ul>
@@ -109,7 +131,7 @@ Not all features of the <b>org.apache.sl
 page needs more work.
 </div>
 
-<h1 id="default-get-and-head-servlets">Default GET and HEAD servlets</h1>
+<h1 id="default-get-and-head-servlets">Default GET and HEAD servlets<a class="headerlink" href="#default-get-and-head-servlets" title="Permanent link">&para;</a></h1>
 <p>Sling provides a number of default GET and HEAD servlets, in the <code>org.apache.sling.servlets.get</code> bundle.</p>
 <p>This provides useful functionality out of the box: JSON rendering of content for example, usually does
 not require custom code.</p>
@@ -118,8 +140,8 @@ not require custom code.</p>
 <code>/system/console/configMgr/org.apache.sling.servlets.get.DefaultGetServlet</code> on a standard Sling setup,
 and should be self-explaining. One common use is to disable some of the default renderings listed below,
 as they might not be useful or desired on production systems. </p>
-<h1 id="default-renderings">Default renderings</h1>
-<h2 id="default-json-rendering">Default JSON rendering</h2>
+<h1 id="default-renderings">Default renderings<a class="headerlink" href="#default-renderings" title="Permanent link">&para;</a></h1>
+<h2 id="default-json-rendering">Default JSON rendering<a class="headerlink" href="#default-json-rendering" title="Permanent link">&para;</a></h2>
 <p>Adding a .json extension to a request triggers the default Sling GET servlet in JSON mode, unless a 
 more specific servlet or script is provided for the current resource.</p>
 <p>This servlet currently supports the following selectors:</p>
@@ -129,24 +151,24 @@ more specific servlet or script is provi
 <li>A numeric value or <code>.infinity</code> as the last selector selects the desired recursion level </li>
 </ul>
 <p>Note that the number of elements is limited by a configurable value, see the <code>DefaultGetServlet</code> configuration for more info.</p>
-<h2 id="default-html-rendering">Default HTML rendering</h2>
+<h2 id="default-html-rendering">Default HTML rendering<a class="headerlink" href="#default-html-rendering" title="Permanent link">&para;</a></h2>
 <p>In a similar way, adding a <code>.html</code> extension to a request triggers the default Sling GET servlet in HTML
 mode. That rendering just dumps the current node values in a readable way, but it's only really useful
 for troubleshooting.</p>
-<h2 id="default-text-rendering">Default text rendering</h2>
+<h2 id="default-text-rendering">Default text rendering<a class="headerlink" href="#default-text-rendering" title="Permanent link">&para;</a></h2>
 <p>A basic text rendering is also provided if the request has a <code>.txt</code> extension, unless more specific servlets
 or scripts are provided.</p>
-<h2 id="default-xml-rendering">Default XML rendering</h2>
+<h2 id="default-xml-rendering">Default XML rendering<a class="headerlink" href="#default-xml-rendering" title="Permanent link">&para;</a></h2>
 <p>Adding a <code>.xml</code> extension triggers the default XML rendering, once again unless a more specific script or
 servlet is registered for the current resource.</p>
 <p>That XML rendering currently uses the JCR "document view" export functionality directly, so it only supports
 rendering resources that are backed by JCR nodes.</p>
-<h2 id="redirectservlet">RedirectServlet</h2>
+<h2 id="redirectservlet">RedirectServlet<a class="headerlink" href="#redirectservlet" title="Permanent link">&para;</a></h2>
 <p>The <code>RedirectServlet</code> handles the <code>sling:redirect</code> resource type, using the <code>sling:target</code> property of the
 resource to define the redirect target, and the <code>sling:status</code> property to define the HTTP status to use (default is 302).</p>
 <p>This is not to be confused with the <code>sling:redirect</code> property used under <code>/etc/map</code>, which is described in 
 <a href="/documentation/the-sling-engine/mappings-for-resource-resolution.html">Mappings for Resource Resolution</a></p>
-<h2 id="slinginfoservlet">SlingInfoServlet</h2>
+<h2 id="slinginfoservlet">SlingInfoServlet<a class="headerlink" href="#slinginfoservlet" title="Permanent link">&para;</a></h2>
 <p>The <code>SlingInfoServlet</code> provides info on the current JCR session, for requests that map to JCR nodes.</p>
 <p>It is available at <code>/system/sling/info.sessionInfo</code> by default, and supports <code>.json</code> and <code>.txt</code> extensions. </p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">

Modified: websites/staging/sling/trunk/content/documentation/bundles/request-analysis.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/request-analysis.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/request-analysis.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Request Processing Analyzer (reqanalyzer)</title>
     <link rel="icon" href="/res/favicon.ico">
     <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
     <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,14 +101,25 @@
       
       
       <h1>Request Processing Analyzer (reqanalyzer)</h1>
-      <div class="toc">
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<div class="toc">
 <ul>
 <li><a href="#introduction">Introduction</a></li>
 <li><a href="#web-console-integration">Web Console Integration</a></li>
 <li><a href="#analyzing-the-requesttrackertxt-file">Analyzing the requesttracker.txt file</a></li>
 </ul>
 </div>
-<h2 id="introduction">Introduction</h2>
+<h2 id="introduction">Introduction<a class="headerlink" href="#introduction" title="Permanent link">&para;</a></h2>
 <p>Sling provides a helpful functionality to track progress of requests
 being processed: The <a href="http://sling.apache.org/apidocs/sling6/org/apache/sling/api/request/RequestProgressTracker.html">RequestProgressTracker</a> which is available through the <a href="http://sling.apache.org/apidocs/sling6/org/apache/sling/api/SlingHttpServletRequest.html#getRequestProgressTracker%28%29">SlingHttpServletRequest</a>.</p>
 <p>This tool provides mechanims to record states of request processing and a simple mechanism to time periods of processing. By default Sling itself uses this tool to track progress through Sling like script resolution and calling scripts.</p>
@@ -113,7 +135,7 @@ being processed: The <a href="http://sli
 <li>Response Status</li>
 </ul>
 <p>After that first line the complete data from the requests <code>RequestProgressTracker</code> is dumped.</p>
-<h2 id="web-console-integration">Web Console Integration</h2>
+<h2 id="web-console-integration">Web Console Integration<a class="headerlink" href="#web-console-integration" title="Permanent link">&para;</a></h2>
 <p>The Request Processing Analyzer is available through the Web Console in the <em>Sling</em> category to</p>
 <ul>
 <li>Download the <code>requesttracker.txt</code> file as a plain text or ZIP-ed file</li>
@@ -122,7 +144,7 @@ being processed: The <a href="http://sli
 <p>The option to launch the Swing-based GUI is only available if the Sling application
 is not running in headless mode and if the Web Console is accessed on <em>localhost</em>,
 that is on the same host as the Sling instance is running.</p>
-<h2 id="analyzing-the-requesttrackertxt-file">Analyzing the <code>requesttracker.txt</code> file</h2>
+<h2 id="analyzing-the-requesttrackertxt-file">Analyzing the <code>requesttracker.txt</code> file<a class="headerlink" href="#analyzing-the-requesttrackertxt-file" title="Permanent link">&para;</a></h2>
 <p>To analyze the <code>requesttracker.txt</code> file the <em>Request Processing Analyzer</em> module can also be used as a standalone Java application. Just start the module using the <code>java</code> command:</p>
 <div class="codehilite"><pre>$ <span class="n">java</span> <span class="o">-</span><span class="n">jar</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">sling</span><span class="p">.</span><span class="n">reqanalyzer</span><span class="o">-</span>0<span class="p">.</span>0<span class="p">.</span>1<span class="o">-</span><span class="n">SNAPSHOT</span><span class="p">.</span><span class="n">jar</span> <span class="n">requesttracker</span><span class="p">.</span><span class="n">txt</span>
 </pre></div>

Modified: websites/staging/sling/trunk/content/documentation/bundles/resource-access-security.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/resource-access-security.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/resource-access-security.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Resource Access Security</title>
     <link rel="icon" href="/res/favicon.ico">
     <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
     <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,18 +101,29 @@
       
       
       <h1>Resource Access Security</h1>
-      <h2 id="summary">Summary</h2>
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h2 id="summary">Summary<a class="headerlink" href="#summary" title="Permanent link">&para;</a></h2>
 <p>The ResourceAccessSecurity service allows it to restrict access to resources. The access can be granted or denied for read, create, update and delete actions.</p>
 <p>The ResourceAccessSecurity defines a service API which is used in two different context: for securing resource providers which have no own access control and on the application level to further restrict the access to resources in general. </p>
 <p>A resource access security service is registered with the service property “context”. Allowed values are “application” and “provider”. If the value is missing or invalid, the service will be ignored. </p>
 <p>In the context of resource providers, this service might be used for implementations of resource providers where the underlying persistence layer does not implement access control. The goal is to make it easy to implement a lightweight access control for such providers. For example, a JCR resource providers should not use the provider context resource access security - in a JCR context, security is fully delegated to the underlying repository, and mixing security models would be a bad idea. </p>
 <p>In the context of the application, this service might be used to add additional or temporary constraints across the whole resource tree. </p>
-<h2 id="how-to-use-resourceaccesssecurity">How to use ResourceAccessSecurity</h2>
+<h2 id="how-to-use-resourceaccesssecurity">How to use ResourceAccessSecurity<a class="headerlink" href="#how-to-use-resourceaccesssecurity" title="Permanent link">&para;</a></h2>
 <p>To use the ResourceAccessSecurity service you don’t have to implement the interface ResourceAccessSecurity. Simply add the resourceaccesssecurity bundle to your sling instance. This adds an implementation of the ResourceAccessSecurity service for the provider context (“provider”) and also the application context (“application”).</p>
 <p>Furthermore the implementation of ResourceAccessSecurity defines a service provider interface named ResourceAccessGate. This is the service interface which you can implement and register to control the access to the resources.</p>
 <p>The ResourceAccessGate defines a service API which can be used to make some restrictions to accessing resources. Implementations of this service interface must be registered like ResourceProvider with a path (like provider.roots but with the property name “path”). If different ResourceAccessGate services match a path, not only the ResourceAccessGate with the longest path will be called, but all of them, that's in contrast to the ResourceProvider, but in this case more logical (and secure!). The access gates also must be registered with a context (“application” or “provider”), without a given context, the service will be ignored by ResourceAccessSecurity. The gates will be called in the order of the service ranking. If one of the gates grants access for a given operation access will be granted. An exception are the gates which are registered for “finaloperations”. If such a gate denies resource access no further gate will be asked and access
  denied (except a gate with higher service ranking has granted access).</p>
-<h3 id="service-properties">Service properties</h3>
-<table>
+<h3 id="service-properties">Service properties<a class="headerlink" href="#service-properties" title="Permanent link">&para;</a></h3>
+<table class="table">
 <thead>
 <tr>
 <th>Property name</th>
@@ -127,7 +149,7 @@
 </tr>
 </tbody>
 </table>
-<h3 id="how-to-implement-resourceaccessgate">How to implement ResourceAccessGate</h3>
+<h3 id="how-to-implement-resourceaccessgate">How to implement ResourceAccessGate<a class="headerlink" href="#how-to-implement-resourceaccessgate" title="Permanent link">&para;</a></h3>
 <p>The implementation is straightforward. The easiest way is to extend <code>AllowingResourceAccessGate</code> which is exported by the resourceaccesssecurity bundle and does not deny any access. So if you wan’t restrict access on resources for read operations you have to implement to following two methods:</p>
 <div class="codehilite"><pre><span class="nd">@Override</span>
 <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">hasReadRestrictions</span><span class="o">(</span><span class="kd">final</span> <span class="n">ResourceResolver</span> <span class="n">resourceResolver</span><span class="o">)</span> <span class="o">{</span>
@@ -151,7 +173,7 @@
 
 <p>And you have to register the ResourceAccessGate with the path where you wan’t to restrict access and the operation property set to “read”. Furthermore you have to decide if the ResourceAccessGate should operate on all resource providers (context=”application”) or only on the resourceproviders flagged with the property useResourceAccessSecurity=true (context=”provider”).</p>
 <p>Tip: We do not recommend to mix up application and provider context in the same application. This can lead to confusing configurations in the ResourceAccessGate implementations.</p>
-<h3 id="gateresult">GateResult</h3>
+<h3 id="gateresult">GateResult<a class="headerlink" href="#gateresult" title="Permanent link">&para;</a></h3>
 <p>GateResult does have three states:</p>
 <ul>
 <li>GateResult.GRANTED</li>
@@ -159,7 +181,7 @@
 <li>GateResult.CANT_DECIDE</li>
 </ul>
 <p>The first two of them are self-explanatory. CANT_DECIDE means that the actual gate neither can grant nor deny the access. If no other gate does return GRANTED or DENIED the access to the resource will be denied for security reasons. CANT-DECIDE comes handy if you declare finaloperations (where no other gate will be called after this gate). If such a gate returns CANT_DECIDE, further gates will be called regardless of the setted finaloperations property.</p>
-<h2 id="actual-state-of-resourceaccesssecurity">Actual state of ResourceAccessSecurity</h2>
+<h2 id="actual-state-of-resourceaccesssecurity">Actual state of ResourceAccessSecurity<a class="headerlink" href="#actual-state-of-resourceaccesssecurity" title="Permanent link">&para;</a></h2>
 <p>By now the implementation is complete for securing access on resource level for CRUD operations. It is not yet ready to allow fine granular access rights on values of a resource. So at the moment the <code>canReadValue, canUpdateValue, canDeleteValue</code> and <code>canCreateValue</code> on <code>ResourceAccessGate</code> methods are ignored.</p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
         Rev. 1624826 by mykee on Sun, 14 Sep 2014 10:12:42 +0000

Modified: websites/staging/sling/trunk/content/documentation/bundles/resource-editor.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/resource-editor.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/resource-editor.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - The Apache Sling Resource Editor</title>
     <link rel="icon" href="/res/favicon.ico">
     <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
     <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,8 +101,19 @@
       
       
       <h1>The Apache Sling Resource Editor</h1>
-      <p><img alt="alt text" src="http://sling.apache.org/documentation/bundles/resource-editor-screenshot.png" /></p>
-<h1 id="features">Features</h1>
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><img alt="alt text" src="http://sling.apache.org/documentation/bundles/resource-editor-screenshot.png" /></p>
+<h1 id="features">Features<a class="headerlink" href="#features" title="Permanent link">&para;</a></h1>
 <p>Currently it allows to display the node properties and edit nodes.</p>
 <ul>
 <li>Node editing includes adding, renaming and deleting nodes. </li>
@@ -100,9 +122,9 @@
 <li>The add node dialog provides you with the allowed node name / node type / resource type options and its combinations to prevent errors soon. Click on the info icon in the dialog to discover more.</li>
 <li>The nodes are bookmarkable.</li>
 </ul>
-<h1 id="status">Status</h1>
+<h1 id="status">Status<a class="headerlink" href="#status" title="Permanent link">&para;</a></h1>
 <p>The features for the node tree are finished so far. Now the work on making properties editable begins.</p>
-<h1 id="installation">Installation</h1>
+<h1 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h1>
 <ol>
 <li>Follow the <a href="http://sling.apache.org/documentation/development/getting-and-building-sling.html">instructions for Getting and Building Sling</a>.</li>
 <li>The <code>contrib/explorers/resourceeditor/README</code> file in SVN tells you how to install the Resource Editor.</li>

Modified: websites/staging/sling/trunk/content/documentation/bundles/scheduler-service-commons-scheduler.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/scheduler-service-commons-scheduler.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/scheduler-service-commons-scheduler.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Scheduler Service (commons scheduler)</title>
     <link rel="icon" href="/res/favicon.ico">
     <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
     <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,14 +101,25 @@
       
       
       <h1>Scheduler Service (commons scheduler)</h1>
-      <p>The scheduler is a service for scheduling other services/jobs (it uses the open source Quartz library). The scheduler can be used in two ways, by registering the job through the scheduler API and by leveraging the whiteboard pattern that is supported by the scheduler. In most cases the whiteboard pattern is preferred</p>
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p>The scheduler is a service for scheduling other services/jobs (it uses the open source Quartz library). The scheduler can be used in two ways, by registering the job through the scheduler API and by leveraging the whiteboard pattern that is supported by the scheduler. In most cases the whiteboard pattern is preferred</p>
 <div class="note">
 The notion of Job used in this context is a different one than the one used for <a href="/documentation/bundles/apache-sling-eventing-and-job-handling.html">Sling Jobs</a>. The main difference is that a scheduler's job is not persisted.
 </div>
 
-<h2 id="examples-of-jobs-that-are-scheduled-by-leveraging-the-whiteboard-pattern">Examples of jobs that are scheduled by leveraging the whiteboard pattern</h2>
+<h2 id="examples-of-jobs-that-are-scheduled-by-leveraging-the-whiteboard-pattern">Examples of jobs that are scheduled by leveraging the whiteboard pattern<a class="headerlink" href="#examples-of-jobs-that-are-scheduled-by-leveraging-the-whiteboard-pattern" title="Permanent link">&para;</a></h2>
 <p>The following examples show you how to define and schedule a job by leveraging the whiteboard pattern.</p>
-<h3 id="scheduling-with-a-cron-expression">Scheduling with a cron expression</h3>
+<h3 id="scheduling-with-a-cron-expression">Scheduling with a cron expression<a class="headerlink" href="#scheduling-with-a-cron-expression" title="Permanent link">&para;</a></h3>
 <p>The following job is executed every minute by setting <em>scheduler.expression</em> to the cron expression <em>"0 * </em> * <em> ?"</em>:</p>
 <div class="codehilite"><pre><span class="n">package</span> <span class="n">sling</span><span class="p">.</span><span class="n">docu</span><span class="p">.</span><span class="n">examples</span><span class="p">;</span>
 
@@ -123,7 +145,7 @@ The notion of Job used in this context i
 </pre></div>
 
 
-<h3 id="scheduling-at-periodic-times">Scheduling at periodic times</h3>
+<h3 id="scheduling-at-periodic-times">Scheduling at periodic times<a class="headerlink" href="#scheduling-at-periodic-times" title="Permanent link">&para;</a></h3>
 <p>The following job is executed every ten seconds by setting <em>scheduler.period</em> to <em>10</em>:</p>
 <div class="codehilite"><pre><span class="n">package</span> <span class="n">sling</span><span class="p">.</span><span class="n">docu</span><span class="p">.</span><span class="n">examples</span><span class="p">;</span>
 
@@ -149,13 +171,13 @@ The notion of Job used in this context i
 </pre></div>
 
 
-<h3 id="preventing-concurrent-execution">Preventing concurrent execution</h3>
+<h3 id="preventing-concurrent-execution">Preventing concurrent execution<a class="headerlink" href="#preventing-concurrent-execution" title="Permanent link">&para;</a></h3>
 <p>By default, jobs can be concurrently executed. To prevent this, set the <em>scheduler.concurrent</em> property to <em>false</em>:</p>
 <div class="codehilite"><pre><span class="p">@</span><span class="n">Property</span><span class="p">(</span><span class="n">name</span><span class="p">=</span>&quot;<span class="n">scheduler</span><span class="p">.</span><span class="n">concurrent</span>&quot;<span class="p">,</span> <span class="n">boolValue</span><span class="p">=</span><span class="n">false</span><span class="p">)</span>
 </pre></div>
 
 
-<h3 id="scheduling-the-job-just-once-in-a-cluster">Scheduling the job just once in a cluster</h3>
+<h3 id="scheduling-the-job-just-once-in-a-cluster">Scheduling the job just once in a cluster<a class="headerlink" href="#scheduling-the-job-just-once-in-a-cluster" title="Permanent link">&para;</a></h3>
 <p>If the same code/same services is executed on multiple nodes within a cluster, the same job might be scheduled on each instance. If this is not desired, the job can either be bound to the leader of the topology or a single instance (which one this is, is not further defined):</p>
 <div class="codehilite"><pre><span class="p">@</span><span class="n">Property</span><span class="p">(</span><span class="n">name</span><span class="p">=</span>&quot;<span class="n">scheduler</span><span class="p">.</span><span class="n">runOn</span>&quot;<span class="p">,</span> <span class="n">value</span><span class="p">=</span>&quot;<span class="n">LEADER</span>&quot;<span class="p">);</span>
 </pre></div>
@@ -167,11 +189,11 @@ The notion of Job used in this context i
 
 
 <p>Since in contrast to <a href="/documentation/bundles/apache-sling-eventing-and-job-handling.html">Sling Jobs</a> the scheduler queue is only held in memory, there will be no distribution of jobs. So if job '1' was scheduled on instance 'a' with the option to run on the leader only, but the leader is instance 'b', which hasn't the job in the queue, the job will never be executed by any instance!</p>
-<h2 id="the-scheduler-api">The Scheduler API</h2>
+<h2 id="the-scheduler-api">The Scheduler API<a class="headerlink" href="#the-scheduler-api" title="Permanent link">&para;</a></h2>
 <p>The scheduler has methods to execute jobs periodically, based on a cron expression or at a given time. For more details please refer to the <a href="http://sling.apache.org/apidocs/sling6/org/apache/sling/commons/scheduler/Scheduler.html">javadocs</a>.</p>
-<h2 id="examples-of-scheduled-jobs-registered-through-the-scheduler-api">Examples of scheduled jobs registered through the scheduler API</h2>
+<h2 id="examples-of-scheduled-jobs-registered-through-the-scheduler-api">Examples of scheduled jobs registered through the scheduler API<a class="headerlink" href="#examples-of-scheduled-jobs-registered-through-the-scheduler-api" title="Permanent link">&para;</a></h2>
 <p>The following examples show you how to define and schedule a job that is registered through the scheduler api.</p>
-<h3 id="defining-the-job">Defining the job</h3>
+<h3 id="defining-the-job">Defining the job<a class="headerlink" href="#defining-the-job" title="Permanent link">&para;</a></h3>
 <p>The following code sample defines a <em>job</em> object that writes a message in the logs:</p>
 <div class="codehilite"><pre><span class="n">final</span> <span class="n">Runnable</span> <span class="n">job</span> <span class="p">=</span> <span class="n">new</span> <span class="n">Runnable</span><span class="p">()</span> <span class="p">{</span>
     <span class="n">public</span> <span class="n">void</span> <span class="n">run</span><span class="p">()</span> <span class="p">{</span>
@@ -181,7 +203,7 @@ The notion of Job used in this context i
 </pre></div>
 
 
-<h3 id="scheduling-with-a-cron-expression_1">Scheduling with a cron expression</h3>
+<h3 id="scheduling-with-a-cron-expression_1">Scheduling with a cron expression<a class="headerlink" href="#scheduling-with-a-cron-expression_1" title="Permanent link">&para;</a></h3>
 <p>To execute the job as defined above at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday, you can use the <em>addJob()</em> method with the following parameters:</p>
 <div class="codehilite"><pre><span class="n">String</span> <span class="n">schedulingExpression</span> <span class="p">=</span> &quot;0 15 10 ? <span class="o">*</span> <span class="n">MON</span><span class="o">-</span><span class="n">FRI</span>&quot;<span class="p">;</span>
 <span class="n">this</span><span class="p">.</span><span class="n">scheduler</span><span class="p">.</span><span class="n">addJob</span><span class="p">(</span>&quot;<span class="n">myJob</span>&quot;<span class="p">,</span> <span class="n">job</span><span class="p">,</span> <span class="n">null</span><span class="p">,</span> <span class="n">schedulingExpression</span><span class="p">,</span> <span class="n">true</span><span class="p">);</span>
@@ -190,14 +212,14 @@ The notion of Job used in this context i
 
 <p>Refer to http://www.docjar.com/docs/api/org/quartz/CronTrigger.html
  to define more scheduling expressions.</p>
-<h3 id="scheduling-at-periodic-times_1">Scheduling at periodic times</h3>
+<h3 id="scheduling-at-periodic-times_1">Scheduling at periodic times<a class="headerlink" href="#scheduling-at-periodic-times_1" title="Permanent link">&para;</a></h3>
 <p>To execute the job as defined above every 3 minutes (180 seconds), you can use the <em>addPeriodicJob()</em> method with the following parameters:</p>
 <div class="codehilite"><pre><span class="n">long</span> <span class="n">period</span> <span class="p">=</span> 3<span class="o">*</span>60<span class="p">;</span> <span class="o">//</span><span class="n">the</span> <span class="n">period</span> <span class="n">is</span> <span class="n">expressed</span> <span class="n">in</span> <span class="n">seconds</span>
 <span class="n">this</span><span class="p">.</span><span class="n">scheduler</span><span class="p">.</span><span class="n">addPeriodicJob</span><span class="p">(</span>&quot;<span class="n">myJob</span>&quot;<span class="p">,</span> <span class="n">job</span><span class="p">,</span> <span class="n">null</span><span class="p">,</span> <span class="n">period</span><span class="p">,</span> <span class="n">true</span><span class="p">);</span>
 </pre></div>
 
 
-<h3 id="scheduling-at-a-given-time">Scheduling at a given time</h3>
+<h3 id="scheduling-at-a-given-time">Scheduling at a given time<a class="headerlink" href="#scheduling-at-a-given-time" title="Permanent link">&para;</a></h3>
 <p>To execute the job as defined above at a specific date (on January 10th 2020), you can use the <em>fireJobAt()</em> method with the following parameters:</p>
 <div class="codehilite"><pre><span class="n">SimpleDateFormat</span> <span class="n">formatter</span> <span class="p">=</span> <span class="n">new</span> <span class="n">SimpleDateFormat</span><span class="p">(</span>&quot;<span class="n">yyyy</span><span class="o">/</span><span class="n">MM</span><span class="o">/</span><span class="n">dd</span>&quot;<span class="p">);</span>
 <span class="n">String</span> <span class="n">date</span> <span class="p">=</span> &quot;2020<span class="o">/</span>01<span class="o">/</span>10&quot;<span class="p">;</span>
@@ -206,7 +228,7 @@ The notion of Job used in this context i
 </pre></div>
 
 
-<h3 id="a-service-scheduling-the-job-based-on-3-different-kinds-of-scheduling">A service scheduling the job based on 3 different kinds of scheduling</h3>
+<h3 id="a-service-scheduling-the-job-based-on-3-different-kinds-of-scheduling">A service scheduling the job based on 3 different kinds of scheduling<a class="headerlink" href="#a-service-scheduling-the-job-based-on-3-different-kinds-of-scheduling" title="Permanent link">&para;</a></h3>
 <p>The code implementing a service that simultaneously executes the job based on 3 different kinds of scheduling can look as follows:</p>
 <div class="codehilite"><pre><span class="n">package</span> <span class="n">sling</span><span class="p">.</span><span class="n">docu</span><span class="p">.</span><span class="n">examples</span><span class="p">;</span>
 

Modified: websites/staging/sling/trunk/content/documentation/bundles/scripting.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/scripting.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/scripting.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Sling Scripting</title>
     <link rel="icon" href="/res/favicon.ico">
     <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
     <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,13 +101,24 @@
       
       
       <h1>Sling Scripting</h1>
-      <div class="toc">
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<div class="toc">
 <ul>
 <li><a href="#sling-scripting-engines">Sling Scripting Engines</a></li>
 </ul>
 </div>
 <p>Sling Scripting allows the easy development and usage of different scripting (also know as templating) engines.</p>
-<h1 id="sling-scripting-engines">Sling Scripting Engines</h1>
+<h1 id="sling-scripting-engines">Sling Scripting Engines<a class="headerlink" href="#sling-scripting-engines" title="Permanent link">&para;</a></h1>
 <ul>
 <li>Freemarker *</li>
 <li>Groovy *</li>

Modified: websites/staging/sling/trunk/content/documentation/bundles/scripting/scripting-thymeleaf.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/scripting/scripting-thymeleaf.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/scripting/scripting-thymeleaf.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Sling Scripting Thymeleaf</title>
     <link rel="icon" href="/res/favicon.ico">
     <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
     <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,7 +101,18 @@
       
       
       <h1>Sling Scripting Thymeleaf</h1>
-      <p>Sling Scripting Thymeleaf is the scripting engine for <a href="http://www.thymeleaf.org"><em>Thymeleaf</em></a> templates.</p>
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p>Sling Scripting Thymeleaf is the scripting engine for <a href="http://www.thymeleaf.org"><em>Thymeleaf</em></a> templates.</p>
 <div class="toc">
 <ul>
 <li><a href="#features">Features</a></li>
@@ -107,7 +129,7 @@
 <li><a href="#sample">Sample</a></li>
 </ul>
 </div>
-<h1 id="features">Features</h1>
+<h1 id="features">Features<a class="headerlink" href="#features" title="Permanent link">&para;</a></h1>
 <ul>
 <li>out of the box support for <em>legacy</em> HTML5 through embedded <em>NekoHTML</em></li>
 <li>runtime configurable <code>TemplateModeHandler</code>s for <em>XML</em>, <em>VALIDXML</em>, <em>XHTML</em>, <em>VALIDXHTML</em>, <em>HTML5</em> and <em>LEGACYHTML5</em></li>
@@ -115,9 +137,9 @@
 <li><code>MessageResolver</code> backed by <code>ResourceBundleProvider</code> from <code>org.apache.sling.i18n</code></li>
 <li><code>SlingDialect</code></li>
 </ul>
-<h1 id="class-diagram">Class Diagram</h1>
+<h1 id="class-diagram">Class Diagram<a class="headerlink" href="#class-diagram" title="Permanent link">&para;</a></h1>
 <p><a href="class-diagram.svg"><img alt="Class Diagram" src="class-diagram.svg" /></a></p>
-<h1 id="installation">Installation</h1>
+<h1 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h1>
 <p>For running Sling Scripting Thymeleaf with Sling's Launchpad some dependencies need to be resolved. This can be achieved by installing the following bundles:</p>
 <div class="codehilite"><pre><span class="n">mvn</span><span class="o">:</span><span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">sling</span><span class="sr">/org.apache.sling.i18n/</span><span class="mf">2.2</span><span class="o">.</span><span class="mi">10</span>
 <span class="n">mvn</span><span class="o">:</span><span class="n">org</span><span class="o">.</span><span class="na">javassist</span><span class="sr">/javassist/</span><span class="mf">3.18</span><span class="o">.</span><span class="mi">2</span><span class="o">-</span><span class="n">GA</span>
@@ -133,19 +155,19 @@
 </pre></div>
 
 
-<h1 id="configuration">Configuration</h1>
+<h1 id="configuration">Configuration<a class="headerlink" href="#configuration" title="Permanent link">&para;</a></h1>
 <p>By default Sling Scripting Thymeleaf's <em>Script Engine Factory</em> is configured for templates with extension <code>html</code> and mime type <code>text/html</code>.</p>
 <p><img alt="Sling Scripting Thymeleaf Script Engine Factory" src="scripting-thymeleaf-script-engine-factory.png" /></p>
 <p>The <em>Non-Caching Template Resolver</em> (the only available template resolver for now) is configured to read templates with encoding <code>UTF-8</code>.</p>
 <p><img alt="Sling Scripting Thymeleaf Non-Caching Template Resolver" src="scripting-thymeleaf-non-caching-template-resolver.png" /></p>
 <p>At least one template mode handler (e.g. <em>HTML5 Template Mode Handler</em>) needs to be configured with a pattern to process templates by Sling Scripting Thymeleaf:</p>
 <p><img alt="Sling Scripting Thymeleaf HTML5 Template Mode Handler" src="scripting-thymeleaf-html5-template-mode-handler.png" /></p>
-<h1 id="sling-dialect">Sling Dialect</h1>
+<h1 id="sling-dialect">Sling Dialect<a class="headerlink" href="#sling-dialect" title="Permanent link">&para;</a></h1>
 <p>Sling Scripting Thymeleaf comes with its own dialect using the <code>sling</code> prefix/namespace currently supporting the <em>include</em> feature known from <a href="/documentation/bundles/sling-scripting-jsp-taglib.html">Sling Scripting JSP Taglib</a>.</p>
-<h2 id="include">include</h2>
+<h2 id="include">include<a class="headerlink" href="#include" title="Permanent link">&para;</a></h2>
 <p><code>&lt;header data-sling-include="${resource}" resourceType="'example/page/header'" unwrap="true"/&gt;</code></p>
 <p><code>include</code> - The resource object (<a href="http://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/Resource.html"><code>Resource</code></a>) or the path (<code>String</code>) to the resource object to include in the current request processing. If this path is relative it is appended to the path of the current resource whose script is including the given resource.</p>
-<h3 id="supported-options-requestdispatcher-option">supported options (* = <a href="http://sling.apache.org/apidocs/sling7/org/apache/sling/api/request/RequestDispatcherOptions.html">RequestDispatcher option</a>)</h3>
+<h3 id="supported-options-requestdispatcher-option">supported options (* = <a href="http://sling.apache.org/apidocs/sling7/org/apache/sling/api/request/RequestDispatcherOptions.html">RequestDispatcher option</a>)<a class="headerlink" href="#supported-options-requestdispatcher-option" title="Permanent link">&para;</a></h3>
 <ul>
 <li><code>addSelectors</code> (<code>String</code>) *: When dispatching, add the value provided by this option to the selectors.</li>
 <li><code>replaceSelectors</code> (<code>String</code>) *: When dispatching, replace selectors by the value provided by this option.</li>
@@ -153,7 +175,7 @@
 <li><code>resourceType</code> (<code>String</code>) *: The resource type of a resource to include. If the resource to be included is specified with the path attribute, which cannot be resolved to a resource, the tag may create a synthetic resource object out of the path and this resource type. If the resource type is set the path must be the exact path to a resource object. That is, adding parameters, selectors and extensions to the path is not supported if the resource type is set.</li>
 <li><code>unwrap</code> (<code>Boolean</code>): removes the host element</li>
 </ul>
-<h1 id="sample">Sample</h1>
+<h1 id="sample">Sample<a class="headerlink" href="#sample" title="Permanent link">&para;</a></h1>
 <p>The <a href="http://svn.apache.org/repos/asf/sling/trunk/samples/fling/">Sling Fling Sample</a> is a sample using Sling Scripting Thymeleaf with <a href="/documentation/bundles/models.html">Sling Models</a> and <a href="/documentation/bundles/sling-query.html">Sling Query</a>.</p>
 <p><img alt="Sling Fling Sample" src="sling-fling-sample.png" /></p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">

Modified: websites/staging/sling/trunk/content/documentation/bundles/sling-health-check-tool.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/sling-health-check-tool.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/sling-health-check-tool.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Sling Health Check Tools</title>
     <link rel="icon" href="/res/favicon.ico">
     <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
     <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">