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 [10/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/internationalization-support-i18n.html
==============================================================================
--- websites/staging/sling/trunk/content/internationalization-support-i18n.html (added)
+++ websites/staging/sling/trunk/content/internationalization-support-i18n.html Tue May 22 08:25:32 2012
@@ -0,0 +1,209 @@
+<!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 - Internationalization Support (i18n)</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>Internationalization Support (i18n)</h1>
+      <h1 id="internationalization-support">Internationalization Support</h1>
+<p>Internationalization support in Sling consists of four methods in the <code>SlingHttpServletRequest</code> interface:</p>
+<ul>
+<li><code>getLocale()</code> -- Returns the primary <code>Locale</code> for the current request. This method is inherited from the <code>javax.servlet.ServletRequest</code> interface.</li>
+<li><code>getLocales()</code> -- Returns the <code>Locale</code> instances for the current request. This method is inherited from the <code>javax.servlet.ServletRequest</code> interface.</li>
+<li><code>getResourceBundle(Locale)</code> -- Returns a <code>ResourceBundle</code> for the given <code>Locale</code>. This method is specific to Sling.</li>
+<li><code>getResourceBundle(String, Locale)</code> -- Returns a <code>ResourceBundle</code> of a given base name for the given <code>Locale</code>. This method is specific to Sling.</li>
+</ul>
+<p>These methods have a default implementation in the <code>org.apache.sling.core</code> bundle and an extended and extensible implementation in the <code>org.apache.sling.i18n</code> bundle.</p>
+<h2 id="default-implementation-in-the-orgapacheslingengine-bundle">Default Implementation in the <code>org.apache.sling.engine</code> Bundle</h2>
+<p>The default implementation of the above mentioned four methods in the Sling Engine bundle is contained in the bundle-private class <code>org.apache.sling.engine.impl.SlingHttpServletRequestImpl</code> which is the primary implementation of the <code>SlingHttpServletRequest</code> interface:</p>
+<ul>
+<li><code>getLocale()</code> -- Returns the <code>Locale</code> from the request object of the servlet container in which Sling is running. As per the Servlet API specification, this is either the primary Locale of the <code>Accept-Language</code> request header or the server default locale.</li>
+<li><code>getLocales()</code> -- Returns the <code>Enumeration</code> from the request object of the servlet container in which Sling is running. As per the Servlet API specification, this is either based on the <code>Accept-Language</code> request header or just the server default locale.</li>
+<li><code>getResourceBundle(Locale)</code> -- Returns a <code>ResourceBundle</code> whose <code>getString(String key)</code> method returns the <code>key</code> as the message and whose <code>getKeys()</code> method returns an empty <code>Enumeration</code>.</li>
+<li><code>getResourceBundle(String, Locale)</code> -- Returns a <code>ResourceBundle</code> whose <code>getString(String key)</code> method returns the <code>key</code> as the message and whose <code>getKeys()</code> method returns an empty <code>Enumeration</code>.</li>
+</ul>
+<p>NOTE: Unlike the default implementations of the <code>ResourceBundle</code> abstract class in the Java Runtime -- <code>PropertyResourceBundle</code> and <code>ListResourceBundle</code> -- the <code>ResourceBundle</code> returned by the default implementation of the <code>getResourceBundle(Locale)</code> and <code>getResourceBundle(String, Locale)</code> always returns a string message for any key, which is the key itself. This prevents throwing <code>MissingResourceException</code>.</p>
+<h2 id="extensible-implementation-in-the-orgapacheslingi18n-bundle">Extensible Implementation in the <code>org.apache.sling.i18n</code> Bundle</h2>
+<p>The <code>org.apache.sling.i18n</code> Bundle implements a request level <code>Filter</code> providing extensible implementations of the above mentioned three methods. Extensibility is attained by defining two service interfaces:</p>
+<ul>
+<li>
+<p><code>LocaleResolver</code> -- The <code>LocaleResolver</code> interface defines a method which may be implemented by a service outside of the sling.i18n bundle. If no such service is registered the default behaviour is as described above for the sling.core bundle. The service described by this interface is used to implement the <code>getLocale()</code> and <code>getLocales()</code> method. </p>
+</li>
+<li>
+<p><code>ResourceBundleProvider</code> -- The <code>ResourceBundleProvider</code> interface defines two methods to acquire a <code>ResourceBundle</code> for any <code>Locale</code> and an optional base name. This service interface is not intended to be implemented outside of the sling.i18n bundle: A JCR Repository based implementation is contained in the sling.i18n bundle. The <code>ResourceBundleProvider</code> service is not only used within the sling.i18n bundle to implement the <code>SlingHttpServletRequest.getResourceBundle(Locale)</code> and  <code>SlingHttpServletRequest.getResourceBundle(String, Locale)</code> methods. The service may also be used by Sling applications to acquire <code>ResourceBundle</code> instances without having a request object by getting the service and calling its <code>getResourceBundle(Locale)</code> or <code>getResourceBundle(String, Locale)</code> method directly.</p>
+</li>
+</ul>
+<h3 id="jcr-repository-based-resourcebundleprovider">JCR Repository based <code>ResourceBundleProvider</code></h3>
+<p>The sling.i18n Bundle provides the implementation of the <code>ResourceBundleProvider</code> interface, which may also be used outside of Sling requests for service tasks. This implementation gets the messages from a JCR Repository stored below nodes of the mixin node type <code>mix:language</code>. These language nodes have a <code>jcr:language</code> property naming the language of the resources. In the context of the JCR based <code>ResourceBundleProvider</code> this is of course expected to be the string value of respective <code>Locale</code>.</p>
+<p>The (direct) child nodes of the <code>mix:language</code> node must contain two special properties naming the key string and the message:</p>
+<ul>
+<li><code>sling:key</code> -- The <code>sling:key</code> property is a string property being the key for which the node contains the message(s).</li>
+<li><code>sling:message</code> -- The <code>sling:message</code> property represents the resource for the key.</li>
+</ul>
+<p>The exact location of these nodes is not relevant as the <code>ResourceBundleProvider</code> finds them by applying a JCR search. It is only required that the message nodes are located below <code>mix:language</code> nodes. Such structures may also be scattered in the repository to allow storing message resources next to where they are most likely used, such as request scripts.</p>
+<h3 id="resourcebundle-with-base-names"><code>ResourceBundle</code> with base names</h3>
+<p>Similar to standard Java <code>ResourceBundle</code> instances, Sling <code>ResourceBundle</code> instances may be created for base names through any of the <code>getResourceBundle(String, Locale)</code> methods. These methods use the base name parameter as a selector for the values of the <code>sling:basename</code> property of the <code>mix:language</code> nodes.</p>
+<p>The base name argument can take one three values:</p>
+<table>
+<thead>
+<tr>
+<th>Value</th>
+<th><code>ResourceBundle</code> selection</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>null</code></td>
+<td>Selects messages of <code>mix:language</code> nodes ignoring the existence or absence of <code>sling:basename</code> properties</td>
+</tr>
+<tr>
+<td>Empty String</td>
+<td>Selects messages of <code>mix:language</code> nodes which have <code>sling:basename</code> properties, ignoring the actual values</td>
+</tr>
+<tr>
+<td>Any other Value</td>
+<td>Selects messages of <code>mix:language</code> nodes whose <code>sling:basename</code> properties has any value which matches the base name string</td>
+</tr>
+</tbody>
+</table>
+<p>The <code>sling:basename</code> property may be multi-valued, that is the messages of a <code>mix:language</code> nodes may belong to multiple base names and thus <code>ResourceBundle</code> instances.</p>
+<h3 id="sample-resources">Sample Resources</h3>
+<p>Consider the following repository content:</p>
+<div class="codehilite"><pre>   <span class="sr">/libs/</span><span class="n">languages</span>
+           <span class="o">+--</span> <span class="n">English</span> <span class="p">(</span><span class="n">nt:folder</span><span class="p">,</span> <span class="n">mix:language</span><span class="p">)</span>
+           <span class="o">|</span>    <span class="o">+--</span> <span class="n">jcr:language</span> <span class="o">=</span> <span class="n">en</span>
+           <span class="o">|</span>    <span class="o">+--</span> <span class="n">m1</span> <span class="p">(</span><span class="n">sling:messageEntry</span><span class="p">)</span>
+           <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span> <span class="n">sling:key</span> <span class="o">=</span> <span class="s">&quot;msg001&quot;</span>
+           <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span> <span class="n">slign:message</span> <span class="o">=</span> <span class="s">&quot;This is a message&quot;</span>
+           <span class="o">|</span>    <span class="o">+--</span> <span class="n">m2</span> <span class="p">(</span><span class="n">sling:messageEntry</span><span class="p">)</span>
+           <span class="o">|</span>         <span class="o">+--</span> <span class="n">sling:key</span> <span class="o">=</span> <span class="s">&quot;msg002&quot;</span>
+           <span class="o">|</span>         <span class="o">+--</span> <span class="n">slign:message</span> <span class="o">=</span> <span class="s">&quot;Another message&quot;</span>
+           <span class="o">+--</span> <span class="n">Deutsch</span> <span class="p">(</span><span class="n">nt:folder</span><span class="p">,</span> <span class="n">mix:language</span><span class="p">)</span>
+                <span class="o">+--</span> <span class="n">jcr:language</span> <span class="o">=</span> <span class="n">de</span>
+                <span class="o">+--</span> <span class="n">m1</span> <span class="p">(</span><span class="n">sling:messageEntry</span><span class="p">)</span>
+                <span class="o">|</span>    <span class="o">+--</span> <span class="n">sling:key</span> <span class="o">=</span> <span class="s">&quot;msg001&quot;</span>
+                <span class="o">|</span>    <span class="o">+--</span> <span class="n">slign:message</span> <span class="o">=</span> <span class="s">&quot;Das ist ein Text&quot;</span>
+                <span class="o">+--</span> <span class="n">m2</span> <span class="p">(</span><span class="n">sling:messageEntry</span><span class="p">)</span>
+                     <span class="o">+--</span> <span class="n">sling:key</span> <span class="o">=</span> <span class="s">&quot;msg002&quot;</span>
+                     <span class="o">+--</span> <span class="n">slign:message</span> <span class="o">=</span> <span class="s">&quot;Ein anderer Text&quot;</span>
+
+   <span class="sr">/apps/m</span><span class="n">yApp</span>
+           <span class="o">+--</span> <span class="n">English</span> <span class="p">(</span><span class="n">nt:folder</span><span class="p">,</span> <span class="n">mix:language</span><span class="p">)</span>
+           <span class="o">|</span>    <span class="o">+--</span> <span class="n">jcr:language</span> <span class="o">=</span> <span class="n">en</span>
+           <span class="o">|</span>    <span class="o">+--</span> <span class="n">mx</span> <span class="p">(</span><span class="n">sling:messageEntry</span><span class="p">)</span>
+           <span class="o">|</span>         <span class="o">+--</span> <span class="n">sling:key</span> <span class="o">=</span> <span class="s">&quot;msgXXX&quot;</span>
+           <span class="o">|</span>         <span class="o">+--</span> <span class="n">slign:message</span> <span class="o">=</span> <span class="s">&quot;An Application Text&quot;</span>
+           <span class="o">+--</span> <span class="n">Deutsch</span> <span class="p">(</span><span class="n">nt:folder</span><span class="p">,</span> <span class="n">mix:language</span><span class="p">)</span>
+                <span class="o">+--</span> <span class="n">jcr:language</span> <span class="o">=</span> <span class="n">de</span>
+                <span class="o">+--</span> <span class="n">mx</span> <span class="p">(</span><span class="n">sling:messageEntry</span><span class="p">)</span>
+                     <span class="o">+--</span> <span class="n">sling:key</span> <span class="o">=</span> <span class="s">&quot;msgXXX&quot;</span>
+                     <span class="o">+--</span> <span class="n">slign:message</span> <span class="o">=</span> <span class="s">&quot;Ein Anwendungstext&quot;</span>
+</pre></div>
+
+
+<p>This content defines two languages <em>en</em> and <em>de</em> with three messages <em>msg001</em>, <em>msg002</em> and <em>msgXXX</em> each. The names of the respective nodes have no significance at all because all information required is extracted from the <code>jcr:language</code>, <code>sling:key</code> and <code>sling:message</code> properties.</p>
+<h3 id="jcr-node-types-supporting-the-jcr-repository-based-resourcebundleprovider">JCR Node Types supporting the JCR Repository based <code>ResourceBundleProvider</code></h3>
+<p>The sling.i18n bundle asserts the following node types:</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>mix:language</B></DIV><DIV class="codeContent panelContent">
+    [mix:language]
+        mixin
+      - jcr:language (string)</p>
+<p>The <code>mix:language</code> mixin node type allows setting the <code>jcr:language</code> property required by the <code>ResourceBundleProvider</code> implementation to identify the message <code>Locale</code>.</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>sling:message and sling:messageEntry</B></DIV><DIV class="codeContent panelContent">
+    [sling:message]
+        mixin
+      - sling:key (string)
+      - sling:message (undefined)</p>
+<div class="codehilite"><pre><span class="p">[</span><span class="n">sling:messageEntry</span><span class="p">]</span> <span class="o">&gt;</span> <span class="n">nt:hierarchyNode</span><span class="p">,</span> <span class="n">sling:message</span>
+</pre></div>
+
+
+<p>The <code>sling:message</code> and <code>slign:messageEntry</code> are helper node types which may be used to create the nodes with the <code>sling:key</code> and <code>sling:message</code> properties required by the <code>ResourceBundleProvider</code>. The node types themselves are not required but by defining the required properties, they may be of use.</p>
+      <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/issue-tracker.html
==============================================================================
--- websites/staging/sling/trunk/content/issue-tracker.html (original)
+++ websites/staging/sling/trunk/content/issue-tracker.html Tue May 22 08:25:32 2012
@@ -82,108 +82,129 @@
         <a href="/">Home</a>
       </div>
       <h1>Issue Tracker</h1>
-      <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>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="">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>
+<thead>
+<tr>
+<th>Issue type</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><em>Bug</em></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 <a href="">Sling mailing lists</a> first for help.</td>
+</tr>
+<tr>
+<td><em>New Feature</em></td>
+<td>Use a feature request when Sling does not have some functionality you need.</td>
+</tr>
+<tr>
+<td><em>Improvement</em></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><em>Test</em></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><em>Task</em></td>
+<td>Used only for issues related to project infrastructure.</td>
+</tr>
+</tbody>
 </table>
-
-<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>
+<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>
 <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>
+<thead>
+<tr>
+<th>Issue priority</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><em>Blocker</em></td>
+</tr>
+<tr>
+<td><em>Critical</em></td>
+</tr>
+<tr>
+<td><em>Major</em></td>
+</tr>
+<tr>
+<td><em>Minor</em></td>
+</tr>
+<tr>
+<td><em>Trivial</em></td>
+</tr>
+</tbody>
 </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>
+<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>
+<thead>
+<tr>
+<th>State</th>
+<th>Description</th>
+<th>Next States in Workflow</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><em>Open</em></td>
+<td>The issue has just been created</td>
+<td><em>In Pogress</em></td>
+</tr>
+<tr>
+<td><em>In Progress</em></td>
+<td>Work has started on the issue</td>
+<td><em>Documentation Required</em>, <em>Testcase Required</em>, <em>Documentation/Testcase required</em>, <em>Resolved</em>, <em>Open</em></td>
+</tr>
+<tr>
+<td><em>Documentation Required</em></td>
+<td>Implementation work has finished for this issue. To complete it documentation must be created and/or updated.</td>
+<td><em>Resolved</em></td>
+</tr>
+<tr>
+<td><em>Testcase Required</em></td>
+<td>Implementation work has finished for this issue. To complete it test cases must be created and/or updated.</td>
+<td><em>Resolved</em></td>
+</tr>
+<tr>
+<td><em>Documentation/Testcase Required</em></td>
+<td>Implementation work has finished for this issue. To complete it documentation and test cases must be created and/or updated.</td>
+<td><em>Resolved</em>, <em>Documentation Required</em>, <em>Testcase Required</em></td>
+</tr>
+<tr>
+<td><em>Resolved</em></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><em>Reopened</em>, <em>Closed</em></td>
+</tr>
+<tr>
+<td><em>Reopened</em></td>
+<td>A resolved issue has been recognized to contain bugs or to be incomplete and thus has been reopened.</td>
+<td><em>In Progress</em>, <em>Resolved</em></td>
+</tr>
+<tr>
+<td><em>Closed</em></td>
+<td>Work on this issue has finished and it is included in the release.</td>
+<td>--</td>
+</tr>
+</tbody>
 </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>
+<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>
 <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>
+<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 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/jcr-installer-provider.html
==============================================================================
--- websites/staging/sling/trunk/content/jcr-installer-provider.html (original)
+++ websites/staging/sling/trunk/content/jcr-installer-provider.html Tue May 22 08:25:32 2012
@@ -82,88 +82,47 @@
         <a href="/">Home</a>
       </div>
       <h1>JCR Installer Provider</h1>
-      <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>
+      <p>The JCR installer provider scans the JCR repository for artifacts and provides them to the <a href="">OSGI installer</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>
+<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>
 <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>
+<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</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>
 <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>
+<p>Start the Sling <a href="">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="">org.apache.sling.osgi.installer</a>)
+* JCR installer provider (<a href="">org.apache.sling.jcr.jcrinstall</a>)</p>
+<p>To watch the logs produced by these modules, you can filter <code>sling/logs/error.log</code> using <code>egrep 'jcrinstall|osgi.installer'</code>.</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>
+<p>We'll use the <a href="">Knopflerfish Desktop</a> bundle for this example, it is convenient as it displays a graphical user interface when started.</p>
+<p>We use <code>curl</code> to create content, to make it easy to reproduce the example by copying and pasting the <code>curl</code> 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 <code>/libs</code> and <code>/apps</code>, 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>
 
 
-<p>And we copy the bundle to install in that folder (a backslash in command
-lines means <em>continued on next line</em>):</p>
+<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>
+  <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/</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>
 </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>
+<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>
+  <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/</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>
 </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>
+<p>Should cause the <em>Knopflerfish Desktop</em> window to disappear as the bundle is uninstalled.</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>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>
@@ -174,10 +133,10 @@ installation roots (/apps and /libs).</p
 
 <p>And verify the contents of our config node:</p>
 <div class="codehilite"><pre><span class="n">curl</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><span class="o">.</span><span class="n">json</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>
@@ -185,10 +144,7 @@ installation roots (/apps and /libs).</p
 </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>
+<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>
@@ -223,27 +179,17 @@ to check it. That page should now contai
 </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>
+<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 <code>o.a.s.foo.bar-a</code> 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>
 <h1 id="automated-tests">Automated Tests</h1>
-<p>The following modules contain lots of automated tests (under <em>src/test</em>,
-as usual):</p>
+<p>The following modules contain lots of automated tests (under <code>src/test</code>, 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>
+<li>OSGi installer integration tests (<a href="">org.apache.sling.installer.it</a>)</li>
+<li>JCR installer service (<a href="">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>
+<p>Many of these tests are fairly readable, and can be used to find out in more detail how these modules work.</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/jspc.html
==============================================================================
--- websites/staging/sling/trunk/content/jspc.html (original)
+++ websites/staging/sling/trunk/content/jspc.html Tue May 22 08:25:32 2012
@@ -82,85 +82,80 @@
         <a href="/">Home</a>
       </div>
       <h1>JspC</h1>
-      <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>
+      <h1 id="maven-jspc-plugin">Maven JspC Plugin</h1>
+<p>The Maven JspC Plugin provides a single goal <code>jspc</code> which is by default executed in the <code>compile</code> phase of the Maven build process. This goal takes all JSP source files from a configured location (<code>src/main/scripts</code> by default) and compiles them into classes in a configurable location (<code>target/jspc-plugin-generated</code> by default). In addition, for each compiled JSP a Declarative Services descriptor is generated and written to a descriptor file (<code>OSGI-INF/jspServiceComponents.xml</code> 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 <code>javax.servlet.Servlet</code> services.</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>
+<p>To use the Maven JspC 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>
     ....
     <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;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;plugins&gt;</span>
-    ....
     <span class="nt">&lt;build&gt;</span>
     ....
 <span class="nt">&lt;project&gt;</span>
 </pre></div>
 
 
-<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>
+<p>The Maven JspC Plugin may be configured in the <code>&lt;configuration&gt;</code> 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>
+<thead>
+<tr>
+<th>Parameter</th>
+<th>Default Value</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>sourceDirectory</code></td>
+<td><code>$\{project.build.scriptSourceDirectory</code>}</td>
+<td>Location of the JSP source file; may be overwritten using the <code>jspc.sourceDirectory</code> system property.</td>
+</tr>
+<tr>
+<td><code>outputDirectory</code></td>
+<td><code>$\{project.build.directory}/jspc-plugin-generated</code></td>
+<td>Target directory for the compiled JSP classes; may be overwritten using the <code>jspc.outputDirectory</code> system propertiy.</td>
+</tr>
+<tr>
+<td><code>compilerTargetVM</code></td>
+<td><code>1.5</code></td>
+<td>The Target Virtual Machine Version to generate class files for; may be overwritten using the <code>jspc.compilerTargetVM</code> system property.</td>
+</tr>
+<tr>
+<td><code>compilerSourceVM</code></td>
+<td><code>1.5</code></td>
+<td>The Compiler Source Version of the Java source generated from the JSP files before compiling into classes; may be overwritten using the <code>jspc.compilerSourceVM</code> system property.</td>
+</tr>
+<tr>
+<td><code>servletPackage</code></td>
+<td><code>org.apache.jsp</code></td>
+<td>The root package name for the generated class files; may be overwritten using the <code>jspc.servletPackage</code> system property.</td>
+</tr>
+</tbody>
 </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>
+<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 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/launch-sling.html
==============================================================================
--- websites/staging/sling/trunk/content/launch-sling.html (original)
+++ websites/staging/sling/trunk/content/launch-sling.html Tue May 22 08:25:32 2012
@@ -82,10 +82,9 @@
         <a href="/">Home</a>
       </div>
       <h1>Launch Sling</h1>
-      <p>Please refer to <a href="the-sling-launchpad.html">The Sling Launchpad</a>
- for up-to-date information on launching Sling.</p>
+      <p>Please refer to <a href="/the-sling-launchpad.html">The Sling Launchpad</a> for up-to-date information on launching Sling.</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/links.html
==============================================================================
--- websites/staging/sling/trunk/content/links.html (original)
+++ websites/staging/sling/trunk/content/links.html Tue May 22 08:25:32 2012
@@ -82,86 +82,53 @@
         <a href="/">Home</a>
       </div>
       <h1>Links</h1>
-      <p><a name="Links-Links"></a></p>
-<h1 id="links">Links</h1>
+      <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>
+<li><a href="">Java Content Repository: The Best Of Both Worlds</a> - by Bertrand Delacretaz on Javalobby - uses the Sling HTTP interface to demonstrate JCR features.</li>
+<li><a href="">Accessing Relational Data as SLING RESTful URLs</a> - by Luca Masini</li>
+<li><a href="">Your First Day With Sakai Nakamura</a> - 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>
+<li><a href="">Sling on dev.day.com</a> - Day's developers blog, regularly includes articles on Sling and JCR. Powered by Sling, of course.</li>
+<li><a href="">Sling on Lars Trieloff's Blog</a> - Lars regularly writes on his experiences with Sling. Most notably the mini series of three entries introducing Sling and microsling.</li>
+<li><a href="">Sling links at del.icio.us</a> - 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="">Sling on Fisheye</a> - code repository viewer, activity statistics, etc.</li>
+<li><a href="">Sling on ohloh</a> - activity and community statistics.</li>
+<li><a href="">Sling on MarkMail</a> - 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>
+<li>Gert Vanthienen succeeded in installing Sling into the new Apache ServiceMix kernel and documented his experience <a href="">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>
+<li><a href="">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>
+<p>The following screencasts demonstrate Day Software's CRX quickstart product, powered by Sling:
+   * <a href="">First Steps with CRX Quickstart</a>
+   * <a href="">TheServerSide.com in 15 minutes</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>
+<li><a href="">ApacheCon EU 08 Fast Feather Track Presentation on Sling</a></li>
+<li><a href="">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>
+<li><a href="">ApacheCon US 07 Fast Feather Track Presentation on Sling</a></li>
+<li><a href="">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>
+<li><a href="">Apache Jackrabbit</a> - 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="">JSR 170: Content Repository for Java{tm} technology API</a> - The specification of the repository API.</li>
+<li><a href="">Apache Felix</a> - The OSGi Framework implementation we use in Sling.</li>
+<li><a href="">The OSGi Alliance</a> - 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>
       <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/logging.html
==============================================================================
--- websites/staging/sling/trunk/content/logging.html (original)
+++ websites/staging/sling/trunk/content/logging.html Tue May 22 08:25:32 2012
@@ -82,196 +82,190 @@
         <a href="/">Home</a>
       </div>
       <h1>Logging</h1>
-      <p><a name="Logging-Logging"></a></p>
-<h1 id="logging">Logging</h1>
-<p><a name="Logging-Introduction"></a></p>
+      <h1 id="logging">Logging</h1>
 <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>
+<p>Logging in Sling is supported by the <code>org.apache.sling.commons.log</code> bundle, which is one of the first bundles installed and started by the Sling Launcher. The <code>org.apache.sling.commons.log</code> 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>Implements the OSGi Log Service Specification and registers the <code>LogService</code> and <code>LogReader</code> services</li>
 <li>Exports three commonly used logging APIs:
-      <strong> <a href="-http://www.slf4j.org.html">Simple Logging Facade for Java (SLF4J)</a>
+      <strong> <a href="">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>
+</strong> <a href="">Apache Commons Logging</a>
+      <strong> <a href="">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>
+</strong> <a href="">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>
+<p>The <code>org.apache.sling.commons.log</code> bundle gets the initial configuration from the following <code>BundleContext</code> 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>
+<thead>
+<tr>
+<th>Property</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>org.apache.sling.commons.log.level</code></td>
+<td><code>INFO</code></td>
+<td>Sets the initial logging level of the root logger. This may be any of the defined logging levels <code>DEBUG</code>, <code>INFO</code>, <code>WARN</code>, <code>ERROR</code> and <code>FATAL</code>.</td>
+</tr>
+<tr>
+<td><code>org.apache.sling.commons.log.file</code></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 <code>System.out</code>.</td>
+</tr>
+<tr>
+<td><code>org.apache.sling.commons.log.file.number</code></td>
+<td>5</td>
+<td>The number of rotated files to keep.</td>
+</tr>
+<tr>
+<td><code>org.apache.sling.commons.log.file.size</code></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 <em>Log File Rotation</em> below for full details on log file rotation.</td>
+</tr>
+<tr>
+<td><code>org.apache.sling.commons.log.pattern</code></td>
+<td>{0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* [{2}]() {3} {5}</td>
+<td>The <code>MessageFormat</code> pattern to use for formatting log messages with the root logger.</td>
+</tr>
+<tr>
+<td><code>org.apache.sling.commons.log.julenabled</code></td>
+<td>n/a</td>
+<td>Enables the <code>java.util.logging</code> support.</td>
+</tr>
+</tbody>
 </table>
-
-<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>
+<p>User Configuration after initial configuration is provided by the Configuration Admin Service. To this avail two <code>org.osgi.services.cm.ManagedServiceFactory</code> services are registered under the PIDs <code>org.apache.sling.commons.log.LogManager.factory.writer</code> and <code>org.apache.sling.commons.log.LogManager.factory.config</code> which may receive configuration.</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>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 <code>org.apache.sling.commons.log.LogManager.factory.config</code> 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>
+<thead>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>org.apache.sling.commons.log.level</code></td>
+<td>String</td>
+<td><code>INFO</code></td>
+<td>Sets the logging level of the loggers. This may be any of the defined logging levels <code>DEBUG</code>, <code>INFO</code>, <code>WARN</code>, <code>ERROR</code> and <code>FATAL</code>.</td>
+</tr>
+<tr>
+<td><code>org.apache.sling.commons.log.file</code></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 <code>System.out</code>. 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><code>org.apache.sling.commons.log.pattern</code></td>
+<td>String</td>
+<td>{0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* [{2}]() {3} {5}</td>
+<td>The <code>java.util.MessageFormat</code> pattern to use for formatting log messages with the root logger. This is a <code>java.util.MessageFormat</code> pattern supporting up to six arguments: {0} The timestamp of type <code>java.util.Date</code>, {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><code>org.apache.sling.commons.log.names</code></td>
+<td>String<a href=""></a></td>
+<td>--</td>
+<td>A list of logger names to which this configuration applies.</td>
+</tr>
+</tbody>
 </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>
+<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>
 <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>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>
+<thead>
+<tr>
+<th>Property</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>org.apache.sling.commons.log.file</code></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 <code>System.out</code>.</td>
+</tr>
+<tr>
+<td><code>org.apache.sling.commons.log.file.number</code></td>
+<td>5</td>
+<td>The number of rotated files to keep.</td>
+</tr>
+<tr>
+<td><code>org.apache.sling.commons.log.file.size</code></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 <em>Log File Rotation</em> below for full details on log file rotation.</td>
+</tr>
+</tbody>
 </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>
+<p>See the section <em>Log File Rotation</em> below for full details on the <code>org.apache.sling.commons.log.file.size</code> and <code>org.apache.sling.commons.log.file.number</code> properties.</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>
+<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 <code>SimpleDateFormat</code> 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 <code>'.'yyyy-MM-dd</code> causing daily log rotation. Previously log rotation defaulted to a 10MB file size limit.</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>
+<p>The rolling schedule is specified by setting the <code>org.apache.sling.commons.log.file.size</code> property to a <code>java.text.SimpleDateFormat</code> 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 <code>/foo/bar.log</code> and the pattern set to <code>'.'yyyy-MM-dd</code>, on 2001-02-16 at midnight, the logging file <code>/foo/bar.log</code> will be renamed to <code>/foo/bar.log.2001-02-16</code> and logging for 2001-02-17 will continue in a new <code>/foo/bar.log</code> 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>
+<thead>
+<tr>
+<th>DatePattern</th>
+<th>Rollover schedule</th>
+<th>Example</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>'.'yyyy-MM</code></td>
+<td>Rollover at the beginning of each month</td>
+<td>At midnight of May 31st, 2002 <code>/foo/bar.log</code> will be copied to <code>/foo/bar.log.2002-05</code>. Logging for the month of June will be output to <code>/foo/bar.log</code> until it is also rolled over the next month.</td>
+</tr>
+<tr>
+<td><code>'.'yyyy-ww</code></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 <code>/foo/bar.log</code> will be copied to <code>/foo/bar.log.2002-23</code>. Logging for the 24th week of 2002 will be output to <code>/foo/bar.log</code> until it is rolled over the next week.</td>
+</tr>
+<tr>
+<td><code>'.'yyyy-MM-dd</code></td>
+<td>Rollover at midnight each day.</td>
+<td>At midnight, on March 8th, 2002, <code>/foo/bar.log</code> will be copied to <code>/foo/bar.log.2002-03-08</code>. Logging for the 9th day of March will be output to <code>/foo/bar.log</code> until it is rolled over the next day.</td>
+</tr>
+<tr>
+<td><code>'.'yyyy-MM-dd-a</code></td>
+<td>Rollover at midnight and midday of each day.</td>
+<td>at noon, on March 9th, 2002, <code>/foo/bar.log</code> will be copied to  <code>/foo/bar.log.2002-03-09-AM</code>. Logging for the afternoon of the 9th will be output to <code>/foo/bar.log</code> until it is rolled over at midnight.</td>
+</tr>
+<tr>
+<td><code>'.'yyyy-MM-dd-HH</code></td>
+<td>Rollover at the top of every hour.</td>
+<td>At approximately 11:00.000 o'clock on March 9th, 2002, <code>/foo/bar.log</code> will be copied to <code>/foo/bar.log.2002-03-09-10</code>. Logging for the 11th hour of the 9th of March will be output to <code>/foo/bar.log</code> until it is rolled over at the beginning of the next hour.</td>
+</tr>
+<tr>
+<td><code>'.'yyyy-MM-dd-HH-mm</code></td>
+<td>Rollover at the beginning of every minute.</td>
+<td>At approximately 11:23,000, on March 9th, 2001, <code>/foo/bar.log</code> will be copied to <code>/foo/bar.log.2001-03-09-10-22</code>. Logging for the minute of 11:23 (9th of March) will be output to <code>/foo/bar.log</code> until it is rolled over the next minute.</td>
+</tr>
+</tbody>
 </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>
+<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 <code>org.apache.sling.commons.log.file.number</code> property since the old log files are not numbered but "dated".</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>
+<p>Log file rotation by size is specified by setting the <code>org.apache.sling.commons.log.file.size</code> property to a plain number or a number plus a size multiplier. The size multiplier may be any of <code>K</code>, <code>KB</code>, <code>M</code>, <code>MB</code>, <code>G</code>, or <code>GB</code> where the case is ignored and the meaning is probably obvious.</p>
+<p>When using Size Rotation, the <code>org.apache.sling.commons.log.file.number</code> 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 <code>org.apache.sling.commons.log.file.number</code> to <code>5</code> (which happens to be the default).</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



Mime
View raw message