This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/sling-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 8e62c7d  Automatic website deployment
8e62c7d is described below

commit 8e62c7d2f499ac5987f168e389faa65906e65037
Author: jenkins <[email protected]>
AuthorDate: Wed Mar 20 09:44:05 2019 +0000

    Automatic website deployment
---
 .../bundles/configuration-installer-factory.html   | 67 +++++++++++++++++-----
 documentation/bundles/jcr-installer-provider.html  | 20 +++----
 2 files changed, 63 insertions(+), 24 deletions(-)

diff --git a/documentation/bundles/configuration-installer-factory.html 
b/documentation/bundles/configuration-installer-factory.html
index 74506d0..b3b9c27 100644
--- a/documentation/bundles/configuration-installer-factory.html
+++ b/documentation/bundles/configuration-installer-factory.html
@@ -99,9 +99,15 @@ comment ::= &#39;#&#39; &lt;any&gt;
 ftp.port = 21
 </code></pre>
 <p>In addition the XML format defined by 
[java.util.Property](https://docs.oracle.com/javase/7/docs/api/java/util/Properties.html#loadFromXML(java.io.InputStream))
 is supported if the file starts with the character <code>&lt;</code>.</p>
+<h4><a href="#limitations" name="limitations">Limitations</a></h4>
+<ul>
+  <li>Only String types are supported</li>
+  <li>Only ISO 8859-1 character encoding supported</li>
+  <li>No multi-values</li>
+</ul>
 <h3><a href="#configuration-files-config-" 
name="configuration-files-config-">Configuration Files (.config)</a></h3>
-<p>Configuration files ending in <code>.config</code> use the format of the <a 
href="https://github.com/apache/felix/blob/trunk/configadmin/src/main/java/org/apache/felix/cm/file/ConfigurationHandler.java";>Apache
 Felix ConfigAdmin implementation</a>. It allows to specify the type and 
cardinality of a configuration property and is not limited to string values.</p>
-<p>The first line of such a file might start with a comment line (a line 
starting with a #). Comments within the file are not allowed.</p>
+<p>Configuration files ending in <code>.config</code> use the format of the <a 
href="http://svn.apache.org/viewvc/felix/releases/org.apache.felix.configadmin-1.8.12/src/main/java/org/apache/felix/cm/file/ConfigurationHandler.java?view=markup";>Apache
 Felix ConfigAdmin implementation</a> (in version 1.8.12). This format allows 
to specify the type and cardinality of a configuration property and is not 
limited to string values. It must be stored in UTF-8 encoding.</p>
+<p>The first line of such a file might start with a comment line (a line 
starting with a <code>#</code>). Comments within the file are not allowed.</p>
 <p>The format is:</p>
 <pre><code>file ::= (comment) (header) *
 comment ::= &#39;#&#39; &lt;any&gt;
@@ -110,7 +116,7 @@ prop ::= symbolic-name // 1.4.2 of OSGi Core Specification
 symbolic-name ::= token { &#39;.&#39; token } 
 token ::= { [ 0..9 ] | [ a..z ] | [ A..Z ] | &#39;_&#39; | &#39;-&#39; }
 value ::= [ type ] ( &#39;[&#39; values &#39;]&#39; | &#39;(&#39; values 
&#39;)&#39; | simple ) 
-values ::= simple { &#39;,&#39; simple } 
+values ::= ( simple { &#39;,&#39; simple } | &#39;\&#39; &lt;nl&gt; simple { 
&#39;, \&#39; &lt;nl&gt; simple } &lt;nl&gt; )
 simple ::= &#39;&quot;&#39; stringsimple &#39;&quot;&#39;
 type ::= &lt;1-char type code&gt;
 stringsimple ::= &lt;quoted string representation of the value where both 
&#39;&quot;&#39; and &#39;=&#39; need to be escaped&gt;
@@ -118,25 +124,58 @@ stringsimple ::= &lt;quoted string representation of the 
value where both &#39;&
 <p>The quoted string format is equal to the definition from HTTP 1.1 (<a 
href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html";>RFC2616</a>), 
except that both '"' and '=' need to be escaped.</p>
 <p>The 1 character type code is one of:</p>
 <ul>
-  <li><code>T</code> : simple string</li>
-  <li><code>I</code> : Integer</li>
-  <li><code>L</code> : Long</li>
-  <li><code>F</code> : Float</li>
-  <li><code>D</code> : Double</li>
-  <li><code>X</code> : Byte</li>
-  <li><code>S</code> : Short</li>
-  <li><code>C</code> : Character</li>
-  <li><code>B</code> : Boolean</li>
+  <li><code>T</code> : <code>String</code></li>
+  <li><code>I</code> : <code>Integer</code></li>
+  <li><code>L</code> : <code>Long</code></li>
+  <li><code>F</code> : <code>Float</code></li>
+  <li><code>D</code> : <code>Double</code></li>
+  <li><code>X</code> : <code>Byte</code></li>
+  <li><code>S</code> : <code>Short</code></li>
+  <li><code>C</code> : <code>Character</code></li>
+  <li><code>B</code> : <code>Boolean</code></li>
 </ul>
-<p>For Float and Double types the methods <a 
href="https://docs.oracle.com/javase/7/docs/api/java/lang/Float.html#intBitsToFloat%28int%29";>Float.intBitsToFloat</a>
 and <a 
href="https://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#longBitsToDouble%28long%29";>Double.longBitsToDouble</a>
 are being used to convert the numeric string into the correct type. These 
methods rely on the IEEE 754 floating-point formats described in <a 
href="https://en.wikipedia.org/wiki/Single-precision_ [...]
+<p>or for primitives</p>
+<ul>
+  <li><code>i</code> : <code>int</code></li>
+  <li><code>l</code> : <code>long</code></li>
+  <li><code>f</code> : <code>float</code></li>
+  <li><code>d</code> : <code>double</code></li>
+  <li><code>x</code> : <code>byte</code></li>
+  <li><code>s</code> : <code>short</code></li>
+  <li><code>c</code> : <code>char</code></li>
+  <li><code>b</code> : <code>boolean</code></li>
+</ul>
+<p>For Float and Double types the methods <a 
href="https://docs.oracle.com/javase/7/docs/api/java/lang/Float.html#intBitsToFloat%28int%29";>Float.intBitsToFloat</a>
 and <a 
href="https://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#longBitsToDouble%28long%29";>Double.longBitsToDouble</a>
 are being used to convert the numeric string into the correct type. These 
methods rely on the IEEE-754 floating-point formats described in <a 
href="https://en.wikipedia.org/wiki/Single-precision_ [...]
+<p>Multiple values enclosed by <code>[</code> and <code>]</code> lead to an 
array while those enclosed by <code>(</code> and <code>)</code> lead to a 
<code>Collection</code> in the underlying <code>java.util.Dictionary</code> of 
the <code>org.osgi.service.cm.Configuration</code> and vice-versa.</p>
+<p>Although both objects and primites are supported, in case you use 
single-value entries or collections the deserialization will autobox 
primitives.</p>
 <p>A number of such .config files exist in the Sling codebase and can be used 
as examples.</p>
+<h4><a href="#limitations" name="limitations">Limitations</a></h4>
+<ul>
+  <li>No support for collections containing different types</li>
+  <li>No support for nested multivalues (arrays or Collections)</li>
+  <li>No user-friendly (readable) values for floating points (<a 
href="https://issues.apache.org/jira/browse/SLING-7757";>SLING-7757</a>)</li>
+</ul>
+<h3><a href="#configuration-files-cfg-json-" 
name="configuration-files-cfg-json-">Configuration Files (.cfg.json)</a></h3>
+<p>This is only supported since Installer Configuration Factory 1.2.0 (<a 
href="https://issues.apache.org/jira/browse/SLING-7787";>SLING-7787</a>).</p>
+<p>The exact JSON format is described in the <a 
href="https://osgi.org/specification/osgi.cmpn/7.0.0/service.configurator.html";>OSGi
 R7 Service Configurator Spec</a>.</p>
+<p>The only differences to the spec are outlined below</p>
+<ul>
+  <li><code>:configurator:resource-version</code> may be used, but only 
version 1 is supported</li>
+  <li>other keys starting with <code>:configurator:</code> should not be used 
(in general they are validated but not further evaluated)</li>
+  <li>The PID is given via the file name (the part preceeding the 
<code>.cfg.json</code>) instead of <code>:configurator:symbolic-name</code></li>
+  <li>There is no version support i.e. <code>:configurator:version</code> 
should not be used either</li>
+</ul>
+<h4><a href="#limitations" name="limitations">Limitations</a></h4>
+<ul>
+  <li>None known so far</li>
+</ul>
 <h1><a href="#project-info" name="project-info">Project Info</a></h1>
 <ul>
   <li>Configuration installer factory (<a 
href="https://github.com/apache/sling-org-apache-sling-installer-factory-configuration";>org.apache.sling.installer.factory.configuration</a>)</li>
 </ul></section></div></div>            
             <footer class="footer">
 <div class="revisionInfo">
-                    Last modified by <span class="author">Konrad 
Windszus</span> on <span class="comment">Thu Jun 28 10:33:26 2018 +0200</span>
+                    Last modified by <span class="author">Konrad 
Windszus</span> on <span class="comment">Mon Mar 18 16:08:32 2019 +0100</span>
                 </div>                <p>
                     Apache Sling, Sling, Apache, the Apache feather logo, and 
the Apache Sling project logo are trademarks of The Apache Software Foundation. 
All other marks mentioned may be trademarks or registered trademarks of their 
respective owners.
                 </p><p>
diff --git a/documentation/bundles/jcr-installer-provider.html 
b/documentation/bundles/jcr-installer-provider.html
index 4f78f82..c1e03c7 100644
--- a/documentation/bundles/jcr-installer-provider.html
+++ b/documentation/bundles/jcr-installer-provider.html
@@ -75,19 +75,19 @@
                 JCR Installer Provider
             </h1><div id="generatedToC"></div><script 
src='/res/jquery-3.2.1.min.js' type='text/javascript'></script><script 
src='/res/tocjs-1-1-2.js' type='text/javascript'></script><script 
type='text/javascript'>$(document).ready(function() { 
$('#generatedToC').toc({'selector':'h1[class!=pagetitle],h2,h3'}); } );</script>
 <div class="row"><div class="small-12 columns"><section class="wrap"><p>The 
JCR installer provider scans the JCR repository for artifacts and provides them 
to the <a href="/documentation/bundles/osgi-installer.html">OSGI 
installer</a>.</p>
-<h2><a href="#configuration-and-scanning" 
name="configuration-and-scanning">Configuration and Scanning</a></h2>
-<p>The JCR installer provider can be configured with weighted paths which are 
scanned. By default, the installer scans in <em>/apps</em> and <em>/libs</em> 
where artifacts found in <em>/apps</em> get a higher priority. The installer 
does a deep scan and uses a regular expression to detect folders containing 
artifacts to be installed. By default, artifacts from within a folder named 
<em>install</em> are provided to the OSGi installer.</p>
+<h1><a href="#configuration-and-scanning" 
name="configuration-and-scanning">Configuration and Scanning</a></h1>
+<p>The JCR installer provider can be configured with weighted paths which are 
scanned. By default, the installer scans in <code>/apps</code> and 
<code>/libs</code> where artifacts found in <code>/apps</code> get a higher 
priority. The installer does a deep scan and uses a regular expression to 
detect folders containing artifacts to be installed. By default, artifacts from 
within a folder named <code>install</code> are provided to the OSGi 
installer.</p>
 <p>If such an install folder contains a binary artifact (e.g. a bundle or a 
config file as described in <a 
href="/documentation/bundles/configuration-installer-factory.html">Configuration
 Installer Factory</a>) this is provided to the OSGi installer. </p>
-<p>In addition every node of type <em>sling:OsgiConfig</em> is provided as a 
configuration to the installer. This has the advantage of leveraging the JCR 
structure better than binary files, but has the known limitations outlined in 
<a href="https://issues.apache.org/jira/browse/SLING-4183";>SLING-4183</a> and 
<a href="https://issues.apache.org/jira/browse/SLING-2477";>SLING-2477</a>, 
therefore it is recommended to stick to one of the binary formats described in 
<a href="/documentation/bund [...]
+<p>In addition every node of type <code>sling:OsgiConfig</code> is provided as 
a configuration to the installer. This has the advantage of leveraging the JCR 
structure better than binary files, but has the known limitations outlined in 
<a href="https://issues.apache.org/jira/browse/SLING-4183";>SLING-4183</a> and 
<a href="https://issues.apache.org/jira/browse/SLING-2477";>SLING-2477</a>, 
therefore it is recommended to stick to one of the binary formats described in 
<a href="/documentation/ [...]
 <p>The JCR installer provider does not check or scan the artifacts itself, the 
detection and installation is deferred to the OSGi installer.</p>
 <h3><a href="#runmode-support" name="runmode-support">Runmode Support</a></h3>
-<p>The JCR installer supports run modes for installing artifacts. By default 
folders named <em>install</em> are checked for artifacts. If Apache Sling is 
started with one (or more run modes), all folders named 
<em>install.[RUNMODE]</em> are scanned as well. To be precise, the folder name 
can be followed by any number of run modes separated by comma. For example, if 
started with run modes <em>dev</em>, <em>a1</em>, and <em>public</em>, folders 
like <em>install.dev</em>, <em>install.a1</em [...]
-<p>Artifacts from folders with a run mode get a higher priority. For example 
by default, an <em>install</em> folder underneath <em>/libs</em> gets the 
priority <em>50</em>. For each run mode in the folder name, this priority is 
increased by <em>1</em>, so <em>install.dev</em> has <em>51</em> and 
<em>install.a1.dev</em> is <em>52</em>.</p>
-<h2><a href="#write-back-support" name="write-back-support">Write Back 
Support</a></h2>
-<p>The JCR installer supports writing back of configurations which are changed 
by some other ways, e.g by using the Apache Felix web console. If this is a new 
configuration which was not originally stored in the repository, a new 
configuration is stored under <em>/apps/sling/install</em>. The highest search 
path is used together with a configurable folder (*sling/install* in this 
case). If a configuration is changed which already exists in the repository, 
then it depends where the origin [...]
-<p>Write back can be turned off by configuration.</p>
+<p>The JCR installer supports run modes for installing artifacts. By default 
folders named <code>install</code> are checked for artifacts. If Apache Sling 
is started with one (or more run modes), all folders named 
<code>install.[RUNMODE]</code> are scanned as well. To be precise, the folder 
name can be followed by any number of run modes separated by comma. For 
example, if started with run modes <code>dev</code>, <code>a1</code>, and 
<code>public</code>, folders like <code>install.dev</c [...]
+<p>Artifacts from folders with a run mode get a higher priority. For example 
by default, an <code>install</code> folder underneath <code>/libs</code> gets 
the priority <code>50</code>. For each run mode in the folder name, this 
priority is increased by <code>1</code>, so <code>install.dev</code> has 
<code>51</code> and <code>install.a1.dev</code> has <code>52</code>.</p>
 <h3><a href="#start-level-support" name="start-level-support">Start Level 
Support</a></h3>
-<p>If the parent folder of a bundle has a name which is a number, this is used 
as the start level (when installing the bundle for the first time, compare with 
<a href="https://issues.apache.org/jira/browse/SLING-2011";>SLING-2011</a>). So 
e.g. a bundle in the path <code>/libs/sling/install/15/somebundle.jar</code> is 
having the start level <strong>15</strong>. </p>
+<p>If the parent folder of a bundle has a name which is a number, this is used 
as the start level (when installing the bundle for the first time, compare with 
<a href="https://issues.apache.org/jira/browse/SLING-2011";>SLING-2011</a>). So 
e.g. a bundle in the path <code>/libs/sling/install/15/somebundle.jar</code> is 
having the start level <code>15</code>. </p>
+<h1><a href="#write-back-support" name="write-back-support">Write Back 
Support</a></h1>
+<p>The JCR installer supports writing back of configurations which are changed 
by some other ways, e.g by using the Apache Felix web console. If this is a new 
configuration which was not originally stored in the repository, a new 
configuration is stored under <code>/apps/sling/install</code>. The highest 
search path is used together with a configurable folder 
(<code>sling/install</code> in this case). If a configuration is changed which 
already exists in the repository, then it depends w [...]
+<p>Write back can be turned off by configuration.</p>
 <h1><a href="#example" name="example">Example</a></h1>
 <p>Here's a quick walkthrough of the JCR installer functionality.</p>
 <h2><a href="#installation" name="installation">Installation</a></h2>
@@ -169,7 +169,7 @@ curl -X MKCOL  
http://admin:admin@localhost:8080/apps/jcrtest/install
 </ul></section></div></div>            
             <footer class="footer">
 <div class="revisionInfo">
-                    Last modified by <span class="author">Robert 
Munteanu</span> on <span class="comment">Wed Nov 22 22:30:38 2017 +0200</span>
+                    Last modified by <span class="author">Konrad 
Windszus</span> on <span class="comment">Thu Mar 14 15:43:58 2019 +0100</span>
                 </div>                <p>
                     Apache Sling, Sling, Apache, the Apache feather logo, and 
the Apache Sling project logo are trademarks of The Apache Software Foundation. 
All other marks mentioned may be trademarks or registered trademarks of their 
respective owners.
                 </p><p>

Reply via email to