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 ::= '#' <any>
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><</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 ::= '#' <any>
@@ -110,7 +116,7 @@ prop ::= symbolic-name // 1.4.2 of OSGi Core Specification
symbolic-name ::= token { '.' token }
token ::= { [ 0..9 ] | [ a..z ] | [ A..Z ] | '_' | '-' }
value ::= [ type ] ( '[' values ']' | '(' values
')' | simple )
-values ::= simple { ',' simple }
+values ::= ( simple { ',' simple } | '\' <nl> simple {
', \' <nl> simple } <nl> )
simple ::= '"' stringsimple '"'
type ::= <1-char type code>
stringsimple ::= <quoted string representation of the value where both
'"' and '=' need to be escaped>
@@ -118,25 +124,58 @@ stringsimple ::= <quoted string representation of the
value where both '&
<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>