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 [9/23] - in /websites/staging/sling/trunk/content: ./ tutorials-how-tos/
Date Tue, 22 May 2012 08:25:36 GMT
Modified: websites/staging/sling/trunk/content/form-based-authenticationhandler.html
==============================================================================
--- websites/staging/sling/trunk/content/form-based-authenticationhandler.html (original)
+++ websites/staging/sling/trunk/content/form-based-authenticationhandler.html Tue May 22 08:25:32 2012
@@ -82,198 +82,174 @@
         <a href="/">Home</a>
       </div>
       <h1>Form Based AuthenticationHandler</h1>
-      <p><a name="FormBasedAuthenticationHandler-FormBasedAuthenticationHandler"></a></p>
-<h1 id="form-based-authenticationhandler">Form Based AuthenticationHandler</h1>
-<p>{toc:type=flat|separator=pipe|minLevel=2|maxLevel=3}</p>
-<p>The Form Based AuthenticationHandler has two authentication phases: The
-first phase is presenting a login form to the user and passing the entered
-user name and password to the server. The second phase is storing
-successful authentication in a Cookie or an HTTP Session.</p>
-<p>The implementation of the Form Based Authentication Handler follows the
-guidelines of the Servlet API 2.4 specification for <em>Form Based
-Authentication</em> in section SRV.12.5.3. Specifically the following
-requirements are implemented:</p>
-<ul>
-<li>For the initial form submission, the request URL must end with
-<em>/j_security_check</em> and the user name and password names must be
-<em>j_username</em> and <em>j_password</em>, resp.</li>
-<li>The authentication type as returned by
-<em>HttpServletRequest.getAuthType()</em> is set to
-<em>HttpServletRequest.FORM_AUTH</em>.</li>
+      <h1 id="form-based-authenticationhandler">Form Based AuthenticationHandler</h1>
+<div class="toc">
+<ul>
+<li><a href="#form-based-authenticationhandler">Form Based AuthenticationHandler</a><ul>
+<li><a href="#authenticationhandler-implementation">AuthenticationHandler implementation</a><ul>
+<li><a href="#authenticationfeedbackhandler-implementation">AuthenticationFeedbackHandler implementation</a></li>
+<li><a href="#phase-1-form-submission">Phase 1: Form Submission</a></li>
+<li><a href="#phase-2-authenticated-requests">Phase 2: Authenticated Requests</a></li>
+<li><a href="#configuration">Configuration</a></li>
+<li><a href="#security-considerations">Security Considerations</a></li>
+</ul>
+</li>
 </ul>
-<p>The Form Based Authentication Handler is maintained in the <a href="http://svn.apache.org/repos/asf/sling/trunk/bundles/auth/form">Sling SVN</a></p>
-<p><a name="FormBasedAuthenticationHandler-AuthenticationHandlerimplementation"></a></p>
+</li>
+</ul>
+</div>
+<p>The Form Based AuthenticationHandler has two authentication phases: The first phase is presenting a login form to the user and passing the entered user name and password to the server. The second phase is storing successful authentication in a Cookie or an HTTP Session.</p>
+<p>The implementation of the Form Based Authentication Handler follows the guidelines of the Servlet API 2.4 specification for <em>Form Based Authentication</em> in section SRV.12.5.3. Specifically the following requirements are implemented:</p>
+<ul>
+<li>For the initial form submission, the request URL must end with <code>/j*security*check</code> and the user name and password names must be <code>j*username</code> and <code>j*password</code>, resp.</li>
+<li>The authentication type as returned by <code>HttpServletRequest.getAuthType()</code> is set to <code>HttpServletRequest.FORM_AUTH</code>.</li>
+</ul>
+<p>The Form Based Authentication Handler is maintained in the <a href="">Sling SVN</a></p>
 <h3 id="authenticationhandler-implementation">AuthenticationHandler implementation</h3>
 <ul>
-<li><em>extractCredentials</em> -- Prepares credentials for the form entered data
-or from the Cookie or HTTP Session attribute. Returns <em>null</em> if neither
-data is provided in the request</li>
-<li><em>requestCredentials</em> -- Redirects the client (browser) to the login
-form</li>
-<li><em>dropCredentials</em> -- Remove the Cookie or remove the HTTP Session
-attribute</li>
+<li><code>extractCredentials</code> -- Prepares credentials for the form entered data or from the Cookie or HTTP Session attribute. Returns <code>null</code> if neither data is provided in the request</li>
+<li><code>requestCredentials</code> -- Redirects the client (browser) to the login form</li>
+<li><code>dropCredentials</code> -- Remove the Cookie or remove the HTTP Session attribute</li>
 </ul>
-<p><a name="FormBasedAuthenticationHandler-AuthenticationFeedbackHandlerimplementation"></a></p>
 <h3 id="authenticationfeedbackhandler-implementation">AuthenticationFeedbackHandler implementation</h3>
 <ul>
-<li><em>authenticationFailed</em> -- Remove the Cookie or remove the HTTP Session
-attribute</li>
-<li><em>authenticationSucceeded</em> -- Set (or update) the Cookie or HTTP Session
-attribute</li>
+<li><code>authenticationFailed</code> -- Remove the Cookie or remove the HTTP Session attribute</li>
+<li><code>authenticationSucceeded</code> -- Set (or update) the Cookie or HTTP Session attribute</li>
 </ul>
-<p><a name="FormBasedAuthenticationHandler-Phase1:FormSubmission"></a></p>
 <h3 id="phase-1-form-submission">Phase 1: Form Submission</h3>
-<p>The login form submitted in phase 1 to validate the user name and password
-must be provided in an HTTP <em>POST</em> request to an URL whose last segment
-is <em>j_security_check</em>. The request is ignored as a form submission if
-either the method is not <em>POST</em> or the last segment is no
-<em>j_security_check</em>.</p>
-<p>The form is rendered by redirecting the client to the URL indicated by the
-<em>form.login.form</em> configuration parameter. This redirection request may
-accompanyied by the following parameters:</p>
-<ul>
-<li><em>resource</em> -- The resource to which the user should be redirected after
-successful login. This request parameter should be submitted back to the
-server as the <em>resource</em> parameter.</li>
-<li><em>j_reason</em> -- This parameter indicates the reason for rendering the
-login form. If this parameter is set, it is set to <em>INVALID_CREDENTIALS</em>
-indicating a previous form submission presented invalid username and
-password or <em>TIMEOUT</em> indicating a login session has timed out. The login
-form servlet/script can present the user with an appropriate message.</li>
-</ul>
-<p>The Form Based Authentication Handlers supports the following request
-parameters submitted by the HTML form:</p>
-<ul>
-<li><em>j_username</em> -- Name of the user to authenticate</li>
-<li><em>j_password</em> -- Password to authenticate the user</li>
-<li><em>j_validate</em> -- Flag indicating whether to just validate the
-credentials</li>
-<li><em>resource</em> -- The location to go to on successful login</li>
-<li><em>sling.auth.redirect</em> -- The location to redirect to on successful
-login</li>
-</ul>
-<p>The <em>j_username</em> and <em>j_password</em> parameters are used to create a JCR
-<em>SimpleCredentials</em> object to log into the JCR Repository.</p>
-<p>The <em>j_validate</em> parameter may be used to implement login form submission
-using AJAX. If this parameter is set to <em>true</em> (case-insensitive) the
-credentials are used to login and after success or failure to return a
-status code:</p>
+<p>The login form submitted in phase 1 to validate the user name and password must be provided in an HTTP <code>POST</code> request to an URL whose last segment is <code>j*security*check</code>. The request is ignored as a form submission if either the method is not <code>POST</code> or the last segment is no <code>j*security*check</code>.</p>
+<p>The form is rendered by redirecting the client to the URL indicated by the <code>form.login.form</code> configuration parameter. This redirection request may accompanyied by the following parameters:</p>
+<ul>
+<li><code>resource</code> -- The resource to which the user should be redirected after successful login. This request parameter should be submitted back to the server as the <code>resource</code> parameter.</li>
+<li><code>j*reason</code> -- This parameter indicates the reason for rendering the login form. If this parameter is set, it is set to <code>INVALID*CREDENTIALS</code> indicating a previous form submission presented invalid username and password or <code>TIMEOUT</code> indicating a login session has timed out. The login form servlet/script can present the user with an appropriate message.</li>
+</ul>
+<p>The Form Based Authentication Handlers supports the following request parameters submitted by the HTML form:</p>
+<ul>
+<li><code>j_username</code> -- Name of the user to authenticate</li>
+<li><code>j_password</code> -- Password to authenticate the user</li>
+<li><code>j_validate</code> -- Flag indicating whether to just validate the credentials</li>
+<li><code>resource</code> -- The location to go to on successful login</li>
+<li><code>sling.auth.redirect</code> -- The location to redirect to on successful login</li>
+</ul>
+<p>The <code>j*username</code> and <code>j*password</code> parameters are used to create a JCR <code>SimpleCredentials</code> object to log into the JCR Repository.</p>
+<p>The <code>j_validate</code> parameter may be used to implement login form submission using AJAX. If this parameter is set to <code>true</code> (case-insensitive) the credentials are used to login and after success or failure to return a status code:</p>
 <table>
-<tr><th> Status </th><th> Description </th></tr>
-<tr><td> *200 OK* </td><td> Authentication succeeded; credentials are valid for login;
-the Cookie or HTTP Session attribute is now set </td></tr>
-<tr><td> *403 FORBIDDEN* </td><td> Authentication failed; credentials are invalid for
-login; the Cookie or HTTP Session attribute is not set (if it was set, it
-is now cleared) </td></tr>
+<thead>
+<tr>
+<th>Status</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>200 OK</code></td>
+<td>Authentication succeeded; credentials are valid for login; the Cookie or HTTP Session attribute is now set</td>
+</tr>
+<tr>
+<td><code>403 FORBIDDEN</code></td>
+<td>Authentication failed; credentials are invalid for login; the Cookie or HTTP Session attribute is not set (if it was set, it is now cleared)</td>
+</tr>
+</tbody>
 </table>
-
-<p>If the <em>j_validate</em> parameter is not set or is set to any value other
-than <em>true</em>, the request processing depends on authentication success or
-failure:</p>
+<p>If the <code>j_validate</code> parameter is not set or is set to any value other than <code>true</code>, the request processing depends on authentication success or failure:</p>
 <table>
-<tr><th> Authentication </th><th> Description </th></tr>
-<tr><td> Success </td><td> Client is redirected to the authenticated resource; the Cookie
-or HTTP Session attribute is now set. </td></tr>
-<tr><td> Failure </td><td> The request is redirected to the login form again; the Cookie
-or HTTP Session attribute is not set (if it was set, it is now cleared) </td></tr>
+<thead>
+<tr>
+<th>Authentication</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Success</td>
+<td>Client is redirected to the authenticated resource; the Cookie or HTTP Session attribute is now set.</td>
+</tr>
+<tr>
+<td>Failure</td>
+<td>The request is redirected to the login form again; the Cookie or HTTP Session attribute is not set (if it was set, it is now cleared)</td>
+</tr>
+</tbody>
 </table>
-
-<p>The <em>resource</em> and <em>sling.auth.redirect</em> parameters provide similar
-functionality but with differing historical backgrounds. The <em>resource</em>
-parameter is based on the <em>resource</em> request attribute which is set by
-the login servlet to indicate the original target resource the client
-desired when it was forced to authenticate. The <em>sling.auth.redirect</em>
-parameter can be used by clients (applications like cURL or plain HTML
-forms) to request being redirected after successful login. If both
-parameters are set, the <em>sling.auth.redirect</em> parameter takes precedence.</p>
-<p>The Form Based Authentication Handler contains a <a href="http://http://svn.apache.org/repos/asf/sling/trunk/bundles/auth/form/src/main/java/org/apache/sling/auth/form/impl/AuthenticationFormServlet.java">default form servlet</a>
- and [HTML form template from|http://svn.apache.org/repos/asf/sling/trunk/bundles/auth/form/src/main/resources/org/apache/sling/auth/form/impl/login.html]
-.</p>
-<p><a name="FormBasedAuthenticationHandler-Phase2:AuthenticatedRequests"></a></p>
+<p>The <code>resource</code> and <code>sling.auth.redirect</code> parameters provide similar functionality but with differing historical backgrounds. The <code>resource</code> parameter is based on the <code>resource</code> request attribute which is set by the login servlet to indicate the original target resource the client desired when it was forced to authenticate. The <code>sling.auth.redirect</code> parameter can be used by clients (applications like cURL or plain HTML forms) to request being redirected after successful login. If both parameters are set, the <code>sling.auth.redirect</code> parameter takes precedence.</p>
+<p>The Form Based Authentication Handler contains a <a href="">default form servlet</a> and [HTML form template from|http://svn.apache.org/repos/asf/sling/trunk/bundles/auth/form/src/main/resources/org/apache/sling/auth/form/impl/login.html].</p>
 <h3 id="phase-2-authenticated-requests">Phase 2: Authenticated Requests</h3>
-<p>After the successful authentication of the user in phase 1, the
-authentication state is stored in a Cookie or an HTTP Session. The stored
-value is a security token with the following contents:</p>
-<div class="codehilite"><pre><span class="n">HmacSHA1</span><span class="p">(</span><span class="n">securetoken</span><span class="p">,</span>
+<p>After the successful authentication of the user in phase 1, the authentication state is stored in a Cookie or an HTTP Session. The stored value is a security token with the following contents:</p>
+<div class="codehilite"><pre><span class="n">HmacSHA1</span><span class="p">(</span><span class="n">securetoken</span><span class="p">,</span> <span class="sr">&lt;securetokennumber&gt;&lt;expirytime&gt;</span><span class="nv">@</span><span class="err">&lt;</span><span class="nv">userID</span><span class="o">&gt;</span><span class="p">)</span><span class="nv">@</span><span class="err">&lt;</span><span class="nv">securetokennumber</span><span class="o">&gt;</span><span class="sr">&lt;expirytime&gt;</span><span class="nv">@</span><span class="err">&lt;</span><span class="nv">userID</span><span class="o">&gt;</span>
 </pre></div>
 
 
-<p><securetokennumber><expirytime>@<userID>)@<securetokennumber><expirytime>@<userID></p>
-<p>The <em>securetoken</em> and <em>securetokennumber</em> are related in that an table
-of secure tokens is maintained where the <em>securetoken</em> is an entry in the
-table and the <em>securetokennumber</em> is the index in of the token in the
-table.</p>
-<p>The secure tokens are refreshed periodically causing the authentication
-state stored in the Cookie or the HTTP Session to be updated peridocally.
-This periodic update has two advantages:</p>
-<ul>
-<li>Login sessions time out after some period of inactivity: If a request
-is handled for an authentication state whose expiry time has passed, the
-request is considered unauthenticated.</li>
-<li>If a Cookie would be stolen or an HTTP Session be hijacked, the
-authentication state expires within a reasonable amount of time to try to
-prevent stealing the authentication.</li>
+<p>The <code>securetoken</code> and <code>securetokennumber</code> are related in that an table of secure tokens is maintained where the <code>securetoken</code> is an entry in the table and the <code>securetokennumber</code> is the index in of the token in the table.</p>
+<p>The secure tokens are refreshed periodically causing the authentication state stored in the Cookie or the HTTP Session to be updated peridocally. This periodic update has two advantages:</p>
+<ul>
+<li>Login sessions time out after some period of inactivity: If a request is handled for an authentication state whose expiry time has passed, the request is considered unauthenticated.</li>
+<li>If a Cookie would be stolen or an HTTP Session be hijacked, the authentication state expires within a reasonable amount of time to try to prevent stealing the authentication.</li>
 </ul>
-<p>The authentication state may be transmitted with a Cookie which is
-configured as follows:</p>
+<p>The authentication state may be transmitted with a Cookie which is configured as follows:</p>
 <ul>
 <li><em>Cookie Path</em> -- Set to the servlet context path</li>
 <li><em>Domain</em> -- See below</li>
 <li><em>Age</em> -- Set to -1 to indicate a session Cookie</li>
-<li><em>Secure</em> -- Set to the value returned by the
-<em>ServletRequest.isSecure()</em> method</li>
+<li><em>Secure</em> -- Set to the value returned by the <code>ServletRequest.isSecure()</code> method</li>
 </ul>
-<p>If the authentication state is kept in an HTTP Session the setup of the
-session ID cookie is maintained by the servlet container and is outside of
-the control of the Form Based AuthenticationHandler.</p>
-<p><a name="FormBasedAuthenticationHandler-Configuration"></a></p>
+<p>If the authentication state is kept in an HTTP Session the setup of the session ID cookie is maintained by the servlet container and is outside of the control of the Form Based AuthenticationHandler.</p>
 <h3 id="configuration">Configuration</h3>
-<p>The Form Based Authentication Handler is configured with configuration
-provided by the OSGi Configuration Admin Service using the
-<em>org.apache.sling.formauth.FormAuthenticationHandler</em> service PID.</p>
+<p>The Form Based Authentication Handler is configured with configuration provided by the OSGi Configuration Admin Service using the <code>org.apache.sling.formauth.FormAuthenticationHandler</code> service PID.</p>
 <table>
-<tr><th> Parameter </th><th> Default </th><th> Description </th></tr>
-<tr><td> *form.login.form* </td><td> */system/sling/form/login* </td><td> The URL (without any
-context path prefix) to redirect the client to to present the login form. </td></tr>
-<tr><td> *form.auth.storage* </td><td> *cookie* </td><td> The type of storage used to provide
-the authentication state. Valid values are *cookie* and *session*. The
-default value also applies if any setting other than the supported values
-is configured. </td></tr>
-<tr><td> *form.auth.name* </td><td> *sling.formauth* </td><td> The name of the Cookie or HTTP
-Session attribute providing the authentication state. </td></tr>
-<tr><td> *form.auth.timeout* </td><td> *30* </td><td>The number of minutes after which a login
-session times out. This value is used as the expiry time set in the
-authentication data. </td></tr>
-<tr><td> *form.credentials.name* </td><td> *sling.formauth* </td><td> The name of the
-*SimpleCredentials* attribute used to provide the authentication data to
-the *LoginModulePlugin*. </td></tr>
-<tr><td> *form.token.file* </td><td> *cookie-tokens.bin* </td><td> The name of the file used
-to persist the security tokens. </td></tr>
-<tr><td> *form.default.cookie.domain* </td><td> </td><td> The domain on which cookies will be
-set, unless overridden in the *AuthenticationInfo* object. </td></tr>
+<thead>
+<tr>
+<th>Parameter</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>form.login.form</code></td>
+<td><code>/system/sling/form/login</code></td>
+<td>The URL (without any context path prefix) to redirect the client to to present the login form.</td>
+</tr>
+<tr>
+<td><code>form.auth.storage</code></td>
+<td><code>cookie</code></td>
+<td>The type of storage used to provide the authentication state. Valid values are <code>cookie</code> and <code>session</code>. The default value also applies if any setting other than the supported values is configured.</td>
+</tr>
+<tr>
+<td><code>form.auth.name</code></td>
+<td><code>sling.formauth</code></td>
+<td>The name of the Cookie or HTTP Session attribute providing the authentication state.</td>
+</tr>
+<tr>
+<td><code>form.auth.timeout</code></td>
+<td><code>30</code></td>
+<td>The number of minutes after which a login session times out. This value is used as the expiry time set in the authentication data.</td>
+</tr>
+<tr>
+<td><code>form.credentials.name</code></td>
+<td><code>sling.formauth</code></td>
+<td>The name of the <code>SimpleCredentials</code> attribute used to provide the authentication data to the <code>LoginModulePlugin</code>.</td>
+</tr>
+<tr>
+<td><code>form.token.file</code></td>
+<td><code>cookie-tokens.bin</code></td>
+<td>The name of the file used to persist the security tokens.</td>
+</tr>
+<tr>
+<td><code>form.default.cookie.domain</code></td>
+<td></td>
+<td>The domain on which cookies will be set, unless overridden in the <code>AuthenticationInfo</code> object.</td>
+</tr>
+</tbody>
 </table>
-
-<p><em>Note:</em> The <em>form.token.file</em> parameter currently refers to a file stored
-in the file system. If the path is a relative path, the file is either
-stored in the Authentication Handler bundle private data area or -- if not
-possible -- below the location indicated by the <em>sling.home</em> framework
-property or -- if <em>sling.home</em> is not set -- the current working
-directory. In the future this file may be store in the JCR Repository to
-support clustering scenarios.</p>
-<p><a name="FormBasedAuthenticationHandler-SecurityConsiderations"></a></p>
+<p><em>Note:</em> The <code>form.token.file</code> parameter currently refers to a file stored in the file system. If the path is a relative path, the file is either stored in the Authentication Handler bundle private data area or -- if not possible -- below the location indicated by the <code>sling.home</code> framework property or -- if <code>sling.home</code> is not set -- the current working directory. In the future this file may be store in the JCR Repository to support clustering scenarios.</p>
 <h3 id="security-considerations">Security Considerations</h3>
 <p>Form Based Authentication has some limitations in terms of security:</p>
 <ol>
-<li>User name and password are transmitted in plain text in the initial form
-submission.</li>
-<li>The Cookie used to provide the authentication state or the HTTP Session
-ID may be stolen.</li>
+<li>User name and password are transmitted in plain text in the initial form submission.</li>
+<li>The Cookie used to provide the authentication state or the HTTP Session ID may be stolen.</li>
 </ol>
-<p>To prevent eavesdroppers from sniffing the credentials or stealing the
-Cookie a secure transport layer should be used such as TLS/SSL, VPN or
-IPSec.</p>
+<p>To prevent eavesdroppers from sniffing the credentials or stealing the Cookie a secure transport layer should be used such as TLS/SSL, VPN or IPSec.</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/getting-and-building-sling.html
==============================================================================
--- websites/staging/sling/trunk/content/getting-and-building-sling.html (original)
+++ websites/staging/sling/trunk/content/getting-and-building-sling.html Tue May 22 08:25:32 2012
@@ -82,51 +82,28 @@
         <a href="/">Home</a>
       </div>
       <h1>Getting and Building Sling</h1>
-      <p><a name="GettingandBuildingSling-GettingandBuildingSling"></a></p>
-<h1 id="getting-and-building-sling">Getting and Building Sling</h1>
-<p>{excerpt}A quick guide for getting the Sling source, then building and
-running the resulting Sling instance; either without or with
-Eclipse.{excerpt}</p>
+      <h1 id="getting-and-building-sling">Getting and Building Sling</h1>
+<p>A quick guide for getting the Sling source, then building and running the resulting Sling instance; either without or with Eclipse.</p>
 <p>Sling can easily be built:
 <em> from the command line (using SVN and the Maven command line tool)
 </em> or using Eclipse</p>
-<p>Note that you don't <em>have</em> to build Sling yourself, if you don't need the
-bleeding-edge stuff you can get prebuilt binaries from the <a href="downloads.html">Downloads</a>
- page.</p>
-<p>A full build of Sling takes 5-10 minutes on a recent computer once your
-local Maven repository is up to date. The first build may take much longer
-than that if you start with an empty local Maven repository, as Maven will
-then download its plugins and all the required dependencies.</p>
-<p><a name="GettingandBuildingSling-Prerequisites"></a></p>
+<p>Note that you don't <em>have</em> to build Sling yourself, if you don't need the bleeding-edge stuff you can get prebuilt binaries from the <a href="/downloads.html">Downloads</a> page.</p>
+<p>A full build of Sling takes 5-10 minutes on a recent computer once your local Maven repository is up to date. The first build may take much longer than that if you start with an empty local Maven repository, as Maven will then download its plugins and all the required dependencies.</p>
 <h2 id="prerequisites">Prerequisites</h2>
-<p>Before you begin, you need to have the following tools installed on your
-system:
+<p>Before you begin, you need to have the following tools installed on your system:
 <em> Java 5 or higher; Java 6 recommended
-</em> <a href="http://maven.apache.org">Maven</a>
- 3.0.2 or later; enforced by the Sling parent pom</p>
-<p>If you want to set up Eclipse (not required to build Sling) you'll also
-need the following installed:
-<em> Eclipse (tested with 3.4.2 and 3.5.x on Win XP, SP3, 3.6.x on Win7, 3.7
-on MacOS X 10.6); just a plain installation of the platform runtime binary
-and the JDT will be adequate (you can install the IDE for Java Developers
-for convenience) 
-</em> M2Eclipse plugin for Eclipse (sonatype) -&gt; <a href="http://m2eclipse.sonatype.org/installing-m2eclipse.html">instructions</a>
-* <a href="http://www.polarion.com/products/svn/subversive.php">Subversive plugin</a>
- or [Subclipse-plugin|http://subclipse.tigris.org]
- for Eclipse</p>
-<p><a name="GettingandBuildingSling-EnvironmentSetup"></a></p>
+</em> <a href="">Maven</a> 3.0.2 or later; enforced by the Sling parent pom</p>
+<p>If you want to set up Eclipse (not required to build Sling) you'll also need the following installed:
+<em> Eclipse (tested with 3.4.2 and 3.5.x on Win XP, SP3, 3.6.x on Win7, 3.7 on MacOS X 10.6); just a plain installation of the platform runtime binary and the JDT will be adequate (you can install the IDE for Java Developers for convenience) 
+</em> M2Eclipse plugin for Eclipse (sonatype) -&gt; <a href="">instructions</a>
+* <a href="">Subversive plugin</a> or [Subclipse-plugin|http://subclipse.tigris.org] for Eclipse</p>
 <h2 id="environment-setup">Environment Setup</h2>
-<p>The full build process requires quite a lot of resources, so you may run
-into limits. The following hints should show you what to setup before
-building Sling.</p>
-<p><a name="GettingandBuildingSling-JavaHeapSpace"></a></p>
+<p>The full build process requires quite a lot of resources, so you may run into limits. The following hints should show you what to setup before building Sling.</p>
 <h3 id="java-heap-space">Java Heap Space</h3>
 <ul>
-<li><em>Problem</em> - Build aborts with reports of . Alternatively the build may randomly fail during the
-integration tests.</li>
+<li><em>Problem</em> - Build aborts with reports of <code>java.lang.OutOfMemoryError: Java heap space</code>. Alternatively the build may randomly fail during the integration tests.</li>
 <li><em>Platforms</em> - This happens on all platforms</li>
-<li><em>Fix</em> - Increase the values of the maximum heap and perm space for the
-build by setting or extending the <em>MAVEN_OPTS</em> environment variable.</li>
+<li><em>Fix</em> - Increase the values of the maximum heap and perm space for the build by setting or extending the <code>MAVEN_OPTS</code> environment variable.</li>
 </ul>
 <p>For 32bit platforms you should use</p>
 <div class="codehilite"><pre><span class="n">MAVEN_OPTS</span><span class="o">=</span><span class="s">&quot;-Xmx256M -XX:MaxPermSize=256m&quot;</span>
@@ -138,38 +115,21 @@ build by setting or extending the <em>MA
 </pre></div>
 
 
-<p>For more information see <a href="https://issues.apache.org/jira/browse/SLING-443">SLING-443</a>
- and [SLING-1782|https://issues.apache.org/jira/browse/SLING-1782]
-.</p>
-<p><a name="GettingandBuildingSling-EnvironmentVariableSpace"></a></p>
+<p>For more information see <a href="">SLING-443</a> and [SLING-1782|https://issues.apache.org/jira/browse/SLING-1782].</p>
 <h3 id="environment-variable-space">Environment Variable Space</h3>
 <ul>
 <li>
-<p><em>Problem</em> - Build aborts when trying to launch the integration tests
-with the message</p>
-<p>[INFO]
- Error while executing forked tests.; nested exception is
-org.apache.maven.surefire.booter.shade.org.codehaus.plexus.util.cli.CommandLineException:
-Error setting up environmental variables</p>
+<p><em>Problem</em> - Build aborts when trying to launch the integration tests with the message</p>
+<p>[INFO] Error while executing forked tests.; nested exception is org.apache.maven.surefire.booter.shade.org.codehaus.plexus.util.cli.CommandLineException: Error setting up environmental variables</p>
 <p>error=12, Not enough space</p>
 </li>
 </ul>
-<p>This problem is caused by insufficient swap space. When running the
-integration tests in the <em>launchpad/testing</em> modules, a process is
-launched by calling the <em>exec</em> system call. This copies the process
-(copy-on-write, though) and thus allocates as much virtual memory as is
-owned by the parent process. This may fail if swap space is exhausted.
+<p>This problem is caused by insufficient swap space. When running the integration tests in the <code>launchpad/testing</code> modules, a process is launched by calling the <code>exec</code> system call. This copies the process (copy-on-write, though) and thus allocates as much virtual memory as is owned by the parent process. This may fail if swap space is exhausted.
 <em> </em>Platform<em> - OpenSolaris
-</em> <em>Fix</em> - If this issue persists you will need to check your system
-requirements and configuration with regard to swap, before taking action -
-if necessary.</p>
-<p><a name="GettingandBuildingSling-ConfiguringMaven"></a></p>
+</em> <em>Fix</em> - If this issue persists you will need to check your system requirements and configuration with regard to swap, before taking action - if necessary.</p>
 <h2 id="configuring-maven">Configuring Maven</h2>
-<p>See <a href="maventipsandtricks.html">MavenTipsAndTricks</a>
-.</p>
-<p><a name="GettingandBuildingSling-GettingtheSlingSource"></a></p>
+<p>See <a href="/maventipsandtricks.html">MavenTipsAndTricks</a>.</p>
 <h2 id="getting-the-sling-source">Getting the Sling Source</h2>
-<p><a name="GettingandBuildingSling-WithSVN"></a></p>
 <h3 id="with-svn">With SVN</h3>
 <ol>
 <li>
@@ -177,101 +137,61 @@ if necessary.</p>
 <p>$ svn checkout http://svn.apache.org/repos/asf/sling/trunk sling</p>
 </li>
 </ol>
-<p><a name="GettingandBuildingSling-WithEclipseSubversiveorSubclipse"></a></p>
 <h3 id="with-eclipse-subversive-or-subclipse">With Eclipse Subversive or Subclipse</h3>
-<p>First note how simple the above SVN instructions are...but if you <em>really</em>
-want to do this, read on.</p>
-<p>If you use the Subversive plugin make sure you have installed the
-"Subversive Integration for M2Eclipse Project" which can be found under the
-following Eclipse update site: <a href="http://community.polarion.com/projects/subversive/download/integrations/update-site/">http://community.polarion.com/projects/subversive/download/integrations/update-site/</a>
-.</p>
-<p>Also, make sure that you have installed either the "Maven SCM handler for
-Subclipse" or the "Maven SCM handler for Subversive".</p>
-<p><a name="GettingandBuildingSling-Createanewworkspace"></a></p>
+<p>First note how simple the above SVN instructions are...but if you <em>really</em> want to do this, read on.</p>
+<p>If you use the Subversive plugin make sure you have installed the "Subversive Integration for M2Eclipse Project" which can be found under the following Eclipse update site: <a href="">http://community.polarion.com/projects/subversive/download/integrations/update-site/</a>.</p>
+<p>Also, make sure that you have installed either the "Maven SCM handler for Subclipse" or the "Maven SCM handler for Subversive".</p>
 <h4 id="create-a-new-workspace">Create a new workspace</h4>
 <p>It's best to create a new workspace for the sling project:
 1. Menu: File-&gt;Switch Workspace-&gt;Other...
 1. Enter a path for the new workspace and click OK
 1. When Eclipse has restarted it's time to adjust some configs
 1. Turn off automatic build (Menu: Project-&gt;Build Automatically)
-1. Go to menu: Eclipse-&gt;Preferences, in the preferences dialog select Java
--&gt; Compiler -&gt; Errors/Warnings
-1. Expand the "Deprecated and restricted API" and change "Forbidden
-references (access rules)" from "Error" to "Warning"
+1. Go to menu: Eclipse-&gt;Preferences, in the preferences dialog select Java -&gt; Compiler -&gt; Errors/Warnings
+1. Expand the "Deprecated and restricted API" and change "Forbidden references (access rules)" from "Error" to "Warning"
 1. Click OK</p>
-<p><a name="GettingandBuildingSling-CheckouttheSlingsource"></a></p>
 <h4 id="checkout-the-sling-source">Checkout the Sling source</h4>
 <ol>
 <li>Menu: File-&gt;Import</li>
 <li>In the Import wizard select Maven-&gt;"Check out Maven Projects from SCM"</li>
 <li>Click next</li>
-<li>In the "SCM URL" field pick "SVN" and enter the url
-"http://svn.apache.org/repos/asf/sling/trunk"</li>
+<li>In the "SCM URL" field pick "SVN" and enter the url "http://svn.apache.org/repos/asf/sling/trunk"</li>
 <li>Click Finish</li>
 </ol>
-<p>Eclipse will now start to download the source and import the Maven
-projects. You might encounter some "Problem Occured" dialogs about "An
-internal error...", but just click OK on those and let Eclipse continue
-with the import. Be warned: This could take some time (it was 30 minutes on
-my laptop)!</p>
-<p>Possibly something in sling-builder might get a bit messed up (I didn't
-experience that problem, but Pontus reported it) then you can simply fix it
-with revert:
-1. In the Project Explorer right-click on the "sling-builder" project and
-select the Team-&gt;Revert... menu
+<p>Eclipse will now start to download the source and import the Maven projects. You might encounter some "Problem Occured" dialogs about "An internal error...", but just click OK on those and let Eclipse continue with the import. Be warned: This could take some time (it was 30 minutes on my laptop)!</p>
+<p>Possibly something in sling-builder might get a bit messed up (I didn't experience that problem, but Pontus reported it) then you can simply fix it with revert:
+1. In the Project Explorer right-click on the "sling-builder" project and select the Team-&gt;Revert... menu
 1. A couple of changes will be displayed
 1. Click OK</p>
-<p><a name="GettingandBuildingSling-BuildingSling"></a></p>
 <h2 id="building-sling">Building Sling</h2>
-<p><a name="GettingandBuildingSling-WiththeMavencommandlinetool"></a></p>
 <h3 id="with-the-maven-command-line-tool">With the Maven command line tool</h3>
 <ol>
 <li>
-<p>Enter the directory, then do a full build and local install (below are
-unix/linux commands, slightly different under windows)</p>
+<p>Enter the directory, then do a full build and local install (below are unix/linux commands, slightly different under windows)</p>
 <p>$ cd sling
 $ export MAVEN_OPTS="-Xmx256m -XX:MaxPermSize=128m"
 $ mvn -s /dev/null clean install</p>
 </li>
 </ol>
-<p>Note: On windows just leave out <em>/dev/null</em> and make sure you have an
-empty settings.xml file for maven (located in your user directory under
-.m2).
-1. Enter the <em>launchpad/builder</em> directory and launch Sling for the first
-time</p>
+<p>Note: On windows just leave out <code>/dev/null</code> and make sure you have an empty settings.xml file for maven (located in your user directory under .m2).
+1. Enter the <code>launchpad/builder</code> directory and launch Sling for the first time</p>
 <div class="codehilite"><pre><span class="nv">$</span> <span class="nv">cd</span> <span class="n">launchpad</span><span class="o">/</span><span class="n">builder</span>
 <span class="nv">$</span> <span class="nv">java</span> <span class="o">-</span><span class="n">jar</span> <span class="n">target</span><span class="o">/</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="n">standalone</span><span class="o">.</span><span class="n">jar</span> <span class="o">-</span><span class="n">c</span> <span class="n">test</span> <span class="o">-</span><span class="n">f</span> <span class="o">-</span>
 </pre></div>
 
 
 <p>{note}
-When starting Sling inside the <em>launchpad/builder</em> folder you should not
-use the default Sling Home folder name <em>sling</em> because this folder is
-removed when running <em>mvn clean</em>.
+When starting Sling inside the <code>launchpad/builder</code> folder you should not use the default Sling Home folder name <code>sling</code> because this folder is removed when running <code>mvn clean</code>.
 {note}</p>
-<p>Messages should now be printed to the console which is being used as the
-"log file"; the <em>-f</em> command line option is set to <em>-</em>, indicating
-the use of standard output as the log file. The <em>-c sling</em> command line
-option instructs Sling to use the <em>sling</em> directory in the current
-directory for its data store, which is the Apache Felix bundle archive, the
-Jackrabbit repository data and configuration. You may also specify another
-directory here, either a relative or absolute path name (See also <a href="configuration.html">Configuration</a>
- for more information). 
-Use the <em>-h</em> option to see the list of flags and options.
-After all messages have been printed you should be able to open the Sling Management Console by pointing your web browser at . You will be prompted for a user name and password. Enter <em>admin</em> for
-both the user name and the password (this may be set on the <em>Configuration</em>
-page later). From this console, you can manage the installed bundles,
-modify configuration objects, dump a configuration status and see some
-system information.
-To stop Sling, just hit <em>Ctrl-C</em> in the console or click the <em>Stop</em>
-button on the <em>System Information</em> page of the Sling Management Console.</p>
-<p><a name="GettingandBuildingSling-WithM2Eclipse"></a></p>
+<p>Messages should now be printed to the console which is being used as the "log file"; the <code>\-f</code> command line option is set to <code>\-</code>, indicating the use of standard output as the log file. The <code>\-c sling</code> command line option instructs Sling to use the <code>sling</code> directory in the current directory for its data store, which is the Apache Felix bundle archive, the Jackrabbit repository data and configuration. You may also specify another directory here, either a relative or absolute path name (See also <a href="/configuration.html">Configuration</a> for more information). 
+Use the <code>-h</code> option to see the list of flags and options.
+After all messages have been printed you should be able to open the Sling Management Console by pointing your web browser at <code>[http://localhost:8080/system/console]()</code>. You will be prompted for a user name and password. Enter <code>admin</code> for both the user name and the password (this may be set on the <em>Configuration</em> page later). From this console, you can manage the installed bundles, modify configuration objects, dump a configuration status and see some system information.
+To stop Sling, just hit <code>Ctrl-C</code> in the console or click the <em>Stop</em> button on the <em>System Information</em> page of the Sling Management Console.</p>
 <h3 id="with-m2eclipse">With M2Eclipse</h3>
 <ol>
 <li>Make sure you're in the Java perspective (Menu: Window-&gt;Open Perspective)</li>
 <li>Menu: Run-&gt;Run Configurations...</li>
-<li>In the Run Configurationa dialog right-click on "Maven Build" and select
-"New"</li>
+<li>In the Run Configurationa dialog right-click on "Maven Build" and select "New"</li>
 <li>Change Name to "Build Sling"</li>
 <li>Click "Browse Workspace..." and select "sling-builder"</li>
 <li>Enter "clean install" in Goals</li>
@@ -280,41 +200,27 @@ button on the <em>System Information</em
 <li>Click Apply</li>
 <li>Click Run</li>
 </ol>
-<p><a name="GettingandBuildingSling-AlternativesetupinEclipsewithoutM2Eclipseplugin"></a></p>
 <h3 id="alternative-setup-in-eclipse-without-m2eclipse-plugin">Alternative setup in Eclipse without M2Eclipse plugin</h3>
-<p>In the case that you do not want to use the M2Eclipse plugin there's
-another setup that lets you have the automatic build turned on:
-1. Checkout the whole sling trunk (with subversive or the subclipse plugin)
-from SVN to a single project
-1. Then manually add all <em>src/main/java</em> and <em>src/test/java</em> of the
-bundles to the project as source folders
+<p>In the case that you do not want to use the M2Eclipse plugin there's another setup that lets you have the automatic build turned on:
+1. Checkout the whole sling trunk (with subversive or the subclipse plugin) from SVN to a single project
+1. Then manually add all <code>src/main/java</code> and <code>src/test/java</code> of the bundles to the project as source folders
 1. Add all required libraries to the build path
-1. Now you can build either in Eclipse or even better use "mvn clean
-install" on the command line</p>
-<p>If you use "mvn clean install" to build Sling be sure you have set
-MAVEN_OPTS to "-Xmx384m -XX:PermSize=256m" otherwise you will probably get
-OutOfmemory errors.</p>
-<p>Congratulations ! You should now have a running Sling instance, that you
-can start playing around with.</p>
-<p><a name="GettingandBuildingSling-FurtherTipsandTricks"></a></p>
+1. Now you can build either in Eclipse or even better use "mvn clean install" on the command line</p>
+<p>If you use "mvn clean install" to build Sling be sure you have set MAVEN_OPTS to "-Xmx384m -XX:PermSize=256m" otherwise you will probably get OutOfmemory errors.</p>
+<p>Congratulations ! You should now have a running Sling instance, that you can start playing around with.</p>
 <h2 id="further-tips-and-tricks">Further Tips and Tricks</h2>
-<p><a name="GettingandBuildingSling-DebugSlinginEclipse"></a></p>
 <h3 id="debug-sling-in-eclipse">Debug Sling in Eclipse</h3>
-<p>You can use remote debugging to debug Sling in Eclipse, here's a little
-How-To
+<p>You can use remote debugging to debug Sling in Eclipse, here's a little How-To
 1. start Sling from the command line with</p>
-<div class="codehilite"><pre><span class="n">java</span> <span class="o">-</span><span class="n">Xmx384M</span>
+<div class="codehilite"><pre><span class="n">java</span> <span class="o">-</span><span class="n">Xmx384M</span> <span class="o">-</span><span class="n">agentlib:jdwp</span><span class="o">=</span><span class="n">transport</span><span class="o">=</span><span class="n">dt_socket</span><span class="p">,</span><span class="n">address</span><span class="o">=</span><span class="mi">30303</span><span class="p">,</span><span class="n">server</span><span class="o">=</span><span class="n">y</span><span class="p">,</span><span class="n">suspend</span><span class="o">=</span><span class="n">n</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="n">app</span><span class="o">-</span><span class="mi">6</span><span class="o">-</span><span class="n">SNAPSHOT</span><s
 pan class="o">.</span><span class="n">jar</span>
 </pre></div>
 
 
-<p>-agentlib:jdwp=transport=dt_socket,address=30303,server=y,suspend=n -jar
-org.apache.sling.launchpad.app-6-SNAPSHOT.jar</p>
 <ol>
 <li>Open Menu Run-&gt; Debug configurations</li>
 <li>Right-click on "Remote Java Applications"</li>
 <li>Choose "New"</li>
-<li>In the "Connect" tab choose the Eclipse Sling Project for the field
-"Project" with the browse button</li>
+<li>In the "Connect" tab choose the Eclipse Sling Project for the field "Project" with the browse button</li>
 <li>Let the Connection type be "Standard (Socket Attach)"</li>
 <li>The host should be localhost</li>
 <li>Set the Port to 30303</li>
@@ -323,42 +229,26 @@ org.apache.sling.launchpad.app-6-SNAPSHO
 <li>Select all Sling projects and click OK</li>
 <li>Click "Debug"</li>
 </ol>
-<p>Now you should be able to set breakpoints, evaluate properties, and so on
-as usual.</p>
-<p><a name="GettingandBuildingSling-DebugMavenTestsinEclipse"></a></p>
+<p>Now you should be able to set breakpoints, evaluate properties, and so on as usual.</p>
 <h3 id="debug-maven-tests-in-eclipse">Debug Maven Tests in Eclipse</h3>
-<p>In the same way as you can debug the sling app, you are also able to debug
-a maven test. Just run the maven tests like this</p>
+<p>In the same way as you can debug the sling app, you are also able to debug a maven test. Just run the maven tests like this</p>
 <div class="codehilite"><pre><span class="n">mvn</span> <span class="o">-</span><span class="n">Dmaven</span><span class="o">.</span><span class="n">surefire</span><span class="o">.</span><span class="n">debug</span> <span class="n">test</span>
 </pre></div>
 
 
-<p>The tests will automatically pause and await a remote debugger on port
-5005. You can then attach to the running tests using Eclipse. You can setup
-a "Remote Java Application" launch configuration via the menu command "Run"</p>
-<blockquote>
-<p>"Open Debug Dialog..." (see above).
-For more information on this see the <a href="http://maven.apache.org/plugins/maven-surefire-plugin/examples/debugging.html">Maven Surefire Docu</a>
-.</p>
-</blockquote>
-<p><a name="GettingandBuildingSling-SimplewaytodevelopnewbundleinEclipseforSling"></a></p>
+<p>The tests will automatically pause and await a remote debugger on port 5005. You can then attach to the running tests using Eclipse. You can setup a "Remote Java Application" launch configuration via the menu command "Run" &gt; "Open Debug Dialog..." (see above).
+For more information on this see the <a href="">Maven Surefire Docu</a>.</p>
 <h3 id="simple-way-to-develop-new-bundle-in-eclipse-for-sling">Simple way to develop new bundle in Eclipse for Sling</h3>
-<p>The easiest way that I found is to create a new folder in the existing
-Eclipse workspace. After that you can follow these steps:
-<em> Start by copying and adapting an existing Sling pom.xml (eg. the pom.xml
-from the espblog sample)
+<p>The easiest way that I found is to create a new folder in the existing Eclipse workspace. After that you can follow these steps:
+<em> Start by copying and adapting an existing Sling pom.xml (eg. the pom.xml from the espblog sample)
 </em> Generate the Eclipse project files using mvn eclipse:eclipse
-<em> Choose File/Import in Eclipse and select "Existing projects into
-workspace"
+<em> Choose File/Import in Eclipse and select "Existing projects into workspace"
 </em> Now you can create, edit and compile the files in Eclipse
-<em> To create the bundle jar and install it, just use the command line "mvn
-clean install" in the project directory
-</em> If you have a running Sling app you can install the bundle from the command line with "mvn -P autoInstallBundle clean install -Dsling.url=<a href="http://localhost:8080/system/console">http://localhost:8080/system/console</a>
-"</p>
-<p>If adding dependencies to the poms, run mvn eclipse:eclipse again and
-refresh the project in Eclipse. Debugging works as described above.</p>
+<em> To create the bundle jar and install it, just use the command line "mvn clean install" in the project directory
+</em> If you have a running Sling app you can install the bundle from the command line with "mvn -P autoInstallBundle clean install -Dsling.url=<a href="">http://localhost:8080/system/console</a>"</p>
+<p>If adding dependencies to the poms, run mvn eclipse:eclipse again and refresh the project in Eclipse. Debugging works as described above.</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/getting-started.html
==============================================================================
--- websites/staging/sling/trunk/content/getting-started.html (original)
+++ websites/staging/sling/trunk/content/getting-started.html Tue May 22 08:25:32 2012
@@ -82,30 +82,25 @@
         <a href="/">Home</a>
       </div>
       <h1>Getting Started</h1>
-      <p><a name="GettingStarted-GettingStarted"></a></p>
-<h1 id="getting-started">Getting Started</h1>
-<p>We're on the way to update the documentation to make it more easy to get in
-touch with Sling. At the moment we can give you the following starting
-points:</p>
+      <h1 id="getting-started">Getting Started</h1>
+<p>We're on the way to update the documentation to make it more easy to get in touch with Sling. At the moment we can give you the following starting points:</p>
 <p>{children:all=true}</p>
-<p><a name="GettingStarted-Wheretoheadfromhere"></a></p>
 <h2 id="where-to-head-from-here">Where to head from here</h2>
-<p>We recommend you read through following topics to get as fast as possible
-into Sling: </p>
+<p>We recommend you read through following topics to get as fast as possible into Sling: </p>
 <p>{show-to}
 <em> What is Sling
 {show-to}
-</em> <a href="getting-and-building-sling.html">Getting and building Sling</a>
-<em> <a href="architecture.html">Architecture</a>
-</em> <a href="dispatching-requests.html">Dispatching Requests</a>
-<em> <a href="resources.html">Resources</a>
-</em> <a href="http://cwiki.apache.org/SLING/setting-up-eclipse-34-for-sling.html">Setting up an Sling-Project with Eclipse</a>
-<em> <a href="manipulating-content---the-slingpostservlet-(servlets.post).html">Manipulating Content - The SlingPostServlet (servlets.post)</a>
-</em> <a href="request-parameters.html">Request Parameters</a>
-<em> <a href="authentication.html">Authentication</a>
-</em> <a href="eventing-and-jobs.html">Eventing and Jobs</a></p>
+</em> <a href="/getting-and-building-sling.html">Getting and building Sling</a>
+<em> <a href="/architecture.html">Architecture</a>
+</em> <a href="/dispatching-requests.html">Dispatching Requests</a>
+<em> <a href="/resources.html">Resources</a>
+</em> <a href="">Setting up an Sling-Project with Eclipse</a>
+<em> <a href="/manipulating-content-the-slingpostservlet-servlets-post.html">Manipulating Content - The SlingPostServlet (servlets.post)</a>
+</em> <a href="/request-parameters.html">Request Parameters</a>
+<em> <a href="/authentication.html">Authentication</a>
+</em> <a href="/eventing-and-jobs.html">Eventing and Jobs</a></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/groovy-support.html
==============================================================================
--- websites/staging/sling/trunk/content/groovy-support.html (original)
+++ websites/staging/sling/trunk/content/groovy-support.html Tue May 22 08:25:32 2012
@@ -82,38 +82,20 @@
         <a href="/">Home</a>
       </div>
       <h1>Groovy Support</h1>
-      <p>{excerpt:hidden=true}
-Explains how to add support for Groovy to Apache Sling.
-{excerpt}</p>
-<p>After meeting Paul King of the Groovy Team at Apache Con US 08 in New
-Orleans, I set out to take a stab at SLING-315 again to add Groovy support
-to Sling. It turned out, that the current Groovy 1.6 branch already
-contains the required setup to build the <em>groovy-all.jar</em> as an OSGi
-Bundle, which is directly usable with Sling by just installing that bundle.</p>
-<p>Currently the Groovy team is working hard towards the 1.6 release and many
-things are in flux, which is really great.</p>
-<p>So, on 11. Dec. 2008 Paul King of the Groovy Team has deployed a <a href="http://snapshots.repository.codehaus.org/org/codehaus/groovy/groovy-all/1.6-RC-1-SNAPSHOT/groovy-all-1.6-RC-1-20081211.113737-1.jar">first RC1 Snapshot of Groovy 1.6</a>
- which contains all the required OSGi bundle manifest headers as well das
-the JSR-233 <em>ScriptEngine</em> to use the <em>groovy-all.jar</em> unmodified with
-Sling. So just go ahead, grab the Groovy-All 1.6 RC 1 SNAPSHOT deploy it
-into your Sling instance and enjoy the fun of Groovy.</p>
-<p>If you want to be on verge of development, you might want to go for Groovy 1.7: The second SNAPSHOT of beta-1 also contains the required headers and classes and may as well be used unmodified in Sling. You may download it here: .</p>
-<p>To deploy the bundle go to the Bundles page, for example at
-http://localhost:8888/system/console/bundles of the Apache Felix Web
-Console select the bundle file to upload, check the <em>Start</em> check box and
-click <em>Install or Update</em> button.</p>
-<p>You may check, whether the Groovy ScriptEngine has been "accepted" by
-Sling, by going to the Script Engines page of the Apache Felix Web Console.
-You should see the entry for Groovy there, somthing like this:</p>
+      <p>After meeting Paul King of the Groovy Team at Apache Con US 08 in New Orleans, I set out to take a stab at SLING-315 again to add Groovy support to Sling. It turned out, that the current Groovy 1.6 branch already contains the required setup to build the <code>groovy-all.jar</code> as an OSGi Bundle, which is directly usable with Sling by just installing that bundle.</p>
+<p>Currently the Groovy team is working hard towards the 1.6 release and many things are in flux, which is really great.</p>
+<p>So, on 11. Dec. 2008 Paul King of the Groovy Team has deployed a <a href="">first RC1 Snapshot of Groovy 1.6</a> which contains all the required OSGi bundle manifest headers as well das the JSR-233 <code>ScriptEngine</code> to use the <code>groovy-all.jar</code> unmodified with Sling. So just go ahead, grab the Groovy-All 1.6 RC 1 SNAPSHOT deploy it into your Sling instance and enjoy the fun of Groovy.</p>
+<p>If you want to be on verge of development, you might want to go for Groovy 1.7: The second SNAPSHOT of beta-1 also contains the required headers and classes and may as well be used unmodified in Sling. You may download it here: <code>[groovy-all-1.7-beta-1-20081210.120632-2.jar]()</code>.</p>
+<p>To deploy the bundle go to the Bundles page, for example at http://localhost:8888/system/console/bundles of the Apache Felix Web Console select the bundle file to upload, check the <em>Start</em> check box and click <em>Install or Update</em> button.</p>
+<p>You may check, whether the Groovy ScriptEngine has been "accepted" by Sling, by going to the Script Engines page of the Apache Felix Web Console. You should see the entry for Groovy there, somthing like this:</p>
 <div class="codehilite"><pre><span class="n">Groovy</span> <span class="n">Scripting</span> <span class="n">Engine</span><span class="p">,</span> <span class="mf">2.0</span>
-  <span class="n">Language</span>  <span class="n">Groovy</span><span class="p">,</span>
+  <span class="n">Language</span>      <span class="n">Groovy</span><span class="p">,</span>
   <span class="n">Extensions</span>    <span class="n">groovy</span>
   <span class="n">MIME</span> <span class="n">Types</span>    <span class="n">application</span><span class="o">/</span><span class="n">x</span><span class="o">-</span><span class="n">groovy</span>
-  <span class="n">Names</span>     <span class="n">groovy</span><span class="p">,</span> <span class="n">Groovy</span>
+  <span class="n">Names</span>         <span class="n">groovy</span><span class="p">,</span> <span class="n">Groovy</span>
 </pre></div>
 
 
-<p><a name="GroovySupport-Testing"></a></p>
 <h2 id="testing">Testing</h2>
 <p>To test create a simple Groovy script, for example</p>
 <div class="codehilite"><pre>response.setContentType(&quot;text/plain&quot;);
@@ -125,45 +107,32 @@ println &quot;You requested the Resource
 </pre></div>
 
 
-<p>and upload it to the repository as <em>/apps/nt/folder/GET.groovy</em> using
-your favourite WebDAV client or use curl to upload the file (assuming Sling
-is running on localhost:8888) :</p>
-<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">curl</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="o">-</span><span class="n">FGET</span><span class="o">.</span><span class="n">groovy</span><span class="o">=</span><span class="nv">@GET</span><span class="o">.</span><span class="n">groovy</span>
+<p>and upload it to the repository as <code>/apps/nt/folder/GET.groovy</code> using your favourite WebDAV client or use curl to upload the file (assuming Sling is running on localhost:8888) :</p>
+<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">curl</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="o">-</span><span class="n">FGET</span><span class="o">.</span><span class="n">groovy</span><span class="o">=</span><span class="nv">@GET</span><span class="o">.</span><span class="n">groovy</span> <span class="o">-</span><span class="n">F</span><span class="o">..</span><span class="sr">/../</span><span class="n">nt</span><span class="sr">/jcr:primaryType=sling:Folder http:host:8888/</span><span class="n">apps</span><span class="sr">/nt/</span><span class="n">folder</span>
 </pre></div>
 
 
-<p>-F../../nt/jcr:primaryType=sling:Folder http:host:8888/apps/nt/folder</p>
-<p>To test it create a <em>/sample</em> <em>nt:Folder</em> node using your favourite
-WebDAV client or use curl again:</p>
+<p>To test it create a <code>/sample</code> <code>nt:Folder</code> node using your favourite WebDAV client or use curl again:</p>
 <div class="codehilite"><pre><span class="nv">$</span> <span class="nv">curl</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin:admin</span> <span class="o">-</span><span class="n">Fjcr:primaryType</span><span class="o">=</span><span class="n">nt:folder</span> <span class="n">http:</span><span class="sr">//</span><span class="n">localhost:8888</span><span class="o">/</span>
 </pre></div>
 
 
-<p>Finally, request the <em>/sample</em> node using your favourite Browser or use
-curl again:</p>
+<p>Finally, request the <code>/sample</code> node using your favourite Browser or use curl again:</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:8888</span><span class="o">/</span><span class="n">sample</span>
 <span class="n">Hello</span> <span class="n">World</span> <span class="o">!</span>
 <span class="n">This</span> <span class="n">is</span> <span class="n">Groovy</span> <span class="n">Speaking</span>
-<span class="n">You</span> <span class="n">requested</span> <span class="n">Resource</span> <span class="n">JcrNodeResource</span><span class="p">,</span> <span class="n">type</span><span class="o">=</span><span class="n">nt:folder</span><span class="p">,</span> <span class="n">path</span><span class="o">=/</span><span class="n">sample</span> <span class="p">(</span><span class="n">yes</span><span class="p">,</span>
+<span class="n">You</span> <span class="n">requested</span> <span class="n">Resource</span> <span class="n">JcrNodeResource</span><span class="p">,</span> <span class="n">type</span><span class="o">=</span><span class="n">nt:folder</span><span class="p">,</span> <span class="n">path</span><span class="o">=/</span><span class="n">sample</span> <span class="p">(</span><span class="n">yes</span><span class="p">,</span> <span class="n">this</span> <span class="n">is</span> <span class="n">a</span> <span class="n">GString</span><span class="p">)</span>
 </pre></div>
 
 
-<p>this is a GString)</p>
-<p><a name="GroovySupport-References"></a></p>
 <h2 id="references">References</h2>
 <ul>
-<li><a href="https://issues.apache.org/jira/browse/SLING-315">SLING-315</a>
- -- The initial Sling issue proposing the addition of a Groovy ScriptEngine
-to Sling.</li>
-<li><a href="http://markmail.org/message/7sqscr5y2mbk6jko">Groovy Support in Apache Sling</a>
- -- A short thread on turning the Groovy <em>groovy-all.jar</em> into an OSGi
-Bundle.</li>
-<li><a href="http://markmail.org/message/47n2ow2jlo553jvk">Groovy in Apache Sling</a>
- -- Thread on adding the <em>DynamicImport-Package</em> header to the Groovy
-bundle manifest.</li>
+<li><a href="">SLING-315</a> -- The initial Sling issue proposing the addition of a Groovy ScriptEngine to Sling.</li>
+<li><a href="">Groovy Support in Apache Sling</a> -- A short thread on turning the Groovy <code>groovy-all.jar</code> into an OSGi Bundle.</li>
+<li><a href="">Groovy in Apache Sling</a> -- Thread on adding the <code>DynamicImport-Package</code> header to the Groovy bundle manifest.</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/guides.html
==============================================================================
--- websites/staging/sling/trunk/content/guides.html (original)
+++ websites/staging/sling/trunk/content/guides.html Tue May 22 08:25:32 2012
@@ -83,50 +83,24 @@
       </div>
       <h1>Guides</h1>
       <p>These pages contain further information in a more informal way.</p>
-<div class="codehilite"><pre><span class="o">*</span> <span class="p">[</span><span class="n">Discover</span> <span class="n">Sling</span> <span class="n">in</span> <span class="mi">15</span> <span class="n">minutes</span> <span class="p">](</span><span class="n">discover</span><span class="o">-</span><span class="n">sling</span><span class="o">-</span><span class="n">in</span><span class="o">-</span><span class="mi">15</span><span class="o">-</span><span class="n">minutes</span><span class="o">-.</span><span class="n">html</span><span class="p">)</span>
-</pre></div>
+<div class="codehilite"><pre><span class="o">*</span> <span class="p">[</span><span class="n">Discover</span> <span class="n">Sling</span> <span class="n">in</span> <span class="mi">15</span> <span class="n">minutes</span> <span class="p">](</span><span class="sr">/discover-sling-in-15-minutes.html) - title says it all</span>
 
+<span class="sr">* [Resources](/</span><span class="n">resources</span><span class="o">.</span><span class="n">html</span><span class="p">)</span> <span class="o">--</span> <span class="n">Presents</span> <span class="n">the</span> <span class="n">Resource</span> <span class="n">as</span> <span class="n">the</span> <span class="n">object</span> <span class="n">around</span> <span class="n">which</span> <span class="n">Sling</span> <span class="n">is</span> <span class="n">built</span>
+<span class="o">*</span> <span class="p">[</span><span class="n">Servlet</span> <span class="n">Resolution</span><span class="p">](</span><span class="sr">/servlet-resolution.html) -- How Sling resolves the servlet or script responsible for rendering a Resource.</span>
+<span class="sr">* [Request Parameters](/</span><span class="n">request</span><span class="o">-</span><span class="n">parameters</span><span class="o">.</span><span class="n">html</span><span class="p">)</span> <span class="o">--</span> <span class="n">Explains</span> <span class="n">how</span> <span class="n">Sling</span> <span class="n">provides</span> <span class="n">request</span> <span class="n">parameters</span> <span class="n">to</span> <span class="n">servlets</span><span class="p">,</span> <span class="n">scripts</span> <span class="ow">and</span> <span class="n">filters</span><span class="o">.</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="sr">/repository-based-development.html) -- Shows how WebDAV is supported by Sling.</span>
 
-<ul>
-<li>
-<p>title says it all</p>
-<ul>
-<li><a href="resources.html">Resources</a>
- -- Presents the Resource as the object around which Sling is built</li>
-<li><a href="servlet-resolution.html">Servlet Resolution</a>
- -- How Sling resolves the servlet or script responsible for rendering a
-Resource.</li>
-<li><a href="request-parameters.html">Request Parameters</a>
- -- Explains how Sling provides request parameters to servlets, scripts and
-filters.</li>
-<li>
-<p><a href="repository-based-development.html">Repository Based Development</a>
- -- Shows how WebDAV is supported by Sling.</p>
-</li>
-<li>
-<p><a href="installing-and-upgrading-bundles.html">Bundle Management</a>
- -- Explains how to install, upgrade and uninstall Bundles using the Sling
-Management console.</p>
-</li>
-</ul>
-</li>
-</ul>
-<p>These pages refer to the old Component API and launcher, and remain
-referred to here until more up to date documentation has been prepared:</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="sr">* [Bundle Management](/</span><span class="n">tutorials</span><span class="o">-</span><span class="n">how</span><span class="o">-</span><span class="n">tos</span><span class="o">/</span><span class="n">installing</span><span class="o">-</span><span class="ow">and</span><span class="o">-</span><span class="n">upgrading</span><span class="o">-</span><span class="n">bundles</span><span class="o">.</span><span class="n">html</span><span class="p">)</span> <span class="o">--</span> <span class="n">Explains</span> <span class="n">how</span> <span class="n">to</span> <span class="n">install</span><span class="p">,</span> <span class="n">upgrade</span> <span class="ow">and</span> <span class="n">uninstall</span> <span class="n">Bundles</span> <span class="n">using</span> <span class="n">the</span> <span class="n">Sling</span> <span class="n">Management</span> <span class="n">console</span><span class="o">.</span>
 </pre></div>
 
 
-<p>-- A short recount on the first step for getting a running Sling instance
-after checking out the source from the SVN repository
-    * <a href="default-mapping-and-rendering.html">Default Mapping and Rendering</a>
- -- Explains default mapping of repository nodes to Content instances and
-selection of a default Component.
-    * <a href="dispatching-requests.html">Dispatching Requests</a>
- -- Explains how a Component may dispatch requests to include further
-content renderings in the response to the client's request</p>
+<p>These pages refer to the old Component API and launcher, and remain referred to here until more up to date documentation has been prepared:</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) -- A short recount on the first step for getting a running Sling instance after checking out the source from the SVN repository</span>
+<span class="sr">* [Default Mapping and Rendering](/</span><span class="n">default</span><span class="o">-</span><span class="n">mapping</span><span class="o">-</span><span class="ow">and</span><span class="o">-</span><span class="n">rendering</span><span class="o">.</span><span class="n">html</span><span class="p">)</span> <span class="o">--</span> <span class="n">Explains</span> <span class="n">default</span> <span class="n">mapping</span> <span class="n">of</span> <span class="n">repository</span> <span class="n">nodes</span> <span class="n">to</span> <span class="n">Content</span> <span class="n">instances</span> <span class="ow">and</span> <span class="n">selection</span> <span class="n">of</span> <span class="n">a</span> <span class="n">default</span> <span class="n">Component</span><span class="o">.</span>
+<span class="o">*</span> <span class="p">[</span><span class="n">Dispatching</span> <span class="n">Requests</span><span class="p">](</span><span class="o">/</span><span class="n">dispatching</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="n">Explains</span> <span class="n">how</span> <span class="n">a</span> <span class="n">Component</span> <span class="n">may</span> <span class="n">dispatch</span> <span class="n">requests</span> <span class="n">to</span> <span class="n">include</span> <span class="n">further</span> <span class="n">content</span> <span class="n">renderings</span> <span class="n">in</span> <span class="n">the</span> <span class="n">response</span> <span class="n">to</span> <span class="n">the</span> <span class="n">client</span><span class="err">&#39;</span><span class="n">s</span> <span class="n">request</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



Mime
View raw message