incubator-sling-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r818658 [20/23] - in /websites/staging/sling/trunk/content: ./ tutorials-how-tos/
Date Tue, 22 May 2012 08:25:36 GMT
Added: websites/staging/sling/trunk/content/sling-settings-org-apache-sling-settings.html
==============================================================================
--- websites/staging/sling/trunk/content/sling-settings-org-apache-sling-settings.html (added)
+++ websites/staging/sling/trunk/content/sling-settings-org-apache-sling-settings.html Tue May 22 08:25:32 2012
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE- 2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+  <head>
+    <title>Apache Sling - Sling Settings (org.apache.sling.settings)</title>
+    <link rel="stylesheet" href="/css/site.css" type="text/css" media="all">
+    <link rel="icon" href="http://sling.apache.org/site/media.data/favicon.ico">
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+  </head>
+  <body>
+    <div class="title">
+      <div class="logo">
+        <a href="http://sling.apache.org/site/index.html">
+          <img border="0" alt="Apache Sling" src="http://sling.apache.org/site/media.data/logo.png">
+        </a>
+      </div>
+      <div class="header">
+        <a href="http://www.apache.org/">
+          <img border="0" alt="Apache" src="http://sling.apache.org/site/media.data/apache.png">
+        </a>
+      </div>
+    </div>
+    
+    <div class="menu"> 
+      <p><strong>Documentation</strong> <br />
+<a href="/getting-started.html">Getting Started</a> <br />
+<a href="/the-sling-engine.html">The Sling Engine</a> <br />
+<a href="/development.html">Development</a> <br />
+<a href="/bundles.html">Bundles</a> <br />
+<a href="/tutorials-how-tos.html">Tutorials &amp; How-Tos</a> <br />
+<a href="/configuration.html">Configuration</a> <br />
+<a href="http://s.apache.org/sling.wiki">Wiki</a> <br />
+<a href="http://s.apache.org/sling.faq">FAQ</a> <br />
+<a href="/sitemap.html">Site Map</a></p>
+<p><strong>API Docs</strong>  <br />
+<a href="http://sling.apache.org/apidocs/sling6/index.html">Sling 6</a> <br />
+<a href="http://sling.apache.org/apidocs/sling5/index.html">Sling 5</a> <br />
+</p>
+<p><strong>Project info</strong> <br />
+<a href="http://sling.apache.org/site/downloads.cgi">Downloads</a> <br />
+<a href="http://www.apache.org/licenses/">License</a> <br />
+<a href="/contributing.html">Contributing</a> <br />
+<a href="/news.html">News</a> <br />
+<a href="/links.html">Links</a> <br />
+<a href="/project-information.html">Project Information</a> <br />
+<a href="https://issues.apache.org/jira/browse/SLING">Issue Tracker</a> <br />
+<a href="http://svn.apache.org/viewvc/sling/trunk">Browse Source Repository</a> <br />
+<a href="/security.html">Security</a> <br />
+</p>
+<p><strong>Sponsorship</strong> <br />
+<a href="http://www.apache.org/foundation/thanks.html">Thanks</a> <br />
+<a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a> <br />
+<a href="http://www.apache.org/foundation/buy_stuff.html">Buy Stuff</a> <br />
+</p>
+<iframe 
+    src="http://www.apache.org/ads/button.html"
+    style="border-width:0; float: left" frameborder="0" 
+    scrolling="no"
+    width="135" 
+    height="135">
+</iframe>
+    </div>
+    
+    <div class="main">
+      <div class="breadcrump" style="font-size: 80%;">
+        <a href="/">Home</a>
+      </div>
+      <h1>Sling Settings (org.apache.sling.settings)</h1>
+      <h1 id="overview">Overview</h1>
+<p>The Sling Settings Bundle exposes the <code>SlingSettingsService</code> which allows access to the following information pertinent to a Sling instance:</p>
+<table>
+<thead>
+<tr>
+<th>Method</th>
+<th>Bundle Context Property</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>String getSlingId()</code></td>
+<td>---</td>
+<td>A unique identifier of the running Sling instance. This value is created when Sling is first started and may be used to identify the instance, for example if multiple Sling instances are running on top of a Jackrabbit Repository Cluster</td>
+</tr>
+<tr>
+<td><code>String getSlingHomePath()</code></td>
+<td><code>sling.home</code></td>
+<td>The absolute filesystem path to the directory where Sling stores all its content</td>
+</tr>
+<tr>
+<td><code>URL getSlingHome()</code></td>
+<td><code>sling.home.url</code></td>
+<td>The Sling Home path as an <code>java.net.URL</code> instance</td>
+</tr>
+<tr>
+<td><code>Set&lt;String&gt; getRunModes()</code></td>
+<td><code>sling.run.modes</code></td>
+<td>The active Run Modes of the running Sling instance</td>
+</tr>
+</tbody>
+</table>
+<p>The new Sling Settings Bundle replaces the former <a href="/run-modes-org-apache-sling-runmode.html">Run Modes (org.apache.sling.runmode)</a> Bundle and the <code>SlingSettingsService</code> previously provided by the Sling Engine bundle.</p>
+<h2 id="run-modes">Run Modes</h2>
+<p>Run modes are meant to define different sets of configuration parameters for various Sling instances.</p>
+<p>In a web publishing environment, for example, one could use run modes like <em>staging, production, dev, dmz</em> or combinations of such values.</p>
+<h3 id="configuration">Configuration</h3>
+<p>Run modes can only be configured using a system property, or via the <code>sling.properties</code> file.</p>
+<p>Using <code>-Dsling.run.modes=foo,bar</code> on the JVM command-line, for example, activates the <em>foo</em> and <em>bar</em> run modes. </p>
+<p>This command-line parameter takes precedence over a similar definition (<code>sling.run.modes=dev,staging</code>) that might be present in the <code>sling.properties</code> file found in the Sling home directory.</p>
+<h3 id="getting-the-run-modes-of-the-sling-instance">Getting the Run Modes of the Sling instance</h3>
+<p>The <code>SlingSettings</code> service provides the Run Modes of the running Sling instance, examples:</p>
+<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>RunMode examples</B></DIV><DIV class="codeContent panelContent">
+    SlingSettings settings = ...get from BundleContext...
+    Set<String> currentRunModes = settings.getRunModes();</p>
+<div class="codehilite"><pre><span class="n">Set</span><span class="sr">&lt;String&gt;</span> <span class="n">expectedRunModes</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HashSet</span><span class="sr">&lt;String&gt;</span><span class="p">();</span>
+<span class="k">if</span><span class="p">(</span><span class="n">expectedRunModes</span><span class="o">.</span><span class="n">removeAll</span><span class="p">(</span><span class="n">currentRunModes</span><span class="p">))</span> <span class="p">{</span>
+  <span class="sr">//</span> <span class="n">at</span> <span class="n">least</span> <span class="n">one</span> <span class="n">of</span> <span class="p">(</span><span class="n">foo</span><span class="p">,</span><span class="n">wii</span><span class="p">)</span> <span class="n">run</span> <span class="n">modes</span>
+  <span class="sr">//</span> <span class="n">is</span> <span class="n">active</span>
+<span class="p">}</span>
+</pre></div>
+      <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
+        Rev. 1341347 by fmeschbe on Tue, 22 May 2012 08:25:18 +0000
+      </div>
+      <div class="trademarkFooter"> 
+        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.
+      </div>
+    </div>
+  </body>
+</html>

Modified: websites/staging/sling/trunk/content/sling-testing-tools.html
==============================================================================
--- websites/staging/sling/trunk/content/sling-testing-tools.html (original)
+++ websites/staging/sling/trunk/content/sling-testing-tools.html Tue May 22 08:25:32 2012
@@ -82,180 +82,82 @@
         <a href="/">Home</a>
       </div>
       <h1>Sling Testing Tools</h1>
-      <p><a name="SlingTestingTools-SlingTestingTools"></a></p>
-<h1 id="sling-testing-tools">Sling Testing Tools</h1>
-<p>Sling provides a number of testing tools to support the following use
-cases:
-<em> Run JUnit tests contributed by OSGi bundles in an OSGi system. This does
-not require Sling and should work in other OSGi  environments.
-</em> Run scriptable tests in a Sling instance, using any supported scripting
-language.
-* Run integration tests via HTTP against a Sling instance that is started
-during the Maven build cycle, or independently.</p>
-<p>This page describes those tools, and points to the bundles that implement
-them.</p>
-<p>The <a href="http://svn.apache.org/repos/asf/sling/trunk/testing/samples/integration-tests">testing/samples/integration-tests</a>
- module demonstrates these tools, and is also meant as a sample project to
-show how to run integration tests for Sling-based applications.</p>
-<p>The main Sling integration tests at <a href="https://svn.apache.org/repos/asf/sling/trunk/launchpad/integration-tests">launchpad/integration-tests</a>
- were created before this testing framework, and do not use it yet (as of
-March 2011). The new testing tools are simpler to use, but the "old" tests
-(all 400 of them as I write this) fulfill their validation role for testing
-Sling itself, there's no real need to modify them to use the new tools.</p>
-<p><a name="SlingTestingTools-Server-sideJUnittestscontributedbybundles"></a></p>
+      <h1 id="sling-testing-tools">Sling Testing Tools</h1>
+<p>Sling provides a number of testing tools to support the following use cases:
+<em> Run JUnit tests contributed by OSGi bundles in an OSGi system. This does not require Sling and should work in other OSGi  environments.
+</em> Run scriptable tests in a Sling instance, using any supported scripting language.
+* Run integration tests via HTTP against a Sling instance that is started during the Maven build cycle, or independently.</p>
+<p>This page describes those tools, and points to the bundles that implement them.</p>
+<p>The <a href="">testing/samples/integration-tests</a> module demonstrates these tools, and is also meant as a sample project to show how to run integration tests for Sling-based applications.</p>
+<p>The main Sling integration tests at <a href="">launchpad/integration-tests</a> were created before this testing framework, and do not use it yet (as of March 2011). The new testing tools are simpler to use, but the "old" tests (all 400 of them as I write this) fulfill their validation role for testing Sling itself, there's no real need to modify them to use the new tools.</p>
+<p>See also <a href="">SLINGxSITE:Testing Sling-based applications</a> which discusses testing in general.</p>
 <h1 id="server-side-junit-tests-contributed-by-bundles">Server-side JUnit tests contributed by bundles</h1>
-<p>The services provided by the <a href="http://svn.apache.org/repos/asf/sling/trunk/testing/junit/core">org.apache.sling.junit.core</a>
- bundle allow bundles to register JUnit tests, which are executed
-server-side by the JUnitServlet registered by default at
-<em>/system/sling/junit</em>. This bundle is not dependent on Sling, it should
-work in other OSGi environments.</p>
+<p>The services provided by the <a href="">org.apache.sling.junit.core</a> bundle allow bundles to register JUnit tests, which are executed server-side by the JUnitServlet registered by default at <code>/system/sling/junit</code>. This bundle is not dependent on Sling, it should work in other OSGi environments.</p>
 <p>{warning:title=JUnit servlet security}
-Note that the JUnitServlet does not require authentication, so it would
-allow any client to run tests. The servlet can be disabled by configuration
-if needed, but in general the <em>/system</em> path should not be accessible to
-website visitors anyway.
+Note that the JUnitServlet does not require authentication, so it would allow any client to run tests. The servlet can be disabled by configuration if needed, but in general the <code>/system</code> path should not be accessible to website visitors anyway.
 {warning}</p>
 <p>{note:title=SlingJUnitServlet}
-For tighter integration with Sling, the alternate <em>SlingJUnitServlet</em> is
-registered with the <em>sling/junit/testing</em> resource type and <em>.junit</em>
-selector, if the bundle is running in a Sling system. Using this servlet
-instead of the plain JUnitServlet also allows Sling authentication to be
-used for running the tests, and the standard Sling request processing is
-used, including servlet filters for example.
+For tighter integration with Sling, the alternate <code>SlingJUnitServlet</code> is registered with the <code>sling/junit/testing</code> resource type and <code>.junit</code> selector, if the bundle is running in a Sling system. Using this servlet instead of the plain JUnitServlet also allows Sling authentication to be used for running the tests, and the standard Sling request processing is used, including servlet filters for example.
 {note}</p>
-<p>To try the JUnitServlet interactively, install the <a href="http://svn.apache.org/repos/asf/sling/trunk/testing/samples/sample-tests">org.apache.sling.testing.samples.sampletests</a>
- bundle.</p>
-<p>This bundle contains a number of test classes, which are registered with
-the <em>org.apache.sling.junit.core</em> services by way of the
-<em>Sling-Test-Regexp=.</em>Test<em> bundle header, defined in the bundle's
-</em>pom.xml*. The JUnit core services use this regular expression to select
-which classes of the test bundle should be executed as JUnit tests.</p>
-<p>To list the available tests, open http://localhost:8080/system/sling/junit/
-. The servlet shows available tests, and allows you to execute them via a
-POST request.</p>
-<p>Adding a path allows you to select a specific subset of tests, as in
-http://localhost:8080/system/sling/junit/org.apache.sling.junit.remote.html
-- the example integration tests described below use this to selectively
-execute server-side tests. The JUnitServlet provides various output
-formats, including in particular JSON, see
-http://localhost:8080/system/sling/junit/.json for example.</p>
-<p>To supply tests from your own bundles, simply export the tests classes and
-add the <em>Sling-Test-Regexp</em> header to the bundle so that the Sling JUnit
-core services register them as tests.</p>
-<p><a name="SlingTestingTools-InjectionofOSGiservices"></a></p>
+<p>To try the JUnitServlet interactively, install the <a href="">org.apache.sling.testing.samples.sampletests</a> bundle.</p>
+<p>This bundle contains a number of test classes, which are registered with the <code>org.apache.sling.junit.core</code> services by way of the <code>Sling-Test-Regexp=.*Test</code> bundle header, defined in the bundle's <code>pom.xml</code>. The JUnit core services use this regular expression to select which classes of the test bundle should be executed as JUnit tests.</p>
+<p>To list the available tests, open http://localhost:8080/system/sling/junit/ . The servlet shows available tests, and allows you to execute them via a POST request.</p>
+<p>Adding a path allows you to select a specific subset of tests, as in http://localhost:8080/system/sling/junit/org.apache.sling.junit.remote.html - the example integration tests described below use this to selectively execute server-side tests. The JUnitServlet provides various output formats, including in particular JSON, see http://localhost:8080/system/sling/junit/.json for example.</p>
+<p>To supply tests from your own bundles, simply export the tests classes and add the <code>Sling-Test-Regexp</code> header to the bundle so that the Sling JUnit core services register them as tests.</p>
 <h3 id="injection-of-osgi-services">Injection of OSGi services</h3>
-<p>The <em>@TestReference</em> annotation is used to inject OSGi services in tests
-that are executed server side.The <em>BundleContext</em> can also be injected in
-this way, see the <a href="http://svn.apache.org/repos/asf/sling/trunk/testing/samples/sample-tests/src/main/java/org/apache/sling/testing/samples/sampletests/OsgiAwareTest.java">OsgiAwareTest</a>
- for an example.</p>
-<p><a name="SlingTestingTools-Curlexamples"></a></p>
+<p>The <code>@TestReference</code> annotation is used to inject OSGi services in tests that are executed server side.The <code>BundleContext</code> can also be injected in this way, see the <a href="">OsgiAwareTest</a> for an example.</p>
 <h2 id="curl-examples">Curl examples</h2>
 <p>Here's an example executing a few tests using curl:</p>
 <p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>Running tests with curl</B></DIV><DIV class="codeContent panelContent">
-    $ curl -X POST
-http://localhost:8080/system/sling/junit/org.apache.sling.testing.samples.sampletests.JUnit.json
+    $ curl -X POST http://localhost:8080/system/sling/junit/org.apache.sling.testing.samples.sampletests.JUnit.json
     [{
         "INFO_TYPE": "test",
-        "description":
-"testPasses(org.apache.sling.testing.samples.sampletests.JUnit3Test)"
+        "description": "testPasses(org.apache.sling.testing.samples.sampletests.JUnit3Test)"
       },{
         "INFO_TYPE": "test",
-        "description":
-"testPasses(org.apache.sling.testing.samples.sampletests.JUnit4Test)"
+        "description": "testPasses(org.apache.sling.testing.samples.sampletests.JUnit4Test)"
       },{
         "INFO_TYPE": "test",
-        "description":
-"testRequiresBefore(org.apache.sling.testing.samples.sampletests.JUnit4Test)"
+        "description": "testRequiresBefore(org.apache.sling.testing.samples.sampletests.JUnit4Test)"
       }
     ]</p>
 <p>And another example with a test that fails:
 <DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>Failing tests with curl</B></DIV><DIV class="codeContent panelContent">
-    $ curl -X POST
-http://localhost:8080/system/sling/junit/org.apache.sling.testing.samples.failingtests.JUnit4FailingTest.json
+    $ curl -X POST http://localhost:8080/system/sling/junit/org.apache.sling.testing.samples.failingtests.JUnit4FailingTest.json
     [continuous integration|SLINGxSITE:Project Information]</p>
-<p><a name="SlingTestingTools-Scriptableserver-sidetests"></a></p>
 <h1 id="scriptable-server-side-tests">Scriptable server-side tests</h1>
-<p>If the <a href="http://svn.apache.org/repos/asf/sling/trunk/testing/junit/scriptable">org.apache.sling.junit.scriptable</a>
- bundle is active in a Sling system, (in addition to the
-<em>org.apache.sling.junit.core</em> bundle), scriptable tests can be executed
-by the <em>JUnitServlet</em> according to the following rules:</p>
+<p>If the <a href="">org.apache.sling.junit.scriptable</a> bundle is active in a Sling system, (in addition to the <code>org.apache.sling.junit.core</code> bundle), scriptable tests can be executed by the <code>JUnitServlet</code> according to the following rules:</p>
 <ul>
-<li>A node that has the <em>sling:Test</em> mixin is a scriptable test node.</li>
-<li>For security reasons, scriptable test nodes are only executed as tests if
-they are found under <em>/libs</em> or <em>/apps</em>, or more precisely under a path
-that's part of Sling's <em>ResourceResolver</em> search path.</li>
-<li>To execute a test, the scriptable tests provider makes an HTTP requests
-to the test node's path, with a <em>.test.txt</em> selector and extension, and
-expects the output to contain only the string <em>TEST_PASSED</em>. Empty lines
-and comment lines starting with a hash sign (#) are ignored in the output,
-and other lines are reported as failures.</li>
+<li>A node that has the <code>sling:Test</code> mixin is a scriptable test node.</li>
+<li>For security reasons, scriptable test nodes are only executed as tests if they are found under <code>/libs</code> or <code>/apps</code>, or more precisely under a path that's part of Sling's <code>ResourceResolver</code> search path.</li>
+<li>To execute a test, the scriptable tests provider makes an HTTP requests to the test node's path, with a <code>.test.txt</code> selector and extension, and expects the output to contain only the string <code>TEST_PASSED</code>. Empty lines and comment lines starting with a hash sign (#) are ignored in the output, and other lines are reported as failures.</li>
 </ul>
-<p>The <a href="http://svn.apache.org/repos/asf/sling/trunk/testing/samples/integration-tests/src/test/java/org/apache/sling/testing/samples/integrationtests/serverside/scriptable/ScriptableTestsTest.java">ScriptableTestsTest</a>
- class, from the integration test samples module described below, sets up
-such a test node and its accompanying script, and calls the JUnitServlet to
-execute the test. It can be used as a detailed example of how this works.</p>
-<p><a name="SlingTestingTools-Integrationtestsexample"></a></p>
+<p>The <a href="">ScriptableTestsTest</a> class, from the integration test samples module described below, sets up such a test node and its accompanying script, and calls the JUnitServlet to execute the test. It can be used as a detailed example of how this works.</p>
 <h1 id="integration-tests-example">Integration tests example</h1>
-<p>The <a href="http://svn.apache.org/repos/asf/sling/trunk/testing/samples/integration-tests">testing/samples/integration-tests</a>
- module runs some simple integration tests against a Sling Launchpad
-instance that's setup from scratch before running the tests.</p>
-<p>This module's pom and Java code can be used as examples to setup your own
-integration testing modules for Sling-based apps - or for any other
-runnable jar that provides an http service.</p>
-<p>Besides serving as examples, some of the tests in this module are used to
-validate the testing tools. They run as part of the full Sling <a href="project-information.html">continuous integration</a>
- build, so they're guaranteed to be correct examples if that build is
-successful.</p>
-<p>The sample uses the <a href="http://svn.apache.org/repos/asf/sling/trunk/testing/tools">testing/tools</a>
- to make the test code simpler. See the [OsgiConsoleTest|https://svn.apache.org/repos/asf/sling/trunk/testing/samples/integration-tests/src/test/java/org/apache/sling/testing/samples/integrationtests/http/OsgiConsoleTest.java]
- class for an example of a test that's very readable and requires no test
-setup or boilerplate code.</p>
-<p>The following steps are executed in the <em>integration-test</em> phase of this
-module's Maven  build:
-1. A random port number for the Sling server is selected by the Maven build
-helper plugin, unless explicitely set (see pom.xml for such options).
-1. Additional bundles, defined in the module's pom, are downloaded from the
-Maven repository in the <em>target/sling/additional-bundles</em> folder.
-1. The first test that inherits from the <a href="https://svn.apache.org/repos/asf/sling/trunk/testing/tools/src/main/java/org/apache/sling/testing/tools/sling/SlingTestBase.java">SlingTestBase</a>
- class causes the Sling runnable jar (defined as a dependency in the
-module's pom) to be started. 
-1. # The <em>SlingTestBase</em> class waits for the Sling server to be ready,
-based on URLs and expected responses defined in the pom.
-1. # The <em>SlingTestBase</em> class installs and starts the bundles found in the
-<em>target/sling/additional-bundles</em> folder.
-1. The test can now either test Sling directly via its http interface, or
-use the JUnitServlet to execute server-side tests contributed by bundles or
-scripts, as described above.
+<p>The <a href="">testing/samples/integration-tests</a> module runs some simple integration tests against a Sling Launchpad instance that's setup from scratch before running the tests.</p>
+<p>This module's pom and Java code can be used as examples to setup your own integration testing modules for Sling-based apps - or for any other runnable jar that provides an http service.</p>
+<p>Besides serving as examples, some of the tests in this module are used to validate the testing tools. They run as part of the full Sling <a href="/project-information.html">continuous integration</a> build, so they're guaranteed to be correct examples if that build is successful.</p>
+<p>The sample uses the <a href="">testing/tools</a> to make the test code simpler. See the [OsgiConsoleTest|https://svn.apache.org/repos/asf/sling/trunk/testing/samples/integration-tests/src/test/java/org/apache/sling/testing/samples/integrationtests/http/OsgiConsoleTest.java] class for an example of a test that's very readable and requires no test setup or boilerplate code.</p>
+<p>The following steps are executed in the <code>integration-test</code> phase of this module's Maven  build:
+1. A random port number for the Sling server is selected by the Maven build helper plugin, unless explicitely set (see pom.xml for such options).
+1. Additional bundles, defined in the module's pom, are downloaded from the Maven repository in the <code>target/sling/additional-bundles</code> folder.
+1. The first test that inherits from the <a href="">SlingTestBase</a> class causes the Sling runnable jar (defined as a dependency in the module's pom) to be started. 
+1. # The <code>SlingTestBase</code> class waits for the Sling server to be ready, based on URLs and expected responses defined in the pom.
+1. # The <code>SlingTestBase</code> class installs and starts the bundles found in the <code>target/sling/additional-bundles</code> folder.
+1. The test can now either test Sling directly via its http interface, or use the JUnitServlet to execute server-side tests contributed by bundles or scripts, as described above.
 1. The Sling runnable jar is stopped when the test VM exits.
 1. The test results are reported via the usual Maven mechanisms.</p>
-<p>If <em>-DkeepJarRunning</em> is used on the Maven command line, the Sling
-runnable jar does not exit, to allow for running individual tests against
-this instance, for example when debugging the tests or the server code. See
-the pom for details.</p>
-<p><a name="SlingTestingTools-Remotetestexecution"></a></p>
+<p>If <code>-DkeepJarRunning</code> is used on the Maven command line, the Sling runnable jar does not exit, to allow for running individual tests against this instance, for example when debugging the tests or the server code. See the pom for details.</p>
 <h1 id="remote-test-execution">Remote test execution</h1>
 <p>The testing tools support two types of remote test execution.</p>
-<p><a name="SlingTestingTools-SlingRemoteTestRunner"></a></p>
 <h2 id="slingremotetestrunner">SlingRemoteTestRunner</h2>
-<p>The <a href="http://svn.apache.org/repos/asf/sling/trunk/testing/junit/remote/src/main/java/org/apache/sling/junit/remote/testrunner/SlingRemoteTestRunner.java">SlingRemoteTestRunner</a>
- is used to run tests using the <em>JUnitServlet</em> described above. In this
-case, the client-side JUnit test only defines which tests to run and some
-optional assertions. Checking the number of tests executed, for example,
-can be useful to make sure all test bundles have been activated as
-expected, to avoid ignoring missing test bundles.</p>
-<p>See the <a href="https://svn.apache.org/repos/asf/sling/trunk/testing/samples/integration-tests/src/test/java/org/apache/sling/testing/samples/integrationtests/serverside/ServerSideSampleTest.java">ServerSideSampleTest</a>
- class for an example.</p>
-<p><a name="SlingTestingTools-SlingRemoteExecutionRule"></a></p>
+<p>The <a href="">SlingRemoteTestRunner</a> is used to run tests using the <code>JUnitServlet</code> described above. In this case, the client-side JUnit test only defines which tests to run and some optional assertions. Checking the number of tests executed, for example, can be useful to make sure all test bundles have been activated as expected, to avoid ignoring missing test bundles.</p>
+<p>See the <a href="">ServerSideSampleTest</a> class for an example.</p>
 <h2 id="slingremoteexecutionrule">SlingRemoteExecutionRule</h2>
-<p>The <a href="http://svn.apache.org/repos/asf/sling/trunk/testing/junit/remote/src/main/java/org/apache/sling/junit/remote/ide/SlingRemoteExecutionRule.java">SlingRemoteExecutionRule</a>
- is a JUnit Rule that allows tests to be executed remotely in a Sling
-instance from an IDE, assuming the test is available on both sides.</p>
-<p>The <a href="https://svn.apache.org/repos/asf/sling/trunk/testing/junit/remote/src/main/java/org/apache/sling/junit/remote/exported/ExampleRemoteTest.java">ExampleRemoteTest</a>
- class demonstrates this. To run it from your IDE, set the
-<em>sling.remote.test.url</em> in the IDE to the URL of the JUnitServlet, like
-http://localhost:8080/system/sling/junit for example.</p>
+<p>The <a href="">SlingRemoteExecutionRule</a> is a JUnit Rule that allows tests to be executed remotely in a Sling instance from an IDE, assuming the test is available on both sides.</p>
+<p>The <a href="">ExampleRemoteTest</a> class demonstrates this. To run it from your IDE, set the <code>sling.remote.test.url</code> in the IDE to the URL of the JUnitServlet, like http://localhost:8080/system/sling/junit for example.</p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1328899 by fmeschbe on Sun, 22 Apr 2012 16:52:13 +0000
+        Rev. 1341347 by fmeschbe on Tue, 22 May 2012 08:25:18 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project

Modified: websites/staging/sling/trunk/content/sling.html
==============================================================================
--- websites/staging/sling/trunk/content/sling.html (original)
+++ websites/staging/sling/trunk/content/sling.html Tue May 22 08:25:32 2012
@@ -82,26 +82,11 @@
         <a href="/">Home</a>
       </div>
       <h1>Sling</h1>
-      <p><a name="Sling-MavenSlingPlugin"></a></p>
-<h1 id="maven-sling-plugin">Maven Sling Plugin</h1>
-<p>The Maven Sling Plugin provides a number of goals which may be of help
-while developping bundles for Sling. To run the plugin you need at least
-Maven 2.x and JDK 1.5 or higher. Maven Sling Plugin provides the following
-goals:</p>
-<table>
-<tr><td> [sling:deploy](#deploy.html)
- </td><td> Deploy a OSGi-bundle into a running Sling instance. </td></tr>
-<tr><td> [sling:deploy-file](#deploy-file.html)
- </td><td> Deploy a OSGi-bundle into a running Sling instance without requiring a
-project descriptor file. </td></tr>
-
-<tr><td> [sling:install-file](#install-file.html)
- </td><td> Install a OSGi-bundle into a running Sling instance without requiring a
-project descriptor file. </td></tr>
-
-</table>
-
-<p><a name="Sling-Usage"></a></p>
+      <h1 id="maven-sling-plugin">Maven Sling Plugin</h1>
+<p>The Maven Sling Plugin provides a number of goals which may be of help while developping bundles for Sling. To run the plugin you need at least Maven 2.x and JDK 1.5 or higher. Maven Sling Plugin provides the following goals:</p>
+<p>| <a href="">sling:deploy</a> | Deploy a OSGi-bundle into a running Sling instance. |
+| <a href="">sling:deploy-file</a> | Deploy a OSGi-bundle into a running Sling instance without requiring a project descriptor file. |</p>
+<p>| <a href="">sling:install-file</a> | Install a OSGi-bundle into a running Sling instance without requiring a project descriptor file. |</p>
 <h2 id="usage">Usage</h2>
 <p>You should specify the version in your project's plugin configuration:</p>
 <div class="codehilite"><pre><span class="nt">&lt;project&gt;</span>
@@ -110,20 +95,20 @@ project descriptor file. </td></tr>
     <span class="c">&lt;!-- To define the plugin version in your parent POM --&gt;</span>
     <span class="nt">&lt;pluginManagement&gt;</span>
       <span class="nt">&lt;plugins&gt;</span>
-    <span class="nt">&lt;plugin&gt;</span>
-      <span class="nt">&lt;groupId&gt;</span>org.apache.sling<span class="nt">&lt;/groupId&gt;</span>
-      <span class="nt">&lt;artifactId&gt;</span>maven-sling-plugin<span class="nt">&lt;/artifactId&gt;</span>
-      <span class="nt">&lt;version&gt;</span>2.0.5-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-    <span class="nt">&lt;/plugin&gt;</span>
-    ...
+        <span class="nt">&lt;plugin&gt;</span>
+          <span class="nt">&lt;groupId&gt;</span>org.apache.sling<span class="nt">&lt;/groupId&gt;</span>
+          <span class="nt">&lt;artifactId&gt;</span>maven-sling-plugin<span class="nt">&lt;/artifactId&gt;</span>
+          <span class="nt">&lt;version&gt;</span>2.0.5-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
+        <span class="nt">&lt;/plugin&gt;</span>
+        ...
       <span class="nt">&lt;/plugins&gt;</span>
     <span class="nt">&lt;/pluginManagement&gt;</span>
     <span class="c">&lt;!-- To use the plugin goals in your POM or parent POM --&gt;</span>
     <span class="nt">&lt;plugins&gt;</span>
       <span class="nt">&lt;plugin&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>org.apache.sling<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>maven-sling-plugin<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;version&gt;</span>2.0.5-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
+        <span class="nt">&lt;groupId&gt;</span>org.apache.sling<span class="nt">&lt;/groupId&gt;</span>
+        <span class="nt">&lt;artifactId&gt;</span>maven-sling-plugin<span class="nt">&lt;/artifactId&gt;</span>
+        <span class="nt">&lt;version&gt;</span>2.0.5-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
       <span class="nt">&lt;/plugin&gt;</span>
       ...
     <span class="nt">&lt;/plugins&gt;</span>
@@ -133,18 +118,12 @@ project descriptor file. </td></tr>
 </pre></div>
 
 
-<p>For more information, see <a href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">"Guide to Configuring Plug-ins"</a></p>
+<p>For more information, see <a href="">"Guide to Configuring Plug-ins"</a></p>
 <p>{anchor:deploy}</p>
-<p><a name="Sling-The*deploy*goal"></a></p>
-<h2 id="the-deploy-goal">The <em>deploy</em> goal</h2>
-<p>The <em>deploy</em> goal uploads a bundle to a Sling OSGi Bundle Repository
-server implemented by the <em>sling-obr</em> bundle, which may be located on a
-remote system. The plugin places an HTTP <em>POST</em> request to the server
-sending the bundle file.&nbsp;</p>
-<p><a name="Sling-Use"></a></p>
+<h2 id="the-deploy-goal">The <code>deploy</code> goal</h2>
+<p>The <code>deploy</code> goal uploads a bundle to a Sling OSGi Bundle Repository server implemented by the <em>sling-obr</em> bundle, which may be located on a remote system. The plugin places an HTTP <code>POST</code> request to the server sending the bundle file.&nbsp;</p>
 <h3 id="use">Use</h3>
-<p>To use the <em>deploy</em> goal of the Maven Sling Plugin define the following
-elements in the <em><plugins></em> section of the POM:</p>
+<p>To use the <code>deploy</code> goal of the Maven Sling Plugin define the following elements in the <code>&lt;plugins&gt;</code> section of the POM:</p>
 <div class="codehilite"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;</span>
 <span class="nt">&lt;project&gt;</span>
   ....
@@ -153,16 +132,16 @@ elements in the <em><plugins></em> secti
     <span class="nt">&lt;plugins&gt;</span>
       ....
       <span class="nt">&lt;plugin&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>org.apache.sling<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>maven-sling-plugin<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;executions&gt;</span>
-      <span class="nt">&lt;execution&gt;</span>
-        <span class="nt">&lt;id&gt;</span>deploy-bundle<span class="nt">&lt;/id&gt;</span>
-        <span class="nt">&lt;goals&gt;</span>
-          <span class="nt">&lt;goal&gt;</span>deploy<span class="nt">&lt;/goal&gt;</span>
-        <span class="nt">&lt;/goals&gt;</span>
-      <span class="nt">&lt;/execution&gt;</span>
-    <span class="nt">&lt;/executions&gt;</span>
+        <span class="nt">&lt;groupId&gt;</span>org.apache.sling<span class="nt">&lt;/groupId&gt;</span>
+        <span class="nt">&lt;artifactId&gt;</span>maven-sling-plugin<span class="nt">&lt;/artifactId&gt;</span>
+        <span class="nt">&lt;executions&gt;</span>
+          <span class="nt">&lt;execution&gt;</span>
+            <span class="nt">&lt;id&gt;</span>deploy-bundle<span class="nt">&lt;/id&gt;</span>
+            <span class="nt">&lt;goals&gt;</span>
+              <span class="nt">&lt;goal&gt;</span>deploy<span class="nt">&lt;/goal&gt;</span>
+            <span class="nt">&lt;/goals&gt;</span>
+          <span class="nt">&lt;/execution&gt;</span>
+        <span class="nt">&lt;/executions&gt;</span>
       <span class="nt">&lt;/plugin&gt;</span>
       ....
     <span class="nt">&lt;plugins&gt;</span>
@@ -173,81 +152,40 @@ elements in the <em><plugins></em> secti
 </pre></div>
 
 
-<p><a name="Sling-Configuration"></a></p>
 <h3 id="configuration">Configuration</h3>
-<p>The <em>deploy</em> goal may be configured in the <em><configuration></em> element
-using the following properties:
-<table>
-<tr><th> Parameter </th><th> Default Value </th><th> System Property Overwrite </th><th> Description
-</th></tr>
-<tr><td> <em>skip</em> </td><td> <em>false</em> </td><td> <em>sling.deploy.skip</em> </td><td> Whether to skip this step
-even though it has been configured in the project to be executed. The main
-use of this setting is preventing deployment of the bundle to a Sling OSGi
-Bundle Repository server if it is known that there is none or if such an
-upload is not required. </td></tr>
-<tr><td> <em>buildDirectory</em> </td><td> <em>${project.build.directory</em>} </td><td> - </td><td> The path of
-the file to be installed </td></tr>
-<tr><td> <em>jarName</em> </td><td> <em>${project.build.finalName}.jar</em> </td><td> - </td><td> The name of the
-file to be installed </td></tr>
-<tr><td> <em>obr</em> </td><td> - </td><td> <em>obr</em> </td><td> The URL of the running Sling instance to which
-the bundle is installed. Note that this parameter is required and has no
-defualt value. It must always be specified in the configuration section or
-on the command line. </td></tr>
-{anchor:deploy-file}
-</table></p>
-<p><a name="Sling-The*deploy-file*goal"></a></p>
-<h2 id="the-deploy-file-goal">The <em>deploy-file</em> goal</h2>
-<p>The <em>deploy-file</em> goal is equivalent to the <em>deploy</em> goal except, that
-the <em>deploy-file</em> does not require a project descriptor file while the
-<em>deploy</em> goal does. In other words the <em>deploy-file</em> goal may used to
-upload any bundle file available to a Sling OBR server instance.</p>
-<p><a name="Sling-Use"></a></p>
+<p>The <code>deploy</code> goal may be configured in the <code>&lt;configuration&gt;</code> element using the following properties:
+| Parameter | Default Value | System Property Overwrite | Description |
+|--|--|--|--|
+| <code>skip</code> | <code>false</code> | <code>sling.deploy.skip</code> | Whether to skip this step even though it has been configured in the project to be executed. The main use of this setting is preventing deployment of the bundle to a Sling OSGi Bundle Repository server if it is known that there is none or if such an upload is not required. |
+| <code>buildDirectory</code> | <code>$\{project.build.directory</code>} | - | The path of the file to be installed |
+| <code>jarName</code> | <code>$\{project.build.finalName}.jar</code> | - | The name of the file to be installed |
+| <code>obr</code> | - | <code>obr</code> | The URL of the running Sling instance to which the bundle is installed. Note that this parameter is required and has no defualt value. It must always be specified in the configuration section or on the command line. |
+{anchor:deploy-file}</p>
+<h2 id="the-deploy-file-goal">The <code>deploy-file</code> goal</h2>
+<p>The <code>deploy-file</code> goal is equivalent to the <code>deploy</code> goal except, that the <code>deploy-file</code> does not require a project descriptor file while the <code>deploy</code> goal does. In other words the <code>deploy-file</code> goal may used to upload any bundle file available to a Sling OBR server instance.</p>
 <h3 id="use_1">Use</h3>
-<p>The <em>deploy-file</em> goal may only be used from the command line by
-explicitly calling it as in:</p>
-<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">mvn</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">sling:maven</span><span class="o">-</span><span class="n">sling</span><span class="o">-</span><span class="n">plugin:deploy</span><span class="o">-</span><span class="n">file</span> <span class="o">-</span><span class="n">Dsling</span><span class="o">.</span><span class="n">file</span><span class="o">=</span><span class="sr">&lt;file&gt;</span>
+<p>The <code>deploy-file</code> goal may only be used from the command line by explicitly calling it as in:</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">mvn</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">sling:maven</span><span class="o">-</span><span class="n">sling</span><span class="o">-</span><span class="n">plugin:deploy</span><span class="o">-</span><span class="n">file</span> <span class="o">-</span><span class="n">Dsling</span><span class="o">.</span><span class="n">file</span><span class="o">=</span><span class="sr">&lt;file&gt;</span> <span class="o">-</span><span class="n">Dobr</span><span class="o">=</span><span class="sr">&lt;url&gt;</span>
 </pre></div>
 
 
-<p>-Dobr=<url></p>
-<p>Specifying the bundle file to upload with the <em>sling.file</em> property is
-required.</p>
-<p><a name="Sling-Configuration"></a></p>
+<p>Specifying the bundle file to upload with the <code>sling.file</code> property is required.</p>
 <h3 id="configuration_1">Configuration</h3>
-<p>The <em>deploy-file</em> supports similar configuration parameters as the
-<em>deploy</em> goal with the exception of the <em>skip</em> parameter which makes no
-sense. In addition, all parameters must be specified on the command line by
-setting system properties. The <em>bundleFileName</em> parameter specified as
-the <em>sling.file</em> system property as well as the <em>obr</em> URL are required
-by the <em>deploy-file</em> goal.
-<table>
-<tr><th> Parameter </th><th> Default Value </th><th> System Property Overwrite </th><th> Description
-</th></tr>
-<tr><td> <em>bundleFileName</em> </td><td>
-<em>${project.build.directory}/${project.build.finalName}.jar</em> </td><td>
-<em>sling.file</em> </td><td> The path and name of the file to be installed </td></tr>
-<tr><td> <em>obr</em> </td><td> - </td><td> <em>obr</em> </td><td> The URL of the running Sling instance to which
-the bundle is installed. Note that this parameter is required and has no
-defualt value. It must always be specified in the configuration section or
-on the command line. </td></tr>
-Example: To deploy the bundle file <em>someBundle.jar</em> to the OBR running at  you might use the goal as follows:</p>
-<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">mvn</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">sling:maven</span><span class="o">-</span><span class="n">sling</span><span class="o">-</span><span class="n">plugin:deploy</span><span class="o">-</span><span class="n">file</span>
+<p>The <code>deploy-file</code> supports similar configuration parameters as the <code>deploy</code> goal with the exception of the <code>skip</code> parameter which makes no sense. In addition, all parameters must be specified on the command line by setting system properties. The <code>bundleFileName</code> parameter specified as the <code>sling.file</code> system property as well as the <code>obr</code> URL are required by the <code>deploy-file</code> goal.
+| Parameter | Default Value | System Property Overwrite | Description |
+|--|--|--|--|
+| <code>bundleFileName</code> | <code>$\{project.build.directory}/$\{project.build.finalName}.jar</code> | <code>sling.file</code> | The path and name of the file to be installed |
+| <code>obr</code> | - | <code>obr</code> | The URL of the running Sling instance to which the bundle is installed. Note that this parameter is required and has no defualt value. It must always be specified in the configuration section or on the command line. |
+Example: To deploy the bundle file <code>someBundle.jar</code> to the OBR running at <code>[http://obr.sample.org]()</code> you might use the goal as follows:</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">mvn</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">sling:maven</span><span class="o">-</span><span class="n">sling</span><span class="o">-</span><span class="n">plugin:deploy</span><span class="o">-</span><span class="n">file</span> <span class="o">-</span><span class="n">Dsling</span><span class="o">.</span><span class="n">file</span><span class="o">=</span><span class="n">someBundle</span><span class="o">.</span><span class="n">jar</span> <span class="o">-</span><span class="n">Dobr</span><span class="o">=</span><span class="n">http:</span><span class="sr">//o</span><span class="n">br</span><span class="o">.</span><span class="n">sample</span><span class="o">.</span><span class="n">org</span>
 </pre></div>
 
 
-<p>-Dsling.file=someBundle.jar -Dobr=http://obr.sample.org</p>
 <p>{anchor:install}</p>
-<p><a name="Sling-The*install*goal"></a></p>
-<h2 id="the-install-goal">The <em>install</em> goal</h2>
-<p>The <em>install</em> goal uploads a bundle to a running sling instance, which
-may be located on a remote system. The plugin places an HTTP <em>POST</em>
-request to the sling instance sending the bundle file together with flags
-indicating whether to start the bundle and what start level to assign the
-bundle. It's also possible to HTTP <em>PUT</em> instead of <em>POST</em> for WebDAV.</p>
-<p><a name="Sling-Use"></a></p>
+<h2 id="the-install-goal">The <code>install</code> goal</h2>
+<p>The <code>install</code> goal uploads a bundle to a running sling instance, which may be located on a remote system. The plugin places an HTTP <code>POST</code> request to the sling instance sending the bundle file together with flags indicating whether to start the bundle and what start level to assign the bundle. It's also possible to HTTP <code>PUT</code> instead of <code>POST</code> for WebDAV.</p>
 <h3 id="use_2">Use</h3>
-<p>To use the <em>install</em> goal of the Maven Sling Plugin define the following
-elements in the <em><plugins></em> section of the POM:</p>
+<p>To use the <code>install</code> goal of the Maven Sling Plugin define the following elements in the <code>&lt;plugins&gt;</code> section of the POM:</p>
 <div class="codehilite"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;</span>
 <span class="nt">&lt;project&gt;</span>
   ....
@@ -256,16 +194,16 @@ elements in the <em><plugins></em> secti
     <span class="nt">&lt;plugins&gt;</span>
       ....
       <span class="nt">&lt;plugin&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>org.apache.sling<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>maven-sling-plugin<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;executions&gt;</span>
-      <span class="nt">&lt;execution&gt;</span>
-        <span class="nt">&lt;id&gt;</span>install-bundle<span class="nt">&lt;/id&gt;</span>
-        <span class="nt">&lt;goals&gt;</span>
-          <span class="nt">&lt;goal&gt;</span>install<span class="nt">&lt;/goal&gt;</span>
-        <span class="nt">&lt;/goals&gt;</span>
-      <span class="nt">&lt;/execution&gt;</span>
-    <span class="nt">&lt;/executions&gt;</span>
+        <span class="nt">&lt;groupId&gt;</span>org.apache.sling<span class="nt">&lt;/groupId&gt;</span>
+        <span class="nt">&lt;artifactId&gt;</span>maven-sling-plugin<span class="nt">&lt;/artifactId&gt;</span>
+        <span class="nt">&lt;executions&gt;</span>
+          <span class="nt">&lt;execution&gt;</span>
+            <span class="nt">&lt;id&gt;</span>install-bundle<span class="nt">&lt;/id&gt;</span>
+            <span class="nt">&lt;goals&gt;</span>
+              <span class="nt">&lt;goal&gt;</span>install<span class="nt">&lt;/goal&gt;</span>
+            <span class="nt">&lt;/goals&gt;</span>
+          <span class="nt">&lt;/execution&gt;</span>
+        <span class="nt">&lt;/executions&gt;</span>
       <span class="nt">&lt;/plugin&gt;</span>
       ....
     <span class="nt">&lt;plugins&gt;</span>
@@ -276,90 +214,42 @@ elements in the <em><plugins></em> secti
 </pre></div>
 
 
-<p><a name="Sling-Configuration"></a></p>
 <h3 id="configuration_2">Configuration</h3>
-<p>The <em>install</em> goal may be configured in the <em><configuration></em> element
-using the following properties:
-<table>
-<tr><th> Parameter </th><th> Default Value </th><th> System Property Overwrite </th><th> Description
-</th></tr>
-<tr><td> <em>skip</em> </td><td> <em>false</em> </td><td> <em>sling.install.skip</em> </td><td> Whether to skip this step
-even though it has been configured in the project to be executed. The main
-use of this setting is preventing installation of the bundle to a running
-Sling installation if it is known that there is none or if such an upload
-is not required, for example when building the bundle in an automated build
-system such as Confluence. </td></tr>
-<tr><td> <em>bundleFileName</em> </td><td>
-<em>${project.build.directory}/${project.build.finalName}.jar</em> </td><td>
-<em>sling.file</em> </td><td> The path and name of the file to be installed </td></tr>
-<tr><td> <em>bundleStart</em> </td><td> <em>true</em> </td><td> <em>sling.bundle.start</em> </td><td> Whether to start
-the bundle after installing it. If the bundle is just updated, this
-parameter is ignored even if the bundle is currently stopped </td></tr>
-<tr><td> <em>bundleStartLevel</em> </td><td> <em>20</em> </td><td> <em>sling.bundle.startlevel</em> </td><td> The start
-level to set on the installed bundle. If the bundle is already installed
-and therefore is only updated this parameter is ignored. The parameter is
-also ignored if the running Sling instance has no StartLevel service (which
-is unusual actually) </td></tr>
-<tr><td> <em>slingUrl</em> </td><td> <em>http{</em>}<em>://localhost:8080/sling</em> </td><td> <em>sling.url</em> </td><td>
-The URL of the running Sling instance to which the bundle is installed </td></tr>
-<tr><td> <em>user</em> </td><td> <em>admin</em> </td><td> <em>sling.user</em> </td><td> The name of the user to
-authenticate as with the running Sling instance given by the <em>slingUrl</em>
-parameter </td></tr>
-<tr><td> <em>password</em> </td><td> <em>admin</em> </td><td> <em>sling.password</em> </td><td> The password of the user
-to authenticate as with the running Sling instance given by the
-<em>slingUrl</em> parameter </td></tr></p>
-<tr><td> *usePut* </td><td> *false* </td><td> *sling.usePut* </td><td> If a simple HTTP PUT should
-be used instead of the standard POST to the  felix console. In the
-uninstall goal, a HTTP DELETE will be  used. </td></tr>
-
-<tr><td> *refreshPackages* </td><td> *true* </td><td> *sling.refreshPackages* </td><td> Whether to refresh the packages after installing the uploaded bundle. If this property is set to *true*, the  method is called after installing or updating the bundle. </td></tr>
-
-<p>{anchor:install-file}
-</table></p>
-<p><a name="Sling-The*install-file*goal"></a></p>
-<h2 id="the-install-file-goal">The <em>install-file</em> goal</h2>
-<p>The <em>install-file</em> goal is equivalent to the <em>install</em> goal except,
-that the <em>install-file</em> does not require a project descriptor file while
-the <em>install</em> goal does. In other words the <em>install-file</em> goal may
-used to upload any bundle file available to a running Sling instance.</p>
-<p><a name="Sling-Use"></a></p>
+<p>The <code>install</code> goal may be configured in the <code>&lt;configuration&gt;</code> element using the following properties:
+| Parameter | Default Value | System Property Overwrite | Description |
+|--|--|--|--|
+| <code>skip</code> | <code>false</code> | <code>sling.install.skip</code> | Whether to skip this step even though it has been configured in the project to be executed. The main use of this setting is preventing installation of the bundle to a running Sling installation if it is known that there is none or if such an upload is not required, for example when building the bundle in an automated build system such as Confluence. |
+| <code>bundleFileName</code> | <code>$\{project.build.directory}/$\{project.build.finalName}.jar</code> | <code>sling.file</code> | The path and name of the file to be installed |
+| <code>bundleStart</code> | <code>true</code> | <code>sling.bundle.start</code> | Whether to start the bundle after installing it. If the bundle is just updated, this parameter is ignored even if the bundle is currently stopped |
+| <code>bundleStartLevel</code> | <code>20</code> | <code>sling.bundle.startlevel</code> | The start level to set on the installed bundle. If the bundle is already installed and therefore is only updated this parameter is ignored. The parameter is also ignored if the running Sling instance has no StartLevel service (which is unusual actually) |
+| <code>slingUrl</code> | <code>http{</code>}<code>://localhost:8080/sling</code> | <code>sling.url</code> | The URL of the running Sling instance to which the bundle is installed |
+| <code>user</code> | <code>admin</code> | <code>sling.user</code> | The name of the user to authenticate as with the running Sling instance given by the <code>slingUrl</code> parameter |
+| <code>password</code> | <code>admin</code> | <code>sling.password</code> | The password of the user to authenticate as with the running Sling instance given by the <code>slingUrl</code> parameter |</p>
+<p>| <code>usePut</code> | <code>false</code> | <code>sling.usePut</code> | If a simple HTTP PUT should be used instead of the standard POST to the  felix console. In the uninstall goal, a HTTP DELETE will be  used. |
+| <code>refreshPackages</code> | <code>true</code> | <code>sling.refreshPackages</code> | Whether to refresh the packages after installing the uploaded bundle. If this property is set to <code>true</code>, the <code>PackageAdmin.refreshPackages(Bundle\[\]())</code> method is called after installing or updating the bundle. |
+{anchor:install-file}</p>
+<h2 id="the-install-file-goal">The <code>install-file</code> goal</h2>
+<p>The <code>install-file</code> goal is equivalent to the <code>install</code> goal except, that the <code>install-file</code> does not require a project descriptor file while the <code>install</code> goal does. In other words the <code>install-file</code> goal may used to upload any bundle file available to a running Sling instance.</p>
 <h3 id="use_3">Use</h3>
-<p>The <em>install-file</em> goal may only be used from the command line by
-explicitly calling it as in:</p>
+<p>The <code>install-file</code> goal may only be used from the command line by explicitly calling it as in:</p>
 <div class="codehilite"><pre><span class="nv">$</span> <span class="nv">mvn</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">sling:maven</span><span class="o">-</span><span class="n">sling</span><span class="o">-</span><span class="n">plugin:install</span><span class="o">-</span><span class="n">file</span> <span class="o">-</span><span class="n">Dsling</span><span class="o">.</span><span class="n">file</span><span class="o">=</span><span class="sr">&lt;file&gt;</span>
 </pre></div>
 
 
-<p>Specifying the bundle file to upload with the <em>sling.file</em> property is
-required.</p>
-<p><a name="Sling-Configuration"></a></p>
+<p>Specifying the bundle file to upload with the <code>sling.file</code> property is required.</p>
 <h3 id="configuration_3">Configuration</h3>
-<p>The <em>install-file</em> supports the same configuration parameters as the
-<em>install</em> goal with the exception of the <em>skip</em> parameter which makes
-no sense. In addition, all parameters must be specified on the command line
-by setting system properties. The <em>bundleFileName</em> parameter specified as
-the <em>sling.file</em> system property is required by the <em>install-file</em>
-goal.</p>
-<p>For a description of the parameters see the configuration section of the <a href="#install.html"><em>install</em> goal</a>
- above.</p>
-<p>Example: To upload the bundle file <em>someBundle.jar</em> you might use the
-goal as follows:</p>
-<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">mvn</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">sling:maven</span><span class="o">-</span><span class="n">sling</span><span class="o">-</span><span class="n">plugin:install</span><span class="o">-</span><span class="n">file</span>
+<p>The <code>install-file</code> supports the same configuration parameters as the <code>install</code> goal with the exception of the <code>skip</code> parameter which makes no sense. In addition, all parameters must be specified on the command line by setting system properties. The <code>bundleFileName</code> parameter specified as the <code>sling.file</code> system property is required by the <code>install-file</code> goal.</p>
+<p>For a description of the parameters see the configuration section of the <a href=""><code>install</code> goal</a> above.</p>
+<p>Example: To upload the bundle file <code>someBundle.jar</code> you might use the goal as follows:</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">mvn</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">sling:maven</span><span class="o">-</span><span class="n">sling</span><span class="o">-</span><span class="n">plugin:install</span><span class="o">-</span><span class="n">file</span> <span class="o">-</span><span class="n">Dsling</span><span class="o">.</span><span class="n">file</span><span class="o">=</span><span class="n">someBundle</span><span class="o">.</span><span class="n">jar</span>
 </pre></div>
 
 
-<p>-Dsling.file=someBundle.jar</p>
 <p>{anchor:uninstall}</p>
-<p><a name="Sling-The*uninstall*goal"></a></p>
-<h2 id="the-uninstall-goal">The <em>uninstall</em> goal</h2>
-<p>The <em>uninstall</em> goal uninstalls a bundle from a running sling instance,
-which may be located on a remote system. The plugin uninstalles a bundle
-via a HTTP <em>POST{</em>}request. It's also possible to use HTTP <em>DELETE</em>
-instead of <em>POST</em> for WebDAV.</p>
-<p><a name="Sling-Use"></a></p>
+<h2 id="the-uninstall-goal">The <code>uninstall</code> goal</h2>
+<p>The <code>uninstall</code> goal uninstalls a bundle from a running sling instance, which may be located on a remote system. The plugin uninstalles a bundle via a HTTP <code>POST{</code>}request. It's also possible to use HTTP <code>DELETE</code> instead of <code>POST</code> for WebDAV.</p>
 <h3 id="use_4">Use</h3>
-<p>To use the <em>uninstall</em> goal of the Maven Sling Plugin define the
-following elements in the <em><plugins></em> section of the POM:</p>
+<p>To use the <code>uninstall</code> goal of the Maven Sling Plugin define the following elements in the <code>&lt;plugins&gt;</code> section of the POM:</p>
 <div class="codehilite"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;</span>
 <span class="nt">&lt;project&gt;</span>
   ....
@@ -368,16 +258,16 @@ following elements in the <em><plugins><
     <span class="nt">&lt;plugins&gt;</span>
       ....
       <span class="nt">&lt;plugin&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>org.apache.sling<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>maven-sling-plugin<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;executions&gt;</span>
-      <span class="nt">&lt;execution&gt;</span>
-        <span class="nt">&lt;id&gt;</span>uninstall-bundle<span class="nt">&lt;/id&gt;</span>
-        <span class="nt">&lt;goals&gt;</span>
-          <span class="nt">&lt;goal&gt;</span>uninstall<span class="nt">&lt;/goal&gt;</span>
-        <span class="nt">&lt;/goals&gt;</span>
-      <span class="nt">&lt;/execution&gt;</span>
-    <span class="nt">&lt;/executions&gt;</span>
+        <span class="nt">&lt;groupId&gt;</span>org.apache.sling<span class="nt">&lt;/groupId&gt;</span>
+        <span class="nt">&lt;artifactId&gt;</span>maven-sling-plugin<span class="nt">&lt;/artifactId&gt;</span>
+        <span class="nt">&lt;executions&gt;</span>
+          <span class="nt">&lt;execution&gt;</span>
+            <span class="nt">&lt;id&gt;</span>uninstall-bundle<span class="nt">&lt;/id&gt;</span>
+            <span class="nt">&lt;goals&gt;</span>
+              <span class="nt">&lt;goal&gt;</span>uninstall<span class="nt">&lt;/goal&gt;</span>
+            <span class="nt">&lt;/goals&gt;</span>
+          <span class="nt">&lt;/execution&gt;</span>
+        <span class="nt">&lt;/executions&gt;</span>
       <span class="nt">&lt;/plugin&gt;</span>
       ....
     <span class="nt">&lt;plugins&gt;</span>
@@ -388,36 +278,20 @@ following elements in the <em><plugins><
 </pre></div>
 
 
-<p><a name="Sling-Configuration"></a></p>
 <h3 id="configuration_4">Configuration</h3>
-<p>The <em>uninstall</em> goal may be configured in the <em><configuration></em> element
-using the following properties:
-<table>
-<tr><th> Parameter </th><th> Default Value </th><th> System Property Overwrite </th><th> Description
-</th></tr>
-<tr><td> <em>bundleFileName</em> </td><td>
-<em>${project.build.directory}/${project.build.finalName}.jar</em> </td><td>
-<em>sling.file</em> </td><td> The path and name of the file to be uninstalled </td></tr>
-<tr><td> <em>slingUrl</em> </td><td> <em>http{</em>}<em>://localhost:8080/sling</em> </td><td> <em>sling.url</em> </td><td>
-The URL of the running Sling instance to which the bundle should be
-uninstalled </td></tr>
-<tr><td> <em>user</em> </td><td> <em>admin</em> </td><td> <em>sling.user</em> </td><td> The name of the user to
-authenticate as with the running Sling instance given by the <em>slingUrl</em>
-parameter </td></tr>
-<tr><td> <em>password</em> </td><td> <em>admin</em> </td><td> <em>sling.password</em> </td><td> The password of the user
-to authenticate as with the running Sling instance given by the
-<em>slingUrl</em> parameter </td></tr>
-<tr><td> <em>usePut</em> </td><td> <em>false</em> </td><td> <em>sling.usePut</em> </td><td> In the uninstall goal, a HTTP
-DELETE will be used. </td></tr>
-{anchor:validate}
-</table></p>
-<p><a name="Sling-The*validate*goal"></a></p>
-<h2 id="the-validate-goal">The <em>validate</em> goal</h2>
-<p>The <em>validate</em> goal checks the JSON code of a bundle.</p>
-<p><a name="Sling-Use"></a></p>
+<p>The <code>uninstall</code> goal may be configured in the <code>&lt;configuration&gt;</code> element using the following properties:
+| Parameter | Default Value | System Property Overwrite | Description |
+|--|--|--|--|
+| <code>bundleFileName</code> | <code>$\{project.build.directory}/$\{project.build.finalName}.jar</code> | <code>sling.file</code> | The path and name of the file to be uninstalled |
+| <code>slingUrl</code> | <code>http{</code>}<code>://localhost:8080/sling</code> | <code>sling.url</code> | The URL of the running Sling instance to which the bundle should be uninstalled |
+| <code>user</code> | <code>admin</code> | <code>sling.user</code> | The name of the user to authenticate as with the running Sling instance given by the <code>slingUrl</code> parameter |
+| <code>password</code> | <code>admin</code> | <code>sling.password</code> | The password of the user to authenticate as with the running Sling instance given by the <code>slingUrl</code> parameter |
+| <code>usePut</code> | <code>false</code> | <code>sling.usePut</code> | In the uninstall goal, a HTTP DELETE will be used. |
+{anchor:validate}</p>
+<h2 id="the-validate-goal">The <code>validate</code> goal</h2>
+<p>The <code>validate</code> goal checks the JSON code of a bundle.</p>
 <h3 id="use_5">Use</h3>
-<p>To use the <em>validate</em> goal of the Maven Sling Plugin define the following
-elements in the <em><plugins></em> section of the POM:</p>
+<p>To use the <code>validate</code> goal of the Maven Sling Plugin define the following elements in the <code>&lt;plugins&gt;</code> section of the POM:</p>
 <div class="codehilite"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;</span>
 <span class="nt">&lt;project&gt;</span>
   ....
@@ -426,16 +300,16 @@ elements in the <em><plugins></em> secti
     <span class="nt">&lt;plugins&gt;</span>
       ....
       <span class="nt">&lt;plugin&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>org.apache.sling<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>maven-sling-plugin<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;executions&gt;</span>
-      <span class="nt">&lt;execution&gt;</span>
-        <span class="nt">&lt;id&gt;</span>validate-bundle<span class="nt">&lt;/id&gt;</span>
-        <span class="nt">&lt;goals&gt;</span>
-          <span class="nt">&lt;goal&gt;</span>validate<span class="nt">&lt;/goal&gt;</span>
-        <span class="nt">&lt;/goals&gt;</span>
-      <span class="nt">&lt;/execution&gt;</span>
-    <span class="nt">&lt;/executions&gt;</span>
+        <span class="nt">&lt;groupId&gt;</span>org.apache.sling<span class="nt">&lt;/groupId&gt;</span>
+        <span class="nt">&lt;artifactId&gt;</span>maven-sling-plugin<span class="nt">&lt;/artifactId&gt;</span>
+        <span class="nt">&lt;executions&gt;</span>
+          <span class="nt">&lt;execution&gt;</span>
+            <span class="nt">&lt;id&gt;</span>validate-bundle<span class="nt">&lt;/id&gt;</span>
+            <span class="nt">&lt;goals&gt;</span>
+              <span class="nt">&lt;goal&gt;</span>validate<span class="nt">&lt;/goal&gt;</span>
+            <span class="nt">&lt;/goals&gt;</span>
+          <span class="nt">&lt;/execution&gt;</span>
+        <span class="nt">&lt;/executions&gt;</span>
       <span class="nt">&lt;/plugin&gt;</span>
       ....
     <span class="nt">&lt;plugins&gt;</span>
@@ -446,21 +320,14 @@ elements in the <em><plugins></em> secti
 </pre></div>
 
 
-<p><a name="Sling-Configuration"></a></p>
 <h3 id="configuration_5">Configuration</h3>
-<p>The <em>validate</em> goal may be configured in the <em><configuration></em> element
-using the following properties:
-<table>
-<tr><th> Parameter </th><th> Default Value </th><th> System Property Overwrite </th><th> Description
-</th></tr>
-<tr><td> <em>skip</em> </td><td> <em>false</em> </td><td> <em>sling.validation.skip</em> </td><td> Whether to skip the
-validation </td></tr>
-<tr><td> <em>skipJson</em> </td><td> <em>false</em> </td><td> <em>sling.validation.skipJson</em> </td><td> Whether to
-skip the JSON validation. At the time, there's no difference between
-<em>skip</em> and <em>skipJson</em> because only JSON files will be validated by now.
-</td></tr></p>
+<p>The <code>validate</code> goal may be configured in the <code>&lt;configuration&gt;</code> element using the following properties:
+| Parameter | Default Value | System Property Overwrite | Description |
+|--|--|--|--|
+| <code>skip</code> | <code>false</code> | <code>sling.validation.skip</code> | Whether to skip the validation |
+| <code>skipJson</code> | <code>false</code> | <code>sling.validation.skipJson</code> | Whether to skip the JSON validation. At the time, there's no difference between <code>skip</code> and <code>skipJson</code> because only JSON files will be validated by now. |</p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1328899 by fmeschbe on Sun, 22 Apr 2012 16:52:13 +0000
+        Rev. 1341347 by fmeschbe on Tue, 22 May 2012 08:25:18 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project

Modified: websites/staging/sling/trunk/content/the-sling-engine.html
==============================================================================
--- websites/staging/sling/trunk/content/the-sling-engine.html (original)
+++ websites/staging/sling/trunk/content/the-sling-engine.html Tue May 22 08:25:32 2012
@@ -82,40 +82,35 @@
         <a href="/">Home</a>
       </div>
       <h1>The Sling Engine</h1>
-      <p><a name="TheSlingEngine-TheSlingEngine"></a></p>
-<h1 id="the-sling-engine">The Sling Engine</h1>
-<p><a name="TheSlingEngine-General"></a></p>
+      <h1 id="the-sling-engine">The Sling Engine</h1>
 <h2 id="general">General</h2>
 <ul>
-<li><a href="architecture.html">Architecture</a></li>
-<li><a href="authentication.html">Authentication</a></li>
+<li><a href="/architecture.html">Architecture</a></li>
+<li><a href="/authentication.html">Authentication</a></li>
 </ul>
-<p><a name="TheSlingEngine-RequestHandling"></a></p>
 <h2 id="request-handling">Request Handling</h2>
 <ul>
-<li><a href="dispatching-requests.html">Dispatching Requests</a></li>
-<li><a href="url-decomposition.html">URL decomposition</a></li>
-<li><a href="request-listeners.html">Request Listeners</a></li>
-<li><a href="filters.html">Filters</a></li>
-<li><a href="servlets.html">Servlets and Scripts</a></li>
-<li><a href="errorhandling.html">Errorhandling</a></li>
-<li><a href="request-parameters.html">Request Parameters</a></li>
+<li><a href="/dispatching-requests.html">Dispatching Requests</a></li>
+<li><a href="/url-decomposition.html">URL decomposition</a></li>
+<li><a href="/request-listeners.html">Request Listeners</a></li>
+<li><a href="/filters.html">Filters</a></li>
+<li><a href="/servlets.html">Servlets and Scripts</a></li>
+<li><a href="/errorhandling.html">Errorhandling</a></li>
+<li><a href="/request-parameters.html">Request Parameters</a></li>
 </ul>
-<p><a name="TheSlingEngine-Resources"></a></p>
 <h2 id="resources">Resources</h2>
 <ul>
-<li><a href="resources.html">Resources</a></li>
-<li><a href="wrap-or-decorate-resources.html">Wrap or Decorate Resources</a></li>
-<li><a href="mappings-for-resource-resolution.html">Mappings for Resource Resolution</a></li>
+<li><a href="/resources.html">Resources</a></li>
+<li><a href="/wrap-or-decorate-resources.html">Wrap or Decorate Resources</a></li>
+<li><a href="/mappings-for-resource-resolution.html">Mappings for Resource Resolution</a></li>
 </ul>
-<p><a name="TheSlingEngine-Misc"></a></p>
 <h2 id="misc">Misc</h2>
 <ul>
-<li><a href="adapters.html">Adapters</a></li>
-<li><a href="eventing-and-jobs.html">Eventing and Jobs</a></li>
+<li><a href="/adapters.html">Adapters</a></li>
+<li><a href="/eventing-and-jobs.html">Eventing and Jobs</a></li>
 </ul>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1328899 by fmeschbe on Sun, 22 Apr 2012 16:52:13 +0000
+        Rev. 1341347 by fmeschbe on Tue, 22 May 2012 08:25:18 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project



Mime
View raw message