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/05/22 10:25:36 UTC

svn commit: r818658 [6/23] - in /websites/staging/sling/trunk/content: ./ tutorials-how-tos/

Modified: websites/staging/sling/trunk/content/development.html
==============================================================================
--- websites/staging/sling/trunk/content/development.html (original)
+++ websites/staging/sling/trunk/content/development.html Tue May 22 08:25:32 2012
@@ -82,48 +82,39 @@
         <a href="/">Home</a>
       </div>
       <h1>Development</h1>
-      <p><a name="Development-Development"></a></p>
-<h1 id="development">Development</h1>
-<p>Welcome to the wonderful world of extending Sling. Refer to these pages to
-find out how we envision the extension of Sling and how to do it.</p>
-<p><a name="Development-UsingSlingasyourDevelopmentFramework"></a></p>
+      <h1 id="development">Development</h1>
+<p>Welcome to the wonderful world of extending Sling. Refer to these pages to find out how we envision the extension of Sling and how to do it.</p>
 <h2 id="using-sling-as-your-development-framework">Using Sling as your Development Framework</h2>
-<p>Look here for more information on developper support when your are using
-Sling to build your own applications.</p>
-<div class="codehilite"><pre><span class="o">*</span> <span class="p">[</span><span class="n">Getting</span> <span class="ow">and</span> <span class="n">Building</span> <span class="n">Sling</span><span class="p">](</span><span class="n">getting</span><span class="o">-</span><span class="ow">and</span><span class="o">-</span><span class="n">building</span><span class="o">-</span><span class="n">sling</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
-<span class="o">*</span> <span class="p">[</span><span class="n">Embedding</span> <span class="n">Sling</span><span class="p">](</span><span class="n">embedding</span><span class="o">-</span><span class="n">sling</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
-<span class="o">*</span> <span class="p">[</span><span class="n">Logging</span><span class="p">](</span><span class="n">logging</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
-<span class="o">*</span> <span class="p">[</span><span class="n">Client</span> <span class="n">Request</span> <span class="n">Logging</span><span class="p">](</span><span class="n">client</span><span class="o">-</span><span class="n">request</span><span class="o">-</span><span class="n">logging</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
-<span class="o">*</span> <span class="p">[</span><span class="n">Monitoring</span> <span class="n">Requests</span><span class="p">](</span><span class="n">monitoring</span><span class="o">-</span><span class="n">requests</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
-<span class="o">*</span> <span class="p">[</span><span class="n">Repository</span> <span class="n">Based</span> <span class="n">Development</span><span class="p">](</span><span class="n">repository</span><span class="o">-</span><span class="n">based</span><span class="o">-</span><span class="n">development</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
-<span class="o">*</span> <span class="p">[</span><span class="n">Sling</span> <span class="n">Testing</span> <span class="n">Tools</span><span class="p">](</span><span class="n">sling</span><span class="o">-</span><span class="n">testing</span><span class="o">-</span><span class="n">tools</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
+<p>Look here for more information on developper support when your are using Sling to build your own applications.</p>
+<div class="codehilite"><pre><span class="o">*</span> <span class="p">[</span><span class="n">Getting</span> <span class="ow">and</span> <span class="n">Building</span> <span class="n">Sling</span><span class="p">](</span><span class="sr">/getting-and-building-sling.html)</span>
+<span class="sr">* [Embedding Sling](/</span><span class="n">embedding</span><span class="o">-</span><span class="n">sling</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
+<span class="o">*</span> <span class="p">[</span><span class="n">Logging</span><span class="p">](</span><span class="sr">/logging.html)</span>
+<span class="sr">* [Client Request Logging](/c</span><span class="n">lient</span><span class="o">-</span><span class="n">request</span><span class="o">-</span><span class="n">logging</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
+<span class="o">*</span> <span class="p">[</span><span class="n">Monitoring</span> <span class="n">Requests</span><span class="p">](</span><span class="sr">/monitoring-requests.html)</span>
+<span class="sr">* [Repository Based Development](/</span><span class="n">repository</span><span class="o">-</span><span class="n">based</span><span class="o">-</span><span class="n">development</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
+<span class="o">*</span> <span class="p">[</span><span class="n">Sling</span> <span class="n">Testing</span> <span class="n">Tools</span><span class="p">](</span><span class="o">/</span><span class="n">sling</span><span class="o">-</span><span class="n">testing</span><span class="o">-</span><span class="n">tools</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
 </pre></div>
 
 
-<p><a name="Development-Maven2stuff"></a></p>
 <h2 id="maven-2-stuff">Maven 2 stuff</h2>
-<p>Sling is using Apache Maven as it build system. Over time we have created a
-number of Maven 2 Plugins and gathered a whole range of knowledge about
-using Maven.</p>
-<div class="codehilite"><pre><span class="o">*</span> <span class="p">[</span><span class="n">Maven</span> <span class="n">Tips</span> <span class="o">&amp;</span> <span class="n">Tricks</span><span class="p">](</span><span class="n">maventipsandtricks</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
-<span class="o">*</span> <span class="p">[</span><span class="n">Maven</span> <span class="n">Sling</span> <span class="n">Plugin</span><span class="p">](</span><span class="n">sling</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
-<span class="o">*</span> <span class="p">[</span><span class="n">Maven</span> <span class="n">JspC</span> <span class="n">Plugin</span><span class="p">](</span><span class="n">jspc</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
-<span class="o">*</span> <span class="p">[</span><span class="n">Maven</span> <span class="n">Launchpad</span> <span class="n">Plugin</span><span class="p">](</span><span class="n">maven</span><span class="o">-</span><span class="n">launchpad</span><span class="o">-</span><span class="n">plugin</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
-<span class="o">*</span> <span class="p">[</span><span class="n">Maven</span> <span class="n">Archetypes</span><span class="p">](</span><span class="n">maven</span><span class="o">-</span><span class="n">archetypes</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
+<p>Sling is using Apache Maven as it build system. Over time we have created a number of Maven 2 Plugins and gathered a whole range of knowledge about using Maven.</p>
+<div class="codehilite"><pre><span class="o">*</span> <span class="p">[</span><span class="n">Maven</span> <span class="n">Tips</span> <span class="o">&amp;</span> <span class="n">Tricks</span><span class="p">](</span><span class="sr">/maventipsandtricks.html)</span>
+<span class="sr">* [Maven Sling Plugin](/s</span><span class="n">ling</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
+<span class="o">*</span> <span class="p">[</span><span class="n">Maven</span> <span class="n">JspC</span> <span class="n">Plugin</span><span class="p">](</span><span class="sr">/jspc.html)</span>
+<span class="sr">* [Maven Launchpad Plugin](/m</span><span class="n">aven</span><span class="o">-</span><span class="n">launchpad</span><span class="o">-</span><span class="n">plugin</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
+<span class="o">*</span> <span class="p">[</span><span class="n">Maven</span> <span class="n">Archetypes</span><span class="p">](</span><span class="o">/</span><span class="n">maven</span><span class="o">-</span><span class="n">archetypes</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
 </pre></div>
 
 
-<p><a name="Development-SlingDevelopment"></a></p>
 <h3 id="sling-development">Sling Development</h3>
-<p>Last but not least, here is some more information on how we ourselves are
-working on Sling</p>
-<div class="codehilite"><pre><span class="o">*</span> <span class="p">[</span><span class="n">Dependency</span> <span class="n">Management</span><span class="p">](</span><span class="n">dependency</span><span class="o">-</span><span class="n">management</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
-<span class="o">*</span> <span class="p">[</span><span class="n">Version</span> <span class="n">Policy</span><span class="p">](</span><span class="n">version</span><span class="o">-</span><span class="n">policy</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
-<span class="o">*</span> <span class="p">[</span><span class="n">Issue</span> <span class="n">Tracker</span><span class="p">](</span><span class="n">issue</span><span class="o">-</span><span class="n">tracker</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
-<span class="o">*</span> <span class="p">[</span><span class="n">Release</span> <span class="n">Management</span><span class="p">](</span><span class="n">release</span><span class="o">-</span><span class="n">management</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
+<p>Last but not least, here is some more information on how we ourselves are working on Sling</p>
+<div class="codehilite"><pre><span class="o">*</span> <span class="p">[</span><span class="n">Dependency</span> <span class="n">Management</span><span class="p">](</span><span class="sr">/dependency-management.html)</span>
+<span class="sr">* [Version Policy](/</span><span class="n">version</span><span class="o">-</span><span class="n">policy</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
+<span class="o">*</span> <span class="p">[</span><span class="n">Issue</span> <span class="n">Tracker</span><span class="p">](</span><span class="sr">/issue-tracker.html)</span>
+<span class="sr">* [Release Management](/</span><span class="n">release</span><span class="o">-</span><span class="n">management</span><span class="o">.</span><span class="n">html</span><span class="p">)</span>
 </pre></div>
       <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/discover-sling-in-15-minutes.html
==============================================================================
--- websites/staging/sling/trunk/content/discover-sling-in-15-minutes.html (original)
+++ websites/staging/sling/trunk/content/discover-sling-in-15-minutes.html Tue May 22 08:25:32 2012
@@ -82,105 +82,51 @@
         <a href="/">Home</a>
       </div>
       <h1>Discover Sling in 15 minutes</h1>
-      <p><a name="DiscoverSlingin15minutes-DiscoverSlingin15minutes-theSlingLaunchpad"></a></p>
-<h1 id="discover-sling-in-15-minutes-the-sling-launchpad">Discover Sling in 15 minutes - the Sling Launchpad</h1>
-<p>The Sling Launchpad is a ready-to-run Sling configuration, providing an
-embedded JCR content repository and web server, a selection of Sling
-components, documentation and examples. The Launchpad makes it easy to get
-started with Sling and to develop script-based applications.</p>
-<p>This page will help you get started with the Launchpad. Fifteen minutes
-should be enough to get an overview of what Sling does.</p>
-<p>While simple to run and understand, the Launchpad is a full-featured
-instance of Sling, an example configuration that we have created with the
-most common modules and configurations. The full functionality of Sling is
-available by loading additional Sling (or custom) OSGi bundles as needed,
-using the Launchpad's web-based OSGi management console.</p>
-<p><a name="DiscoverSlingin15minutes-SeeAlso"></a></p>
+      <h1 id="discover-sling-in-15-minutes-the-sling-launchpad">Discover Sling in 15 minutes - the Sling Launchpad</h1>
+<p>The Sling Launchpad is a ready-to-run Sling configuration, providing an embedded JCR content repository and web server, a selection of Sling components, documentation and examples. The Launchpad makes it easy to get started with Sling and to develop script-based applications.</p>
+<p>This page will help you get started with the Launchpad. Fifteen minutes should be enough to get an overview of what Sling does.</p>
+<p>While simple to run and understand, the Launchpad is a full-featured instance of Sling, an example configuration that we have created with the most common modules and configurations. The full functionality of Sling is available by loading additional Sling (or custom) OSGi bundles as needed, using the Launchpad's web-based OSGi management console.</p>
 <h2 id="see-also">See Also</h2>
-<p>Example applications and mini-applications for Sling can be found under
-http://svn.apache.org/repos/asf/sling/trunk/samples/ (each application has
-a <em>README.txt</em> file, see these for more details).</p>
-<p>Once you grok the basic examples of this page, we recommend studying the
-<em>espblog</em> and <em>webloader</em> samples for more complete examples. The
-<em>javashell</em> sample is useful to play with JCR java code (or any java code,
-for that matter) interactively.</p>
-<p><a name="DiscoverSlingin15minutes-Prerequisites"></a></p>
+<p>Example applications and mini-applications for Sling can be found under http://svn.apache.org/repos/asf/sling/trunk/samples/ (each application has a <code>README.txt</code> file, see these for more details).</p>
+<p>Once you grok the basic examples of this page, we recommend studying the <em>espblog</em> and <em>webloader</em> samples for more complete examples. The <em>javashell</em> sample is useful to play with JCR java code (or any java code, for that matter) interactively.</p>
 <h2 id="prerequisites">Prerequisites</h2>
-<p>We'll start with the self-runnable jar from the Sling distribution, you
-only need a Java 5 JDK. Download the latest release from the Sling <a href="downloads.html">Downloads</a>
- page or by clicking this link: [org.apache.sling.launchpad-6-standalone.jar|http://www.apache.org/dyn/closer.cgi/sling/org.apache.sling.launchpad-6-standalone.jar]
-. Alternatively you can deploy the [Sling Web application|http://www.apache.org/dyn/closer.cgi/sling/org.apache.sling.launchpad-6.war]
- into any decent Servlet Container such as Jetty or Tomcat or you can [build the current source yourself|Getting and Building Sling]
-.</p>
-<p>To show the simplicity of the REST-style approach taken by Sling the
-examples below will be using <a href="http://curl.haxx.se/">cURL</a>
-. Any HTTP client would do, but cURL is the easiest to document in a
-reproducible way.</p>
-<p>A WebDAV client makes editing server-side scripts much more convenient, but
-to make our examples easy to reproduce, we're using cURL below to create
-and update files in the JCR repository, via the Sling WebDAV server.</p>
-<p><a name="DiscoverSlingin15minutes-StarttheLaunchpad"></a></p>
+<p>We'll start with the self-runnable jar from the Sling distribution, you only need a Java 5 JDK. Download the latest release from the Sling <a href="/downloads.html">Downloads</a> page or by clicking this link: [org.apache.sling.launchpad-6-standalone.jar|http://www.apache.org/dyn/closer.cgi/sling/org.apache.sling.launchpad-6-standalone.jar]. Alternatively you can deploy the [Sling Web application|http://www.apache.org/dyn/closer.cgi/sling/org.apache.sling.launchpad-6.war] into any decent Servlet Container such as Jetty or Tomcat or you can [build the current source yourself|Getting and Building Sling].</p>
+<p>To show the simplicity of the REST-style approach taken by Sling the examples below will be using <a href="">cURL</a>. Any HTTP client would do, but cURL is the easiest to document in a reproducible way.</p>
+<p>A WebDAV client makes editing server-side scripts much more convenient, but to make our examples easy to reproduce, we're using cURL below to create and update files in the JCR repository, via the Sling WebDAV server.</p>
 <h2 id="start-the-launchpad">Start the Launchpad</h2>
-<p>After downloading the Sling Launchpad self-runnable jar just start it as
-follows:</p>
+<p>After downloading the Sling Launchpad self-runnable jar just start it as follows:</p>
 <div class="codehilite"><pre><span class="nv">$</span> <span class="nv">java</span> <span class="o">-</span><span class="n">jar</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">sling</span><span class="o">.</span><span class="n">launchpad</span><span class="o">-</span><span class="mi">6</span><span class="o">-</span><span class="n">standalone</span><span class="o">.</span><span class="n">jar</span>
 </pre></div>
 
 
-<p>This starts the Sling embedded Web Server on port 8080 and writes
-application files into the <em>sling</em> folder found in the current working
-directory.</p>
-<p>Once started, look at <a href="http://localhost:8080/system/console/bundles">http://localhost:8080/system/console/bundles</a>
- with your browser. Use <em>admin</em> with password <em>admin</em> if Sling asks you for
-a login. Sling then displays the <em>Felix Web Management Console</em> page.</p>
-<p>On the bundles page, all bundles should be marked <em>Active</em>. They're all <a href="http://www.osgi.org/">OSGi</a>
- bundles powered by [Apache Felix|http://felix.apache.org]
-, but that doesn't really matter to us right now.</p>
+<p>This starts the Sling embedded Web Server on port 8080 and writes application files into the <code>sling</code> folder found in the current working directory.</p>
+<p>Once started, look at <a href="">http://localhost:8080/system/console/bundles</a> with your browser. Use <em>admin</em> with password <em>admin</em> if Sling asks you for a login. Sling then displays the <em>Felix Web Management Console</em> page.</p>
+<p>On the bundles page, all bundles should be marked <em>Active</em>. They're all <a href="">OSGi</a> bundles powered by [Apache Felix|http://felix.apache.org], but that doesn't really matter to us right now.</p>
 <p>{tip:title=Log files}
-If things go wrong, have a look at the <em>sling/logs/error.log</em> log file -
-that's where Sling writes any error messages.
+If things go wrong, have a look at the <code>sling/logs/error.log</code> log file - that's where Sling writes any error messages.
 {tip}</p>
-<p><a name="DiscoverSlingin15minutes-Createsomecontent"></a></p>
 <h2 id="create-some-content">Create some content</h2>
-<p>Until we have ready-to-test forms, you can create content with cURL, or you
-can create an HTML form that posts to the specified URL.</p>
-<p>To create a content node (nodes are a <a href="http://jackrabbit.apache.org/">JCR</a>
- concept, a unit of storage) with cURL, use:</p>
-<div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="o">-</span><span class="n">F</span><span class="s">&quot;sling:resourceType=foo/bar&quot;</span> <span class="o">-</span><span class="n">F</span><span class="s">&quot;title=some title&quot;</span>
+<p>Until we have ready-to-test forms, you can create content with cURL, or you can create an HTML form that posts to the specified URL.</p>
+<p>To create a content node (nodes are a <a href="">JCR</a> concept, a unit of storage) with cURL, use:</p>
+<div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="o">-</span><span class="n">F</span><span class="s">&quot;sling:resourceType=foo/bar&quot;</span> <span class="o">-</span><span class="n">F</span><span class="s">&quot;title=some title&quot;</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:8080</span><span class="sr">/content/m</span><span class="n">ynode</span>
 </pre></div>
 
 
-<p>http://localhost:8080/content/mynode</p>
-<p>The resulting node can be seen at <a href="http://localhost:8080/content/mynode.html">http://localhost:8080/content/mynode.html</a>
-, or as json format under [http://localhost:8080/content/mynode.json|http://localhost:8080/content/mynode.json]
-. Lets try with cURL:</p>
+<p>The resulting node can be seen at <a href="">http://localhost:8080/content/mynode.html</a>, or as json format under [http://localhost:8080/content/mynode.json|http://localhost:8080/content/mynode.json]. Lets try with cURL:</p>
 <div class="codehilite"><pre><span class="nv">$</span> <span class="nv">curl</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:8080</span><span class="sr">/content/m</span><span class="n">ynode</span><span class="o">.</span><span class="n">json</span>
-<span class="p">{</span><span class="s">&quot;title&quot;</span><span class="p">:</span><span class="err">&quot;</span><span class="n">some</span>
+<span class="p">{</span><span class="s">&quot;title&quot;</span><span class="p">:</span><span class="s">&quot;some title&quot;</span><span class="p">,</span><span class="s">&quot;sling:resourceType&quot;</span><span class="p">:</span><span class="s">&quot;foo/bar&quot;</span><span class="p">,</span><span class="s">&quot;jcr:primaryType&quot;</span><span class="p">:</span><span class="s">&quot;nt:unstructured&quot;</span><span class="p">}</span>
 </pre></div>
 
 
-<p>title","sling:resourceType":"foo/bar","jcr:primaryType":"nt:unstructured"}</p>
-<p>This returns the properties of the <em>/content/mynode</em> in JSON format as we
-have created it above. The additional property <em>jcr:primaryType</em> is a
-special JCR property indicating the JCR primary node type.</p>
+<p>This returns the properties of the <code>/content/mynode</code> in JSON format as we have created it above. The additional property <code>jcr:primaryType</code> is a special JCR property indicating the JCR primary node type.</p>
 <p>{tip:title=Monitoring requests}
-Sling provides a simple tool (an OSGi console plugin) to monitor HTTP
-requests, which helps understand how things work internally. See the <a href="monitoring-requests.html">Monitoring Requests</a>
- page for details.
+Sling provides a simple tool (an OSGi console plugin) to monitor HTTP requests, which helps understand how things work internally. See the <a href="/monitoring-requests.html">Monitoring Requests</a> page for details.
 {tip}</p>
-<p><a name="DiscoverSlingin15minutes-Renderyourcontentusingserver-sidejavascript(ESP)"></a></p>
 <h2 id="render-your-content-using-server-side-javascript-esp">Render your content using server-side javascript (ESP)</h2>
 <p>Sling uses scripts or servlets to render and process content.</p>
-<p>Several scripting languages are available as additional Sling modules
-(packaged as OSGi <em>bundles</em> that can be installed via the Sling management
-console), but the launchpad currently includes the ESP (server-side
-ECMAscript), JSP (Java Server Pages), and Groovy language modules by
-default.</p>
-<p>To select a script, Sling uses the node's <em>sling:resourceType</em> property, if
-it is set.</p>
-<p>That is the case in our example, so the following script will be used by
-Sling to render the node in HTML, if the script is found at
-<em>/apps/foo/bar/html.esp</em> in the repository.</p>
+<p>Several scripting languages are available as additional Sling modules (packaged as OSGi <em>bundles</em> that can be installed via the Sling management console), but the launchpad currently includes the ESP (server-side ECMAscript), JSP (Java Server Pages), and Groovy language modules by default.</p>
+<p>To select a script, Sling uses the node's <em>sling:resourceType</em> property, if it is set.</p>
+<p>That is the case in our example, so the following script will be used by Sling to render the node in HTML, if the script is found at <em>/apps/foo/bar/html.esp</em> in the repository.</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>html.esp</B></DIV><DIV class="codeContent panelContent">
     <html>
       <body>
@@ -188,14 +134,10 @@ Sling to render the node in HTML, if the
       </body>
     </html></p>
 <p>To select the script, Sling:
-<em> looks under <em>/apps</em></em> and appends the <em>sling:resourceType</em> value of our node ( which is
-<em>foo/bar</em> ) 
-* and appends <em>html.esp</em>, as the extension of our URL is <em>html</em> and the
-language of our script is <em>esp</em>.</p>
-<p>Store this script under <em>/apps/foo/bar/html.esp</em>, either using a WebDAV
-client (connected to <a href="http://admin:admin@localhost:8080/">http://admin:admin@localhost:8080/</a>
-), or using cURL as shown here, after creating the <em>html.esp</em> script in the
-current directory on your system:</p>
+<em> looks under </em>/apps<em>
+</em> and appends the <em>sling:resourceType</em> value of our node ( which is <em>foo/bar</em> ) 
+<em> and appends </em>html.esp<em>, as the extension of our URL is </em>html<em> and the language of our script is </em>esp*.</p>
+<p>Store this script under <em>/apps/foo/bar/html.esp</em>, either using a WebDAV client (connected to <a href="">http://admin:admin@localhost:8080/</a>), or using cURL as shown here, after creating the <em>html.esp</em> script in the current directory on your system:</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="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:8080</span><span class="sr">/apps/</span><span class="n">foo</span>
 <span class="n">curl</span> <span class="o">-</span><span class="n">X</span> <span class="n">MKCOL</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:8080</span><span class="sr">/apps/</span><span class="n">foo</span><span class="o">/</span><span class="n">bar</span>
 </pre></div>
@@ -206,32 +148,16 @@ current directory on your system:</p>
 </pre></div>
 
 
-<p>The HTML rendering of your node, at <a href="http://localhost:8080/content/mynode.html">http://localhost:8080/content/mynode.html</a>
-, is now created by this ESP script. You should see the node's title alone
-as an <h1> element in that page.</p>
-<p>A script named <em>POST.esp</em> instead of <em>html.esp</em> would be called for a POST
-request, <em>DELETE.esp</em> for DELETE, <em>xml.esp</em> for a GET request with a <em>.xml</em>
-extension, etc. See <a href="http://cwiki.apache.org/SLING/url-to-script-resolution.html">URL to Script Resolution</a>
- on the Sling wiki for more info.</p>
-<p>Servlets can also be easily "wired" to handle specific resource types,
-extensions, etc., in the simplest case by using SCR annotations in the
-servlet source code. Servlets and scripts are interchangeable when it comes
-to processing Sling requests.</p>
-<p><a name="DiscoverSlingin15minutes-Whatnext?"></a></p>
+<p>The HTML rendering of your node, at <a href="">http://localhost:8080/content/mynode.html</a>, is now created by this ESP script. You should see the node's title alone as an <h1> element in that page.</p>
+<p>A script named <em>POST.esp</em> instead of <em>html.esp</em> would be called for a POST request, <em>DELETE.esp</em> for DELETE, <em>xml.esp</em> for a GET request with a <em>.xml</em> extension, etc. See <a href="">URL to Script Resolution</a> on the Sling wiki for more info.</p>
+<p>Servlets can also be easily "wired" to handle specific resource types, extensions, etc., in the simplest case by using SCR annotations in the servlet source code. Servlets and scripts are interchangeable when it comes to processing Sling requests.</p>
 <h2 id="what-next">What next?</h2>
-<p>These simple examples show how Sling uses scripts to work with JCR data,
-based on <em>sling:resourceType</em> or node types.</p>
-<p>There's much more to Sling of course - you'll find some additional simple
-examples below, and above in the <em>see also</em> section.</p>
-<p>We are working on debugging features to help trace the way Sling processes
-requests. Have a look at <a href="https://issues.apache.org/jira/browse/SLING-3">SLING-3</a>
- to see what's possible already.</p>
-<p><a name="DiscoverSlingin15minutes-Additionalexamples"></a></p>
+<p>These simple examples show how Sling uses scripts to work with JCR data, based on <em>sling:resourceType</em> or node types.</p>
+<p>There's much more to Sling of course - you'll find some additional simple examples below, and above in the <em>see also</em> section.</p>
+<p>We are working on debugging features to help trace the way Sling processes requests. Have a look at <a href="">SLING-3</a> to see what's possible already.</p>
 <h1 id="additional-examples">Additional examples</h1>
-<p><a name="DiscoverSlingin15minutes-LetSlinggeneratethepathofanewlycreatednode."></a></p>
 <h2 id="let-sling-generate-the-path-of-a-newly-created-node">Let Sling generate the path of a newly created node.</h2>
-<p>To create a node with a unique path at a given location, end the URL of the
-POST request with <em>/</em>.</p>
+<p>To create a node with a unique path at a given location, end the URL of the POST request with <em>/</em>.</p>
 <p>In this case, the Sling response redirects to the URL of the created node.</p>
 <p>Start by creating a new <em>/blog</em> folder:</p>
 <div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">X</span> <span class="n">POST</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="s">&quot;http://localhost:8080/content/blog&quot;</span>
@@ -239,36 +165,22 @@ POST request with <em>/</em>.</p>
 
 
 <p>And create a node with a Sling-generated name under it:</p>
-<div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">D</span> <span class="o">-</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="o">-</span><span class="n">F</span><span class="s">&quot;title=Adventures with Sling&quot;</span>
+<div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">D</span> <span class="o">-</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="o">-</span><span class="n">F</span><span class="s">&quot;title=Adventures with Sling&quot;</span> <span class="s">&quot;http://localhost:8080/content/blog/&quot;</span>
 </pre></div>
 
 
-<p>"http://localhost:8080/content/blog/"</p>
-<p>Using cURL's <em>-D</em> option shows the full HTTP response, which includes a
-<em>Location</em> header to indicate where the new node was created:</p>
+<p>Using cURL's <em>-D</em> option shows the full HTTP response, which includes a <em>Location</em> header to indicate where the new node was created:</p>
 <div class="codehilite"><pre><span class="n">Location:</span> <span class="sr">/blog/</span><span class="n">adventures_with_slin</span>
 </pre></div>
 
 
-<p>The actual node name might not be <em>adventures_with_slin</em> - depending on
-existing content in your repository, Sling will find a unique name for this
-new node, based on several well-know property values like title,
-description, etc. which are used for this if provided.</p>
-<p>So, in our case, our new node can be displayed in HTML via the <a href="http://localhost:8080/blog/adventures_with_slin.html">http://localhost:8080/blog/adventures_with_slin.html</a>
- URL.</p>
-<p>Note that we didn't set a <em>sling:resourceType</em> property on our node, so if
-you want to render that node with a script, you'll have to store the script
-under <em>/apps/nt/unstructured/html.esp</em>.</p>
-<p><a name="DiscoverSlingin15minutes-Addapageheaderwithsling.include"></a></p>
+<p>The actual node name might not be <em>adventures</em>with<em>slin</em> - depending on existing content in your repository, Sling will find a unique name for this new node, based on several well-know property values like title, description, etc. which are used for this if provided.</p>
+<p>So, in our case, our new node can be displayed in HTML via the <a href="">http://localhost:8080/blog/adventures<em>with</em>slin.html</a> URL.</p>
+<p>Note that we didn't set a <em>sling:resourceType</em> property on our node, so if you want to render that node with a script, you'll have to store the script under <em>/apps/nt/unstructured/html.esp</em>.</p>
 <h2 id="add-a-page-header-with-slinginclude">Add a page header with sling.include</h2>
-<p>The <em>sling.include</em> function can be called from scripts to include the
-rendered result of another node.</p>
-<p>In this example, we create a node at <em>/content/header</em>, rendered with a
-logo using an <em>html.esp</em> script, then use that header at the top of the
-<em>html.esp</em> script that we created previously for the <em>foo/bar</em> resource
-type.</p>
-<p>Start by checking that <a href="http://localhost:8080/content/mynode.html">http://localhost:8080/content/mynode.html</a>
- is rendered using the <em>html.esp</em> script created above.</p>
+<p>The <em>sling.include</em> function can be called from scripts to include the rendered result of another node.</p>
+<p>In this example, we create a node at <em>/content/header</em>, rendered with a logo using an <em>html.esp</em> script, then use that header at the top of the <em>html.esp</em> script that we created previously for the <em>foo/bar</em> resource type.</p>
+<p>Start by checking that <a href="">http://localhost:8080/content/mynode.html</a> is rendered using the <em>html.esp</em> script created above.</p>
 <p>Create this script and name it <em>header.esp</em>:</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>header.esp</B></DIV><DIV class="codeContent panelContent">
     <div>
@@ -277,31 +189,25 @@ type.</p>
         &lt;%= currentNode.headline %&gt;
       </p>
     </div></p>
-<p>Upload it so that it is used to render resources having
-<em>sling:resourceType=foo/header</em>:</p>
+<p>Upload it so that it is used to render resources having <em>sling:resourceType=foo/header</em>:</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="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:8080</span><span class="sr">/apps/</span><span class="n">foo</span><span class="sr">/header/</span>
-<span class="n">curl</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="o">-</span><span class="n">T</span> <span class="n">header</span><span class="o">.</span><span class="n">esp</span>
+<span class="n">curl</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="o">-</span><span class="n">T</span> <span class="n">header</span><span class="o">.</span><span class="n">esp</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:8080</span><span class="sr">/apps/</span><span class="n">foo</span><span class="sr">/header/</span><span class="n">html</span><span class="o">.</span><span class="n">esp</span>
 </pre></div>
 
 
-<p>http://localhost:8080/apps/foo/header/html.esp</p>
 <p>Create the header node:</p>
-<div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="o">-</span><span class="n">F</span><span class="s">&quot;sling:resourceType=foo/header&quot;</span> <span class="o">-</span><span class="n">F</span><span class="err">&quot;</span><span class="n">headline</span><span class="o">=</span><span class="n">Hello</span><span class="p">,</span>
+<div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="o">-</span><span class="n">F</span><span class="s">&quot;sling:resourceType=foo/header&quot;</span> <span class="o">-</span><span class="n">F</span><span class="s">&quot;headline=Hello, Sling world&quot;</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:8080</span><span class="sr">/content/</span><span class="n">header</span>
 </pre></div>
 
 
-<p>Sling world" http://localhost:8080/content/header</p>
-<p>Upload the logo that the script uses (using sling.jpg or another logo in
-the current directory):</p>
+<p>Upload the logo that the script uses (using sling.jpg or another logo in the current directory):</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="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:8080</span><span class="sr">/images/</span>
 <span class="n">curl</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="o">-</span><span class="n">T</span> <span class="n">sling</span><span class="o">.</span><span class="n">jpg</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:8080</span><span class="sr">/images/s</span><span class="n">ling</span><span class="o">.</span><span class="n">jpg</span>
 </pre></div>
 
 
-<p>And check that the header is rendered with the logo at <a href="http://localhost:8080/content/header.html">http://localhost:8080/content/header.html</a>
-.</p>
-<p>Now, update the html.esp script that we created for our first example
-above, to include the header:</p>
+<p>And check that the header is rendered with the logo at <a href="">http://localhost:8080/content/header.html</a>.</p>
+<p>Now, update the html.esp script that we created for our first example above, to include the header:</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>html.esp</B></DIV><DIV class="codeContent panelContent">
     <html>
       <body>
@@ -316,11 +222,9 @@ above, to include the header:</p>
 </pre></div>
 
 
-<p>The <a href="http://localhost:8080/content/mynode.html">http://localhost:8080/content/mynode.html</a>
-, once refreshed, now shows the blue headline and logo, and this layout
-also applies to any node created with <em>sling:resourceType=foo/bar</em>.</p>
+<p>The <a href="">http://localhost:8080/content/mynode.html</a>, once refreshed, now shows the blue headline and logo, and this layout also applies to any node created with <em>sling:resourceType=foo/bar</em>.</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/dispatching-requests.html
==============================================================================
--- websites/staging/sling/trunk/content/dispatching-requests.html (original)
+++ websites/staging/sling/trunk/content/dispatching-requests.html Tue May 22 08:25:32 2012
@@ -82,203 +82,84 @@
         <a href="/">Home</a>
       </div>
       <h1>Dispatching Requests</h1>
-      <p><a name="DispatchingRequests-RequestProcessing"></a></p>
-<h1 id="request-processing">Request Processing</h1>
-<p><a name="DispatchingRequests-Mainprocess"></a></p>
+      <h1 id="request-processing">Request Processing</h1>
 <h2 id="main-process">Main process</h2>
-<p>The following steps should give you an overview how a request is processed
-in Sling. Details can be found under provided links.</p>
-<p><a name="DispatchingRequests-Step1"></a></p>
+<p>The following steps should give you an overview how a request is processed in Sling. Details can be found under provided links.</p>
 <h3 id="step-1">Step 1</h3>
 <p>The client sends the request</p>
-<p><a name="DispatchingRequests-Step2"></a></p>
 <h3 id="step-2">Step 2</h3>
-<p>This step applies only if a Servlet Container is installed and Sling is
-embedded:
+<p>This step applies only if a Servlet Container is installed and Sling is embedded:
 Servlet Container gets request and forwards to OSGi HttpService</p>
-<p><a name="DispatchingRequests-Step3"></a></p>
 <h3 id="step-3">Step 3</h3>
-<p>OSGi HttpService looks for responsible registered Servlet or resource (see
-102.4 of the OSGi compendium)</p>
-<p><a name="DispatchingRequests-Step4"></a></p>
+<p>OSGi HttpService looks for responsible registered Servlet or resource (see 102.4 of the OSGi compendium)</p>
 <h3 id="step-4">Step 4</h3>
-<p>OSGi HttpService calls <em>handleSecurity</em> of the HttpContext associated
-with the servlet/resource. In case of Sling this calls into
-SlingMainServlet.handleSecurity and then into
-SlingAuthenticator.authenticate</p>
-<p><a name="DispatchingRequests-Step4a"></a></p>
+<p>OSGi HttpService calls <code>handleSecurity</code> of the HttpContext associated with the servlet/resource. In case of Sling this calls into SlingMainServlet.handleSecurity and then into SlingAuthenticator.authenticate</p>
 <h3 id="step-4a">Step 4a</h3>
-<p>SlingAuthenticator selects an authentication handler for the request and
-forwards the authenticate call. On success a <em>javax.jcr.Session</em> is
-created, the request attributes required by the HTTP Service spec are set
-(like <em>org.osgi.service.http.authentication.remote.user</em> and
-<em>org.osgi.service.http.authentication.type</em>and also the
-<em>javax.jcr.Session</em> which is used later is set in the request attributes.
+<p>SlingAuthenticator selects an authentication handler for the request and forwards the authenticate call. On success a <code>javax.jcr.Session</code> is created, the request attributes required by the HTTP Service spec are set (like <code>org.osgi.service.http.authentication.remote.user</code> and <code>org.osgi.service.http.authentication.type</code>and also the <code>javax.jcr.Session</code> which is used later is set in the request attributes.
 On success, continue with step 5.</p>
-<p><a name="DispatchingRequests-Step4b"></a></p>
 <h3 id="step-4b">Step 4b</h3>
-<p>If authentication fails either an anonymous session is acquired (if
-anonymous is allowed per configuration) or the login method is called.
+<p>If authentication fails either an anonymous session is acquired (if anonymous is allowed per configuration) or the login method is called.
 If anonymous is allowed, continue with step 5.</p>
-<p><a name="DispatchingRequests-Step4c"></a></p>
 <h3 id="step-4c">Step 4c</h3>
-<p>The login method selects an AuthenticationHandler and forwards the login
-call to the AuthenticationHandler.requestAuthentication method to cause the
-client to authenticate. Request processing stops here
-(<em>SlingMainServlet.handleSecurity</em> returns false).</p>
-<p><a name="DispatchingRequests-Step5"></a></p>
+<p>The login method selects an AuthenticationHandler and forwards the login call to the AuthenticationHandler.requestAuthentication method to cause the client to authenticate. Request processing stops here (<code>SlingMainServlet.handleSecurity</code> returns false).</p>
 <h3 id="step-5">Step 5</h3>
-<p>After getting a response the HttpService either terminates the request (if
-authentication failed and <em>SlingMainServlet.handleSecurity</em> returned
-false) or continues by either spooling the resource or in the case of Sling
-calling the <em>SlingMainServlet.service</em> method.</p>
-<p><a name="DispatchingRequests-Step6"></a></p>
+<p>After getting a response the HttpService either terminates the request (if authentication failed and <code>SlingMainServlet.handleSecurity</code> returned false) or continues by either spooling the resource or in the case of Sling calling the <code>SlingMainServlet.service</code> method.</p>
 <h3 id="step-6">Step 6</h3>
-<p>The <em>SlingMainServlet.service</em> method is the entry point into the Sling
-proper. This method sets up the request:
-<em> Wraps the </em>HttpServletRequest<em> and the </em>HttpServletResponse<em> into the
-</em>SlingHttpServletRequest<em> and the </em>SlingHttpServletResponse<em>
-</em> Checks if Sling is ready for processing the request (checks at the moment
-for an existing ResourceResolverFactory service, a ServletResolver service
-and a MimeTypeService)
-<em> Create the ResourceResolver based on the Session (by default creates a
-</em>JcrResourceResolver2<em>)
-</em> Locate the <a href="slingxsite:resources.html">Resource</a>
- on the basis of the request by calling <em>ResourceResovler.resolve</em>
-through <em>RequestData.initResource</em> (see also [URL decomposition]
-)
-<em> Locate the servlet or script (see <a href="servlets.html">Servlets</a>
-) by calling </em>ServletResolver.resolveServlet<em> through
-</em>RequestData.initServlet*</p>
-<p><a name="DispatchingRequests-Step7"></a></p>
+<p>The <code>SlingMainServlet.service</code> method is the entry point into the Sling proper. This method sets up the request:
+<em> Wraps the <code>HttpServletRequest</code> and the <code>HttpServletResponse</code> into the <code>SlingHttpServletRequest</code> and the <code>SlingHttpServletResponse</code>
+</em> Checks if Sling is ready for processing the request (checks at the moment for an existing ResourceResolverFactory service, a ServletResolver service and a MimeTypeService)
+<em> Create the ResourceResolver based on the Session (by default creates a <code>JcrResourceResolver2</code>)
+</em> Locate the <a href="">Resource</a> on the basis of the request by calling <code>ResourceResovler.resolve</code> through <code>RequestData.initResource</code> (see also [URL decomposition])
+* Locate the servlet or script (see <a href="/servlets.html">Servlets</a>) by calling <code>ServletResolver.resolveServlet</code> through <code>RequestData.initServlet</code></p>
 <h3 id="step-7">Step 7</h3>
-<p>After this setup, the request level filters are called (the ones registered
-as <em>javax.servlet.Filter</em> with the property <em>filter.scope=request</em>, see <a href="filters.html">Filters</a>
- for details).
-If any called filter doesn't call <em>FilterChain.doFilter</em> at the end of
-the <em>Filter.doFilter</em> method request processing stops here.</p>
-<p><a name="DispatchingRequests-Step8"></a></p>
+<p>After this setup, the request level filters are called (the ones registered as <code>javax.servlet.Filter</code> with the property <code>filter.scope=request</code>, see <a href="/filters.html">Filters</a> for details).
+If any called filter doesn't call <code>FilterChain.doFilter</code> at the end of the <code>Filter.doFilter</code> method request processing stops here.</p>
 <h3 id="step-8">Step 8</h3>
-<p>After having called all request level filters, the component level filters
-(registered with the property <em>filter.scope=component</em>, see <a href="filters.html">Filters</a>
- for details) are called.</p>
-<p><a name="DispatchingRequests-Step9"></a></p>
+<p>After having called all request level filters, the component level filters (registered with the property <code>filter.scope=component</code>, see <a href="/filters.html">Filters</a> for details) are called.</p>
 <h3 id="step-9">Step 9</h3>
-<p>After having called the component level filters, the request servlet or
-script is finally called to process the request.</p>
-<p><a name="DispatchingRequests-Include/Forward"></a></p>
+<p>After having called the component level filters, the request servlet or script is finally called to process the request.</p>
 <h2 id="includeforward">Include/Forward</h2>
-<p>If a servlet or script is including another resource for processing through
-the <em>RequestDispatcher.include</em> or <em>RequestDispatcher.forward</em> (or any
-JSP or feature of another scripting language which relies on one of this
-two methods) the following processing takes place:</p>
-<p><a name="DispatchingRequests-Step1"></a></p>
+<p>If a servlet or script is including another resource for processing through the <code>RequestDispatcher.include</code> or <code>RequestDispatcher.forward</code> (or any JSP or feature of another scripting language which relies on one of this two methods) the following processing takes place:</p>
 <h3 id="step-1_1">Step 1</h3>
-<p>Code in the processing servlet or script calls
-<em>RequestDispatcher.include</em> or <em>RequestDispatcher.forward</em>.</p>
-<p><a name="DispatchingRequests-Step2"></a></p>
+<p>Code in the processing servlet or script calls <code>RequestDispatcher.include</code> or <code>RequestDispatcher.forward</code>.</p>
 <h3 id="step-2_1">Step 2</h3>
-<p>The resource is resolved though ResourceResolver.getResource (if the
-RequestDispatcher has not been created with a resource already)</p>
-<p><a name="DispatchingRequests-Step3"></a></p>
+<p>The resource is resolved though ResourceResolver.getResource (if the RequestDispatcher has not been created with a resource already)</p>
 <h3 id="step-3_1">Step 3</h3>
-<p>The servlet or script to handle the resource is resolved calling the
-<em>ServletResolver.resolverServlet</em> method.</p>
-<p><a name="DispatchingRequests-Step4"></a></p>
+<p>The servlet or script to handle the resource is resolved calling the <code>ServletResolver.resolverServlet</code> method.</p>
 <h3 id="step-4_1">Step 4</h3>
-<p>The component level filters (registered with the property
-<em>filter.scope=component</em>) are called again (see <a href="filters.html">Filters</a>
- for details).</p>
-<p><a name="DispatchingRequests-Step5"></a></p>
+<p>The component level filters (registered with the property <code>filter.scope=component</code>) are called again (see <a href="/filters.html">Filters</a> for details).</p>
 <h3 id="step-5_1">Step 5</h3>
 <p>The servlet or script is called to process the request.</p>
 <p>Note that these steps are processed for every include or forward call.</p>
-<p><a name="DispatchingRequests-IncludedRequestAttributes"></a></p>
 <h2 id="included-request-attributes">Included Request Attributes</h2>
-<p>When servlet or script is called as a result of
-<em>RequestDispatcher.include</em> the following request attributes are set:</p>
-<table>
-<tr><td> Attribute Name
-</tr>
+<p>When servlet or script is called as a result of <code>RequestDispatcher.include</code> the following request attributes are set:</p>
+<p>| Attribute Name
 Attribute Type | Description |
-<tr><td> *org.apache.sling.api.include.servlet*
-</tr>
-*javax.servlet.Servlet* | The name of the request attribute containing
-the *Servlet* which included the servlet currently being active. |
-<tr><td> *org.apache.sling.api.include.resource*
-</tr>
-*org.apache.sling.api.resource.Resource* | The name of the request
-attribute containing the *Resource* underlying the *Servlet* which
-included the servlet currently being active. |
-<tr><td> *org.apache.sling.api.include.request_path_info*
-</tr>
-*org.apache.sling.api.request.RequestPathInfo* | The name of the request
-attribute containing the *RequestPathInfo* underlying the *Servlet*
-which included the servlet currently being active |
-<tr><td> *javax.servlet.include.request_uri*
-</tr>
-*String* | The name of the request attribute containing the
-*HttpServletRequest.getRequestURI()* of the request which included the
-servlet currently being active underlying the *Servlet* which included
-the servlet currently being active.
-*Note:* In Sling, the *HttpServletRequest.getRequestURI()* method will
-always return the same result regardless of whether it is called from the
-client request processing servlet or script or from an included servlet or
-script. This request attribute is set for compatibility with the Servlet
-API specification. |
-<tr><td> *javax.servlet.include.context_path*
-</tr>
-*String* | The name of the request attribute containing the
-*HttpServletRequest.getContextPath()* of the request which included the
-servlet currently being active underlying the *Servlet* which included
-the servlet currently being active.
-*Note:* In Sling, the *HttpServletRequest.getContextPath()* method will
-always return the same result regardless of whether it is called from the
-client request processing servlet or script or from an included servlet or
-script. This request attribute is set for compatibility with the Servlet
-API specification. |
-<tr><td> *javax.servlet.include.servlet_path*
-</tr>
-*String* | The name of the request attribute containing the
-*HttpServletRequest.getServletPath()* of the request which included the
-servlet currently being active underlying the *Servlet* which included
-the servlet currently being active.
-*Note:* In Sling, the *HttpServletRequest.getServletPath()* method will
-always return the same result regardless of whether it is called from the
-client request processing servlet or script or from an included servlet or
-script. This request attribute is set for compatibility with the Servlet
-API specification. |
-<tr><td> *javax.servlet.include.path_info*
-</tr>
-*String* | The name of the request attribute containing the
-*HttpServletRequest.getPathInfo()* of the request which included the
-servlet currently being active underlying the *Servlet* which included
-the servlet currently being active.
-*Note:* In Sling, the *HttpServletRequest.getPathInfo()* method will
-always return the same result regardless of whether it is called from the
-client request processing servlet or script or from an included servlet or
-script. This request attribute is set for compatibility with the Servlet
-API specification.
-<tr><td> *javax.servlet.include.query_string*
-</tr>
-*String* | The name of the request attribute containing the
-*HttpServletRequest.getQueryString()* of the request which included the
-servlet currently being active underlying the *Servlet* which included
-the servlet currently being active.
-*Note:* In Sling, the *HttpServletRequest.getQueryString()* method will
-always return the same result regardless of whether it is called from the
-client request processing servlet or script or from an included servlet or
-script. This request attribute is set for compatibility with the Servlet
-API specification. |
-</table>
-
-<p>Constants are defined in the <em>org.apache.sling.api.SlingConstants</em> class
-for these request attributes.</p>
-<p><em>Note:</em> These request attributes are not set if the servlet or script is
-called to handle the request or as a result of
-<em>RequestDispatcher.forward</em>.</p>
+| <code>org.apache.sling.api.include.servlet</code>
+<code>javax.servlet.Servlet</code> | The name of the request attribute containing the <code>Servlet</code> which included the servlet currently being active. |
+| <code>org.apache.sling.api.include.resource</code>
+<code>org.apache.sling.api.resource.Resource</code> | The name of the request attribute containing the <code>Resource</code> underlying the <code>Servlet</code> which included the servlet currently being active. |
+| <code>org.apache.sling.api.include.request*path*info</code>
+<code>org.apache.sling.api.request.RequestPathInfo</code> | The name of the request attribute containing the <code>RequestPathInfo</code> underlying the <code>Servlet</code> which included the servlet currently being active |
+| <code>javax.servlet.include.request_uri</code>
+<code>String</code> | The name of the request attribute containing the <code>HttpServletRequest.getRequestURI()</code> of the request which included the servlet currently being active underlying the <code>Servlet</code> which included the servlet currently being active.
+<em>Note:</em> In Sling, the <code>HttpServletRequest.getRequestURI()</code> method will always return the same result regardless of whether it is called from the client request processing servlet or script or from an included servlet or script. This request attribute is set for compatibility with the Servlet API specification. |
+| <code>javax.servlet.include.context_path</code>
+<code>String</code> | The name of the request attribute containing the <code>HttpServletRequest.getContextPath()</code> of the request which included the servlet currently being active underlying the <code>Servlet</code> which included the servlet currently being active.
+<em>Note:</em> In Sling, the <code>HttpServletRequest.getContextPath()</code> method will always return the same result regardless of whether it is called from the client request processing servlet or script or from an included servlet or script. This request attribute is set for compatibility with the Servlet API specification. |
+| <code>javax.servlet.include.servlet_path</code>
+<code>String</code> | The name of the request attribute containing the <code>HttpServletRequest.getServletPath()</code> of the request which included the servlet currently being active underlying the <code>Servlet</code> which included the servlet currently being active.
+<em>Note:</em> In Sling, the <code>HttpServletRequest.getServletPath()</code> method will always return the same result regardless of whether it is called from the client request processing servlet or script or from an included servlet or script. This request attribute is set for compatibility with the Servlet API specification. |
+| <code>javax.servlet.include.path_info</code>
+<code>String</code> | The name of the request attribute containing the <code>HttpServletRequest.getPathInfo()</code> of the request which included the servlet currently being active underlying the <code>Servlet</code> which included the servlet currently being active.
+<em>Note:</em> In Sling, the <code>HttpServletRequest.getPathInfo()</code> method will always return the same result regardless of whether it is called from the client request processing servlet or script or from an included servlet or script. This request attribute is set for compatibility with the Servlet API specification.
+| <code>javax.servlet.include.query_string</code>
+<code>String</code> | The name of the request attribute containing the <code>HttpServletRequest.getQueryString()</code> of the request which included the servlet currently being active underlying the <code>Servlet</code> which included the servlet currently being active.
+<em>Note:</em> In Sling, the <code>HttpServletRequest.getQueryString()</code> method will always return the same result regardless of whether it is called from the client request processing servlet or script or from an included servlet or script. This request attribute is set for compatibility with the Servlet API specification. |</p>
+<p>Constants are defined in the <code>org.apache.sling.api.SlingConstants</code> class for these request attributes.</p>
+<p><em>Note:</em> These request attributes are not set if the servlet or script is called to handle the request or as a result of <code>RequestDispatcher.forward</code>.</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/documentation.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation.html (original)
+++ websites/staging/sling/trunk/content/documentation.html Tue May 22 08:25:32 2012
@@ -82,30 +82,20 @@
         <a href="/">Home</a>
       </div>
       <h1>Documentation</h1>
-      <p><a name="Documentation-Documentation"></a></p>
-<h1 id="documentation">Documentation</h1>
+      <h1 id="documentation">Documentation</h1>
 <p>The documentation is split into different parts:</p>
 <ul>
-<li><a href="getting-started.html">Getting Started</a>
-, the right place to start!</li>
-<li><a href="the-sling-engine.html">The Sling Engine</a>
-, all about the heart of Sling</li>
-<li><a href="development.html">Development</a>
-, how do I get and develop with Sling</li>
-<li><a href="bundles.html">Bundles</a>
-, which bundle delivers which features to Sling</li>
-<li><a href="tutorials-&amp;-how-tos.html">Tutorials &amp; How-Tos</a></li>
-<li><a href="http://cwiki.apache.org/SLING/">Wiki</a></li>
-<li><a href="configuration.html">Configuration</a></li>
-<li><a href="http://sling.apache.org/apidocs/sling5/index.html">API Doc</a></li>
+<li><a href="/getting-started.html">Getting Started</a>, the right place to start!</li>
+<li><a href="/the-sling-engine.html">The Sling Engine</a>, all about the heart of Sling</li>
+<li><a href="/development.html">Development</a>, how do I get and develop with Sling</li>
+<li><a href="/bundles.html">Bundles</a>, which bundle delivers which features to Sling</li>
+<li><a href="/tutorials-how-tos.html">Tutorials &amp; How-Tos</a></li>
+<li><a href="">Wiki</a></li>
+<li><a href="/configuration.html">Configuration</a></li>
+<li><a href="">API Doc</a></li>
 </ul>
-<p><a name="Documentation-Howcanyoucontribute"></a></p>
 <h2 id="how-can-you-contribute">How can you contribute</h2>
-<p>We're on the way to improve the documentation, but it's a long way. If you
-would like to contribute to the documentation you are very welcome. Please
-directly post your proposals to the <a href="http://cwiki.apache.org/SLING/">public wiki</a>
- or post your suggestions to the mailing list.</p>
-<p><a name="Documentation-Howisthedocumentationgenerated"></a></p>
+<p>We're on the way to improve the documentation, but it's a long way. If you would like to contribute to the documentation you are very welcome. Please directly post your proposals to the <a href="">public wiki</a> or post your suggestions to the mailing list.</p>
 <h2 id="how-is-the-documentation-generated">How is the documentation generated</h2>
 <p>The basic documentation of Sling is made up of four parts:</p>
 <ol>
@@ -114,39 +104,23 @@ directly post your proposals to the <a h
 <li>The JavaDoc</li>
 <li>The Bundle documentation</li>
 </ol>
-<p>This page is about how this documentation is maintained and who is allowed
-to do what.</p>
-<p><a name="Documentation-TheSlingSite"></a></p>
+<p>This page is about how this documentation is maintained and who is allowed to do what.</p>
 <h3 id="the-sling-site">The Sling Site</h3>
-<p><a name="Documentation-MainSite"></a></p>
 <h4 id="main-site">Main Site</h4>
-<p>The main Sling Site is maintained in the Confluence Wiki Space
-<em>SLINGxSITE</em>. The content of this space is automatically synchronized with
-the web server with a simple shell script <a href="^sling.sh.html">^sling.sh</a>
- which is called regularly as per the following <em>crontab</em> entry:</p>
+<p>The main Sling Site is maintained in the Confluence Wiki Space <em>SLINGxSITE</em>. The content of this space is automatically synchronized with the web server with a simple shell script <a href="">^sling.sh</a> which is called regularly as per the following <code>crontab</code> entry:</p>
 <div class="codehilite"><pre><span class="c1"># sync wiki autoexport to Sling site</span>
 <span class="mi">1</span> <span class="o">*</span> <span class="o">*</span> <span class="o">*</span> <span class="o">*</span> <span class="p">(</span><span class="sr">/home/</span><span class="n">fmeschbe</span><span class="o">/</span><span class="n">sling</span><span class="o">.</span><span class="n">sh</span><span class="p">)</span>
 </pre></div>
 
 
-<p>Thus, after editing the site source in the Wiki, the rest happens
-automatically, it just takes some time -- in the order 2 hours or so --
-before the changes are visible at http://sling.apache.org/.</p>
-<p>Everybody is allowed to read the SLINGxSITE wiki and to add comments; but
-only committers of the Apache Sling project are allowed to edit the content
-and to manage the comments.</p>
-<p>The main site is located in the <em>site</em> folder below the Site URL <a href="http://sling.apache.org/">http://sling.apache.org/</a>
- to which users are redirected automatically.</p>
-<p><a name="Documentation-SecondarySite"></a></p>
+<p>Thus, after editing the site source in the Wiki, the rest happens automatically, it just takes some time -- in the order 2 hours or so -- before the changes are visible at http://sling.apache.org/.</p>
+<p>Everybody is allowed to read the SLINGxSITE wiki and to add comments; but only committers of the Apache Sling project are allowed to edit the content and to manage the comments.</p>
+<p>The main site is located in the <code>site</code> folder below the Site URL <a href="">http://sling.apache.org/</a> to which users are redirected automatically.</p>
 <h4 id="secondary-site">Secondary Site</h4>
-<p>The Sling site contains secondary site parts that are maintained in the
-Apache SVN repository at <a href="http://svn.apache.org/repos/asf/sling/site">http://svn.apache.org/repos/asf/sling/site</a>
-. Updates to secondary parts of the site have to be done in the following
-steps:</p>
+<p>The Sling site contains secondary site parts that are maintained in the Apache SVN repository at <a href="">http://svn.apache.org/repos/asf/sling/site</a>. Updates to secondary parts of the site have to be done in the following steps:</p>
 <ol>
 <li>
-<p>Checkout or update the <a href="https://svn.apache.org/repos/asf/sling/site">site</a>
- tree form SVN.</p>
+<p>Checkout or update the <a href="">site</a> tree form SVN.</p>
 <p>$ svn checkout https://svn.apache.org/repos/asf/sling/site</p>
 </li>
 <li>
@@ -157,68 +131,50 @@ steps:</p>
 <p>$ svn commit -m"<enter your message here>"</p>
 </li>
 <li>
-<p>Login to <em>people.apache.org</em></p>
+<p>Login to <code>people.apache.org</code></p>
 <p>$ ssh people.apache.org</p>
 </li>
 <li>
-<p>Go to the location from where infrastructure mirroring is getting the
-actual sites and update from SVN.</p>
+<p>Go to the location from where infrastructure mirroring is getting the actual sites and update from SVN.</p>
 <p>$ cd /x1/www/sling.apache.org
 $ svn update</p>
 </li>
 </ol>
-<p>After some time, the updates will be synchronized to the web servers and
-can be accessed.</p>
-<p><a name="Documentation-ThePublicWiki"></a></p>
+<p>After some time, the updates will be synchronized to the web servers and can be accessed.</p>
 <h3 id="the-public-wiki">The Public Wiki</h3>
-<p>The public wiki of Sling is available at http://cwiki.apache.org/SLING and
-is maintained in the Confluence space <em>SLING</em>. This is a public wiki, in
-that after self-registration, everybody is allowed to edit content.</p>
-<p><a name="Documentation-TheJavaDoc"></a></p>
+<p>The public wiki of Sling is available at http://cwiki.apache.org/SLING and is maintained in the Confluence space <em>SLING</em>. This is a public wiki, in that after self-registration, everybody is allowed to edit content.</p>
 <h3 id="the-javadoc">The JavaDoc</h3>
 <p>Up until now the JavaDoc of the Sling Bundles has not been published.</p>
-<p>I just polished the JavaDoc generation setup of Sling a bit, so that I
-could generate a first shot of aggregate JavaDocs. This draft can currently
-be found on my site at
-http://people.apache.org/~fmeschbe/slingdocs.762729/. This JavaDoc has been
-generated as follows:</p>
-<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">export</span> <span class="o">-</span><span class="n">r</span> <span class="mi">762729</span>
+<p>I just polished the JavaDoc generation setup of Sling a bit, so that I could generate a first shot of aggregate JavaDocs. This draft can currently be found on my site at http://people.apache.org/~fmeschbe/slingdocs.762729/. This JavaDoc has been generated as follows:</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">svn</span> <span class="n">export</span> <span class="o">-</span><span class="n">r</span> <span class="mi">762729</span> <span class="n">http:</span><span class="sr">//s</span><span class="n">vn</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="sr">/repos/</span><span class="n">asf</span><span class="sr">/incubator/s</span><span class="n">ling</span><span class="o">/</span><span class="n">trunk</span> <span class="n">sling</span>
+<span class="nv">$</span> <span class="nv">mvn</span> <span class="o">-</span><span class="n">DexcludePackageNames</span><span class="o">=</span><span class="s">&quot;*.impl:*.internal:*.jsp:sun.misc:*.juli&quot;</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">maven</span><span class="o">.</span><span class="n">plugins:maven</span><span class="o">-</span><span class="n">javadoc</span><span class="o">-</span><span class="n">plugin:2</span><span class="mf">.5</span><span class="p">:</span><span class="n">aggregate</span>
 </pre></div>
 
 
-<p>http://svn.apache.org/repos/asf/incubator/sling/trunk sling
-    $ mvn -DexcludePackageNames="<em>.impl:</em>.internal:<em>.jsp:sun.misc:</em>.juli"
-org.apache.maven.plugins:maven-javadoc-plugin:2.5:aggregate</p>
-<p>I am still unsure whether it makes sense to generate aggregate JavaDoc for
-all (or part of) the bundles of Sling. See also below regarding the Sites.</p>
-<p><a name="Documentation-TheBundleDocumentation"></a></p>
+<p>I am still unsure whether it makes sense to generate aggregate JavaDoc for all (or part of) the bundles of Sling. See also below regarding the Sites.</p>
 <h3 id="the-bundle-documentation">The Bundle Documentation</h3>
-<p>Apart from the documentation of Sling on the Site and in the Wiki, it would
-also be thinkable that we accompany the source modules with some
-documentation and generate this using the Maven Site plugin. My tests so
-far for generating a multi-module site have not been very successful. But
-generating the site in a module-by-module manner might be a good thing, at
-least to get the per-module JavaDoc and some more code-oriented information
-like Surefire Reports, fixed bugs, etc.</p>
-<p>To prepare such Bundle Documentation I added a first shot at site
-generation setup to the parent project. For now, this includes the module's
-JavaDoc (of course), the Surefire reports and a report on the issues fixed
-(or open) with respect to some version. This site generation setup can be
-configured per module with two properties:</p>
+<p>Apart from the documentation of Sling on the Site and in the Wiki, it would also be thinkable that we accompany the source modules with some documentation and generate this using the Maven Site plugin. My tests so far for generating a multi-module site have not been very successful. But generating the site in a module-by-module manner might be a good thing, at least to get the per-module JavaDoc and some more code-oriented information like Surefire Reports, fixed bugs, etc.</p>
+<p>To prepare such Bundle Documentation I added a first shot at site generation setup to the parent project. For now, this includes the module's JavaDoc (of course), the Surefire reports and a report on the issues fixed (or open) with respect to some version. This site generation setup can be configured per module with two properties:</p>
 <table>
-<tr><th> Property </th><th> Description </th></tr>
-<tr><td> *site.jira.version.id* </td><td> The ID of the JIRA version whose bugs are to
-be listed in the JIRA report. This is a number, such as 12313306 (Sling API
-version 2.0.4). </td></tr>
-<tr><td> *site.javadoc.exclude* </td><td> The Java packages to not include with the
-JavaDoc generation. By default all packages containing *impl* or
-*internal* in their name are excluded. To add more packages for
-exclusion, list them in the format suitable for the [*excludePackageNames*](http://maven.apache.org/plugins/maven-javadoc-plugin/javadoc-mojo.html#excludePackageNames)
- property of the Maven JavaDoc plugin. For example, to exclude any *jsp*
-and *juli* packages (see the _scripting/jsp_ bundle), this property would
-be set to *\*.jsp:\*.juli*. </td></tr>
+<thead>
+<tr>
+<th>Property</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>site.jira.version.id</code></td>
+<td>The ID of the JIRA version whose bugs are to be listed in the JIRA report. This is a number, such as 12313306 (Sling API version 2.0.4).</td>
+</tr>
+<tr>
+<td><code>site.javadoc.exclude</code></td>
+<td>The Java packages to not include with the JavaDoc generation. By default all packages containing <code>impl</code> or <code>internal</code> in their name are excluded. To add more packages for exclusion, list them in the format suitable for the <a href=""><code>excludePackageNames</code></a> property of the Maven JavaDoc plugin. For example, to exclude any <code>jsp</code> and <code>juli</code> packages (see the <em>scripting/jsp</em> bundle), this property would be set to <code>\*.jsp:\*.juli</code>.</td>
+</tr>
+</tbody>
+</table>
       <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