You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bu...@apache.org on 2012/04/22 19:09:58 UTC

svn commit: r813969 [6/11] - /websites/staging/sling/trunk/content/

Modified: websites/staging/sling/trunk/content/issue-tracker.html
==============================================================================
--- websites/staging/sling/trunk/content/issue-tracker.html (original)
+++ websites/staging/sling/trunk/content/issue-tracker.html Sun Apr 22 17:09:56 2012
@@ -79,111 +79,10 @@
     
     <div class="main">
       <div class="breadcrump" style="font-size: 80%;">
-		(TODO: breadcrumb here)
+<a href="/">Home</a>
       </div>
-      <h1 class="title">Issue Tracker</h1>
-      <div>
-	    <p>Apache Sling uses Jira for tracking bug reports and requests for
-improvements, new features, and other changes.</p>
-<p>The issue tracker is available at
-https://issues.apache.org/jira/browse/SLING and is readable by everyone. A
-Jira account is needed to create new issues and to comment on existing
-issues. Use the <a href="https://issues.apache.org/jira/secure/Signup!default.jspa">registration form</a>
- to request an account if you do not already have one.</p>
-<p>See below for guidelines on creating and managing issues.</p>
-<p><a name="IssueTracker-Issuetype"></a></p>
-<h2 id="issue-type">Issue type</h2>
-<p>When creating a new issue, select the issue type based as follows:</p>
-<table>
-<tr><th> Issue type   </th><th> Description </th></tr>
-<tr><td>  *Bug*   </td><td>  Bug reports are used for cases where Sling fails not
-function as it should (as defined by some documentation). If you are not
-certain whether the issue you've found is actually a bug, please ask the [Sling mailing lists](project-information#projectinformation-mailinglists.html)
- first for help. </td></tr>
-<tr><td>  *New Feature*  </td><td>  Use a feature request when Sling does not have some
-functionality you need. </td></tr>
-<tr><td>  *Improvement*  </td><td>  Use an improvement request to suggest improvements to
-existing features. Typical improvement requests are about updating
-documentation, increasing stability and performance, simplifying the
-implementation, or other such changes that make Sling better without
-introducing new features or fixing existing bugs. </td></tr>
-<tr><td>  *Test*      </td><td>  Use this type when contributing test cases for
-existing features. Normally test cases should be contributed as a part of
-the original feature request or as regression tests associated with bug
-reports, but sometimes you just want to extend test coverage by introducing
-new test cases. This issue type is for such cases. </td></tr>
-<tr><td>  *Task*      </td><td>  Used only for issues related to project
-infrastructure. </td></tr>
-</table>
+   <!--   <h1 class="title">Issue Tracker</h1> -->
 
-<p><a name="IssueTracker-Summary"></a></p>
-<h2 id="summary">Summary</h2>
-<p>The issue summary should be a short and clear statement that indicates the
-scope of the issue. You are probably being too verbose if you exceed the
-length of the text field. Use the Environment and Description fields to
-provide more detailed information.</p>
-<p><a name="IssueTracker-Issuepriority"></a></p>
-<h2 id="issue-priority">Issue priority</h2>
-<p>Issue priority should be set according to the following:</p>
-<table>
-<tr><th> Issue priority </th><th> Description </td></tr>
-<tr><td>  *Blocker*   </td><td>  Legal or other fundamental issue that makes it
-impossible to release Jackrabbit code </td></tr>
-<tr><td>  *Critical*      </td><td>  Major loss of functionality that affects many
-Slingusers </td></tr>
-<tr><td>  *Major*     </td><td>  Important issue that should be resolved soon </td></tr>
-<tr><td>  *Minor*     </td><td>  Nice to have issues </td></tr>
-<tr><td>  *Trivial*   </td><td>  Trivial changes that can be applied whenever someone
-has extra time </td></tr>
-</table>
-
-<p><a name="IssueTracker-IssueStates"></a></p>
-<h2 id="issue-states">Issue States</h2>
-<p>Sling issues can transition through a number of states while being
-processed:</p>
-<table>
-<tr><th> State </th><th> Description </th><th> Next States in Workflow </th></tr>
-<tr><td> *Open* </td><td> The issue has just been created </td><td> _In Pogress_ </td></tr>
-<tr><td> *In Progress* </td><td> Work has started on the issue </td><td> _Documentation Required_,
-_Testcase Required_, _Documentation/Testcase required_, _Resolved_, _Open_
-</td></tr>
-<tr><td> *Documentation Required* </td><td> Implementation work has finished for this
-issue. To complete it documentation must be created and/or updated. </td><td>
-_Resolved_ </td></tr>
-<tr><td> *Testcase Required* </td><td> Implementation work has finished for this issue. To
-complete it test cases must be created and/or updated. </td><td> _Resolved_ </td></tr>
-<tr><td> *Documentation/Testcase Required* </td><td> Implementation work has finished for
-this issue. To complete it documentation and test cases must be created
-and/or updated. </td><td> _Resolved_, _Documentation Required_, _Testcase Required_
-</td></tr>
-<tr><td> *Resolved* </td><td> The issue has been resolved from the developers point of
-view. Documentation and Testcases have been created and updated as
-required. Issue is ready for release. </td><td> _Reopened_, _Closed_ </td></tr>
-<tr><td> *Reopened* </td><td> A resolved issue has been recognized to contain bugs or to
-be incomplete and thus has been reopened. </td><td> _In Progress_, _Resolved_ </td></tr>
-<tr><td> *Closed* </td><td> Work on this issue has finished and it is included in the
-release. </td><td> -- </td></tr>
-</table>
-
-<p>Users generally create issues and provide feedback while work on the issue
-is in progress. When the developer thinks the issue has been resolved, he
-resolves the issue. At this point, the user may test the resolution and
-reopen the issue if it has not really be solved. Otherwise the user may
-just acknowledge the fix.</p>
-<p>Developers transition the issue through the workflow while working on it.
-When done with the issue, they mark the issue resolved with the appropriate
-resolution and ask the reporting user to confirm.</p>
-<p>Issues are closed once the project against which it has been reported has
-been released. Issues once closed cannot be opened again. Rather new issues
-should be created against the new release to have broken implementations
-fixed or extended.</p>
-<p><a name="IssueTracker-Patches"></a></p>
-<h2 id="patches">Patches</h2>
-<p>When reporting a bug, requesting a feature or propose an improvement, it is
-a good thing to attach a patch to the issue. This may speed up issue
-processing and helps you being recognized as a good community member
-leading to closer involvement with Sling.</p>
-      </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.

Modified: websites/staging/sling/trunk/content/jackrabbit-persistence.html
==============================================================================
--- websites/staging/sling/trunk/content/jackrabbit-persistence.html (original)
+++ websites/staging/sling/trunk/content/jackrabbit-persistence.html Sun Apr 22 17:09:56 2012
@@ -79,134 +79,10 @@
     
     <div class="main">
       <div class="breadcrump" style="font-size: 80%;">
-		(TODO: breadcrumb here)
+<a href="/">Home</a>
       </div>
-      <h1 class="title">Jackrabbit Persistence</h1>
-      <div>
-	    <p><a name="JackrabbitPersistence-JackrabbitPersistence"></a></p>
-<h1 id="jackrabbit-persistence">Jackrabbit Persistence</h1>
-<p>Out-of-the-box the embedded Jackrabbit repository used by Sling (the
-Embedded Jackrabbit Repository bundle) uses Derby to persist the JCR nodes
-and properties. For some applications or environments it may be required or
-required to replace Derby with another backing store such as PostgreSQL or
-Oracle.</p>
-<p>This page is based on the journey of Tony Giaccone to get Sling running
-with a PostgreSQL based Jackrabbit instance.</p>
-<p><a name="JackrabbitPersistence-ManagementSummary"></a></p>
-<h2 id="management-summary">Management Summary</h2>
-<p>To replace Derby as the persistence manager for Jackrabbit the following
-steps are required:</p>
-<ol>
-<li>Provide a JDBC driver for your database as an OSGi bundle</li>
-<li>Reconfigure Jackrabbit to use your database</li>
-<li>(Re-) Start the Embedded Jackrabbit bundle</li>
-</ol>
-<p>When you are not using the Derby persistence manager, you may safely remove
-the Derby bundle from your Sling instance.</p>
-<p><a name="JackrabbitPersistence-JDBCDriver"></a></p>
-<h2 id="jdbc-driver">JDBC Driver</h2>
-<p>The hardest thing to do is probably getting the JDBC driver for your
-database. One option is to look at the bundles provided by Spring Source in
-their repository at http://www.springsource.com/repository/.</p>
-<p>Another option is to create the bundle on your own using Peter Kriens' <a href="http://www.aqute.biz/Code/Bnd">BND Tool</a>
-:</p>
-<ol>
-<li>Get the JDBC driver for your database from the driver provider</li>
-<li>
-<p>Wrap the JDBC driver library into an OSGi bundle:</p>
-<h1 id="example-for-postgresql-jdbc-3-driver-84-701">Example for PostgreSQL JDBC 3 driver 8.4-701</h1>
-<p>$ java -jar bnd.jar wrap postgresql-8.4-701.jdbc3.jar
-$ mv postgresql-8.4-701.jdbc3.bar postgresql-8.4-701.jdbc3-bnd.jar</p>
-</li>
-<li>
-<p>Deploy the driver to your local Maven 2 Repository (Required if adding
-the JDBC driver to a Maven build, e.g. using the Sling Launchpad Plugin)</p>
-<p>$ mvn install:install-file -DgroupId=postgresql -DartifactId=postgresql
--Dversion=8.4.701.jdbc3 \
-        -Dpackaging=jar -Dfile=postgresql-8.4-701.jdbc3-bnd.jar </p>
-</li>
-</ol>
-<p>Tony reports no success with the Spring Source bundle, whily the BND
-approach worked for the PostgreSQL JDBC driver.</p>
-<p><a name="JackrabbitPersistence-ReplaceDerbyinarunningSlingInstance"></a></p>
-<h2 id="replace-derby-in-a-running-sling-instance">Replace Derby in a running Sling Instance</h2>
-<p>To replace Derby in a running Sling instance follow these steps (e.g.
-through the Web Console at <em>/system/console</em>):</p>
-<ol>
-<li>Uninstall the Apache Derby bundle</li>
-<li>Install the JDBC bundle prepared in the first step</li>
-<li>Stop the Jackrabbit Embedded Repository bundle\
-This needs to be reconfigured and restarted anyway. So lets just stop it to
-prevent failures in the next step.</li>
-<li>Refresh the packages (click the <em>Refresh Packages</em> button)</li>
-</ol>
-<p>Alternatively, you may wish to stop Sling after uninstalling Derby and
-installing the JDBC bundle. Technically, this is not required, though.</p>
-<p><a name="JackrabbitPersistence-ReconfiguringJackrabbit"></a></p>
-<h2 id="reconfiguring-jackrabbit">Reconfiguring Jackrabbit</h2>
-<p>To actually use a persistence manager other than the default (Derby)
-persistence manager, you have to configure Jackrabbit to use it. Create a
-<em>repository.xml</em> file in the <em>sling/jackrabbit</em> folder before starting
-Sling for the first time. If the repository was already started, you can
-also modify the existing file.</p>
-<p>To prepare a repository.xml file before first startup, use the {{<a href="http://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/jackrabbit-server/src/main/resources/repository.xml">repository.xml</a>
-}} as a template and modify it by replacing the <em><PersistenceManager></em>
-elements to refer to the selected persistence manager.</p>
-<p>If the file already exists, you can modifiy this existing file and there is
-no need to get the original from the SVN repository.</p>
-<p>For example to use PostgreSQL instead of Derby modify the
-<em><PersistenceManager></em> elements as follows:</p>
-<div class="codehilite"><pre><span class="nt">&lt;Repository&gt;</span>
-    ...
-    <span class="nt">&lt;Workspace</span> <span class="na">name=</span><span class="s">&quot;</span><span class="cp">${</span><span class="n">wsp</span><span class="o">.</span><span class="n">name</span><span class="cp">}</span><span class="s">&quot;</span><span class="nt">&gt;</span>
-    ...
-    <span class="nt">&lt;PersistenceManager</span>
-</pre></div>
+   <!--   <h1 class="title">Jackrabbit Persistence</h1> -->
 
-
-<p>class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager"&gt;
-            <param name="driver" value="org.postgresql.Driver"/>
-            <param name="url"
-value="jdbc:postgresql://localhost:5432/YOUR_DB_NAME_HERE"/>
-            <param name="schema" value="postgresql"/>
-            <param name="user" value="YOUR_USER_HERE"/>
-            <param name="password" value="YOUR_PASSWORD_HERE"/>
-            <param name="schemaObjectPrefix" value="jcr_${wsp.name}_"/>
-            <param name="externalBLOBs" value="false"/>
-        </PersistenceManager>
-        ...
-        </Workspace></p>
-<div class="codehilite"><pre>    <span class="nt">&lt;Versioning</span> <span class="na">rootPath=</span><span class="s">&quot;</span><span class="cp">${</span><span class="n">rep</span><span class="o">.</span><span class="n">home</span><span class="cp">}</span><span class="s">/version&quot;</span><span class="nt">&gt;</span>
-    ...
-    <span class="nt">&lt;PersistenceManager</span>
-</pre></div>
-
-
-<p>class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager"&gt;
-            <param name="driver" value="org.postgresql.Driver"/>
-            <param name="url"
-value="jdbc:postgresql://localhost:5432/YOUR_DB_NAME_HERE"/>
-            <param name="schema" value="postgresql"/>
-            <param name="user" value="YOUR_USER_HERE"/>
-            <param name="password" value="YOUR_PASSWORD_HERE"/>
-            <param name="schemaObjectPrefix" value="version_"/>
-            <param name="externalBLOBs" value="false"/>
-        </PersistenceManager>
-        </Versioning>
-        ...
-    </Repository></p>
-<p>Modify the <em>url</em>, <em>user</em>, and <em>password</em> parameters to match your
-database setup.</p>
-<p>If you reconfigure Jackrabbit to use the new persistence manager, the
-existing repository data in the <em>sling/jackrabbit</em> directory, except the
-<em>repository.xml</em> file, of course, should now be removed.</p>
-<p>Finally either start Sling or start the Jackrabbit Embedded Repository
-bundle.</p>
-<p><a name="JackrabbitPersistence-Credits"></a></p>
-<h2 id="credits">Credits</h2>
-<p>This description is based on Tony Giaccone's description <a href="http://markmail.org/message/wlbfrukmjjsl33hh">Swapping Postgres for Derby</a>
- sent to the Sling Users mailing list.</p>
-      </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.

Modified: websites/staging/sling/trunk/content/jcr-installer-provider.html
==============================================================================
--- websites/staging/sling/trunk/content/jcr-installer-provider.html (original)
+++ websites/staging/sling/trunk/content/jcr-installer-provider.html Sun Apr 22 17:09:56 2012
@@ -79,171 +79,10 @@
     
     <div class="main">
       <div class="breadcrump" style="font-size: 80%;">
-		(TODO: breadcrumb here)
+<a href="/">Home</a>
       </div>
-      <h1 class="title">JCR Installer Provider</h1>
-      <div>
-	    <p>The JCR installer provider scans the JCR repository for artifacts and
-provides them to the <a href="slingxsite:osgi-installer.html">OSGI installer</a>
-.</p>
-<p><a name="JCRInstallerProvider-ConfigurationandScanning"></a></p>
-<h2 id="configuration-and-scanning">Configuration and Scanning</h2>
-<p>The JCR installer provider can be configured with weighted paths which are
-scanned. By default, the installer scans in <em>/apps</em> and <em>/libs</em> where
-artifacts found in <em>/apps</em> get a higher priority. The installer does a deep
-scan and uses a regular expression to detect folders containing artifacts
-to be installed. By default, artifacts from within a folder named <em>install</em>
-are provided to the OSGi installer.</p>
-<p>If such an install folder contains a binary artifact (e.g. a bundle) this
-is provided to the OSGi installer. In addition a node of type
-<em>sling:OsgiConfig</em> is provided as a configuration to the installer.</p>
-<p>The jcr installer provider does not check or scan the artifacts itself, the
-detection and installation is deferred to the OSGi installer.</p>
-<p><a name="JCRInstallerProvider-RunmodeSupport"></a></p>
-<h3 id="runmode-support">Runmode Support</h3>
-<p>The JCR installer supports run modes for installing artifacts. By default folders named <em>install</em> are checked for artifacts. If Apache Sling is started with one (or more run modes), all folders named <em>install.<a href="runmode.html">RUNMODE</a>
-</em> are scanned as well. To be precise, the folder name can be followed by
-any number of run modes separated by comma. For example, if started with
-run modes <em>dev</em>, <em>a1</em>, and <em>public</em>, folders like <em>install.dev</em>,
-<em>install.a1</em>, <em>install.public</em> are searched as well as <em>install.dev.a1</em>, or
-<em>install.a1.dev</em>.</p>
-<p>Artifacts from folders with a run mode get a higher priority. For example
-by default, an <em>install</em> folder underneath <em>/libs</em> gets the priority <em>50</em>.
-For each run mode in the folder name, this priority is increased by <em>1</em>, so
-<em>install.dev</em> has <em>51</em> and <em>install.a1.dev</em> is <em>52</em>.</p>
-<p><a name="JCRInstallerProvider-Example"></a></p>
-<h1 id="example">Example</h1>
-<p>Here's a quick walkthrough of the JCR installer functionality.</p>
-<p><a name="JCRInstallerProvider-Installation"></a></p>
-<h2 id="installation">Installation</h2>
-<p>Start the Sling <a href="http://svn.apache.org/repos/asf/sling/trunk/launchpad/app">launchpad/app</a>
- and install and start the following additional bundles:
-<em> <a href="run-modes-(org.apache.sling.runmode).html">RunMode service</a>
-</em> OSGi installer service (<a href="http://svn.apache.org/repos/asf/sling/trunk/installer/core">org.apache.sling.osgi.installer</a>
-)
-* JCR installer provider (<a href="http://svn.apache.org/repos/asf/sling/trunk/installer/providers/jcr">org.apache.sling.jcr.jcrinstall</a>
-)</p>
-<p>To watch the logs produced by these modules, you can filter
-<em>sling/logs/error.log</em> using <em>egrep 'jcrinstall|osgi.installer'</em>.</p>
-<p><a name="JCRInstallerProvider-Installandremoveabundle"></a></p>
-<h2 id="install-and-remove-a-bundle">Install and remove a bundle</h2>
-<p>We'll use the <a href="http://www.knopflerfish.org/releases/2.0.5/jars/desktop_awt/desktop_awt_all-2.0.0.jar">Knopflerfish Desktop</a>
- bundle for this example, it is convenient as it displays a graphical user
-interface when started.</p>
-<p>We use <em>curl</em> to create content, to make it easy to reproduce the example
-by copying and pasting the <em>curl</em> commands. Any other way to create
-content in the repository will work, of course.</p>
-<p>By default, JCRInstall picks up bundles found in folders named <em>install</em>
-under <em>/libs</em> and <em>/apps</em>, so we start by creating such a folder:</p>
-<div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">X</span> <span class="n">MKCOL</span>  <span class="n">http:</span><span class="sr">//</span><span class="n">admin:admin</span><span class="nv">@localhost:8888</span><span class="sr">/apps/</span><span class="n">jcrtest</span>
-<span class="n">curl</span> <span class="o">-</span><span class="n">X</span> <span class="n">MKCOL</span>  <span class="n">http:</span><span class="sr">//</span><span class="n">admin:admin</span><span class="nv">@localhost:8888</span><span class="sr">/apps/</span><span class="n">jcrtest</span><span class="o">/</span><span class="n">install</span>
-</pre></div>
+   <!--   <h1 class="title">JCR Installer Provider</h1> -->
 
-
-<p>And we copy the bundle to install in that folder (a backslash in command
-lines means <em>continued on next line</em>):</p>
-<div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">T</span> <span class="n">desktop_awt_all</span><span class="o">-</span><span class="mf">2.0.0</span><span class="o">.</span><span class="n">jar</span> <span class="o">\</span>
-</pre></div>
-
-
-<p>http://admin:admin@localhost:8888/apps/jcrtest/install/desktop_awt_all-2.0.0.jar</p>
-<p>That's it. After 2-3 seconds, the bundle should be picked up by JCRInstall,
-installed and started. If this works you'll see a small <em>Knopflerfish
-Desktop</em> window on your desktop, and Sling's OSGi console can of course be
-used to check the details.</p>
-<p>Removing the bundle from the repository will cause it to be uninstalled,
-so:</p>
-<div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">X</span> <span class="n">DELETE</span> <span class="o">\</span>
-</pre></div>
-
-
-<p>http://admin:admin@localhost:8888/apps/jcrtest/install/desktop_awt_all-2.0.0.jar</p>
-<p>Should cause the <em>Knopflerfish Desktop</em> window to disappear as the bundle
-is uninstalled.</p>
-<p><a name="JCRInstallerProvider-Install,modifyandremoveaconfiguration"></a></p>
-<h2 id="install-modify-and-remove-a-configuration">Install, modify and remove a configuration</h2>
-<p>JCRInstall installs OSGi configurations from nodes having the
-<em>sling:OsgiConfig</em> node type, found in folders named <em>install</em> under the
-installation roots (/apps and /libs).</p>
-<p>Let's try this feature by creating a configuration with two properties:</p>
-<div class="codehilite"><pre><span class="n">curl</span> <span class="o">\</span>
-  <span class="o">-</span><span class="n">F</span> <span class="s">&quot;jcr:primaryType=sling:OsgiConfig&quot;</span> <span class="o">\</span>
-  <span class="o">-</span><span class="n">F</span> <span class="n">foo</span><span class="o">=</span><span class="n">bar</span> <span class="o">-</span><span class="n">F</span> <span class="n">works</span><span class="o">=</span><span class="n">yes</span> <span class="o">\</span>
-  <span class="n">http:</span><span class="sr">//</span><span class="n">admin:admin</span><span class="nv">@localhost:8888</span><span class="sr">/apps/</span><span class="n">jcrtest</span><span class="sr">/install/som</span><span class="n">e</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">pid</span>
-</pre></div>
-
-
-<p>And verify the contents of our config node:</p>
-<div class="codehilite"><pre><span class="n">curl</span> <span class="o">\</span>
-</pre></div>
-
-
-<p>http://admin:admin@localhost:8888/apps/jcrtest/install/some.config.pid.json</p>
-<p>Which should display something like</p>
-<div class="codehilite"><pre><span class="p">{</span><span class="s">&quot;foo&quot;</span><span class="p">:</span><span class="s">&quot;bar&quot;</span><span class="p">,</span>
-<span class="s">&quot;jcr:created&quot;</span><span class="p">:</span><span class="s">&quot;Wed Aug 26 2009 17:06:40GMT+0200&quot;</span><span class="p">,</span>
-<span class="s">&quot;jcr:primaryType&quot;</span><span class="p">:</span><span class="s">&quot;sling:OsgiConfig&quot;</span><span class="p">,</span><span class="s">&quot;works&quot;</span><span class="p">:</span><span class="s">&quot;yes&quot;</span><span class="p">}</span>
-</pre></div>
-
-
-<p>At this point, JCRInstall should have picked up our new config and
-installed it. The logs would confirm that, but we can also use the OSGi
-console's config status page (http://localhost:8888/system/console/config)
-to check it. That page should now contain:</p>
-<div class="codehilite"><pre><span class="n">PID</span><span class="o">=</span><span class="n">some</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">pid</span>
-  <span class="n">BundleLocation</span><span class="o">=</span><span class="n">Unbound</span>
-  <span class="n">_jcr_config_path</span><span class="o">=</span><span class="n">jcrinstall:</span><span class="sr">/apps/</span><span class="n">jcrtest</span><span class="sr">/install/som</span><span class="n">e</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">pid</span>
-  <span class="n">foo</span><span class="o">=</span><span class="n">bars</span>
-  <span class="n">service</span><span class="o">.</span><span class="n">pid</span><span class="o">=</span><span class="n">some</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">pid</span>
-  <span class="n">works</span><span class="o">=</span><span class="n">yes</span>
-</pre></div>
-
-
-<p>Indicating that the configuration has been installed.</p>
-<p>Let's try modifying the configuration parameters:</p>
-<div class="codehilite"><pre><span class="n">curl</span> <span class="o">\</span>
-  <span class="o">-</span><span class="n">F</span> <span class="n">works</span><span class="o">=</span><span class="n">updated</span> <span class="o">-</span><span class="n">F</span> <span class="n">even</span><span class="o">=</span><span class="n">more</span> <span class="o">\</span>
-  <span class="n">http:</span><span class="sr">//</span><span class="n">admin:admin</span><span class="nv">@localhost:8888</span><span class="sr">/apps/</span><span class="n">jcrtest</span><span class="sr">/install/som</span><span class="n">e</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">pid</span>
-</pre></div>
-
-
-<p>And check the changes in the console page:</p>
-<div class="codehilite"><pre><span class="n">PID</span><span class="o">=</span><span class="n">some</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">pid</span>
-  <span class="n">BundleLocation</span><span class="o">=</span><span class="n">Unbound</span>
-  <span class="n">_jcr_config_path</span><span class="o">=</span><span class="n">jcrinstall:</span><span class="sr">/apps/</span><span class="n">jcrtest</span><span class="sr">/install/som</span><span class="n">e</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">pid</span>
-  <span class="n">even</span><span class="o">=</span><span class="n">more</span>
-  <span class="n">foo</span><span class="o">=</span><span class="n">bars</span>
-  <span class="n">service</span><span class="o">.</span><span class="n">pid</span><span class="o">=</span><span class="n">some</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">pid</span>
-  <span class="n">works</span><span class="o">=</span><span class="n">updated</span>
-</pre></div>
-
-
-<p>We can now delete the configuration node:</p>
-<div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">X</span> <span class="n">DELETE</span> <span class="o">\</span>
-  <span class="n">http:</span><span class="sr">//</span><span class="n">admin:admin</span><span class="nv">@localhost:8888</span><span class="sr">/apps/</span><span class="n">jcrtest</span><span class="sr">/install/som</span><span class="n">e</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">pid</span>
-</pre></div>
-
-
-<p>And verify that the corresponding configuration is gone in the console page
-(after 1-2 seconds, like for all other JCRInstall operations).</p>
-<p><em>TODO:</em> A node named like <em>o.a.s.foo.bar-a</em> uses <em>o.a.s.foo.bar</em> as its
-factory PID creating a configuration with an automatically generated PID.
-The value of <em>a</em> is stored as an alias property in the configuration to
-correlate the configuration object with the repository node - demonstrate
-that.</p>
-<p><a name="JCRInstallerProvider-AutomatedTests"></a></p>
-<h1 id="automated-tests">Automated Tests</h1>
-<p>The following modules contain lots of automated tests (under <em>src/test</em>,
-as usual):</p>
-<ul>
-<li>OSGi installer integration tests (<a href="http://svn.apache.org/repos/asf/sling/trunk/installer/it">org.apache.sling.installer.it</a>
-)</li>
-<li>JCR installer service (<a href="http://svn.apache.org/repos/asf/sling/trunk/installer/providers/jcr">org.apache.sling.installer.providers.jcr</a>
-)</li>
-</ul>
-<p>Many of these tests are fairly readable, and can be used to find out in
-more detail how these modules work.</p>
-      </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.

Modified: websites/staging/sling/trunk/content/jspc.html
==============================================================================
--- websites/staging/sling/trunk/content/jspc.html (original)
+++ websites/staging/sling/trunk/content/jspc.html Sun Apr 22 17:09:56 2012
@@ -79,88 +79,10 @@
     
     <div class="main">
       <div class="breadcrump" style="font-size: 80%;">
-		(TODO: breadcrumb here)
+<a href="/">Home</a>
       </div>
-      <h1 class="title">JspC</h1>
-      <div>
-	    <p><a name="JspC-MavenJspCPlugin"></a></p>
-<h1 id="maven-jspc-plugin">Maven JspC Plugin</h1>
-<p>{excerpt:hidden=true}Compiles JSP scripts into class files and generates
-Declarative Service Descriptors to register the compiled JSPs as
-services{excerpt}</p>
-<p>The Maven JspC Plugin provides a single goal <em>jspc</em> which is by default
-executed in the <em>compile</em> phase of the Maven build process. This goal
-takes all JSP source files from a configured location (<em>src/main/scripts</em>
-by default) and compiles them into classes in a configurable location
-(<em>target/jspc-plugin-generated</em> by default). In addition, for each
-compiled JSP a Declarative Services descriptor is generated and written to
-a descriptor file (<em>OSGI-INF/jspServiceComponents.xml</em> in the output
-location). This descriptor will then be read by the Service Component
-Runtime of the deployment OSGi framework to register all contained JSP as
-<em>javax.servlet.Servlet</em> services.</p>
-<p><a name="JspC-Use"></a></p>
-<h2 id="use">Use</h2>
-<p>To use the Maven JspC Plugin define the following elements in the
-<em><plugins></em> 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>
-    ....
-    <span class="nt">&lt;build&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-jspc-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>compile-jsp<span class="nt">&lt;/id&gt;</span>
-            <span class="nt">&lt;goals&gt;</span>
-                <span class="nt">&lt;goal&gt;</span>jspc<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>
-    ....
-    <span class="nt">&lt;build&gt;</span>
-    ....
-<span class="nt">&lt;project&gt;</span>
-</pre></div>
+   <!--   <h1 class="title">JspC</h1> -->
 
-
-<p><a name="JspC-Configuration"></a></p>
-<h2 id="configuration">Configuration</h2>
-<p>The Maven JspC Plugin may be configured in the <em><configuration></em> element
-using the following properties:</p>
-<table>
-<tr><th> Parameter </th><th> Default Value </th><th> Description </th></tr>
-<tr><td> *sourceDirectory* </td><td> *$\{project.build.scriptSourceDirectory*} </td><td>
-Location of the JSP source file; may be overwritten using the
-*jspc.sourceDirectory* system property. </td></tr>
-<tr><td> *outputDirectory* </td><td>
-*$\{project.build.directory}/jspc-plugin-generated* </td><td> Target directory
-for the compiled JSP classes; may be overwritten using the
-*jspc.outputDirectory* system propertiy. </td></tr>
-<tr><td> *compilerTargetVM* </td><td> *1.5* </td><td> The Target Virtual Machine Version to
-generate class files for; may be overwritten using the
-*jspc.compilerTargetVM* system property. </td></tr>
-<tr><td> *compilerSourceVM* </td><td> *1.5* </td><td> The Compiler Source Version of the Java
-source generated from the JSP files before compiling into classes; may be
-overwritten using the *jspc.compilerSourceVM* system property. </td></tr>
-<tr><td> *servletPackage* </td><td> *org.apache.jsp* </td><td> The root package name for the
-generated class files; may be overwritten using the *jspc.servletPackage*
-system property. </td></tr>
-</table>
-
-<p><a name="JspC-Notes"></a></p>
-<h2 id="notes">Notes</h2>
-<p>The generated JSP classes as well as the Declarative Services descriptor
-are automatically copied to the generated bundle jar file if the Maven
-Bundle Plugin (from the Apache Felix) project is used to build the project
-package.</p>
-      </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.

Modified: websites/staging/sling/trunk/content/launch-sling.html
==============================================================================
--- websites/staging/sling/trunk/content/launch-sling.html (original)
+++ websites/staging/sling/trunk/content/launch-sling.html Sun Apr 22 17:09:56 2012
@@ -79,13 +79,10 @@
     
     <div class="main">
       <div class="breadcrump" style="font-size: 80%;">
-		(TODO: breadcrumb here)
-      </div>
-      <h1 class="title">Launch Sling</h1>
-      <div>
-	    <p>Please refer to <a href="the-sling-launchpad.html">The Sling Launchpad</a>
- for up-to-date information on launching Sling.</p>
+<a href="/">Home</a>
       </div>
+   <!--   <h1 class="title">Launch Sling</h1> -->
+
     
         <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.

Modified: websites/staging/sling/trunk/content/links.html
==============================================================================
--- websites/staging/sling/trunk/content/links.html (original)
+++ websites/staging/sling/trunk/content/links.html Sun Apr 22 17:09:56 2012
@@ -79,89 +79,10 @@
     
     <div class="main">
       <div class="breadcrump" style="font-size: 80%;">
-		(TODO: breadcrumb here)
-      </div>
-      <h1 class="title">Links</h1>
-      <div>
-	    <p><a name="Links-Links"></a></p>
-<h1 id="links">Links</h1>
-<p>Here are some links to other resources</p>
-<p><a name="Links-Articles"></a></p>
-<h2 id="articles">Articles</h2>
-<ul>
-<li><a href="http://java.dzone.com/articles/java-content-repository-best">Java Content Repository: The Best Of Both Worlds</a></li>
-<li>by Bertrand Delacretaz on Javalobby - uses the Sling HTTP interface to
-demonstrate JCR features.</li>
-<li><a href="http://www.lucamasini.net/Home/sling-and-cq5/accessing-relational-data-as-sling-restful-urls">Accessing Relational Data as SLING RESTful URLs</a></li>
-<li>by Luca Masini</li>
-<li><a href="http://confluence.sakaiproject.org/display/KERNDOC/Your+First+Day+With+Sakai+Nakamura">Your First Day With Sakai Nakamura</a></li>
-<li>Sakai Nakamura is based on Sling, that introductory article has very
-good explanations of REST and Sling basics, and on why hierarchies are
-useful on the Web.</li>
-</ul>
-<p><a name="Links-AboutSling"></a></p>
-<h2 id="about-sling">About Sling</h2>
-<ul>
-<li><a href="http://dev.day.com/microsling/content/blogs/main.html?category=sling">Sling on dev.day.com</a></li>
-<li>Day's developers blog, regularly includes articles on Sling and JCR.
-Powered by Sling, of course.</li>
-<li><a href="http://weblogs.goshaky.com/weblogs/lars/tags/sling">Sling on Lars Trieloff's Blog</a></li>
-<li>Lars regularly writes on his experiences with Sling. Most notably the
-mini series of three entries introducing Sling and microsling.</li>
-<li><a href="http://del.icio.us/tag/sling+jcr">Sling links at del.icio.us</a></li>
-<li>If you're a del.icio.us user, please tag Sling-related posts with both
-<em>sling</em> and <em>jcr</em> tags, so that they appear in that list.</li>
-<li><a href="http://fisheye6.atlassian.com/browse/sling">Sling on Fisheye</a></li>
-<li>code repository viewer, activity statistics, etc.</li>
-<li><a href="https://www.ohloh.net/p/sling">Sling on ohloh</a></li>
-<li>activity and community statistics.</li>
-<li><a href="http://sling.markmail.org/">Sling on MarkMail</a></li>
-<li>searchable mailing list archives.</li>
-</ul>
-<p><a name="Links-ProjectsusingSling"></a></p>
-<h2 id="projects-using-sling">Projects using Sling</h2>
-<ul>
-<li>Gert Vanthienen succeeded in installing Sling into the new Apache
-ServiceMix kernel and documented his experience <a href="http://servicemix.apache.org/SMX4KNL/running-apache-sling-on-servicemix-kernel.html">Sling On ServiceMix Kernel</a></li>
-</ul>
-<p><a name="Links-SlingPresentationsandScreencasts"></a></p>
-<h2 id="sling-presentations-and-screencasts">Sling Presentations and Screencasts</h2>
-<ul>
-<li><a href="http://www.slideshare.net/tag/sling">Presentations tagged with "sling" at slideshare</a></li>
-</ul>
-<p>The following screencasts demonstrate Day Software's CRX quickstart
-product, powered by Sling:
-   * <a href="http://dev.day.com/microsling/content/blogs/main/firststeps1.html">First Steps with CRX Quickstart</a>
-   * <a href="http://dev.day.com/microsling/content/blogs/main/firststeps2.html">TheServerSide.com in 15 minutes</a></p>
-<p><a name="Links-FromApacheConEU08"></a></p>
-<h2 id="from-apachecon-eu-08">From ApacheCon EU 08</h2>
-<ul>
-<li><a href="^apacheconeu08_fft_sling.pdf.html">ApacheCon EU 08 Fast Feather Track Presentation on Sling</a></li>
-<li><a href="^apacheconeu08_jcr_meetup_sling_architecture.pdf.html">JCR Meetup Presentation on Sling Architecture</a></li>
-</ul>
-<p><a name="Links-FromApacheConUS07"></a></p>
-<h2 id="from-apachecon-us-07">From ApacheCon US 07</h2>
-<ul>
-<li><a href="^apacheconus07_fft_sling.pdf.html">ApacheCon US 07 Fast Feather Track Presentation on Sling</a></li>
-<li><a href="http://feathercast.org/?p=59">Feathercast On Day 4 with an interview on Sling with Felix</a></li>
-</ul>
-<p><a name="Links-TechnologyusedbySling"></a></p>
-<h2 id="technology-used-by-sling">Technology used by Sling</h2>
-<ul>
-<li><a href="http://jackrabbit.apache.org">Apache Jackrabbit</a></li>
-<li>The reference implementation of the Content Repository for Java (JCR)
-Specification. This implementation is used in Sling as the primary
-repository.</li>
-<li><a href="http://www.jcp.org/en/jsr/detail?id=170">JSR 170: Content Repository for Java{tm} technology API</a></li>
-<li>The specification of the repository API.</li>
-<li><a href="http://felix.apache.org">Apache Felix</a></li>
-<li>The OSGi Framework implementation we use in Sling.</li>
-<li><a href="http://www.osgi.org">The OSGi Alliance</a></li>
-<li>The OSGi Alliance is the specification body defining the OSGi Core and
-Compendium Services. These specifications are at the center of making Sling
-possible.</li>
-</ul>
+<a href="/">Home</a>
       </div>
+   <!--   <h1 class="title">Links</h1> -->
+
     
         <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.

Modified: websites/staging/sling/trunk/content/logging.html
==============================================================================
--- websites/staging/sling/trunk/content/logging.html (original)
+++ websites/staging/sling/trunk/content/logging.html Sun Apr 22 17:09:56 2012
@@ -79,199 +79,10 @@
     
     <div class="main">
       <div class="breadcrump" style="font-size: 80%;">
-		(TODO: breadcrumb here)
+<a href="/">Home</a>
       </div>
-      <h1 class="title">Logging</h1>
-      <div>
-	    <p><a name="Logging-Logging"></a></p>
-<h1 id="logging">Logging</h1>
-<p><a name="Logging-Introduction"></a></p>
-<h2 id="introduction">Introduction</h2>
-<p>Logging in Sling is supported by the <em>org.apache.sling.commons.log</em>
-bundle, which is one of the first bundles installed and started by the
-Sling Launcher. The <em>org.apache.sling.commons.log</em> bundle has the
-following tasks:</p>
-<ul>
-<li>Implements the OSGi Log Service Specification and registers the
-<em>LogService</em> and <em>LogReader</em> services</li>
-<li>Exports three commonly used logging APIs:
-      <strong> <a href="-http://www.slf4j.org.html">Simple Logging Facade for Java (SLF4J)</a>
-    <br />
-</strong> <a href="http://jakarta.apache.org/commons/logging">Apache Commons Logging</a>
-      <strong> <a href="http://logging.apache.org/log4j/index.html">log4j</a>
-    <br />
-</strong> <a href="http://download.oracle.com/javase/6/docs/api/java/util/logging/package-summary.html">java.util.logging</a>
- (as of r1169918)</li>
-<li>Configures logging through our own implementation of the SLF4J backend
-API</li>
-</ul>
-<p><a name="Logging-InitialConfiguration"></a></p>
-<h2 id="initial-configuration">Initial Configuration</h2>
-<p>The <em>org.apache.sling.commons.log</em> bundle gets the initial configuration
-from the following <em>BundleContext</em> properties:</p>
-<table>
-<tr><th> Property </th><th> Default </th><th> Description </th></tr>
-<tr><td> *org.apache.sling.commons.log.level* </td><td> *INFO* </td><td> Sets the initial
-logging level of the root logger. This may be any of the defined logging
-levels *DEBUG*, *INFO*, *WARN*, *ERROR* and *FATAL*. </td></tr>
-<tr><td> *org.apache.sling.commons.log.file* </td><td> undefined </td><td> Sets the log file to
-which log messages are written. If this property is empty or missing, log
-messages are written to *System.out*. </td></tr>
-<tr><td> *org.apache.sling.commons.log.file.number* </td><td> 5 </td><td> The number of rotated
-files to keep. </td></tr>
-<tr><td> *org.apache.sling.commons.log.file.size* </td><td> '.'yyyy-MM-dd </td><td> Defines how
-the log file is rotated (by schedule or by size) and when to rotate. See
-the section _Log File Rotation_ below for full details on log file
-rotation. </td></tr>
-<tr><td> *org.apache.sling.commons.log.pattern* </td><td> \{0,date,dd.MM.yyyy HH:mm:ss.SSS\} \*\{4\}\* \[\{2\}\](\{2\}\.html)
- \{3\} \{5\} </td><td> The *MessageFormat* pattern to use for formatting log
-messages with the root logger. </td></tr>
-<tr><td> *org.apache.sling.commons.log.julenabled* </td><td> n/a </td><td> Enables the
-*java.util.logging* support. </td></tr>
-</table>
+   <!--   <h1 class="title">Logging</h1> -->
 
-<p><a name="Logging-UserConfiguration"></a></p>
-<h2 id="user-configuration">User Configuration</h2>
-<p>User Configuration after initial configuration is provided by the
-Configuration Admin Service. To this avail two
-<em>org.osgi.services.cm.ManagedServiceFactory</em> services are registered
-under the PIDs <em>org.apache.sling.commons.log.LogManager.factory.writer</em>
-and <em>org.apache.sling.commons.log.LogManager.factory.config</em> which may
-receive configuration.</p>
-<p><a name="Logging-LoggerConfiguration"></a></p>
-<h3 id="logger-configuration">Logger Configuration</h3>
-<p>Loggers (or Categories) can be configured to log to specific files at
-specific levels using configurable patterns. To this avail factory
-configuration instances with factory PID
-<em>org.apache.sling.commons.log.LogManager.factory.config</em> may be created
-and configured with the Configuration Admin Service.</p>
-<p>The following properties may be set:</p>
-<table>
-<tr><th> Property </th><th> Type </th><th> Default </th><th> Description </th></tr>
-<tr><td> *org.apache.sling.commons.log.level* </td><td> String </td><td> *INFO* </td><td> Sets the
-logging level of the loggers. This may be any of the defined logging levels
-*DEBUG*, *INFO*, *WARN*, *ERROR* and *FATAL*. </td></tr>
-<tr><td> *org.apache.sling.commons.log.file* </td><td> String </td><td> undefined </td><td> Sets the log
-file to which log messages are written. If this property is empty or
-missing, log messages are written to *System.out*. This property should
-refer to the file name of a configured Log Writer (see below). If no Log
-Writer is configured with the same file name an implicit Log Writer
-configuration with default configuration is created. </td></tr>
-<tr><td> *org.apache.sling.commons.log.pattern* </td><td> String </td><td> \{0,date,dd.MM.yyyy HH:mm:ss.SSS\} \*\{4\}\* \[\{2\}\](\{2\}\.html)
- \{3\} \{5\} </td><td> The *java.util.MessageFormat* pattern to use for
-formatting log messages with the root logger. This is a
-*java.util.MessageFormat* pattern supporting up to six arguments: \{0\}
-The timestamp of type *java.util.Date*, \{1\} the log marker, \{2\} the
-name of the current thread, \{3\} the name of the logger, \{4\} the debug
-level and \{5\} the actual debug message. If the log call includes a
-Throwable, the stacktrace is just appended to the message regardless of the
-pattern. </td></tr>
-<tr><td> *org.apache.sling.commons.log.names* </td><td> String[](.html)
- </td><td> -- </td><td> A list of logger names to which this configuration applies. </td></tr>
-</table>
-
-<p>Note that multiple Logger Configurations may refer to the same Log Writer
-Configuration. If no Log Writer Configuration exists whose file name
-matches the file name set on the Logger Configuration an implicit Log
-Writer Configuration with default setup (daily log rotation) is internally
-created. </p>
-<p><a name="Logging-LogWriterConfiguration"></a></p>
-<h3 id="log-writer-configuration">Log Writer Configuration</h3>
-<p>Log Writer Configuration is used to setup file output and log file rotation
-characteristics for log writers used by the Loggers.</p>
-<p>The following properties may be set:</p>
-<table>
-<tr><th> Property </th><th> Default </th><th> Description </th></tr>
-<tr><td> *org.apache.sling.commons.log.file* </td><td> undefined </td><td> Sets the log file to
-which log messages are written. If this property is empty or missing, log
-messages are written to *System.out*. </td></tr>
-<tr><td> *org.apache.sling.commons.log.file.number* </td><td> 5 </td><td> The number of rotated
-files to keep. </td></tr>
-<tr><td> *org.apache.sling.commons.log.file.size* </td><td> '.'yyyy-MM-dd </td><td> Defines how
-the log file is rotated (by schedule or by size) and when to rotate. See
-the section _Log File Rotation_ below for full details on log file
-rotation. </td></tr>
-</table>
-
-<p>See the section <em>Log File Rotation</em> below for full details on the
-<em>org.apache.sling.commons.log.file.size</em> and
-<em>org.apache.sling.commons.log.file.number</em> properties.</p>
-<p><a name="Logging-LogFileRotation"></a></p>
-<h2 id="log-file-rotation">Log File Rotation</h2>
-<p>Log files can grow rather quickly and fill up available disk space. To cope
-with this growth log files may be rotated in two ways: At specific times or
-when the log file reaches a configurable size. The first method is called
-<em>Scheduled Rotation</em> and is used by specifying a <em>SimpleDateFormat</em>
-pattern as the log file "size". The second method is called <em>Size Rotation</em>
-and is used by setting a maximum file size as the log file size.</p>
-<p>As of version 2.0.6 of the Sling Commons Log bundle, the default value for
-log file scheduling is <em>'.'yyyy-MM-dd</em> causing daily log rotation.
-Previously log rotation defaulted to a 10MB file size limit.</p>
-<p><a name="Logging-ScheduledRotation"></a></p>
-<h3 id="scheduled-rotation">Scheduled Rotation</h3>
-<p>The rolling schedule is specified by setting the
-<em>org.apache.sling.commons.log.file.size</em> property to a
-<em>java.text.SimpleDateFormat</em> pattern. Literal text (such as a leading
-dot) to be included must be <em>enclosed</em> within a pair of single quotes. A
-formatted version of the date pattern is used as the suffix for the rolled
-file name.</p>
-<p>For example, if the log file is configured as <em>/foo/bar.log</em> and the
-pattern set to <em>'.'yyyy-MM-dd</em>, on 2001-02-16 at midnight, the logging
-file <em>/foo/bar.log</em> will be renamed to <em>/foo/bar.log.2001-02-16</em> and
-logging for 2001-02-17 will continue in a new <em>/foo/bar.log</em> file until
-it rolls over the next day.</p>
-<p>It is possible to specify monthly, weekly, half-daily, daily, hourly, or
-minutely rollover schedules.</p>
-<table>
-<tr><th> DatePattern </th><th> Rollover schedule </th><th> Example </th></tr>
-<tr><td> *'.'yyyy-MM* </td><td> Rollover at the beginning of each month </td><td> At midnight of
-May 31st, 2002 */foo/bar.log* will be copied to */foo/bar.log.2002-05*.
-Logging for the month of June will be output to */foo/bar.log* until it
-is also rolled over the next month. </td></tr>
-<tr><td> *'.'yyyy-ww* </td><td> Rollover at the first day of each week. The first day of
-the week depends on the locale. </td><td> Assuming the first day of the week is
-Sunday, on Saturday midnight, June 9th 2002, the file */foo/bar.log* will
-be copied to */foo/bar.log.2002-23*. Logging for the 24th week of 2002
-will be output to */foo/bar.log* until it is rolled over the next week. </td></tr>
-<tr><td> *'.'yyyy-MM-dd* </td><td> Rollover at midnight each day.</td><td> At midnight, on March
-8th, 2002, */foo/bar.log* will be copied to */foo/bar.log.2002-03-08*.
-Logging for the 9th day of March will be output to */foo/bar.log* until
-it is rolled over the next day.</td></tr>
-<tr><td> *'.'yyyy-MM-dd-a* </td><td> Rollover at midnight and midday of each day.</td><td> at
-noon, on March 9th, 2002, */foo/bar.log* will be copied to 
-*/foo/bar.log.2002-03-09-AM*. Logging for the afternoon of the 9th will
-be output to */foo/bar.log* until it is rolled over at midnight.</td></tr>
-<tr><td> *'.'yyyy-MM-dd-HH* </td><td> Rollover at the top of every hour.</td><td> At
-approximately 11:00.000 o'clock on March 9th, 2002, */foo/bar.log* will
-be copied to */foo/bar.log.2002-03-09-10*. Logging for the 11th hour of
-the 9th of March will be output to */foo/bar.log* until it is rolled over
-at the beginning of the next hour.</td></tr>
-<tr><td> *'.'yyyy-MM-dd-HH-mm* </td><td> Rollover at the beginning of every minute.</td><td> At
-approximately 11:23,000, on March 9th, 2001, */foo/bar.log* will be
-copied to */foo/bar.log.2001-03-09-10-22*. Logging for the minute of
-11:23 (9th of March) will be output to */foo/bar.log* until it is rolled
-over the next minute.</td></tr>
-</table>
-
-<p>Do not use the colon ":" character in anywhere in the pattern option. The
-text before the colon is interpeted as the protocol specificaion of a URL
-which is probably not what you want.</p>
-<p>Note that Scheduled Rotation ignores the
-<em>org.apache.sling.commons.log.file.number</em> property since the old log
-files are not numbered but "dated".</p>
-<p><a name="Logging-SizeRotation"></a></p>
-<h3 id="size-rotation">Size Rotation</h3>
-<p>Log file rotation by size is specified by setting the
-<em>org.apache.sling.commons.log.file.size</em> property to a plain number or a
-number plus a size multiplier. The size multiplier may be any of <em>K</em>,
-<em>KB</em>, <em>M</em>, <em>MB</em>, <em>G</em>, or <em>GB</em> where the case is ignored and the
-meaning is probably obvious.</p>
-<p>When using Size Rotation, the <em>org.apache.sling.commons.log.file.number</em>
-defines the number of old log file generations to keep. For example to keep
-5 old log files indexed by 0 through 4, set the
-<em>org.apache.sling.commons.log.file.number</em> to <em>5</em> (which happens to be
-the default).</p>
-      </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.

Modified: websites/staging/sling/trunk/content/mappings-for-resource-resolution.html
==============================================================================
--- websites/staging/sling/trunk/content/mappings-for-resource-resolution.html (original)
+++ websites/staging/sling/trunk/content/mappings-for-resource-resolution.html Sun Apr 22 17:09:56 2012
@@ -79,274 +79,10 @@
     
     <div class="main">
       <div class="breadcrump" style="font-size: 80%;">
-		(TODO: breadcrumb here)
+<a href="/">Home</a>
       </div>
-      <h1 class="title">Mappings for Resource Resolution</h1>
-      <div>
-	    <p><a name="MappingsforResourceResolution-MappingsforResourceResolution"></a></p>
-<h1 id="mappings-for-resource-resolution">Mappings for Resource Resolution</h1>
-<p><a name="MappingsforResourceResolution-Configuration"></a></p>
-<h2 id="configuration">Configuration</h2>
-<p><a name="MappingsforResourceResolution-Properties"></a></p>
-<h3 id="properties">Properties</h3>
-<p>The mapping of request URLs to resources is mainly configured in a
-configuration tree which is (by default) located below <em>/etc/map</em>. The
-actual location can be configured with the
-<em>resource.resolver.map.location</em> property of the
-<em>org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl</em>
-configuration.</p>
-<p>When dealing with the new resource resolution we have a number of
-properties influencing the process:
-<em> </em>sling:match<em> -- This property when set on a node in the </em>/etc/map<em> tree (see below) defines a partial regular expression which is used instead of the node's name to match the incoming request. This property is only needed if the regular expression includes characters which are not valid JCR name characters. The list of invalid characters for JCR names is: /, :, [, ](,-.html)
-, *, ', ", \| and any whitespace except blank space. In addition a name
-without a name space may not be </em>.<em> or </em>..<em> and a blank space is only
-allowed inside the name.
-</em> <em>sling:redirect</em> -- This property when set on a node in the
-<em>/etc/map</em> tree (see below) causes a redirect response to be sent to the
-client, which causes the client to send in a new request with the modified
-location. The value of this property is applied to the actual request and
-sent back as the value of <em>Location</em> response header.
-<em> </em>sling:status<em> -- This property defines the HTTP status code sent to
-the client with the </em>sling:redirect<em> response. If this property is not
-set, it defaults to 302 (Found). Other status codes supported are 300
-(Multiple Choices), 301 (Moved Permanently), 303 (See Other), and 307
-(Temporary Redirect).
-</em> <em>sling:internalRedirect</em> -- This property when set on a node in the
-<em>/etc/map</em> tree (see below) causes the current path to be modified
-internally to continue with resource resolution.
-<em> </em>sling:alias<em> -- The property may be set on any resource to indicate an
-alias name for the resource. For example the resource </em>/content/visitors<em>
-may have the </em>sling:alias<em> property set to </em>besucher<em> allowing the
-resource to be addressed in an URL as </em>/content/besucher*.</p>
-<p><a name="MappingsforResourceResolution-NodeTypes"></a></p>
-<h3 id="node-types">Node Types</h3>
-<p>To ease with the definition of redirects and aliases, the following node
-types are defined:
-<em> </em>sling:ResourceAlias<em> -- This mixin node type defines the
-</em>sling:alias<em> property and may be attached to any node, which does not
-otherwise allow setting a property named </em>sling:alias<em>
-</em> <em>sling:MappingSpec</em> -- This mixin node type defines the
-<em>sling:match</em>, <em>sling:redirect</em>, <em>sling:status</em>, and
-<em>sling:internaleRedirect</em> properties to define a matching and redirection
-inside the <em>/etc/map</em> hierarchy.
-<em> </em>sling:Mapping<em> -- Primary node type which may be used to easily
-construct entries in the </em>/etc/map<em> tree. The node type extends the
-</em>sling:MappingSpec<em> mixin node type to allow setting the required
-matching and redirection. In addition the </em>sling:Resource<em> mixin node
-type is extended to allow setting a resource type and the
-</em>nt:hierarchyNode<em> node type is extended to allow locating nodes of this
-node type below </em>nt:folder* nodes.</p>
-<p>Note, that these node types only help setting the properties. The
-implementation itself only cares for the properties and their values and
-not for any of these node types.</p>
-<p><a name="MappingsforResourceResolution-NamespaceMangling"></a></p>
-<h2 id="namespace-mangling">Namespace Mangling</h2>
-<p>There are systems accessing Sling, which have a hard time handling URLs
-containing colons -- <em>:</em> -- in the path part correctly. Since URLs
-produced and supported by Sling may colons because JCR Item based resources
-may be namespaced (e.g. <em>jcr:content</em>), a special namespace mangling
-feature is built into the <em>ResourceResolver.resolve</em> and
-<em>ResourceResolver(map)</em> methods.</p>
-<p>Namespace mangling operates such, that any namespace prefix identified in
-resource path to be mapped as an URL in the <em>map</em> methods is modified
-such that the prefix is enclosed in underscores and the colon removed.</p>
-<p><em>Example</em>: The path <em>/content/_a_sample/jcr:content/jcr:data.png</em> is
-modified by namespace mangling in the <em>map</em> method to get at
-<em>/content/_a_sample/_jcr_content/_jcr_data.png</em>.</p>
-<p>Conversely the <em>resolve</em> methods must undo such namespace mangling to get
-back at the resource path. This is simple done by modifying any path such
-that segments starting with an underscore enclosed prefix are changed by
-removing the underscores and adding a colon after the prefix. There is one
-catch, tough: Due to the way the SlingPostServlets automatically generates
-names, there may be cases where the actual name would be matching this
-mechanism. Therefore only prefixes are modified which are actually
-namespace prefixes.</p>
-<p><em>Example</em>: The path <em>/content/<em>a_sample/_jcr_content/_jcr_data.png{</em></em>}
-<em>is modified by namespace mangling in the</em> <em>{<em>}resolve{</em></em>} <em>method to
-get</em> <em><em>/content/_a_sample/jcr:content/jcr:data.png{</em>}{</em>}<em>. The prefix</em>
-<em><em>_a{</em>}{</em>}<em>{</em>} is not modified because there is no registered
-namespace with prefix <em>a</em>. On the other hand the prefix <em>{<em>}jcr{</em></em>} is
-modified because there is of course a registered namespace with prefix
-<em>jcr</em>.</p>
-<p><a name="MappingsforResourceResolution-RootLevelMappings"></a></p>
-<h2 id="root-level-mappings">Root Level Mappings</h2>
-<p>Root Level Mappings apply to the request at large including the scheme,
-host.port and uri path. To accomplish this a path is constructed from the
-request as <em>{scheme}/{host.port}/{uri_path*}. This string is then
-matched against mapping entries below </em>/etc/map* which are structured in
-the content analogously. The longest matching entry string is used and the
-replacement, that is the redirection property, is applied.</p>
-<p><a name="MappingsforResourceResolution-MappingEntrySpecification"></a></p>
-<h3 id="mapping-entry-specification">Mapping Entry Specification</h3>
-<p>Each entry in the mapping table is a regular expression, which is
-constructed from the resource path below <em>/etc/map</em>. If any resource
-along the path has a <em>sling:match</em> property, the respective value is used
-in the corresponding segment instead of the resource name. Only resources
-either having a <em>sling:redirect</em> or <em>sling:internalRedirect</em> property
-are used as table entries. Other resources in the tree are just used to
-build the mapping structure.</p>
-<p><em>Example</em></p>
-<p>Consider the following content</p>
-<div class="codehilite"><pre><span class="sr">/etc/m</span><span class="n">ap</span>
-      <span class="o">+--</span> <span class="n">http</span>
-       <span class="o">+--</span> <span class="n">example</span><span class="o">.</span><span class="n">com</span><span class="mf">.80</span>
-        <span class="o">+--</span> <span class="n">sling:redirect</span> <span class="o">=</span> <span class="s">&quot;http://www.example.com/&quot;</span>
-       <span class="o">+--</span> <span class="n">www</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">com</span><span class="mf">.80</span>
-        <span class="o">+--</span> <span class="n">sling:internalRedirect</span> <span class="o">=</span> <span class="s">&quot;/example&quot;</span>
-       <span class="o">+--</span> <span class="n">any_example</span><span class="o">.</span><span class="n">com</span><span class="mf">.80</span>
-        <span class="o">+--</span> <span class="n">sling:match</span> <span class="o">=</span> <span class="s">&quot;.+\.example\.com\.80&quot;</span>
-        <span class="o">+--</span> <span class="n">sling:redirect</span> <span class="o">=</span> <span class="s">&quot;http://www.example.com/&quot;</span>
-       <span class="o">+--</span> <span class="n">localhost_any</span>
-        <span class="o">+--</span> <span class="n">sling:match</span> <span class="o">=</span> <span class="s">&quot;localhost\.\d*&quot;</span>
-        <span class="o">+--</span> <span class="n">sling:internalRedirect</span> <span class="o">=</span> <span class="s">&quot;/content&quot;</span>
-        <span class="o">+--</span> <span class="n">cgi</span><span class="o">-</span><span class="n">bin</span>
-             <span class="o">+--</span> <span class="n">sling:internalRedirect</span> <span class="o">=</span> <span class="s">&quot;/scripts&quot;</span>
-        <span class="o">+--</span> <span class="n">gateway</span>
-             <span class="o">+--</span> <span class="n">sling:internalRedirect</span> <span class="o">=</span> <span class="s">&quot;http://gbiv.com&quot;</span>
-        <span class="o">+--</span> <span class="p">(</span><span class="n">stories</span><span class="p">)</span>
-             <span class="o">+--</span> <span class="n">sling:internalRedirect</span> <span class="o">=</span> <span class="s">&quot;/anecdotes/$1&quot;</span>
-</pre></div>
+   <!--   <h1 class="title">Mappings for Resource Resolution</h1> -->
 
-
-<p>This would define the following mapping entries:
-<table>
-<tr><th> Regular Expression </th><th> Redirect </th><th> Internal </th><th> Description </th></tr>
-<tr><td> http/example.com.80 </td><td> <a href="http://www.example.com">http://www.example.com</a>
- </td><td> no </td><td> Redirect all requests to the Second Level Domain to www </td></tr>
-<tr><td> http/www.example.com.80 </td><td> /example </td><td> yes </td><td> Prefix the URI paths of the
-requests sent to this domain with the string <em>/example</em> </td></tr>
-<tr><td> http/.+.example.com.80 </td><td> <a href="http://www.example.com">http://www.example.com</a>
- </td><td> no </td><td> Redirect all requests to sub domains to www. The actual regular
-expression for the host.port segment is taken from the <em>sling:match</em>
-property. </td></tr>
-<tr><td> http/localhost.\d* </td><td> /content </td><td> yes </td><td> Prefix the URI paths with
-<em>/content</em> for requests to localhost, regardless of actual port the
-request was received on. This entry only applies if the URI path does not
-start with <em>/cgi-bin</em>, <em>gateway</em> or <em>stories</em> because there are
-longer match entries. The actual regular expression for the host.port
-segment is taken from the <em>sling:match</em> property. </td></tr>
-<tr><td> http/localhost.\d<em>/cgi-bin </td><td> /scripts </td><td> yes </td><td> Replace the </em>/cgi-bin<em>
-prefix in the URI path with </em>/scripts<em> for requests to localhost,
-regardless of actual port the request was received on. </td></tr>
-<tr><td> http/localhost.\d</em>/gateway </td><td> <a href="http://gbiv.com">http://gbiv.com</a>
- </td><td> yes </td><td> Replace the <em>/gateway</em> prefix in the URI path with
-<em>[http://gbiv.com]</em> for requests to localhost, regardless of actual port
-the request was received on. </td></tr>
-<tr><td> http/localhost.\d<em>/(stories) </td><td> /anecdotes/stories </td><td> yes </td><td> Prepend the
-URI paths starting with </em>/stories<em> with </em>/anecdotes* for requests to
-localhost, regardless of actual port the request was received on. </td></tr>
-</table></p>
-<p><a name="MappingsforResourceResolution-RegularExpressionmatching"></a></p>
-<h3 id="regular-expression-matching">Regular Expression matching</h3>
-<p>As said above the mapping entries are regular expressions which are matched
-against path. As such these regular expressions may also contain capturing
-groups as shown in the example above: <em>http/localhost.\d</em>/(stories)*.
-After matching the path against the regular expression, the replacement
-pattern is applied which allows references back to the capturing groups.</p>
-<p>To illustrate the matching and replacement is applied according to the
-following pseudo code:</p>
-<div class="codehilite"><pre><span class="n">String</span> <span class="n">path</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">getScheme</span> <span class="o">+</span> <span class="s">&quot;/&quot;</span> <span class="o">+</span> <span class="n">request</span><span class="o">.</span><span class="n">getServerName</span><span class="p">()</span> <span class="o">+</span> <span class="s">&quot;.&quot;</span> <span class="o">+</span>
-</pre></div>
-
-
-<p>request.getServerPort() + "/" + request.getPathInfo();
-    String result = null;
-    for (MapEntry entry: mapEntries) {
-        Matcher matcher = entry.pattern.matcher(path);
-        if (matcher.find()) {
-        StringBuffer buf = new StringBuffer();
-        matcher.appendReplacement(buf, entry.getRedirect());
-        matcher.appendTail(buf);
-        result = buf.toString();
-        break;
-        }
-    }</p>
-<p>At the end of the loop, <em>result</em> contains the mapped path or <em>null</em> if
-no entry matches the request <em>path</em>.</p>
-<p><em>NOTE:</em> Since the entries in the <em>/etc/map</em> are also used to reverse map
-any resource paths to URLs, using regular expressions in the Root Level
-Mappings prevent the respective entries from being used for reverse
-mappings. Therefor, it is strongly recommended to not use regular
-expression matching, unless you have a strong need.</p>
-<p><a name="MappingsforResourceResolution-RedirectionValues"></a></p>
-<h3 id="redirection-values">Redirection Values</h3>
-<p>The result of matching the request path and getting the redirection is
-either a path into the resource tree or another URL. If the result is an
-URL, it is converted into a path again and matched against the mapping
-entries. This may be taking place repeatedly until an absolute or relative
-path into the resource tree results.</p>
-<p>The following pseudo code summarizes this behaviour:</p>
-<div class="codehilite"><pre><span class="n">String</span> <span class="n">path</span> <span class="o">=</span> <span class="o">....</span><span class="p">;</span>
-<span class="n">String</span> <span class="n">result</span> <span class="o">=</span> <span class="n">path</span><span class="p">;</span>
-<span class="k">do</span> <span class="p">{</span>
-    <span class="n">result</span> <span class="o">=</span> <span class="n">applyMapEntries</span><span class="p">(</span><span class="n">result</span><span class="p">);</span>
-<span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="n">isURL</span><span class="p">(</span><span class="n">result</span><span class="p">));</span>
-</pre></div>
-
-
-<p>As soon as the result of applying the map entries is an absolute or
-relative path (or no more map entries match), Root Level Mapping terminates
-and the next step in resource resolution, resource tree access, takes
-place.</p>
-<p><a name="MappingsforResourceResolution-ResourceTreeAccess"></a></p>
-<h2 id="resource-tree-access">Resource Tree Access</h2>
-<p>The result of Root Level Mapping is an absolute or relative path to a
-resource. If the path is relative -- e.g. <em>myproject/docroot/sample.gif</em>
--- the resource resolver search path (<em>ResourceResolver.getSearchPath()</em>
-is used to build absolute paths and resolve the resource. In this case the
-first resource found is used. If the result of Root Level Mapping is an
-absolute path, the path is used as is.</p>
-<p>Accessing the resource tree after applying the Root Level Mappings has four
-options:
-<em> Check whether the path addresses a so called Star Resource. A Star
-Resource is a resource whose path ends with or contains </em>/*<em>. Such
-resources are used by the </em>SlingPostServlet<em> to create new content below
-an existing resource. If the path after Root Level Mapping is absolute, it
-is made absolute by prepending the first search path entry.
-</em> Check whether the path exists in the repository. if the path is absolute,
-it is tried directly. Otherwise the search path entries are prepended  to
-the path until a resource is found or the search path is exhausted without
-finding a resource.
-<em> Drill down the resource tree starting from the root, optionally using the
-search path until a resource is found.
-</em> If no resource can be resolved, a Missing Resource is returned.</p>
-<p><a name="MappingsforResourceResolution-DrillingDowntheResourceTree"></a></p>
-<h3 id="drilling-down-the-resource-tree">Drilling Down the Resource Tree</h3>
-<p>Drilling down the resource tree starts at the root and for each segment in
-the path checks whether a child resource of the given name exists or not.
-If not, a child resource is looked up, which has a <em>sling:alias</em> property
-whose value matches the given name. If neither exists, the search is
-terminated and the resource cannot be resolved.</p>
-<p>The following pseudo code shows this algorithm assuming the path is
-absolute:</p>
-<div class="codehilite"><pre><span class="n">String</span> <span class="n">path</span> <span class="o">=</span> <span class="o">...</span><span class="p">;</span> <span class="sr">//</span> <span class="n">the</span> <span class="n">absolute</span> <span class="n">path</span>
-<span class="n">Resource</span> <span class="n">current</span> <span class="o">=</span> <span class="n">getResource</span><span class="p">(</span><span class="s">&quot;/&quot;</span><span class="p">);</span>
-<span class="n">String</span><span class="o">[]</span>
-</pre></div>
-
-
-<p>segments = path.split("/");
-    for (String segment: segments) {
-        Resource child = getResource(current, segment);
-        if (child == null) {
-        Iterator<Resource> children = listChildren(current);
-        current = null;
-        while (children.hasNext()) {
-            child = children.next();
-            if (segment.equals(getSlingAlias(child))) {
-            current = child;
-            break;
-            }
-        }
-        if (current == null) {
-            // fail
-            break;
-        }
-        } else {
-        current = child;
-        }
-    }</p>
-      </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.

Modified: websites/staging/sling/trunk/content/maven-archetypes.html
==============================================================================
--- websites/staging/sling/trunk/content/maven-archetypes.html (original)
+++ websites/staging/sling/trunk/content/maven-archetypes.html Sun Apr 22 17:09:56 2012
@@ -79,51 +79,10 @@
     
     <div class="main">
       <div class="breadcrump" style="font-size: 80%;">
-		(TODO: breadcrumb here)
-      </div>
-      <h1 class="title">Maven Archetypes</h1>
-      <div>
-	    <p>Sling includes four Maven archetypes to quick start development. See <a href="http://maven.apache.org/archetype/maven-archetype-plugin/">http://maven.apache.org/archetype/maven-archetype-plugin/</a>
- for general information on using Maven archetypes. The Maven groupId for
-all Sling archetypes is <em>org.apache.sling</em>.</p>
-<p><a name="MavenArchetypes-sling-launchpad-standalone-archetype"></a></p>
-<h3 id="sling-launchpad-standalone-archetype">sling-launchpad-standalone-archetype</h3>
-<p>This archetype generates a Maven project which will build a standalone
-Launchpad JAR file using the default bundle set. For demonstration
-purposes, the generated project includes an extra bundle list file
-(<em>src/main/bundles/list</em>) which includes Apache Felix FileInstall as well
-as a test configuration file (<em>src/test/config/sling.properties</em>).</p>
-<p><a name="MavenArchetypes-sling-launchpad-webapp-archetype"></a></p>
-<h3 id="sling-launchpad-webapp-archetype">sling-launchpad-webapp-archetype</h3>
-<p>This archetype generates a Maven project which will build a Launchpad WAR
-file using the default bundle set. For demonstration purposes, the
-generated project includes an extra bundle list file
-(<em>src/main/bundles/list</em>) which includes Apache Felix FileInstall as well
-as a test configuration file (<em>src/test/config/sling.properties</em>).</p>
-<p><a name="MavenArchetypes-sling-intitial-content-archetype"></a></p>
-<h3 id="sling-intitial-content-archetype">sling-intitial-content-archetype</h3>
-<p>This archetype generates a Maven project which will build an OSGi bundle
-that supports JCR NodeType registration (in
-<em>SLING-INF/nodetypes/nodetypes.cnd</em>) and initial content loading (in
-<em>SLING-INF/scripts</em> and <em>SLING-INF/content</em>).</p>
-<p><a name="MavenArchetypes-sling-servlet-archetype"></a></p>
-<h3 id="sling-servlet-archetype">sling-servlet-archetype</h3>
-<p>This archetype generates a Maven project which will build an OSGi bundle
-containing two Servlets registered with Sling, one registered by path and
-one registered by resource type.</p>
-<p><a name="MavenArchetypes-sling-bundle-archetype"></a></p>
-<h3 id="sling-bundle-archetype">sling-bundle-archetype</h3>
-<p>This archetype generates a Maven project which will build a basic OSGi
-bundle including support for the Felix SCR Annotations. It is
-pre-configured to install using the Felix Web Console when the profile
-<em>autoInstallBundle</em> is activated.</p>
-<p><a name="MavenArchetypes-sling-jcrinstall-bundle-archetype"></a></p>
-<h3 id="sling-jcrinstall-bundle-archetype">sling-jcrinstall-bundle-archetype</h3>
-<p>This archetype generates a Maven project which will build a basic OSGi
-bundle including support for the Felix SCR Annotations. It is
-pre-configured to install using a WebDAV PUT into the JCR when the profile
-<em>autoInstallBundle</em> is activated.</p>
+<a href="/">Home</a>
       </div>
+   <!--   <h1 class="title">Maven Archetypes</h1> -->
+
     
         <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.

Modified: websites/staging/sling/trunk/content/maven-launchpad-plugin.html
==============================================================================
--- websites/staging/sling/trunk/content/maven-launchpad-plugin.html (original)
+++ websites/staging/sling/trunk/content/maven-launchpad-plugin.html Sun Apr 22 17:09:56 2012
@@ -79,196 +79,10 @@
     
     <div class="main">
       <div class="breadcrump" style="font-size: 80%;">
-		(TODO: breadcrumb here)
+<a href="/">Home</a>
       </div>
-      <h1 class="title">Maven Launchpad Plugin</h1>
-      <div>
-	    <p><a name="MavenLaunchpadPlugin-MavenLaunchpadPlugin"></a></p>
-<h1 id="maven-launchpad-plugin">Maven Launchpad Plugin</h1>
-<p>The Maven Launchpad Plugin provides goals which facilitate the creation of
-OSGi applications. It supports the following runtime scenarios:
-<em> A WAR file suitable for running in a JavaEE servlet container.
-</em> A standalone Java application, with HTTP support from the Felix
-HttpService implementation
-* Inside Apache Karaf</p>
-<p>In addition, the Maven Launchpad Plugin supports the publishing of an
-application descriptor, in the form of a <em>bundle list</em>, as a Maven
-artifact. This descriptor can then be used by downstream application
-builders as the basis for other applications. In Sling, this is embodied by
-two Maven projects:
-<em> <a href="http://svn.apache.org/repos/asf/sling/trunk/launchpad/builder">org.apache.sling.launchpad</a>
- - produces an application descriptor.
-</em> <a href="http://svn.apache.org/repos/asf/sling/trunk/launchpad/builder/testing">org.apache.sling.launchpad.testing</a>
- - uses the application descriptor from <em>org.apache.sling.launchpad</em> and
-adds two bundles.</p>
-<p>Maven Launchpad Plugin provides the following goals: 
-<table>
-<tr><th> Goals </th><th> Description </th></tr>
-<tr><td> launchpad:prepare-package </td><td> Create the file system structure required by
-Sling's Launchpad framework. </td></tr>
-<tr><td> launchpad:attach-bundle-list </td><td> Attach the bundle list descriptor to the
-current project as a Maven artifact. </td></tr>
-<tr><td> launchpad:create-karaf-descriptor </td><td> Create an Apache Karaf Feature
-descriptor. </td></tr>
-<tr><td> launchpad:create-bundle-jar </td><td> Create a JAR file containing the bundles in
-a Launchpad-structured JAR file. </td></tr>
-<tr><td> launchpad:check-bundle-list-for-snapshots </td><td> Validate that the bundle list
-does not contain any SNAPSHOT versions. </td></tr>
-<tr><td> launchpad:run </td><td> Run a Launchpad application. </td></tr>
-<tr><td> launchpad:start </td><td> Start a Launchpad application. </td></tr>
-<tr><td> launchpad:stop </td><td> Stop a Launchpad application. </td></tr>
-<tr><td> launchpad:output-bundle-list </td><td> Output the bundle list to the console as
-XML. (added in version 2.0.8) </td></tr>
-</table></p>
-<p><a name="MavenLaunchpadPlugin-GeneralConfiguration"></a></p>
-<h3 id="general-configuration">General Configuration</h3>
-<p>In general, the bulk of the configuration of the Maven Launchpad Plugin is
-concerned with setting up the bundle list which all of the goals will use.
-This bundle list is created using the following steps:
-1. If <em>includeDefaultBundles</em> is <em>true</em> (the default), the default
-bundle list is loaded. By default, this is
-<em>org.apache.sling.launchpad:org.apache.sling.launchpad:RELEASE:xml:bundlelist</em>,
-but can be overridden by setting the <em>defaultBundleList</em> plugin
-parameter.
-1. If <em>includeDefaultBundles</em> is <em>false</em>, an empty list is created.
-1. If the bundle list file exists (by default, at
-<em>src/main/bundles/list.xml</em>), the bundles defined in it are added to the
-bundle list.
-1. If the <em>additionalBundles</em> plugin parameter is defined, those bundles
-are added to the bundle list.
-1. If the <em>bundleExclusions</em> plugin parameter is defined, those bundles
-are removed from the bundle list.</p>
-<p>When a bundle is added to the bundle list, if a bundle with the same
-groupId, artifactId, type, and classifier is already in the bundle list,
-the version of the existing bundle is modified. However, the start level of
-a bundle is never changed once that bundle is added to the bundle list.</p>
-<p>The plugin may also contribute bundles to (or remove bundles from) the
-bundle list as it sees fit.</p>
-<p><a name="MavenLaunchpadPlugin-FrameworkConfiguration"></a></p>
-<h3 id="framework-configuration">Framework Configuration</h3>
-<p>For the <em>run</em> and <em>start</em> goals, the plugin will look for a file named
-<em>src/test/config/sling.properties</em>. If this file is present, it will be
-filtered using standard Maven filtering and used to populate the OSGi
-framework properties. This can be used, for example, to specify a
-<em>repository.xml</em> file to be used during development:</p>
-<div class="codehilite"><pre>sling.repository.config.file.url=<span class="cp">${</span><span class="n">basedir</span><span class="cp">}</span>/src/test/config/repository.xml
-</pre></div>
+   <!--   <h1 class="title">Maven Launchpad Plugin</h1> -->
 
-
-<p><a name="MavenLaunchpadPlugin-BundleListFiles"></a></p>
-<h2 id="bundle-list-files">Bundle List Files</h2>
-<p>The bundle list file uses a simple XML syntax representing a list of
-bundles organized into start levels:</p>
-<div class="codehilite"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot;?&gt;</span>
-<span class="nt">&lt;bundles&gt;</span>
-    <span class="nt">&lt;startLevel</span> <span class="na">level=</span><span class="s">&quot;0&quot;</span><span class="nt">&gt;</span>
-    <span class="nt">&lt;bundle&gt;</span>
-        <span class="nt">&lt;groupId&gt;</span>commons-io<span class="nt">&lt;/groupId&gt;</span>
-        <span class="nt">&lt;artifactId&gt;</span>commons-io<span class="nt">&lt;/artifactId&gt;</span>
-        <span class="nt">&lt;version&gt;</span>1.4<span class="nt">&lt;/version&gt;</span>
-    <span class="nt">&lt;/bundle&gt;</span>
-    <span class="nt">&lt;bundle&gt;</span>
-        <span class="nt">&lt;groupId&gt;</span>commons-collections<span class="nt">&lt;/groupId&gt;</span>
-        <span class="nt">&lt;artifactId&gt;</span>commons-collections<span class="nt">&lt;/artifactId&gt;</span>
-        <span class="nt">&lt;version&gt;</span>3.2.1<span class="nt">&lt;/version&gt;</span>
-    <span class="nt">&lt;/bundle&gt;</span>
-    <span class="nt">&lt;/startLevel&gt;</span>
-
-    <span class="nt">&lt;startLevel</span> <span class="na">level=</span><span class="s">&quot;10&quot;</span><span class="nt">&gt;</span>
-    <span class="nt">&lt;bundle&gt;</span>
-        <span class="nt">&lt;groupId&gt;</span>org.apache.felix<span class="nt">&lt;/groupId&gt;</span>
-        <span class="nt">&lt;artifactId&gt;</span>org.apache.felix.eventadmin<span class="nt">&lt;/artifactId&gt;</span>
-        <span class="nt">&lt;version&gt;</span>1.0.0<span class="nt">&lt;/version&gt;</span>
-    <span class="nt">&lt;/bundle&gt;</span>
-    <span class="nt">&lt;/startLevel&gt;</span>
-
-    <span class="nt">&lt;startLevel</span> <span class="na">level=</span><span class="s">&quot;15&quot;</span><span class="nt">&gt;</span>
-    <span class="nt">&lt;bundle&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>org.apache.sling.jcr.api<span class="nt">&lt;/artifactId&gt;</span>
-        <span class="nt">&lt;version&gt;</span>2.0.2-incubator<span class="nt">&lt;/version&gt;</span>
-    <span class="nt">&lt;/bundle&gt;</span>
-    <span class="nt">&lt;/startLevel&gt;</span>
-<span class="nt">&lt;/bundles&gt;</span>
-</pre></div>
-
-
-<p>Within each <em>bundle</em> element, <em>type</em> and <em>classifier</em> are also
-supported.</p>
-<p><a name="MavenLaunchpadPlugin-ArtifactDefinition"></a></p>
-<h2 id="artifact-definition">Artifact Definition</h2>
-<p>The <em>defaultBundleList</em>, <em>jarWebSupport</em>, <em>additionalBundles</em>, and
-<em>bundleExclusions</em> parameters are configured with artifact definitions.
-This is done using a syntax similar to Maven dependency elements:</p>
-<div class="codehilite"><pre><span class="nt">&lt;configuration&gt;</span>
-...
-  <span class="nt">&lt;jarWebSupport&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>GROUP_ID<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>ARTIFACT_ID<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;version&gt;</span>VERSION<span class="nt">&lt;/version&gt;</span>
-    <span class="c">&lt;!-- type and classifier can also be specified if needed --&gt;</span>
-  <span class="nt">&lt;/jarWebSupport&gt;</span>
-...
-<span class="nt">&lt;/configuration&gt;</span>
-</pre></div>
-
-
-<p>For example, to use Pax Web instead of Felix HttpService as the HttpService
-provider, use the following:</p>
-<div class="codehilite"><pre><span class="nt">&lt;configuration&gt;</span>
-...
-  <span class="nt">&lt;jarWebSupport&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>org.ops4j.pax.web<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>pax-web-service<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;version&gt;</span>RELEASE<span class="nt">&lt;/version&gt;</span>
-    <span class="c">&lt;!-- type and classifier can also be specified if needed --&gt;</span>
-  <span class="nt">&lt;/jarWebSupport&gt;</span>
-...
-<span class="nt">&lt;/configuration&gt;</span>
-</pre></div>
-
-
-<p>In the case of <em>additionalBundles</em> and <em>bundleExclusions</em>, these are
-arrays of definitions, so an intermediate <em>bundle</em> element is necessary:</p>
-<div class="codehilite"><pre><span class="nt">&lt;configuration&gt;</span>
-...
-  <span class="nt">&lt;additionalBundles&gt;</span>
-    <span class="nt">&lt;bundle&gt;</span>
-      <span class="nt">&lt;groupId&gt;</span>GROUP_ID<span class="nt">&lt;/groupId&gt;</span>
-      <span class="nt">&lt;artifactId&gt;</span>ARTIFACT_ID<span class="nt">&lt;/artifactId&gt;</span>
-      <span class="nt">&lt;version&gt;</span>VERSION<span class="nt">&lt;/version&gt;</span>
-      <span class="c">&lt;!-- type and classifier can also be specified if needed --&gt;</span>
-    <span class="nt">&lt;/bundle&gt;</span>
-  <span class="nt">&lt;/additionalBundles&gt;</span>
-...
-<span class="nt">&lt;/configuration&gt;</span>
-</pre></div>
-
-
-<p>By default, bundles are added to start level 0. To change, this use the
-<em>startLevel</em> element within each additional bundle definition.</p>
-<p><a name="MavenLaunchpadPlugin-IntegrationTesting"></a></p>
-<h2 id="integration-testing">Integration Testing</h2>
-<p>For integration testing examples, see <em>/samples/inplace-integration-test</em>
-and <em>launchpad/testing</em> in the Sling source tree.</p>
-<p><a name="MavenLaunchpadPlugin-BundleListRewriting"></a></p>
-<h2 id="bundle-list-rewriting">Bundle List Rewriting</h2>
-<p>The Maven Launchpad Plugin supports the use of rules to rewrite the bundle
-list. These rules are executed by the <a href="http://www.jboss.org/drools">Drools</a>
- rule engine. Typically, this is used along with Maven profiles. For
-example, Sling's testing project includes a profile called
-<em>test-reactor-sling-bundles</em>. When activated, this profile runs a Drools
-rule file which scans the project list from the Maven reactor and modifies
-the version number for bundles which were contained within the reactor.</p>
-<p>In order for rules to interact with the Maven build, the following global
-variables are made available:</p>
-<ul>
-<li><em>mavenSession</em> - an instance of
-<em>org.apache.maven.execution.MavenSession</em>.</li>
-<li><em>mavenProject</em> - an instance of
-<em>org.apache.maven.project.MavenProject</em>.</li>
-</ul>
-      </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.