incubator-sling-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r820125 [1/4] - in /websites/staging/sling/trunk/content: ./ documentation/ documentation/bundles/ documentation/getting-started/ documentation/the-sling-engine/ documentation/the-sling-engine/authentication/ documentation/tutorials-how-tos/
Date Sun, 03 Jun 2012 17:58:07 GMT
Author: buildbot
Date: Sun Jun  3 17:58:06 2012
New Revision: 820125

Log:
Staging update by buildbot for sling

Added:
    websites/staging/sling/trunk/content/documentation/bundles/2010-07-01_1036.png   (with
props)
    websites/staging/sling/trunk/content/documentation/the-sling-engine/url-to-script-resolution.html
Modified:
    websites/staging/sling/trunk/content/   (props changed)
    websites/staging/sling/trunk/content/documentation/bundles/accessing-filesystem-resources-extensions-fsresource.html
    websites/staging/sling/trunk/content/documentation/bundles/content-loading-jcr-contentloader.html
    websites/staging/sling/trunk/content/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.html
    websites/staging/sling/trunk/content/documentation/getting-started/discover-sling-in-15-minutes.html
    websites/staging/sling/trunk/content/documentation/the-sling-engine.html
    websites/staging/sling/trunk/content/documentation/the-sling-engine/authentication.html
    websites/staging/sling/trunk/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler.html
    websites/staging/sling/trunk/content/documentation/the-sling-engine/dispatching-requests.html
    websites/staging/sling/trunk/content/documentation/the-sling-engine/request-parameters.html
    websites/staging/sling/trunk/content/documentation/tutorials-how-tos/46-line-blog.html
    websites/staging/sling/trunk/content/documentation/tutorials-how-tos/jackrabbit-persistence.html

Propchange: websites/staging/sling/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Sun Jun  3 17:58:06 2012
@@ -1 +1 @@
-1345725
+1345726

Added: websites/staging/sling/trunk/content/documentation/bundles/2010-07-01_1036.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/sling/trunk/content/documentation/bundles/2010-07-01_1036.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Modified: websites/staging/sling/trunk/content/documentation/bundles/accessing-filesystem-resources-extensions-fsresource.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/accessing-filesystem-resources-extensions-fsresource.html
(original)
+++ websites/staging/sling/trunk/content/documentation/bundles/accessing-filesystem-resources-extensions-fsresource.html
Sun Jun  3 17:58:06 2012
@@ -108,11 +108,29 @@
 <h2 id="configuration">Configuration</h2>
 <p>The Filesystem Resource Provider is configured with OSGi Configuration Admin factory
configurtions whose factory PID is <code>org.apache.sling.fsprovider.internal.FsResourceProvider</code>.
Configuration can be managed using the OSGi Configuration Admin API, through the Web Console
or by any other means supporting Configuration Admin configurations.</p>
 <p>The following configuration properties must be specified:</p>
-<p>| Parameter | Name | Description |
-| Provider Root | <code>provider.roots</code> | Location in the virtual resource
tree where the filesystem resources are mapped in. This property must not be an empty string.
|
-| Filesystem Root | <code>provider.file</code> | Filesystem directory mapped
to the virtual resource tree. This property must not be an empty string. If the path is relative
it is resolved against <code>sling.home</code> or the current working directory.
The path may be a file or folder. If the path does not address an existing file or folder,
an empty folder is created. |</p>
+<table>
+<thead>
+<tr>
+<th>Parameter</th>
+<th>Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Provider Root</td>
+<td><code>provider.roots</code></td>
+<td>Location in the virtual resource tree where the filesystem resources are mapped
in. This property must not be an empty string.</td>
+</tr>
+<tr>
+<td>Filesystem Root</td>
+<td><code>provider.file</code></td>
+<td>Filesystem directory mapped to the virtual resource tree. This property must not
be an empty string. If the path is relative it is resolved against <code>sling.home</code>
or the current working directory. The path may be a file or folder. If the path does not address
an existing file or folder, an empty folder is created.</td>
+</tr>
+</tbody>
+</table>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1341376 by fmeschbe on Tue, 22 May 2012 09:41:06 +0000
+        Rev. 1345726 by fmeschbe on Sun, 3 Jun 2012 17:57:55 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project

Modified: websites/staging/sling/trunk/content/documentation/bundles/content-loading-jcr-contentloader.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/content-loading-jcr-contentloader.html
(original)
+++ websites/staging/sling/trunk/content/documentation/bundles/content-loading-jcr-contentloader.html
Sun Jun  3 17:58:06 2012
@@ -85,38 +85,128 @@
       <p>Apache Sling provides support for initial content loading into a repository
and for registering node types. The <code>sling-jcr-contentloader</code> bundle
provides loading of content from a bundle into the repository and the <code>sling-jcr-base</code>
bundle provides node type registration.</p>
 <h2 id="initial-content-loading">Initial Content Loading</h2>
 <p>Bundles can provide initial content, which is loaded into the repository when the
bundle has entered the <em>started</em> state. Such content is expected to be
contained in the bundles accessible through the Bundle entry API methods. Content to be loaded
is declared in the <code>Sling-Initial-Content</code> bundle manifest header.
This header takes a comma-separated list of bundle entry paths. Each entry and all its child
entries are accessed and entered into starting with the child entries of the listed entries.</p>
-<p>Adding this content preserves the paths of the entries as show in this table, which
assumes a <code>Sling-Initial-Content</code> header entry of <code>SLING-INF/content</code>:
-| Entry | Repository Path |
-|--|--|
-| <code>SLING-INF/content/home</code> | <code>/home</code> |
-| <code>SLING-INF/content/content/playground/en/home</code> | <code>/content/playground/en/home</code>
|
-Bundle entries are installed as follows:
-| Entry Type | Installation method |
-|--|--|
-| Directory | Created as a node of type <code>nt:folder</code> unless a content
definition file of the same name exists in the same directory as the directory to be installed.
Example: A directory <code>SLING-INF/content/dir</code> is installed as node <code>/dir</code>
of type <code>nt:folder</code> unless a <code>SLING-INF/content/dir.xml</code>
or <code>SLING-INF/content/dir.json</code> file exists which defines the content
for the <code>/dir</code> node. |
-| File | Unless the file is a content definition file (see below) an <code>nt:file</code>
node is created for the file and an <code>nt:resource</code> node is created as
its <code>jcr:content</code> child node to take the contents of the bundle file.
The properties of the <code>nt:resource</code> node are set from file information
as available. If the file is a content definition file, the content is created as defined
in the file. See below for the content definition file specification. |
-It is possible to modify the intial content loading default behaviour by using certain optional
directives. Directives should be specified separated by semicolon. They are defined as follows:
-| Directive | Definition | Default value | Description |
-|--|--|--|--|
-| <code>overwrite</code> | <code>overwrite:=(true\|false)</code>
| <code>false</code> | The overwrite directive specifies if content nodes should
be overwritten or just initially added.  If this is true, existing nodes are deleted and a
new node is created in the same place. |
-| <code>overwriteProperties</code> | <code>overwriteProperties:=(true\|false)</code>
| <code>false</code> | The overwriteProperties directive specifying if content
properties should be overwritten or just initially added. |
-| <code>uninstall</code> | <code>uninstall:=(true\|false)</code>
| <code>overwrite</code> | The uninstall directive specifies if content should
be uninstalled when bundle is unregistered. This value defaults to the value of the <code>overwrite</code>
directive. |
-| <code>path</code> | <code>path:=*/target/location{*</code>} | <code>/</code>
| The path directive specifies the target node where initial content will be loaded. If the
path does not exist yet in the repository, it is created by the content loader. The intermediate
nodes are of type <code>nt:folder</code>. |
-| <code>checkin</code> | <code>checkin:=(true\|false)</code> | <code>false</code>
| The checkin directive specifies whether versionable nodes should be checked in. |
-| <code>ignoreImportProviders</code> | <code>ignoreImportProviders:=list
of extensions</code> | <code>empty</code> | This directive can be used to
not run one of the configured extractors (see below). |
-Examples of these directives uses could be (assumes a Sling-Initial-Content header entry
of SLING-INF/content):
-| Entry | Behaviour |
-|--|--|
-| <code>SLING-INF/content/home;overwrite:=true;uninstall:=true</code> | Overwrites
already existing content in <em>/home</em> and uninstalls the content when the
bundle is unregistered. |
-| <code>SLING-INF/content/home;overwriteProperties:=true</code> | Overwrites
properties of existing content in <em>/home</em>. |
-| <code>SLING-INF/content/home;path:=/sites/sling*website</code> | if <em>/sites/sling</em>website<em>
exists it loads the content into it. Otherwise, it loads the content into root node </em>/*.
|
-| <code>SLING-INF/content/home;checkin:=true</code> | After content loading,
versionable nodes are checked in. |</p>
+<p>Adding this content preserves the paths of the entries as show in this table, which
assumes a <code>Sling-Initial-Content</code> header entry of <code>SLING-INF/content</code>:</p>
+<table>
+<thead>
+<tr>
+<th>Entry</th>
+<th>Repository Path</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>SLING-INF/content/home</code></td>
+<td><code>/home</code></td>
+</tr>
+<tr>
+<td><code>SLING-INF/content/content/playground/en/home</code></td>
+<td><code>/content/playground/en/home</code></td>
+</tr>
+</tbody>
+</table>
+<p>Bundle entries are installed as follows:</p>
+<table>
+<thead>
+<tr>
+<th>Entry Type</th>
+<th>Installation method</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Directory</td>
+<td>Created as a node of type <code>nt:folder</code> unless a content definition
file of the same name exists in the same directory as the directory to be installed. Example:
A directory <code>SLING-INF/content/dir</code> is installed as node <code>/dir</code>
of type <code>nt:folder</code> unless a <code>SLING-INF/content/dir.xml</code>
or <code>SLING-INF/content/dir.json</code> file exists which defines the content
for the <code>/dir</code> node.</td>
+</tr>
+<tr>
+<td>File</td>
+<td>Unless the file is a content definition file (see below) an <code>nt:file</code>
node is created for the file and an <code>nt:resource</code> node is created as
its <code>jcr:content</code> child node to take the contents of the bundle file.
The properties of the <code>nt:resource</code> node are set from file information
as available. If the file is a content definition file, the content is created as defined
in the file. See below for the content definition file specification.</td>
+</tr>
+</tbody>
+</table>
+<p>It is possible to modify the intial content loading default behaviour by using certain
optional directives. Directives should be specified separated by semicolon. They are defined
as follows:</p>
+<table>
+<thead>
+<tr>
+<th>Directive</th>
+<th>Definition</th>
+<th>Default value</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>overwrite</code></td>
+<td><code>overwrite:=(true&#124;false)<code></td>
+<td><code>false</code></td>
+<td>The overwrite directive specifies if content nodes should be overwritten or just
initially added.  If this is true, existing nodes are deleted and a new node is created in
the same place.</td>
+</tr>
+<tr>
+<td><code>overwriteProperties</code></td>
+<td><code>overwriteProperties:=(true&#124;false)</code></td>
+<td><code>false</code></td>
+<td>The overwriteProperties directive specifying if content properties should be overwritten
or just initially added.</td>
+</tr>
+<tr>
+<td><code>uninstall</code></td>
+<td><code>uninstall:=(true&#124;false)</code></td>
+<td><code>overwrite</code></td>
+<td>The uninstall directive specifies if content should be uninstalled when bundle
is unregistered. This value defaults to the value of the <code>overwrite</code>
directive.</td>
+</tr>
+<tr>
+<td><code>path</code></td>
+<td><code>path:=<em>/target/location</em></code></td>
+<td><code>/</code></td>
+<td>The path directive specifies the target node where initial content will be loaded.
If the path does not exist yet in the repository, it is created by the content loader. The
intermediate nodes are of type <code>nt:folder</code>.</td>
+</tr>
+<tr>
+<td><code>checkin</code></td>
+<td><code>checkin:=(true&#124;false)</code></td>
+<td><code>false</code></td>
+<td>The checkin directive specifies whether versionable nodes should be checked in.</td>
+</tr>
+<tr>
+<td><code>ignoreImportProviders</code></td>
+<td><code>ignoreImportProviders:=list of extensions</code></td>
+<td><code>empty</code></td>
+<td>This directive can be used to not run one of the configured extractors (see below).</td>
+</tr>
+</tbody>
+</table>
+<p>Examples of these directives uses could be (assumes a Sling-Initial-Content header
entry of SLING-INF/content):</p>
+<table>
+<thead>
+<tr>
+<th>Entry</th>
+<th>Behaviour</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>SLING-INF/content/home;overwrite:=true;uninstall:=true</code></td>
+<td>Overwrites already existing content in <em>/home</em> and uninstalls
the content when the bundle is unregistered.</td>
+</tr>
+<tr>
+<td><code>SLING-INF/content/home;overwriteProperties:=true</code></td>
+<td>Overwrites properties of existing content in <em>/home</em>.</td>
+</tr>
+<tr>
+<td><code>SLING-INF/content/home;path:=/sites/sling_website</code></td>
+<td>if <em>/sites/sling_website</em> exists it loads the content into it.
Otherwise, it loads the content into root node <em>/</em>.</td>
+</tr>
+<tr>
+<td><code>SLING-INF/content/home;checkin:=true</code></td>
+<td>After content loading, versionable nodes are checked in.</td>
+</tr>
+</tbody>
+</table>
 <h2 id="loading-initial-content-from-bundles">Loading initial content from bundles</h2>
-<p>Repository items to be loaded into the repository, when the bundle is first installed,
may be defined in four ways:
-1. Directories
-1. Files
-1. XML descriptor files
-1. JSON descriptor files</p>
+<p>Repository items to be loaded into the repository, when the bundle is first installed,
may be defined in four ways:</p>
+<ol>
+<li>Directories</li>
+<li>Files</li>
+<li>XML descriptor files</li>
+<li>JSON descriptor files</li>
+</ol>
 <p>Depending on the bundle entry found in the location indicated by the Sling-Initial-Content
bundle manifest header, nodes are created (and/or updated) as follows:</p>
 <h3 id="directories">Directories</h3>
 <p>Unless a node with the name of the directory already exists or has been defined
in an XML or JSON descriptor file (see below) a directory is created as a node with the primary
node type "nt:folder" in the repository.</p>
@@ -127,56 +217,57 @@ primary node type "nt:file". Underneath 
 <h3 id="xml-descriptor-files">XML Descriptor Files</h3>
 <p>Nodes, Properties and in fact complete subtrees may be described in XML files using
either the JCR SystemView format, or the format described below. In either case, the file
must have the .xml extension.</p>
 <div class="codehilite"><pre><span class="nt">&lt;node&gt;</span>
+    <span class="c">&lt;!--</span>
+<span class="c">       optional on top level, defaults to XML file name without .xml
extension</span>
+<span class="c">       required for child nodes</span>
+<span class="c">    --&gt;</span>
+    <span class="nt">&lt;name&gt;</span>xyz<span class="nt">&lt;/name&gt;</span>
+
+    <span class="c">&lt;!--</span>
+<span class="c">        optional, defaults to nt:unstructured</span>
+<span class="c">    --&gt;</span>
+    <span class="nt">&lt;primaryNodeType&gt;</span>nt:file<span class="nt">&lt;/primaryNodeType&gt;</span>
+
+    <span class="c">&lt;!--</span>
+<span class="c">        optional mixin node type</span>
+<span class="c">        may be repeated for multiple mixin node types</span>
+<span class="c">    --&gt;</span>
+    <span class="nt">&lt;mixinNodeType&gt;</span>mix:versionable<span
class="nt">&lt;/mixinNodeType&gt;</span>
+    <span class="nt">&lt;mixinNodeType&gt;</span>mix:lockable<span
class="nt">&lt;/mixinNodeType&gt;</span>
+
+    <span class="c">&lt;!--</span>
+<span class="c">        Optional properties for the node. Each &lt;property&gt;
element defines</span>
+<span class="c">        a single property of the node. The element may be repeated.</span>
+<span class="c">    --&gt;</span>
+    <span class="nt">&lt;property&gt;</span>
         <span class="c">&lt;!--</span>
-<span class="c">            optional on top level, defaults to XML file name without
.xml extension</span>
-<span class="c">            required for child nodes</span>
+<span class="c">            required property name</span>
 <span class="c">        --&gt;</span>
-        <span class="nt">&lt;name&gt;</span>xyz<span class="nt">&lt;/name&gt;</span>
+        <span class="nt">&lt;name&gt;</span>prop<span class="nt">&lt;/name&gt;</span>
 
         <span class="c">&lt;!--</span>
-<span class="c">            optional, defaults to nt:unstructured</span>
+<span class="c">            value of the property.</span>
+<span class="c">            For multi-value properties, the values are defined by multiple</span>
+<span class="c">            &lt;value&gt; elements nested inside a &lt;values&gt;
element instead of a</span>
+<span class="c">            single &lt;value&gt; element</span>
 <span class="c">        --&gt;</span>
-        <span class="nt">&lt;primaryNodeType&gt;</span>nt:file<span
class="nt">&lt;/primaryNodeType&gt;</span>
+        <span class="nt">&lt;value&gt;</span>property value as string<span
class="nt">&lt;/value&gt;</span>
 
         <span class="c">&lt;!--</span>
-<span class="c">            optional mixin node type</span>
-<span class="c">            may be repeated for multiple mixin node types</span>
+<span class="c">            Optional type of the property value, defaults to String.</span>
+<span class="c">            This must be one of the property type strings defined in
the</span>
+<span class="c">            JCR PropertyType interface.</span>
 <span class="c">        --&gt;</span>
-        <span class="nt">&lt;mixinNodeType&gt;</span>mix:versionable<span
class="nt">&lt;/mixinNodeType&gt;</span>
-        <span class="nt">&lt;mixinNodeType&gt;</span>mix:lockable<span
class="nt">&lt;/mixinNodeType&gt;</span>
+        <span class="nt">&lt;type&gt;</span>String<span class="nt">&lt;/type&gt;</span>
+    <span class="nt">&lt;/property&gt;</span>
 
-        <span class="c">&lt;!--</span>
-<span class="c">            Optional properties for the node. Each &lt;property&gt;
element defines</span>
-<span class="c">            a single property of the node. The element may be repeated.</span>
-<span class="c">        --&gt;</span>
-        <span class="nt">&lt;property&gt;</span>
-            <span class="c">&lt;!--</span>
-<span class="c">                required property name</span>
-<span class="c">            --&gt;</span>
-            <span class="nt">&lt;name&gt;</span>prop<span class="nt">&lt;/name&gt;</span>
-
-            <span class="c">&lt;!--</span>
-<span class="c">                value of the property.</span>
-<span class="c">                For multi-value properties, the values are defined
by multiple</span>
-<span class="c">                &lt;value&gt; elements nested inside a &lt;values&gt;
element instead of a</span>
-<span class="c">                single &lt;value&gt; element</span>
-<span class="c">            --&gt;</span>
-            <span class="nt">&lt;value&gt;</span>property value as string<span
class="nt">&lt;/value&gt;</span>
-
-            <span class="c">&lt;!--</span>
-<span class="c">                Optional type of the property value, defaults to String.</span>
-<span class="c">                This must be one of the property type strings defined
in the</span>
-<span class="c">                JCR PropertyType interface.</span>
-<span class="c">            &lt;type&gt;String&lt;/type&gt;</span>
-<span class="c">        &lt;/property&gt;</span>
-
-<span class="c">        &lt;!--</span>
-<span class="c">            Additional child nodes. May be further nested.</span>
-<span class="c">        --&gt;</span>
-        <span class="nt">&lt;node&gt;</span>
-        ....
-        <span class="nt">&lt;/node&gt;</span>
+    <span class="c">&lt;!--</span>
+<span class="c">        Additional child nodes. May be further nested.</span>
+<span class="c">    --&gt;</span>
+    <span class="nt">&lt;node&gt;</span>
+    ....
     <span class="nt">&lt;/node&gt;</span>
+<span class="nt">&lt;/node&gt;</span>
 </pre></div>
 
 
@@ -212,54 +303,54 @@ primary node type "nt:file". Underneath 
 <h3 id="json-descriptor-files">JSON Descriptor Files</h3>
 <p>Nodes, Properties and in fact complete subtrees may be described in JSON files using
the following skeleton structure (see <a href="">http://www.json.org</a> or information
on the syntax of JSON) :</p>
 <div class="codehilite"><pre><span class="p">{</span>
-        <span class="sr">//</span> <span class="n">optional</span>
<span class="n">node</span> <span class="n">name</span> <span class="n">on</span>
<span class="n">top</span> <span class="n">level</span><span class="p">,</span>
<span class="n">default</span> <span class="n">is</span> <span
class="n">file</span> <span class="n">name</span> <span class="n">without</span>
<span class="o">.</span><span class="n">json</span> <span class="n">ext</span><span
class="o">.</span>
-        <span class="s">&quot;name&quot;</span><span class="p">:</span>
<span class="s">&quot;nodename&quot;</span><span class="p">,</span>
+    <span class="sr">//</span> <span class="n">optional</span> <span
class="n">node</span> <span class="n">name</span> <span class="n">on</span>
<span class="n">top</span> <span class="n">level</span><span class="p">,</span>
<span class="n">default</span> <span class="n">is</span> <span
class="n">file</span> <span class="n">name</span> <span class="n">without</span>
<span class="o">.</span><span class="n">json</span> <span class="n">ext</span><span
class="o">.</span>
+    <span class="s">&quot;name&quot;</span><span class="p">:</span>
<span class="s">&quot;nodename&quot;</span><span class="p">,</span>
 
-        <span class="sr">//</span> <span class="n">optional</span>
<span class="n">primary</span> <span class="n">node</span> <span
class="n">type</span><span class="p">,</span> <span class="n">default</span>
<span class="s">&quot;nt:unstructured&quot;</span>
-        <span class="s">&quot;primaryNodeType&quot;</span><span class="p">:</span>
<span class="s">&quot;sling:ScriptedComponent&quot;</span><span class="p">,</span>
+    <span class="sr">//</span> <span class="n">optional</span> <span
class="n">primary</span> <span class="n">node</span> <span class="n">type</span><span
class="p">,</span> <span class="n">default</span> <span class="s">&quot;nt:unstructured&quot;</span>
+    <span class="s">&quot;primaryNodeType&quot;</span><span class="p">:</span>
<span class="s">&quot;sling:ScriptedComponent&quot;</span><span class="p">,</span>
 
-        <span class="sr">//</span> <span class="n">optional</span>
<span class="n">mixin</span> <span class="n">node</span> <span
class="n">types</span> <span class="n">as</span> <span class="n">array</span>
-        <span class="s">&quot;mixinNodeTypes&quot;</span><span class="p">:</span>
<span class="p">[</span> <span class="p">],</span>
+    <span class="sr">//</span> <span class="n">optional</span> <span
class="n">mixin</span> <span class="n">node</span> <span class="n">types</span>
<span class="n">as</span> <span class="n">array</span>
+    <span class="s">&quot;mixinNodeTypes&quot;</span><span class="p">:</span>
<span class="p">[</span> <span class="p">],</span>
 
-        <span class="sr">//</span> <span class="n">the</span> <span
class="s">&quot;properties&quot;</span> <span class="n">property</span>
<span class="n">is</span> <span class="n">an</span> <span class="n">object</span>
<span class="n">indexed</span> <span class="n">by</span> <span
class="n">property</span> <span class="n">name</span> <span class="n">whose</span>
-        <span class="sr">//</span> <span class="n">value</span> <span
class="n">is</span> <span class="n">either</span> <span class="n">the</span>
<span class="n">string</span> <span class="n">property</span> <span
class="n">value</span><span class="p">,</span> <span class="n">array</span>
<span class="k">for</span> <span class="n">multi</span><span class="o">-</span><span
class="nb">values</span> <span class="ow">or</span>
-        <span class="sr">//</span> <span class="n">an</span> <span
class="n">object</span> <span class="n">whose</span> <span class="n">value</span><span
class="p">[</span><span class="n">s</span><span class="p">]</span>
<span class="n">property</span> <span class="n">denotes</span> <span
class="n">the</span> <span class="n">property</span> <span class="n">value</span><span
class="p">(</span><span class="n">s</span><span class="p">)</span>
<span class="ow">and</span>
-        <span class="sr">//</span> <span class="n">whose</span> <span
class="n">type</span> <span class="n">property</span> <span class="n">denotes</span>
<span class="n">the</span> <span class="n">property</span> <span
class="n">type</span>
-        <span class="s">&quot;properties&quot;</span><span class="p">:</span>
<span class="p">{</span>
-            <span class="s">&quot;sling:contentClass&quot;</span><span
class="p">:</span> <span class="s">&quot;com.day.sling.jcr.test.Test&quot;</span><span
class="p">,</span>
-            <span class="s">&quot;sampleMulti&quot;</span><span class="p">:</span>
<span class="p">[</span> <span class="s">&quot;v1&quot;</span><span
class="p">,</span> <span class="s">&quot;v2&quot;</span> <span
class="p">],</span>
-            <span class="s">&quot;sampleStruct&quot;</span><span class="p">:</span>
<span class="p">{</span>
-                <span class="s">&quot;value&quot;</span><span class="p">:</span>
<span class="mi">1</span><span class="p">,</span>
-                <span class="s">&quot;type&quot;</span><span class="p">:</span>
<span class="s">&quot;Long&quot;</span>
-            <span class="p">}</span>
-            <span class="s">&quot;sampleStructMulti&quot;</span><span
class="p">:</span> <span class="p">{</span>
-                <span class="s">&quot;value&quot;</span><span class="p">:</span>
<span class="p">[</span> <span class="mi">1</span><span class="p">,</span>
<span class="mi">2</span><span class="p">,</span> <span class="mi">3</span>
<span class="p">],</span>
-                <span class="s">&quot;type&quot;</span><span class="p">:</span>
<span class="s">&quot;Long&quot;</span>
-            <span class="p">}</span>
-        <span class="p">},</span>
-
-        <span class="sr">//</span> <span class="n">the</span> <span
class="s">&quot;nodes&quot;</span> <span class="n">property</span>
<span class="n">is</span> <span class="n">an</span> <span class="n">array</span>
<span class="n">of</span> <span class="n">objects</span> <span
class="n">denoting</span> <span class="n">child</span> <span class="n">nodes</span><span
class="o">.</span> <span class="n">Nodes</span>
-        <span class="sr">//</span> <span class="n">may</span> <span
class="n">be</span> <span class="n">further</span> <span class="n">nested</span><span
class="o">.</span>
-        <span class="s">&quot;nodes&quot;</span><span class="p">:</span>
<span class="p">[</span>
-            <span class="p">{</span>
-                <span class="sr">//</span> <span class="n">the</span>
<span class="n">name</span> <span class="n">property</span> <span
class="n">is</span> <span class="n">required</span> <span class="n">on</span>
<span class="p">(</span><span class="n">nested</span><span class="p">)</span>
<span class="n">child</span> <span class="n">nodes</span>
-                <span class="s">&quot;name&quot;</span><span class="p">:</span>
<span class="s">&quot;sling:scripts&quot;</span><span class="p">,</span>
-
-                <span class="s">&quot;primaryNodeType&quot;</span><span
class="p">:</span> <span class="s">&quot;sling:ScriptList&quot;</span><span
class="p">,</span>
-
-                <span class="s">&quot;nodes&quot;</span><span class="p">:</span>
<span class="p">[</span>
-                    <span class="p">{</span>
-                        <span class="s">&quot;primaryNodeType&quot;</span><span
class="p">:</span> <span class="s">&quot;sling:Script&quot;</span><span
class="p">,</span>
-                        <span class="s">&quot;properties&quot;</span><span
class="p">:</span> <span class="p">{</span>
-                            <span class="s">&quot;sling:name&quot;</span><span
class="p">:</span> <span class="s">&quot;/test/content/jsp/start.jsp&quot;</span><span
class="p">,</span>
-                            <span class="s">&quot;sling:type&quot;</span><span
class="p">:</span> <span class="s">&quot;jsp&quot;</span><span
class="p">,</span>
-                            <span class="s">&quot;sling:glob&quot;</span><span
class="p">:</span> <span class="s">&quot;*&quot;</span>
-                        <span class="p">}</span>
+    <span class="sr">//</span> <span class="n">the</span> <span
class="s">&quot;properties&quot;</span> <span class="n">property</span>
<span class="n">is</span> <span class="n">an</span> <span class="n">object</span>
<span class="n">indexed</span> <span class="n">by</span> <span
class="n">property</span> <span class="n">name</span> <span class="n">whose</span>
+    <span class="sr">//</span> <span class="n">value</span> <span
class="n">is</span> <span class="n">either</span> <span class="n">the</span>
<span class="n">string</span> <span class="n">property</span> <span
class="n">value</span><span class="p">,</span> <span class="n">array</span>
<span class="k">for</span> <span class="n">multi</span><span class="o">-</span><span
class="nb">values</span> <span class="ow">or</span>
+    <span class="sr">//</span> <span class="n">an</span> <span
class="n">object</span> <span class="n">whose</span> <span class="n">value</span><span
class="p">[</span><span class="n">s</span><span class="p">]</span>
<span class="n">property</span> <span class="n">denotes</span> <span
class="n">the</span> <span class="n">property</span> <span class="n">value</span><span
class="p">(</span><span class="n">s</span><span class="p">)</span>
<span class="ow">and</span>
+    <span class="sr">//</span> <span class="n">whose</span> <span
class="n">type</span> <span class="n">property</span> <span class="n">denotes</span>
<span class="n">the</span> <span class="n">property</span> <span
class="n">type</span>
+    <span class="s">&quot;properties&quot;</span><span class="p">:</span>
<span class="p">{</span>
+        <span class="s">&quot;sling:contentClass&quot;</span><span
class="p">:</span> <span class="s">&quot;com.day.sling.jcr.test.Test&quot;</span><span
class="p">,</span>
+        <span class="s">&quot;sampleMulti&quot;</span><span class="p">:</span>
<span class="p">[</span> <span class="s">&quot;v1&quot;</span><span
class="p">,</span> <span class="s">&quot;v2&quot;</span> <span
class="p">],</span>
+        <span class="s">&quot;sampleStruct&quot;</span><span class="p">:</span>
<span class="p">{</span>
+            <span class="s">&quot;value&quot;</span><span class="p">:</span>
<span class="mi">1</span><span class="p">,</span>
+            <span class="s">&quot;type&quot;</span><span class="p">:</span>
<span class="s">&quot;Long&quot;</span>
+        <span class="p">}</span>
+        <span class="s">&quot;sampleStructMulti&quot;</span><span
class="p">:</span> <span class="p">{</span>
+            <span class="s">&quot;value&quot;</span><span class="p">:</span>
<span class="p">[</span> <span class="mi">1</span><span class="p">,</span>
<span class="mi">2</span><span class="p">,</span> <span class="mi">3</span>
<span class="p">],</span>
+            <span class="s">&quot;type&quot;</span><span class="p">:</span>
<span class="s">&quot;Long&quot;</span>
+        <span class="p">}</span>
+    <span class="p">},</span>
+
+    <span class="sr">//</span> <span class="n">the</span> <span
class="s">&quot;nodes&quot;</span> <span class="n">property</span>
<span class="n">is</span> <span class="n">an</span> <span class="n">array</span>
<span class="n">of</span> <span class="n">objects</span> <span
class="n">denoting</span> <span class="n">child</span> <span class="n">nodes</span><span
class="o">.</span> <span class="n">Nodes</span>
+    <span class="sr">//</span> <span class="n">may</span> <span
class="n">be</span> <span class="n">further</span> <span class="n">nested</span><span
class="o">.</span>
+    <span class="s">&quot;nodes&quot;</span><span class="p">:</span>
<span class="p">[</span>
+        <span class="p">{</span>
+            <span class="sr">//</span> <span class="n">the</span>
<span class="n">name</span> <span class="n">property</span> <span
class="n">is</span> <span class="n">required</span> <span class="n">on</span>
<span class="p">(</span><span class="n">nested</span><span class="p">)</span>
<span class="n">child</span> <span class="n">nodes</span>
+            <span class="s">&quot;name&quot;</span><span class="p">:</span>
<span class="s">&quot;sling:scripts&quot;</span><span class="p">,</span>
+
+            <span class="s">&quot;primaryNodeType&quot;</span><span
class="p">:</span> <span class="s">&quot;sling:ScriptList&quot;</span><span
class="p">,</span>
+
+            <span class="s">&quot;nodes&quot;</span><span class="p">:</span>
<span class="p">[</span>
+                <span class="p">{</span>
+                    <span class="s">&quot;primaryNodeType&quot;</span><span
class="p">:</span> <span class="s">&quot;sling:Script&quot;</span><span
class="p">,</span>
+                    <span class="s">&quot;properties&quot;</span><span
class="p">:</span> <span class="p">{</span>
+                        <span class="s">&quot;sling:name&quot;</span><span
class="p">:</span> <span class="s">&quot;/test/content/jsp/start.jsp&quot;</span><span
class="p">,</span>
+                        <span class="s">&quot;sling:type&quot;</span><span
class="p">:</span> <span class="s">&quot;jsp&quot;</span><span
class="p">,</span>
+                        <span class="s">&quot;sling:glob&quot;</span><span
class="p">:</span> <span class="s">&quot;*&quot;</span>
                     <span class="p">}</span>
-                <span class="p">]</span>
-            <span class="p">}</span>
-        <span class="p">]</span>
-    <span class="p">}</span>
+                <span class="p">}</span>
+            <span class="p">]</span>
+        <span class="p">}</span>
+    <span class="p">]</span>
+<span class="p">}</span>
 </pre></div>
 
 
@@ -278,10 +369,10 @@ primary node type "nt:file". Underneath 
 Support for re-registration of node types is relatively limited. In Jackrabbit, for example,
only "trivial" changes are allowed.
 {warning}</p>
 <h3 id="automated-tests">Automated tests</h3>
-<p>The initial content found in the <a href="">sling-test folder of the launchpad
initial content</a> is verified by the [InitialContentTest|http://svn.apache.org/repos/asf/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/InitialContentTest.java]
when running the <em>launchpad/testing</em> integration tests.</p>
+<p>The initial content found in the <a href="">sling-test folder of the launchpad
initial content</a> is verified by the <a href="http://svn.apache.org/repos/asf/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/InitialContentTest.java">InitialContentTest</a>
when running the <em>launchpad/testing</em> integration tests.</p>
 <p>Those tests can be used as verified examples of initial content loading. Contributions
are welcome to improve the coverage of those tests.</p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1341376 by fmeschbe on Tue, 22 May 2012 09:41:06 +0000
+        Rev. 1345726 by fmeschbe on Sun, 3 Jun 2012 17:57:55 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project



Mime
View raw message