You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2012/05/22 10:25:22 UTC

svn commit: r1341347 [9/16] - in /sling/site/trunk: ./ content/ content/tutorials-how-tos/

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

Modified: sling/site/trunk/content/maven-archetypes.mdtext
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/maven-archetypes.mdtext?rev=1341347&r1=1341346&r2=1341347&view=diff
==============================================================================
--- sling/site/trunk/content/maven-archetypes.mdtext (original)
+++ sling/site/trunk/content/maven-archetypes.mdtext Tue May 22 08:25:18 2012
@@ -1,54 +1,28 @@
 Title: Maven Archetypes
-Sling includes four Maven archetypes to quick start development. See [http://maven.apache.org/archetype/maven-archetype-plugin/](http://maven.apache.org/archetype/maven-archetype-plugin/)
- for general information on using Maven archetypes. The Maven groupId for
-all Sling archetypes is *org.apache.sling*.
 
-<a name="MavenArchetypes-sling-launchpad-standalone-archetype"></a>
+Sling includes four Maven archetypes to quick start development. See [http://maven.apache.org/archetype/maven-archetype-plugin/]({{ refs.http://maven.apache.org/archetype/maven-archetype-plugin/.path }}) for general information on using Maven archetypes. The Maven groupId for all Sling archetypes is `org.apache.sling`.
+
 ### sling-launchpad-standalone-archetype
 
-This archetype generates a Maven project which will build a standalone
-Launchpad JAR file using the default bundle set. For demonstration
-purposes, the generated project includes an extra bundle list file
-(*src/main/bundles/list*) which includes Apache Felix FileInstall as well
-as a test configuration file (*src/test/config/sling.properties*).
+This archetype generates a Maven project which will build a standalone Launchpad JAR file using the default bundle set. For demonstration purposes, the generated project includes an extra bundle list file (`src/main/bundles/list`) which includes Apache Felix FileInstall as well as a test configuration file (`src/test/config/sling.properties`).
 
-<a name="MavenArchetypes-sling-launchpad-webapp-archetype"></a>
 ### sling-launchpad-webapp-archetype
 
-This archetype generates a Maven project which will build a Launchpad WAR
-file using the default bundle set. For demonstration purposes, the
-generated project includes an extra bundle list file
-(*src/main/bundles/list*) which includes Apache Felix FileInstall as well
-as a test configuration file (*src/test/config/sling.properties*).
+This archetype generates a Maven project which will build a Launchpad WAR file using the default bundle set. For demonstration purposes, the generated project includes an extra bundle list file (`src/main/bundles/list`) which includes Apache Felix FileInstall as well as a test configuration file (`src/test/config/sling.properties`).
 
-<a name="MavenArchetypes-sling-intitial-content-archetype"></a>
 ### sling-intitial-content-archetype
 
-This archetype generates a Maven project which will build an OSGi bundle
-that supports JCR NodeType registration (in
-*SLING-INF/nodetypes/nodetypes.cnd*) and initial content loading (in
-*SLING-INF/scripts* and *SLING-INF/content*).
+This archetype generates a Maven project which will build an OSGi bundle that supports JCR NodeType registration (in `SLING-INF/nodetypes/nodetypes.cnd`) and initial content loading (in `SLING-INF/scripts` and `SLING-INF/content`).
 
-<a name="MavenArchetypes-sling-servlet-archetype"></a>
 ### sling-servlet-archetype
 
-This archetype generates a Maven project which will build an OSGi bundle
-containing two Servlets registered with Sling, one registered by path and
-one registered by resource type.
+This archetype generates a Maven project which will build an OSGi bundle containing two Servlets registered with Sling, one registered by path and one registered by resource type.
 
-<a name="MavenArchetypes-sling-bundle-archetype"></a>
 ### sling-bundle-archetype
 
-This archetype generates a Maven project which will build a basic OSGi
-bundle including support for the Felix SCR Annotations. It is
-pre-configured to install using the Felix Web Console when the profile
-*autoInstallBundle* is activated.
+This archetype generates a Maven project which will build a basic OSGi bundle including support for the Felix SCR Annotations. It is pre-configured to install using the Felix Web Console when the profile `autoInstallBundle` is activated.
 
 
-<a name="MavenArchetypes-sling-jcrinstall-bundle-archetype"></a>
 ### sling-jcrinstall-bundle-archetype
 
-This archetype generates a Maven project which will build a basic OSGi
-bundle including support for the Felix SCR Annotations. It is
-pre-configured to install using a WebDAV PUT into the JCR when the profile
-*autoInstallBundle* is activated.
+This archetype generates a Maven project which will build a basic OSGi bundle including support for the Felix SCR Annotations. It is pre-configured to install using a WebDAV PUT into the JCR when the profile `autoInstallBundle` is activated.
\ No newline at end of file

Modified: sling/site/trunk/content/maven-launchpad-plugin.mdtext
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/maven-launchpad-plugin.mdtext?rev=1341347&r1=1341346&r2=1341347&view=diff
==============================================================================
--- sling/site/trunk/content/maven-launchpad-plugin.mdtext (original)
+++ sling/site/trunk/content/maven-launchpad-plugin.mdtext Tue May 22 08:25:18 2012
@@ -1,134 +1,92 @@
 Title: Maven Launchpad Plugin
-<a name="MavenLaunchpadPlugin-MavenLaunchpadPlugin"></a>
+
 # Maven Launchpad Plugin
 
-The Maven Launchpad Plugin provides goals which facilitate the creation of
-OSGi applications. It supports the following runtime scenarios:
+The Maven Launchpad Plugin provides goals which facilitate the creation of OSGi applications. It supports the following runtime scenarios:
 * A WAR file suitable for running in a JavaEE servlet container.
-* A standalone Java application, with HTTP support from the Felix
-HttpService implementation
+* A standalone Java application, with HTTP support from the Felix HttpService implementation
 * Inside Apache Karaf
 
-In addition, the Maven Launchpad Plugin supports the publishing of an
-application descriptor, in the form of a *bundle list*, as a Maven
-artifact. This descriptor can then be used by downstream application
-builders as the basis for other applications. In Sling, this is embodied by
-two Maven projects:
-* [org.apache.sling.launchpad](http://svn.apache.org/repos/asf/sling/trunk/launchpad/builder)
- - produces an application descriptor.
-* [org.apache.sling.launchpad.testing](http://svn.apache.org/repos/asf/sling/trunk/launchpad/builder/testing)
- - uses the application descriptor from *org.apache.sling.launchpad* and
-adds two bundles.
+In addition, the Maven Launchpad Plugin supports the publishing of an application descriptor, in the form of a *bundle list*, as a Maven artifact. This descriptor can then be used by downstream application builders as the basis for other applications. In Sling, this is embodied by two Maven projects:
+* [org.apache.sling.launchpad]({{ refs.http://svn.apache.org/repos/asf/sling/trunk/launchpad/builder.path }}) - produces an application descriptor.
+* [org.apache.sling.launchpad.testing]({{ refs.http://svn.apache.org/repos/asf/sling/trunk/launchpad/builder/testing.path }}) - uses the application descriptor from `org.apache.sling.launchpad` and adds two bundles.
 
 Maven Launchpad Plugin provides the following goals: 
-<table>
-<tr><th> Goals </th><th> Description </th></tr>
-<tr><td> launchpad:prepare-package </td><td> Create the file system structure required by
-Sling's Launchpad framework. </td></tr>
-<tr><td> launchpad:attach-bundle-list </td><td> Attach the bundle list descriptor to the
-current project as a Maven artifact. </td></tr>
-<tr><td> launchpad:create-karaf-descriptor </td><td> Create an Apache Karaf Feature
-descriptor. </td></tr>
-<tr><td> launchpad:create-bundle-jar </td><td> Create a JAR file containing the bundles in
-a Launchpad-structured JAR file. </td></tr>
-<tr><td> launchpad:check-bundle-list-for-snapshots </td><td> Validate that the bundle list
-does not contain any SNAPSHOT versions. </td></tr>
-<tr><td> launchpad:run </td><td> Run a Launchpad application. </td></tr>
-<tr><td> launchpad:start </td><td> Start a Launchpad application. </td></tr>
-<tr><td> launchpad:stop </td><td> Stop a Launchpad application. </td></tr>
-<tr><td> launchpad:output-bundle-list </td><td> Output the bundle list to the console as
-XML. (added in version 2.0.8) </td></tr>
-</table>
+| Goals | Description | 
+|--|--|
+| launchpad:prepare-package | Create the file system structure required by Sling's Launchpad framework. | 
+| launchpad:attach-bundle-list | Attach the bundle list descriptor to the current project as a Maven artifact. | 
+| launchpad:create-karaf-descriptor | Create an Apache Karaf Feature descriptor. | 
+| launchpad:create-bundle-jar | Create a JAR file containing the bundles in a Launchpad-structured JAR file. | 
+| launchpad:check-bundle-list-for-snapshots | Validate that the bundle list does not contain any SNAPSHOT versions. | 
+| launchpad:run | Run a Launchpad application. |
+| launchpad:start | Start a Launchpad application. |
+| launchpad:stop | Stop a Launchpad application. |
+| launchpad:output-bundle-list | Output the bundle list to the console as XML. (added in version 2.0.8) |
 
-<a name="MavenLaunchpadPlugin-GeneralConfiguration"></a>
 ### General Configuration
 
-In general, the bulk of the configuration of the Maven Launchpad Plugin is
-concerned with setting up the bundle list which all of the goals will use.
-This bundle list is created using the following steps:
-1. If *includeDefaultBundles* is *true* (the default), the default
-bundle list is loaded. By default, this is
-*org.apache.sling.launchpad:org.apache.sling.launchpad:RELEASE:xml:bundlelist*,
-but can be overridden by setting the *defaultBundleList* plugin
-parameter.
-1. If *includeDefaultBundles* is *false*, an empty list is created.
-1. If the bundle list file exists (by default, at
-*src/main/bundles/list.xml*), the bundles defined in it are added to the
-bundle list.
-1. If the *additionalBundles* plugin parameter is defined, those bundles
-are added to the bundle list.
-1. If the *bundleExclusions* plugin parameter is defined, those bundles
-are removed from the bundle list.
-
-When a bundle is added to the bundle list, if a bundle with the same
-groupId, artifactId, type, and classifier is already in the bundle list,
-the version of the existing bundle is modified. However, the start level of
-a bundle is never changed once that bundle is added to the bundle list.
+In general, the bulk of the configuration of the Maven Launchpad Plugin is concerned with setting up the bundle list which all of the goals will use. This bundle list is created using the following steps:
+1. If `includeDefaultBundles` is `true` (the default), the default bundle list is loaded. By default, this is `org.apache.sling.launchpad:org.apache.sling.launchpad:RELEASE:xml:bundlelist`, but can be overridden by setting the `defaultBundleList` plugin parameter.
+1. If `includeDefaultBundles` is `false`, an empty list is created.
+1. If the bundle list file exists (by default, at `src/main/bundles/list.xml`), the bundles defined in it are added to the bundle list.
+1. If the `additionalBundles` plugin parameter is defined, those bundles are added to the bundle list.
+1. If the `bundleExclusions` plugin parameter is defined, those bundles are removed from the bundle list.
+
+When a bundle is added to the bundle list, if a bundle with the same groupId, artifactId, type, and classifier is already in the bundle list, the version of the existing bundle is modified. However, the start level of a bundle is never changed once that bundle is added to the bundle list.
 
-The plugin may also contribute bundles to (or remove bundles from) the
-bundle list as it sees fit.
+The plugin may also contribute bundles to (or remove bundles from) the bundle list as it sees fit.
 
-<a name="MavenLaunchpadPlugin-FrameworkConfiguration"></a>
 ### Framework Configuration
 
-For the *run* and *start* goals, the plugin will look for a file named
-*src/test/config/sling.properties*. If this file is present, it will be
-filtered using standard Maven filtering and used to populate the OSGi
-framework properties. This can be used, for example, to specify a
-*repository.xml* file to be used during development:
+For the `run` and `start` goals, the plugin will look for a file named `src/test/config/sling.properties`. If this file is present, it will be filtered using standard Maven filtering and used to populate the OSGi framework properties. This can be used, for example, to specify a `repository.xml` file to be used during development:
 
     sling.repository.config.file.url=${basedir}/src/test/config/repository.xml
 
 
-<a name="MavenLaunchpadPlugin-BundleListFiles"></a>
 ## Bundle List Files
 
-The bundle list file uses a simple XML syntax representing a list of
-bundles organized into start levels:
+The bundle list file uses a simple XML syntax representing a list of bundles organized into start levels:
 
 
     <?xml version="1.0"?>
     <bundles>
         <startLevel level="0">
-    	<bundle>
-    	    <groupId>commons-io</groupId>
-    	    <artifactId>commons-io</artifactId>
-    	    <version>1.4</version>
-    	</bundle>
-    	<bundle>
-    	    <groupId>commons-collections</groupId>
-    	    <artifactId>commons-collections</artifactId>
-    	    <version>3.2.1</version>
-    	</bundle>
+            <bundle>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>1.4</version>
+            </bundle>
+            <bundle>
+                <groupId>commons-collections</groupId>
+                <artifactId>commons-collections</artifactId>
+                <version>3.2.1</version>
+            </bundle>
         </startLevel>
     
         <startLevel level="10">
-    	<bundle>
-    	    <groupId>org.apache.felix</groupId>
-    	    <artifactId>org.apache.felix.eventadmin</artifactId>
-    	    <version>1.0.0</version>
-    	</bundle>
+            <bundle>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>org.apache.felix.eventadmin</artifactId>
+                <version>1.0.0</version>
+            </bundle>
         </startLevel>
     
         <startLevel level="15">
-    	<bundle>
-    	    <groupId>org.apache.sling</groupId>
-    	    <artifactId>org.apache.sling.jcr.api</artifactId>
-    	    <version>2.0.2-incubator</version>
-    	</bundle>
+            <bundle>
+                <groupId>org.apache.sling</groupId>
+                <artifactId>org.apache.sling.jcr.api</artifactId>
+                <version>2.0.2-incubator</version>
+            </bundle>
         </startLevel>
     </bundles>
 
 
-Within each *bundle* element, *type* and *classifier* are also
-supported.
+Within each `bundle` element, `type` and `classifier` are also supported.
 
-<a name="MavenLaunchpadPlugin-ArtifactDefinition"></a>
 ## Artifact Definition
 
-The *defaultBundleList*, *jarWebSupport*, *additionalBundles*, and
-*bundleExclusions* parameters are configured with artifact definitions.
-This is done using a syntax similar to Maven dependency elements:
+The `defaultBundleList`, `jarWebSupport`, `additionalBundles`, and `bundleExclusions` parameters are configured with artifact definitions. This is done using a syntax similar to Maven dependency elements:
 
 
     <configuration>
@@ -143,8 +101,7 @@ This is done using a syntax similar to M
     </configuration>
 
 
-For example, to use Pax Web instead of Felix HttpService as the HttpService
-provider, use the following:
+For example, to use Pax Web instead of Felix HttpService as the HttpService provider, use the following:
 
     <configuration>
     ...
@@ -158,8 +115,7 @@ provider, use the following:
     </configuration>
 
 
-In the case of *additionalBundles* and *bundleExclusions*, these are
-arrays of definitions, so an intermediate *bundle* element is necessary:
+In the case of `additionalBundles` and `bundleExclusions`, these are arrays of definitions, so an intermediate `bundle` element is necessary:
 
 
     <configuration>
@@ -176,30 +132,17 @@ arrays of definitions, so an intermediat
     </configuration>
 
 
-By default, bundles are added to start level 0. To change, this use the
-*startLevel* element within each additional bundle definition.
+By default, bundles are added to start level 0. To change, this use the `startLevel` element within each additional bundle definition.
 
-<a name="MavenLaunchpadPlugin-IntegrationTesting"></a>
 ## Integration Testing
 
-For integration testing examples, see */samples/inplace-integration-test*
-and *launchpad/testing* in the Sling source tree.
+For integration testing examples, see `/samples/inplace-integration-test` and `launchpad/testing` in the Sling source tree.
 
-<a name="MavenLaunchpadPlugin-BundleListRewriting"></a>
 ## Bundle List Rewriting
 
-The Maven Launchpad Plugin supports the use of rules to rewrite the bundle
-list. These rules are executed by the [Drools](http://www.jboss.org/drools)
- rule engine. Typically, this is used along with Maven profiles. For
-example, Sling's testing project includes a profile called
-*test-reactor-sling-bundles*. When activated, this profile runs a Drools
-rule file which scans the project list from the Maven reactor and modifies
-the version number for bundles which were contained within the reactor.
-
-In order for rules to interact with the Maven build, the following global
-variables are made available:
-
- * *mavenSession* - an instance of
-*org.apache.maven.execution.MavenSession*.
- * *mavenProject* - an instance of
-*org.apache.maven.project.MavenProject*.
+The Maven Launchpad Plugin supports the use of rules to rewrite the bundle list. These rules are executed by the [Drools]({{ refs.http://www.jboss.org/drools.path }}) rule engine. Typically, this is used along with Maven profiles. For example, Sling's testing project includes a profile called `test-reactor-sling-bundles`. When activated, this profile runs a Drools rule file which scans the project list from the Maven reactor and modifies the version number for bundles which were contained within the reactor.
+
+In order for rules to interact with the Maven build, the following global variables are made available:
+
+ * `mavenSession` - an instance of `org.apache.maven.execution.MavenSession`.
+ * `mavenProject` - an instance of `org.apache.maven.project.MavenProject`.
\ No newline at end of file

Modified: sling/site/trunk/content/maventipsandtricks.mdtext
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/maventipsandtricks.mdtext?rev=1341347&r1=1341346&r2=1341347&view=diff
==============================================================================
--- sling/site/trunk/content/maventipsandtricks.mdtext (original)
+++ sling/site/trunk/content/maventipsandtricks.mdtext Tue May 22 08:25:18 2012
@@ -1,35 +1,21 @@
 Title: MavenTipsAndTricks
-Here's our collection of tips and tricks for building Sling with [Maven](http://maven.apache.org)
-.
 
-<a name="MavenTipsAndTricks-Mavenlocalrepository"></a>
+Here's our collection of tips and tricks for building Sling with [Maven]({{ refs.http://maven.apache.org.path }}).
+
 # Maven local repository
 
-The first time you run a Maven build, or when Maven needs additional build
-components, it downloads plugins and dependencies under its _local
-repository_ folder on your computer. By default, this folder is named
-_.m2/repository_ in your home directory.
-
-Maven uses this repository as a cache for artifacts that it might need for
-future builds, which means that the first Sling build usually takes much
-longer than usual, as Maven needs to download many tools and dependencies
-into its local repository while the build progresses.
-
-The build might fail if one of those downloads fails, in that case it might
-be worth retrying the build, to check if that was just a temporary
-connection problem, or if there's a more serious error.
-
-In some cases, the local Maven repository might get corrupted - if your
-build fails on a computer and works on another one, clearing the local
-repository before restarting the build might be worth trying.
+The first time you run a Maven build, or when Maven needs additional build components, it downloads plugins and dependencies under its *local repository* folder on your computer. By default, this folder is named *.m2/repository* in your home directory.
+
+Maven uses this repository as a cache for artifacts that it might need for future builds, which means that the first Sling build usually takes much longer than usual, as Maven needs to download many tools and dependencies into its local repository while the build progresses.
+
+The build might fail if one of those downloads fails, in that case it might be worth retrying the build, to check if that was just a temporary connection problem, or if there's a more serious error.
+
+In some cases, the local Maven repository might get corrupted - if your build fails on a computer and works on another one, clearing the local repository before restarting the build might be worth trying.
 
-<a name="MavenTipsAndTricks-Mavensettings"></a>
 # Maven settings
 
-<a name="MavenTipsAndTricks-Ignoreyourlocalsettings"></a>
 ## Ignore your local settings
-To make sure you're getting the same results as we are when building Sling,
-it is recommend to ignore any local settings.
+To make sure you're getting the same results as we are when building Sling, it is recommend to ignore any local settings.
 
 On unixish platforms, using
 
@@ -43,17 +29,12 @@ does the trick.
 Does anyone have a similar command-line option that works under Windows?
 {note}
 
-<a name="MavenTipsAndTricks-"></a>
 # 
-<a name="MavenTipsAndTricks-MAVEN_OPTS"></a>
 # MAVEN_OPTS
-The MAVEN_OPTS environment variable defines options for the JVM that
-executes Maven.
+The MAVEN_OPTS environment variable defines options for the JVM that executes Maven.
 
-Set it according to your platform, i.e. *export MAVEN_OPTS=...* on
-unixish systems or *set MAVEN_OPTS=...* on Windows.
+Set it according to your platform, i.e. `export MAVEN*OPTS=...` on unixish systems or `set MAVEN*OPTS=...` on Windows.
 
-<a name="MavenTipsAndTricks-IncreaseJVMmemoryifneeded"></a>
 ## Increase JVM memory if needed
 If getting an OutOfMemoryException when running mvn, try setting
 
@@ -63,20 +44,14 @@ If getting an OutOfMemoryException when 
 
 to allocate 256MB of RAM to Maven.
 
-<a name="MavenTipsAndTricks-DebuggingcodelaunchedbyMaven"></a>
 ## Debugging code launched by Maven
-To run the Sling launchpad webapp in debug mode from Maven, for example,
-use something like
+To run the Sling launchpad webapp in debug mode from Maven, for example, use something like
 
 
     MAVEN_OPTS="-agentlib:jdwp=transport=dt_socket,address=30303,server=y,suspend=n"
 
 
-And then connect to port 30303 with a remote JVM debugger (most IDEs do
-this).
+And then connect to port 30303 with a remote JVM debugger (most IDEs do this).
 
-<a name="MavenTipsAndTricks-AvoidspacesinMavenrepositoryandworkspacepaths"></a>
 ## Avoid spaces in Maven repository and workspace paths
-Some Maven plugins do not like spaces in paths. It is better to avoid
-putting your Maven repository, or your code, under paths like _Documents
-and Settings_, for example.
+Some Maven plugins do not like spaces in paths. It is better to avoid putting your Maven repository, or your code, under paths like *Documents and Settings*, for example.

Modified: sling/site/trunk/content/media.mdtext
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/media.mdtext?rev=1341347&r1=1341346&r2=1341347&view=diff
==============================================================================
--- sling/site/trunk/content/media.mdtext (original)
+++ sling/site/trunk/content/media.mdtext Tue May 22 08:25:18 2012
@@ -1,10 +1,7 @@
 Title: Media
-This page holds all media required for the Apache Sling website. The media
-are attachments and can be addressed using the following URL:
-http://cwiki.apache.org/SLINGxSITE/media.data/ (followed by the actual name
-of the attachment).
 
-Currently, some of these attachments are used by the overall site template
-(only visible/editable by Confluence administrators).
+This page holds all media required for the Apache Sling website. The media are attachments and can be addressed using the following URL: http://cwiki.apache.org/SLINGxSITE/media.data/ (followed by the actual name of the attachment).
+
+Currently, some of these attachments are used by the overall site template (only visible/editable by Confluence administrators).
 
 {attachments}

Added: sling/site/trunk/content/mime-type-support-commons-mime.mdtext
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/mime-type-support-commons-mime.mdtext?rev=1341347&view=auto
==============================================================================
--- sling/site/trunk/content/mime-type-support-commons-mime.mdtext (added)
+++ sling/site/trunk/content/mime-type-support-commons-mime.mdtext Tue May 22 08:25:18 2012
@@ -0,0 +1,85 @@
+Title: MIME Type Support (commons.mime)
+
+# MIME Type Support
+
+Support for MIME type mappings is generally a problematic issue. On the one hand applications have to take care to stay up to date with their mappings on the other hands in web applications it is tedious to maintain the mappings. Apache Sling takes a very user and deployment friendly approadch to this problem which is described in detail on this page.
+
+
+[TOC]
+
+
+## Servlet API Support
+
+The Servlet API specification provides a limited support for MIME type mappings :
+
+* Mappings may be defined in the `mime-mapping` elements of the the web application descriptor `web.xml`. Managing these mappings is presumably tedious. So servlet containers may provide reasonable defaults (or not).
+* The `ServletContext.getMimeType(String)` returns a MIME type for a given file name based on the extension of the filename. The mapping returned is based on the servlet container configuration as well as the web application descriptor's `mime-mapping` elements.
+
+
+## Enter Sling: The MimeTypeService
+
+Already at the start of the Sling project we realized, that just basing the MIME type mapping decisions on the servlet container will not yield acceptable results. For this reason the Apache Sling projects provides a spezialized and configurable service supporting such mappings: The [`MimeTypeService`]({{ refs.http://incubator.apache.org/sling/apidocs/sling5/org/apache/sling/commons/mime/MimeTypeService.html.path }}).
+
+This service provides access to registered MIME types and their mappings with two methods:
+
+* `getExtension(String)` -- given a MIME type this methods returns a primary extension. For example for the type `text/plain` this method will return `txt`
+* `getMimeType(String)` -- given a file name or just the extension) returns the mapped MIME type. For example for the filename `sample.html` (or just the extension `html`) this method will return `text/html`
+
+
+Two more method allow to programmatically add MIME type mappings:
+
+* `registerMimeType(InputStream)` registers additional mappings from the given input stream which is expected to be formated in traditional `mime.types` file format (see below).
+* `registerMimeType(String, String...)` registers a single mapping for the give MIME type and the respective extensions.
+
+
+
+## And More...
+
+Besides the `MimeTypeService` provided by Apache Sling, there is actually more:
+
+* The [`SlingHttpServletRequest`]({{ refs.http://incubator.apache.org/sling/apidocs/sling5/org/apache/sling/api/SlingHttpServletRequest.html.path }}) provides the `getResponseContentType()` method, which returns the preferred *Content-Type* for the response based on the requests extension. This method is implemented by Apache Sling using the `MimeTypeService`. So servlets and scripts may just call this method to set the content type of the response to the desired value.
+* Each Servlet (and JSP scripts) is initialized by Apache Sling with a `ServletContext` instance whose implementation of the `getMimeType(String)` effectively calls the `MimeTypeService.getMimeType(String)` method.
+* The Scripting support infrastructure of Sling sets the response content type on behalf of the script to the default value as returned by the `SlingHttpServletRequest.getResponseContentType()` method. At the same time the response character set is also set to `UTF-8` for *text* content types.
+
+
+
+## Configuring MIME Type Mappings
+
+
+The implementation of the `MimeTypeService` in the Apache Sling MIME type mapping support (`org.apache.sling.commons.mime`) bundle supports a numnber of ways to configure and extend the set of MIME type mappings:
+
+* Default configuration. The default configuration is based on the [`mime.types`]({{ refs.http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types.path }}) file maintained by Roy Fielding for the Apache httpd project and some extensions by Apache Sling.
+* Bundle provided mappings. Bundles registered in the OSGi framework may contain MIME type mappings files `META-INF/mime.types` which are loaded automatically by the Apache Sling MIME type mapping support bundle.
+* Configuration. Mappings may be supplied by configuration of the `MimeTypeService` implementation as the multi-value string property `mime.types`. Each value of the property corresponds to a line in a MIME type configuration file (see below for the format).
+* Registered Mappings. Mappings may be registered with the `MimeTypeService.registerMapping` methods.
+* [`MimeTypeProvider`]({{ refs.http://incubator.apache.org/sling/apidocs/sling5/org/apache/sling/commons/mime/MimeTypeProvider.html.path }}). Additional mappings may be provided by service implementing the `MimeTypeProvider` interface. The `MimeTypeService` implementation will call these services in turn until a service returns a mapping provided there is no static configuration to responde to the mapping request.
+
+Please note, that existing mappings cannot be overwritten later. Thus mappings have an inherent priority:
+
+1. Mappings provided by the Apache httpd project's `mime.types` file
+1. Extensions by the Apache Sling MIME type mapping support bundle
+1. Bundles providing a `META-INF/mime.types` file in the order of their bundle-id (or startup order if started after the MIME type mapping support bundle)
+1. OSGi Configuration. Note that bundles started *after* the MIME type mapping support bundle may not overwrite mappings provided by the OSGi configuration. This may sounds like a problem, but in reality this should genrally not matter
+1. Mappings registered calling the `MimeTypeService.registerMimeType` method
+1. Mappings provided by `MimeTypeProvider` services
+
+
+
+## MIME Type Mapping File Format
+
+The file format for MIME type mapping files is rather simple:
+
+* The files are assumed to be encoded with the *ISO-8859-1* (aka Latin 1) character encoding
+* The files consist of lines defining mappings where each line is terminated with either or both of a carriage return (CR, 0x0c) and line feed character (LF, 0x0a). There is no line continuation support à-la shell scripts or Java properties files.
+* Empty lines and lines starting with a hash sign (`#`) are ignored
+* Data lines consist of space (any whitespace matching the `\s` regular expression) separated values. The first value is the MIME type name and the remaining values defining mappings to file name extensions. The first listed file name extension is considered the *default mapping* and is returned by the `MimeTypeService.getExtension(String)` method. Entry lines consisting of just a mime type but no extensions are also (currently) ignored.
+
+THe data line format described here also applies to configuration provided by the values of the `mime.types` property of the MIME type service configuration. The file format description applies to all `META-INF/mime.types` files provided by the bundles as well as input streams supplied to the `MimeTypeService.registerMimeType(InputStream)` method.
+
+
+
+## Web Console Plugin
+
+The Apache Sling MIME type mapping support bundle implements a plugin for the Apache Felix Web Console which may be consulted to investigate the current contents of the MIME type mapping tables.
+
+!mimetypes.png|thumbnail!
\ No newline at end of file

Modified: sling/site/trunk/content/monitoring-requests.mdtext
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/monitoring-requests.mdtext?rev=1341347&r1=1341346&r2=1341347&view=diff
==============================================================================
--- sling/site/trunk/content/monitoring-requests.mdtext (original)
+++ sling/site/trunk/content/monitoring-requests.mdtext Tue May 22 08:25:18 2012
@@ -1,21 +1,13 @@
 Title: Monitoring Requests
-<a name="MonitoringRequests-MonitoringRequests"></a>
+
 # Monitoring Requests
 
-Sling provides a simple OSGi console plugin to monitor recent requests.
-This is quite useful when debugging and to understand how things work,
-though it's obviously not a replacement for full-blown HTTP trafic
-monitoring tools.
-
-The console plugin is available at /system/console/requests, listed as
-_Recent Requests_ in the console menu.
-
-The plugin keeps track of the latest 20 requests processed by Sling, and
-displays the information provided by the RequestProgressTracker, for the
-selected request. The screenshot below shows an example.
-
-Any information that's added to the RequestProgressTracker (which is
-available from the SlingHttpServletRequest object) during request
-processing will be displayed by this plugin.
+Sling provides a simple OSGi console plugin to monitor recent requests. This is quite useful when debugging and to understand how things work, though it's obviously not a replacement for full-blown HTTP trafic monitoring tools.
+
+The console plugin is available at /system/console/requests, listed as *Recent Requests* in the console menu.
+
+The plugin keeps track of the latest 20 requests processed by Sling, and displays the information provided by the RequestProgressTracker, for the selected request. The screenshot below shows an example.
+
+Any information that's added to the RequestProgressTracker (which is available from the SlingHttpServletRequest object) during request processing will be displayed by this plugin.
 
-!sling-requests-plugin.jpg|align=left, alt=Recent Requests plugin!
+!sling-requests-plugin.jpg|align=left, alt=Recent Requests plugin!
\ No newline at end of file

Modified: sling/site/trunk/content/navigation.mdtext
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/navigation.mdtext?rev=1341347&r1=1341346&r2=1341347&view=diff
==============================================================================
--- sling/site/trunk/content/navigation.mdtext (original)
+++ sling/site/trunk/content/navigation.mdtext Tue May 22 08:25:18 2012
@@ -1,4 +1,5 @@
 Title: Navigation
+
   
   
   
@@ -45,12 +46,10 @@ Title: Navigation
   
   
   
-[Become a Sponsor](http://www.apache.org/foundation/sponsorship.html)
-[Buy Stuff](http://www.apache.org/foundation/buy_stuff.html)
+[Become a Sponsor]({{ refs.http://www.apache.org/foundation/sponsorship.html.path }})
+[Buy Stuff]({{ refs.http://www.apache.org/foundation/buy_stuff.html.path }})
 
 {html}
-  <iframe src="http://www.apache.org/ads/button.html"
-style="border-width:0; float: left" frameborder="0" scrolling="no"
-width="135" height="135"></iframe>
+  <iframe src="http://www.apache.org/ads/button.html" style="border-width:0; float: left" frameborder="0" scrolling="no" width="135" height="135"></iframe>
   <p style="height: 135px"></p>
-{html}
+{html}
\ No newline at end of file

Modified: sling/site/trunk/content/news.mdtext
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/news.mdtext?rev=1341347&r1=1341346&r2=1341347&view=diff
==============================================================================
--- sling/site/trunk/content/news.mdtext (original)
+++ sling/site/trunk/content/news.mdtext Tue May 22 08:25:18 2012
@@ -1,169 +1,75 @@
 Title: News
-<a name="News-News"></a>
+Excerpt:  * New Releases: Apache Sling Commons Testing 2.0.10, Apache Sling Commons Scheduler 2.3.4, Apache Sling Commons Log 3.0.0, Apache Sling Commons Log Service 1.0.0, Apache Sling Adapter 2.0.12, Apache Sling Installer Core 3.3.4, Apache Sling Launchpad API 1.1.0, Apache Sling Launchpad Installer 1.1.0, and Apache Sling Maven JSPC Plugin 2.0.6 (February 7th, 2012) * New Releases: Apache Sling API 2.2.4, Apache Sling Adapter 2.0.10, Apache Sling Scripting JSP Taglib 2.1.6, Apache Sling Rewriter 1.0.2, Apache Sling JCR ContentLoader 2.1.4, Apache Sling JCR Base 2.1.2, Apache Sling Servlet Resolver 2.1.2, and Apache Sling Security 1.0.0 (January 30th, 2012) * New Releases: Apache Sling Scripting API 2.1.4, Apache Sling Scripting Core 2.0.20, Apache Sling i18n 2.2.0, Apache Sling Installer Core 3.3.2, Apache Sling Scripting Java 2.0.2, and Apache Sling Scripting JSP 2.0.20 (January 16th, 2012) * New Releases: Apache Adapter Annotations 1.0.0 and Apache Sling Maven Sling Pl
 ugin 2.1.0 (January 14th, 2012) * New Releases: Apache Sling Settings 1.1.0, Apache Sling Commons ClassLoader 1.2.4, Apache Sling Commons Scheduler 2.3.2, Apache Sling Event 3.1.2, Apache Sling Installer Core 3.3.0, Apache Sling Installer Configuration Factory 1.0.4, Apache Sling Launchpad Installer 1.0.6, Apache Sling JCR Installer 3.1.2, and Apache Sling Thread Dumper 0.2.2 (January 6th, 2012) * New Release: Apache Sling Jackrabbit User Manager 2.2.0 (November 15th, 2011) * New Release: Apache Sling Maven Sling Plugin 2.0.6 (October 21st, 2011) * New Release: Apache Sling Maven Launchpad Plugin 2.1.0 (September 9th, 20111) * New Releases: Apache Sling Resource Bundle 1.0.0 and Parent POM 12 * New Releases: Apache Sling API 2.2.2, Apache Sling Commons Scheduler 2.3.0, Apache Sling Commons OSGi 2.1.0, Apache Sling Scripting Core 2.0.18, Apache Sling Installer Core 3.2.2, Apache Sling Installer Configuration Factory 1.0.2, Apache Sling Launchpad Installer 1.0.4, Apache Sling 
 File Installer 1.0.2 (August 16th, 2011) * New Release: Apache Sling Scripting JSP Support 2.0.18 (August 15th, 2011) * Released new Apache Sling Parent POM 11 (August 8, 2011) * New Release: Apache Sling Internationalization 2.1.2 (July 15, 2011) * New Releases: Apache Sling Event 3.1.0, Apache Sling OSGi Installer 3.2.0, Apache Sling JCR Installer 3.1.0, Apache Sling Installer Configuration Factory 1.0.0, Apache Sling Launchpad Installer 1.0.2 (July 13th, 2011) * New Release: Apache Sling Engine 2.2.4 (June 22nd, 2011) * New Releases: Apache Sling Launchpad Standalone Archetype 1.0.0, Launchpad Webapp Archetype 1.0.0 (May 13th, 2011) * New Releases: Apache Sling Scripting JSP Support 2.0.16, JSP Taglib 2.1.2 (May 3rd, 2011) * New releases: Apache Sling Test Tools 1.0.2, JUnit Core 1.0.6, JUnit Remote Tests Runners 1.0.6, JUnit Scriptable Tests Provider 1.0.6, Sample Integration Tests 1.0.6, Sample Server-Side Tests 1.0.6, Failing Server-Side Tests 1.0.6 (April 26th, 2011) 
 * New releases: Apache Sling I18N 2.1.0 (April 12, 2011) * New releases: [Apache Sling 6|http://markmail.org/thread/hv5vd5774ofwqu6j], Apache Sling Launchpad Content 2.0.6 (March 28, 2011) * New releases: Apache Sling Launchpad Integration Tests 1.0.0, Apache Sling Launchpad Testing Services 2.0.8, Apache Sling Launchpad Testing Services WAR 2.0.8 (March 04, 2011) * New releases: Apache Sling Javascript 2.0.12 (February 26, 2011) * New releases: Apache Sling Explorer 1.0.2, Apache Sling JCR Resource 2.0.10, Apache Sling Engine 2.2.2, Apache Sling Installer IT Testing 3.1.2 (February 24, 2011) * New releases: Apache Sling Launchpad API 1.0.0, Launchpad Installer 1.0.0 Launchpad Base 2.3.0, Maven Launchpad Plugin 2.0.10, Apache Sling Commons Testing 2.0.8 (February 20, 2011) * New release: Apache Sling Servlets Get 2.1.2 (February 18, 2011)
+
 # News
 
-{excerpt}
-* New Releases: Apache Sling Commons Testing 2.0.10, Apache Sling Commons
-Scheduler 2.3.4, Apache Sling Commons Log 3.0.0, Apache Sling Commons Log
-Service 1.0.0, Apache Sling Adapter 2.0.12, Apache Sling Installer Core
-3.3.4, Apache Sling Launchpad API 1.1.0, Apache Sling Launchpad Installer
-1.1.0, and Apache Sling Maven JSPC Plugin 2.0.6 (February 7th, 2012)
-* New Releases: Apache Sling API 2.2.4, Apache Sling Adapter 2.0.10, Apache
-Sling Scripting JSP Taglib 2.1.6, Apache Sling Rewriter 1.0.2, Apache Sling
-JCR ContentLoader 2.1.4, Apache Sling JCR Base 2.1.2, Apache Sling Servlet
-Resolver 2.1.2, and Apache Sling Security 1.0.0 (January 30th, 2012)
-* New Releases: Apache Sling Scripting API 2.1.4, Apache Sling Scripting
-Core 2.0.20, Apache Sling i18n 2.2.0, Apache Sling Installer Core 3.3.2,
-Apache Sling Scripting Java 2.0.2, and Apache Sling Scripting JSP 2.0.20
-(January 16th, 2012)
-* New Releases: Apache Adapter Annotations 1.0.0 and Apache Sling Maven
-Sling Plugin 2.1.0 (January 14th, 2012)
-* New Releases: Apache Sling Settings 1.1.0, Apache Sling Commons
-ClassLoader 1.2.4, Apache Sling Commons Scheduler 2.3.2, Apache Sling Event
-3.1.2, Apache Sling Installer Core 3.3.0, Apache Sling Installer
-Configuration Factory 1.0.4, Apache Sling Launchpad Installer 1.0.6, Apache
-Sling JCR Installer 3.1.2, and Apache Sling Thread Dumper 0.2.2 (January
-6th, 2012)
-* New Release: Apache Sling Jackrabbit User Manager 2.2.0 (November 15th,
-2011)
+
+* New Releases: Apache Sling Commons Testing 2.0.10, Apache Sling Commons Scheduler 2.3.4, Apache Sling Commons Log 3.0.0, Apache Sling Commons Log Service 1.0.0, Apache Sling Adapter 2.0.12, Apache Sling Installer Core 3.3.4, Apache Sling Launchpad API 1.1.0, Apache Sling Launchpad Installer 1.1.0, and Apache Sling Maven JSPC Plugin 2.0.6 (February 7th, 2012)
+* New Releases: Apache Sling API 2.2.4, Apache Sling Adapter 2.0.10, Apache Sling Scripting JSP Taglib 2.1.6, Apache Sling Rewriter 1.0.2, Apache Sling JCR ContentLoader 2.1.4, Apache Sling JCR Base 2.1.2, Apache Sling Servlet Resolver 2.1.2, and Apache Sling Security 1.0.0 (January 30th, 2012)
+* New Releases: Apache Sling Scripting API 2.1.4, Apache Sling Scripting Core 2.0.20, Apache Sling i18n 2.2.0, Apache Sling Installer Core 3.3.2, Apache Sling Scripting Java 2.0.2, and Apache Sling Scripting JSP 2.0.20 (January 16th, 2012)
+* New Releases: Apache Adapter Annotations 1.0.0 and Apache Sling Maven Sling Plugin 2.1.0 (January 14th, 2012)
+* New Releases: Apache Sling Settings 1.1.0, Apache Sling Commons ClassLoader 1.2.4, Apache Sling Commons Scheduler 2.3.2, Apache Sling Event 3.1.2, Apache Sling Installer Core 3.3.0, Apache Sling Installer Configuration Factory 1.0.4, Apache Sling Launchpad Installer 1.0.6, Apache Sling JCR Installer 3.1.2, and Apache Sling Thread Dumper 0.2.2 (January 6th, 2012)
+* New Release: Apache Sling Jackrabbit User Manager 2.2.0 (November 15th, 2011)
 * New Release: Apache Sling Maven Sling Plugin 2.0.6 (October 21st, 2011)
-* New Release: Apache Sling Maven Launchpad Plugin 2.1.0 (September 9th,
-20111)
+* New Release: Apache Sling Maven Launchpad Plugin 2.1.0 (September 9th, 20111)
 * New Releases: Apache Sling Resource Bundle 1.0.0 and Parent POM 12
-* New Releases: Apache Sling API 2.2.2, Apache Sling Commons Scheduler
-2.3.0, Apache Sling Commons OSGi 2.1.0, Apache Sling Scripting Core 2.0.18,
-Apache Sling Installer Core 3.2.2, Apache Sling Installer Configuration
-Factory 1.0.2, Apache Sling Launchpad Installer 1.0.4, Apache Sling File
-Installer 1.0.2 (August 16th, 2011)
-* New Release: Apache Sling Scripting JSP Support 2.0.18 (August 15th,
-2011)
+* New Releases: Apache Sling API 2.2.2, Apache Sling Commons Scheduler 2.3.0, Apache Sling Commons OSGi 2.1.0, Apache Sling Scripting Core 2.0.18, Apache Sling Installer Core 3.2.2, Apache Sling Installer Configuration Factory 1.0.2, Apache Sling Launchpad Installer 1.0.4, Apache Sling File Installer 1.0.2 (August 16th, 2011)
+* New Release: Apache Sling Scripting JSP Support 2.0.18 (August 15th, 2011)
 * Released new Apache Sling Parent POM 11 (August 8, 2011)
 * New Release: Apache Sling Internationalization 2.1.2 (July 15, 2011)
-* New Releases: Apache Sling Event 3.1.0, Apache Sling OSGi Installer
-3.2.0, Apache Sling JCR Installer 3.1.0, Apache Sling Installer
-Configuration Factory 1.0.0, Apache Sling Launchpad Installer 1.0.2 (July
-13th, 2011)
+* New Releases: Apache Sling Event 3.1.0, Apache Sling OSGi Installer 3.2.0, Apache Sling JCR Installer 3.1.0, Apache Sling Installer Configuration Factory 1.0.0, Apache Sling Launchpad Installer 1.0.2 (July 13th, 2011)
 * New Release: Apache Sling Engine 2.2.4 (June 22nd, 2011)
-* New Releases: Apache Sling Launchpad Standalone Archetype 1.0.0,
-Launchpad Webapp Archetype 1.0.0 (May 13th, 2011)
-* New Releases: Apache Sling Scripting JSP Support 2.0.16, JSP Taglib 2.1.2
-(May 3rd, 2011)
-* New releases: Apache Sling Test Tools 1.0.2, JUnit Core 1.0.6, JUnit
-Remote Tests Runners 1.0.6, JUnit Scriptable Tests Provider 1.0.6, Sample
-Integration Tests 1.0.6, Sample Server-Side Tests 1.0.6, Failing
-Server-Side Tests 1.0.6 (April 26th, 2011)
+* New Releases: Apache Sling Launchpad Standalone Archetype 1.0.0, Launchpad Webapp Archetype 1.0.0 (May 13th, 2011)
+* New Releases: Apache Sling Scripting JSP Support 2.0.16, JSP Taglib 2.1.2 (May 3rd, 2011)
+* New releases: Apache Sling Test Tools 1.0.2, JUnit Core 1.0.6, JUnit Remote Tests Runners 1.0.6, JUnit Scriptable Tests Provider 1.0.6, Sample Integration Tests 1.0.6, Sample Server-Side Tests 1.0.6, Failing Server-Side Tests 1.0.6 (April 26th, 2011)
 * New releases: Apache Sling I18N 2.1.0 (April 12, 2011)
-* New releases: [Apache Sling 6](http://markmail.org/thread/hv5vd5774ofwqu6j)
-, Apache Sling Launchpad Content 2.0.6 (March 28, 2011)
-* New releases: Apache Sling Launchpad Integration Tests 1.0.0, Apache
-Sling Launchpad Testing Services 2.0.8, Apache Sling Launchpad Testing
-Services WAR 2.0.8 (March 04, 2011)
+* New releases: [Apache Sling 6]({{ refs.http://markmail.org/thread/hv5vd5774ofwqu6j.path }}), Apache Sling Launchpad Content 2.0.6 (March 28, 2011)
+* New releases: Apache Sling Launchpad Integration Tests 1.0.0, Apache Sling Launchpad Testing Services 2.0.8, Apache Sling Launchpad Testing Services WAR 2.0.8 (March 04, 2011)
 * New releases: Apache Sling Javascript 2.0.12 (February 26, 2011)
-* New releases: Apache Sling Explorer 1.0.2, Apache Sling JCR Resource
-2.0.10, Apache Sling Engine 2.2.2, Apache Sling Installer IT Testing 3.1.2
-(February 24, 2011)
-* New releases: Apache Sling Launchpad API 1.0.0, Launchpad Installer 1.0.0
-Launchpad Base 2.3.0, Maven Launchpad Plugin 2.0.10, Apache Sling Commons
-Testing 2.0.8 (February 20, 2011)
+* New releases: Apache Sling Explorer 1.0.2, Apache Sling JCR Resource 2.0.10, Apache Sling Engine 2.2.2, Apache Sling Installer IT Testing 3.1.2 (February 24, 2011)
+* New releases: Apache Sling Launchpad API 1.0.0, Launchpad Installer 1.0.0 Launchpad Base 2.3.0, Maven Launchpad Plugin 2.0.10, Apache Sling Commons Testing 2.0.8 (February 20, 2011)
 * New release: Apache Sling Servlets Get 2.1.2 (February 18, 2011)
-{excerpt}
 * Carl Hall added as a committer (February 18, 2011)
-* New releases: Apache Sling Installer Core 3.1.2, Apache Sling JCR
-Installer 3.0.4, and Apache Sling Event 3.0.2 (February 4, 2011)
+* New releases: Apache Sling Installer Core 3.1.2, Apache Sling JCR Installer 3.0.4, and Apache Sling Event 3.0.2 (February 4, 2011)
 * New release: Apache Sling Scripting Core 2.0.16 (January 29, 2011)
-* New releases: Apache Sling JCR Resource 2.0.8, Apache Sling Engine 2.2.0,
-Apache Sling Bundle Resource Provider 2.0.6, Apache Sling File Resource
-Provider 1.0.2, Apache Sling Auth Core 1.0.6, Apache Sling Auth Selector
-1.0.4 (January 28, 2011)
-* New releases: Apache Sling Commons Compiler 2.0.2, Apache Sling JCR
-Compiler 2.0.2, Apache Sling Commons Log 2.1.2, Apache Sling Event 3.0.0,
-Apache Sling Scripting JSP 2.0.14, Apache Sling Installer Core 3.1.0,
-Apache Sling JCR Installer 3.0.2 (January 21, 2011)
-* New release: Apache Sling Maven Launchpad Plugin 2.0.8 (December 20,
-2010)
-* New releases: Apache Sling Commons Compiler 2.0.0, Apache Sling i18n
-2.0.4, Apache Sling Commons Json 2.0.6, Apache Sling Commons Log 2.1.0,
-Apache Sling Scripting Java 2.0.0, Apache Sling Scripting JST 2.0.4, Apache
-Sling Scripting API 2.1.2, Apache Sling Scripting JSP 2.0.12, Apache Sling
-Scripting Javascript 2.0.10, Apache Sling JCR Compiler 2.0.0, Apache Sling
-Auth Core 1.0.4, Apache Sling Auth Selector 1.0.2, Apache Sling Auth Form
-1.0.2, Apache Sling Auth OpenId 1.0.2, Apache Sling JCR ContentLoader 2.1.2
-(December 20, 2010)
-* New releases: Apache Sling API 2.20, Apache Sling Adapter 2.0.8, Apache
-Sling Commons ClassLoader 1.2.2, Apache Sling JCR ClassLoader 3.1.4, Apache
-Sling Parent POM 10 (December 13, 2010)
-* New release: Apache Sling JCR Web Console Plugin 1.0.0 (November 16,
-2010)
-* New releases:  Apache Sling JCR Access Manager 2.1.0, JCR User Manager
-2.1.0, JCR WebDAV support 2.1.0, and JCR DavEX support 1.0.0 (November 8,
-2010)
+* New releases: Apache Sling JCR Resource 2.0.8, Apache Sling Engine 2.2.0, Apache Sling Bundle Resource Provider 2.0.6, Apache Sling File Resource Provider 1.0.2, Apache Sling Auth Core 1.0.6, Apache Sling Auth Selector 1.0.4 (January 28, 2011)
+* New releases: Apache Sling Commons Compiler 2.0.2, Apache Sling JCR Compiler 2.0.2, Apache Sling Commons Log 2.1.2, Apache Sling Event 3.0.0, Apache Sling Scripting JSP 2.0.14, Apache Sling Installer Core 3.1.0, Apache Sling JCR Installer 3.0.2 (January 21, 2011)
+* New release: Apache Sling Maven Launchpad Plugin 2.0.8 (December 20, 2010)
+* New releases: Apache Sling Commons Compiler 2.0.0, Apache Sling i18n 2.0.4, Apache Sling Commons Json 2.0.6, Apache Sling Commons Log 2.1.0, Apache Sling Scripting Java 2.0.0, Apache Sling Scripting JST 2.0.4, Apache Sling Scripting API 2.1.2, Apache Sling Scripting JSP 2.0.12, Apache Sling Scripting Javascript 2.0.10, Apache Sling JCR Compiler 2.0.0, Apache Sling Auth Core 1.0.4, Apache Sling Auth Selector 1.0.2, Apache Sling Auth Form 1.0.2, Apache Sling Auth OpenId 1.0.2, Apache Sling JCR ContentLoader 2.1.2 (December 20, 2010)
+* New releases: Apache Sling API 2.20, Apache Sling Adapter 2.0.8, Apache Sling Commons ClassLoader 1.2.2, Apache Sling JCR ClassLoader 3.1.4, Apache Sling Parent POM 10 (December 13, 2010)
+* New release: Apache Sling JCR Web Console Plugin 1.0.0 (November 16, 2010)
+* New releases:  Apache Sling JCR Access Manager 2.1.0, JCR User Manager 2.1.0, JCR WebDAV support 2.1.0, and JCR DavEX support 1.0.0 (November 8, 2010)
 * New release: Apache Sling Explorer 1.0.0 (November 1, 2010)
 * New release: Apache Sling Scripting Core 2.0.14 (October 25, 2010)
-* New releases: Apache Sling Commons Threads 3.1.0, Apache Sling Event
-2.4.2, Apache Sling I18N 2.0.2, Apache Sling Rewriter 1.0.0, and Apache
-Sling Settings 1.0.2 (October 15, 2010)
-* New releases: Apache Sling Installer Core 3.0.0, Apache Sling Installer
-File Provider 1.0.0, and Apache Sling Installer JCR Provider 3.0.0
-(September 24, 2010)
+* New releases: Apache Sling Commons Threads 3.1.0, Apache Sling Event 2.4.2, Apache Sling I18N 2.0.2, Apache Sling Rewriter 1.0.0, and Apache Sling Settings 1.0.2 (October 15, 2010)
+* New releases: Apache Sling Installer Core 3.0.0, Apache Sling Installer File Provider 1.0.0, and Apache Sling Installer JCR Provider 3.0.0 (September 24, 2010)
 * New release: Apache Sling Commons Testing 2.0.6 (September 20, 2010)
-* New releases: Apache Sling JCR API 2.1.0, Apache Sling JCR Base 2.1.0,
-Apache Sling JCR Content Loader 2.1.0, Apache Sling Jackrabbit Server 2.1.0
-(September 10, 2010)
-* New releases: Apache Sling Commons Threads 3.0.2, Apache Sling Event
-2.4.0 (September 06, 2010)
-* New releases: Apache Sling Commons ClassLoader 1.2.0, Apache Sling JCR
-ClassLoader 3.1.2 (August 30, 2010)
-* New release: Apache Sling Web Console Branding 1.0.0, Apache Sling Web
-Console Security Provider 1.0.0 (August 25, 2010)
+* New releases: Apache Sling JCR API 2.1.0, Apache Sling JCR Base 2.1.0, Apache Sling JCR Content Loader 2.1.0, Apache Sling Jackrabbit Server 2.1.0 (September 10, 2010)
+* New releases: Apache Sling Commons Threads 3.0.2, Apache Sling Event 2.4.0 (September 06, 2010)
+* New releases: Apache Sling Commons ClassLoader 1.2.0, Apache Sling JCR ClassLoader 3.1.2 (August 30, 2010)
+* New release: Apache Sling Web Console Branding 1.0.0, Apache Sling Web Console Security Provider 1.0.0 (August 25, 2010)
 * New release: Apache Sling API 2.1.0 (August 21, 2010)
 * New release: Apache Sling GWT Integration 3.0.0 (July 30, 2010)
-* New releases: Apache Sling Commons OSGi 2.0.6, Launchpad Base 2.2.0 and
-Maven Launchpad Plugin 2.0.6 (April 27, 2010)
-* New releases: Apache Sling Event 2.3.0, Apache Sling Scripting Core
-2.1.0, Apache Commons MIME 2.1.4, and Apache Sling FileResource Provider
-1.0.0 (March 1, 2010)
+* New releases: Apache Sling Commons OSGi 2.0.6, Launchpad Base 2.2.0 and Maven Launchpad Plugin 2.0.6 (April 27, 2010)
+* New releases: Apache Sling Event 2.3.0, Apache Sling Scripting Core 2.1.0, Apache Commons MIME 2.1.4, and Apache Sling FileResource Provider 1.0.0 (March 1, 2010)
 * Eric Norman added as a committer (February 17, 2010)
-* New release: Apache Sling Sample Path Based Resource Type Provider 2.0.4
-(February 22, 2010)
-* New releases: Apache Sling Event 2.2.0, Apache Sling Scripting API 2.1.0,
-and Apache Sling Thread Dumper 0.2.0 (Feburary 19, 2010)
-* New releases: Apache Sling JCR WebDav 2.0.8, Apache Sling JCR
-ContentLoader 2.0.6, Apache Sling JCR UserManager 2.0.4, Apache Sling JCR
-Server 2.0.6, Apache Sling JCR AccessManager 2.0.4, Apache Sling JCR Base
-2.0.6 (February 17, 2010)
-* New releases: Apache Sling Commons ClassLoader 1.1.4, and Apache Sling
-JCR ClassLoader 3.1.0 (February 8, 2010)
+* New release: Apache Sling Sample Path Based Resource Type Provider 2.0.4 (February 22, 2010)
+* New releases: Apache Sling Event 2.2.0, Apache Sling Scripting API 2.1.0, and Apache Sling Thread Dumper 0.2.0 (Feburary 19, 2010)
+* New releases: Apache Sling JCR WebDav 2.0.8, Apache Sling JCR ContentLoader 2.0.6, Apache Sling JCR UserManager 2.0.4, Apache Sling JCR Server 2.0.6, Apache Sling JCR AccessManager 2.0.4, Apache Sling JCR Base 2.0.6 (February 17, 2010)
+* New releases: Apache Sling Commons ClassLoader 1.1.4, and Apache Sling JCR ClassLoader 3.1.0 (February 8, 2010)
 * New release: Apache Sling JCR API 2.0.6 (January 29, 2010)
-* New releases: Apache Sling Commons ClassLoader 1.1.2, Apache Sling
-Commons Scheduler 2.2.0, Apache Sling Commons Threads 3.0.0, Apache Sling
-Event 2.1.0, and Apache Sling Servlets Get 2.0.8 (December 21, 2009)
-* Apache Sling MIME type mapping support, Version 2.1.2, is released
-(December 15, 2009)
+* New releases: Apache Sling Commons ClassLoader 1.1.2, Apache Sling Commons Scheduler 2.2.0, Apache Sling Commons Threads 3.0.0, Apache Sling Event 2.1.0, and Apache Sling Servlets Get 2.0.8 (December 21, 2009)
+* Apache Sling MIME type mapping support, Version 2.1.2, is released (December 15, 2009)
 * Justin Edelson added as a committer (December 7, 2009)
-* New releases: Apache Sling Commons HTML 1.0.0, Apache Sling Commons
-Compiler 1.0.0, Apache Sling JCR Compiler 1.0.0, Apache Sling JCR Prefs
-1.0.0, and Apache Sling Scripting Java 1.0.0 (December 2, 2009)
-* New releases: Apache Sling Parent POM 8, Apache Sling Launchpad Base
-2.1.0, Apache Sling Commons ClassLoader 1.1.0, Apache Sling JCR ClassLoader
-3.0.0, Apache Sling Scripting Core 2.0.8, Apache Sling Scripting JSP 2.0.8,
-Apache Sling Scripting JSP Taglib 2.0.6, and Apache Sling Scripting
-JavaScript 2.0.6 (November 28, 2009)
-* New releases: Apache Sling Engine 2.0.6, Apache Sling Adapter 2.0.4,
-Apache Sling JCR Resource 2.0.6, Apache Sling Commons ClassLoader 1.0.0,
-Apache Sling Event 2.0.6, Apache Sling JCR ClassLoader 2.0.6, Apache Sling
-Scripting Core 2.0.6, Apache Sling Servlets Resolver 2.0.8 (October 13,
-2009)
-* New releases: Apache Sling API 2.0.8, Apache Sling Commons HTML 0.9.0,
-Apache Sling Commons ClassLoader 0.9.0, Apache Sling Commons Scheduler
-2.1.0, and Apache Sling Servlets Get 2.0.6 (October 02, 2009)
-* New releases: Apache Sling API 2.0.6 and Apache Sling JCR API 2.0.4
-(August 17, 2009)
-* Apache Sling OSGi LogService Implementation, Version 2.0.6, is released
-(August 5, 2009)
+* New releases: Apache Sling Commons HTML 1.0.0, Apache Sling Commons Compiler 1.0.0, Apache Sling JCR Compiler 1.0.0, Apache Sling JCR Prefs 1.0.0, and Apache Sling Scripting Java 1.0.0 (December 2, 2009)
+* New releases: Apache Sling Parent POM 8, Apache Sling Launchpad Base 2.1.0, Apache Sling Commons ClassLoader 1.1.0, Apache Sling JCR ClassLoader 3.0.0, Apache Sling Scripting Core 2.0.8, Apache Sling Scripting JSP 2.0.8, Apache Sling Scripting JSP Taglib 2.0.6, and Apache Sling Scripting JavaScript 2.0.6 (November 28, 2009)
+* New releases: Apache Sling Engine 2.0.6, Apache Sling Adapter 2.0.4, Apache Sling JCR Resource 2.0.6, Apache Sling Commons ClassLoader 1.0.0, Apache Sling Event 2.0.6, Apache Sling JCR ClassLoader 2.0.6, Apache Sling Scripting Core 2.0.6, Apache Sling Servlets Resolver 2.0.8 (October 13, 2009)
+* New releases: Apache Sling API 2.0.8, Apache Sling Commons HTML 0.9.0, Apache Sling Commons ClassLoader 0.9.0, Apache Sling Commons Scheduler 2.1.0, and Apache Sling Servlets Get 2.0.6 (October 02, 2009)
+* New releases: Apache Sling API 2.0.6 and Apache Sling JCR API 2.0.4 (August 17, 2009)
+* Apache Sling OSGi LogService Implementation, Version 2.0.6, is released (August 5, 2009)
 * Ian Boston added as a member of the PMC (July 25, 2009)
 * Ian Boston added as a committer (July 9, 2009)
 * Sling site at http://sling.apache.org live (June 29, 2009)
-* Mailing lists moved to dev(a)sling.apache.org and
-commits(a)sling.apache.org (June 29, 2009)
+* Mailing lists moved to dev(a)sling.apache.org and commits(a)sling.apache.org (June 29, 2009)
 * SVN moved to http://svn.apache.org/repos/asf/sling (June 18, 2009)
 * Apache Sling has graduated into a top level project! (June 17, 2009)

Modified: sling/site/trunk/content/old-stuff.mdtext
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/old-stuff.mdtext?rev=1341347&r1=1341346&r2=1341347&view=diff
==============================================================================
--- sling/site/trunk/content/old-stuff.mdtext (original)
+++ sling/site/trunk/content/old-stuff.mdtext Tue May 22 08:25:18 2012
@@ -1,4 +1,5 @@
 Title: Old Stuff
+
 Should either be deleted or reviewed and updated to match the current code:
 
 {children:all=true}