You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2017/06/20 13:27:40 UTC

[01/12] sling-site git commit: Revert 88e80480d5c1dd204ab2cb8a11be9f96caecc899 which ate whitespace at the beginning of lines

Repository: sling-site
Updated Branches:
  refs/heads/master 3aefcb199 -> 53c84cf92


http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/project-information/project-license.md
----------------------------------------------------------------------
diff --git a/content/project-information/project-license.md b/content/project-information/project-license.md
index e6f903a..c289d84 100644
--- a/content/project-information/project-license.md
+++ b/content/project-information/project-license.md
@@ -1,7 +1,10 @@
-title=Project License		
-type=page
+title=TODO title for project-license.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Project License
 
 As with all projects of the
 [Apache Software Foundation](http://apache.org),

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/project-information/project-team.md
----------------------------------------------------------------------
diff --git a/content/project-information/project-team.md b/content/project-information/project-team.md
index d0ce0ed..ac66585 100644
--- a/content/project-information/project-team.md
+++ b/content/project-information/project-team.md
@@ -1,7 +1,10 @@
-title=Project Team		
-type=page
+title=TODO title for project-team.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Project Team
 
 A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/project-information/security.md
----------------------------------------------------------------------
diff --git a/content/project-information/security.md b/content/project-information/security.md
index 6c265dc..7a79e32 100644
--- a/content/project-information/security.md
+++ b/content/project-information/security.md
@@ -1,7 +1,10 @@
-title=Security		
-type=page
+title=TODO title for security.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Security
 
 # Reporting New Security Problems with Apache Sling
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/site-conversion.md
----------------------------------------------------------------------
diff --git a/content/site-conversion.md b/content/site-conversion.md
index 691cfd3..85eb829 100644
--- a/content/site-conversion.md
+++ b/content/site-conversion.md
@@ -1,7 +1,10 @@
-title=Site conversion in progress - excuse our mess...		
-type=page
+title=TODO title for site-conversion.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Site conversion in progress - excuse our mess...
 
 The Sling website was recently converted to use the Apache CMS for content management,
 and we still have to check a number of pages for correct conversion.


[07/12] sling-site git commit: Revert 88e80480d5c1dd204ab2cb8a11be9f96caecc899 which ate whitespace at the beginning of lines

Posted by bd...@apache.org.
http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/sling-pipes.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/sling-pipes.md b/content/documentation/bundles/sling-pipes.md
index a19d19c..fb4bfbd 100644
--- a/content/documentation/bundles/sling-pipes.md
+++ b/content/documentation/bundles/sling-pipes.md
@@ -1,7 +1,10 @@
-title=Sling Pipes		
-type=page
+title=TODO title for sling-pipes.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Pipes
 
 tool for doing extract - transform - load operations through a resource tree configuration.
 
@@ -9,14 +12,14 @@ often one-shot data transformations need sample code to be written & executed. T
 
 ## What is a pipe
 
-getOutputBinding
-^
-|
-getInput  +---+---+   getOutput
-|       |
-+----> Pipe  +---->
-|       |
-+-------+
+             getOutputBinding
+                   ^
+                   |
+     getInput  +---+---+   getOutput
+               |       |
+          +----> Pipe  +---->
+               |       |
+               +-------+
 
 A sling pipe is essentially a sling resource stream:
 
@@ -29,14 +32,14 @@ At this moment, there are 3 types of pipes to consider:
 - "reader" pipes, that will just output a set of resource depending on the input
 - "writer" pipes, that write to the repository, depending on configuration and output
 - "container" pipes, that contains pipes, and whose job is to chain their execution : input is the input of their first pipe,
-output is the output of the last pipe it contains.
+ output is the output of the last pipe it contains.
 
 A `Plumber` osgi service is provided to help getting & executing pipes.
 
 ## Registered Pipes
 a pipe configuration is a jcr node, with:
 
-- `sling:resourceType` property, which must be a pipe type registered by the plumber
+- `sling:resourceType` property, which must be a pipe type registered by the plumber 
 - `name` property, that will be used in bindings as an id, and will be the key for the output bindings (default value being a value map of the current output resource). Note that the node name will be used in case no name is provided.
 - `path` property, defines pipe's input. Note that property is not mandatory in case the pipe is streamed after another pipe, in which case previous pipe output's can be used as input.
 - `expr` property, expression through which the pipe will execute (depending on the type)
@@ -162,11 +165,11 @@ Following configurations are evaluated:
 - `expr`
 - name/value of each property of some pipes (write, remove)
 
-you can use name of previous pipes in the pipe container, or the special binding `path`, where `path.previousPipe`
+you can use name of previous pipes in the pipe container, or the special binding `path`, where `path.previousPipe` 
 is the path of the current resource of previous pipe named `previousPipe`
 
 global bindings can be set at pipe execution, external scripts can be added to the execution as well (see pipe
-configurations)
+ configurations)
 
 ## How to execute a pipe
 for now it's possible to execute Pipes through GET (read) or POST (read/write) commands:
@@ -175,11 +178,11 @@ for now it's possible to execute Pipes through GET (read) or POST (read/write) c
 
 - either you'll need to create a slingPipes/plumber resource, say `etc/pipes` and then to execute
 
-curl -u admin:admin -F "path=/etc/pipes/mySamplePipe" http://localhost:8080/etc/pipes.json
+    curl -u admin:admin -F "path=/etc/pipes/mySamplePipe" http://localhost:8080/etc/pipes.json
 
 - either you execute the request directly on the pipe Path, e.g.
 
-curl -u admin:admin http://localhost:8080/etc/pipes/mySamplePipe.json
+    curl -u admin:admin http://localhost:8080/etc/pipes/mySamplePipe.json
 
 which will return you the path of the pipes that have been through the output of the configured pipe.
 
@@ -190,17 +193,17 @@ you can add as `bindings` parameter a json object of global bindings you want to
 e.g.
 
 
-curl -u admin:admin -F "path=/etc/pipes/test" -F "bindings={testBinding:'foo'}" http://localhost:4502/etc/pipes.json
+    curl -u admin:admin -F "path=/etc/pipes/test" -F "bindings={testBinding:'foo'}" http://localhost:4502/etc/pipes.json
 
 
 will returns something like
 
-{"size":2, "items":["/one/output/resource", "another/one"]}
+    {"size":2, "items":["/one/output/resource", "another/one"]}
 
 ### Request Parameter `writer`
 
 you can add as `writer` parameter a json object as a pattern to the result you want to have. The values of the json
-object are expressions and can reuse each pipe's subpipe binding.
+object are expressions and can reuse each pipe's subpipe binding. 
 Note
 this works only if the pipe called is a container
 pipe.
@@ -208,7 +211,7 @@ pipe.
 e.g.
 
 
-curl -u admin:admin http://localhost:4502/etc/pipes/users.json?writer={"user":"${user.fullName}"}
+    curl -u admin:admin http://localhost:4502/etc/pipes/users.json?writer={"user":"${user.fullName}"}
 
 will returns something similar to
 
@@ -225,133 +228,133 @@ default response is truncated to 10 items, if you need more (or less), you can m
 ### slingQuery | write
 this pipe parse all profile nodes, and
 
-{
-"sling:resourceType":"slingPipes/container",
-"name":"Dummy User prefix Sample",
-"jcr:description":"prefix all full names of profile with "Mr" or "Ms" depending on gender",
-"conf":{
-"profile": {
-"sling:resourceType":"slingPipes/slingQuery",
-"expr":"nt:unstructured#profile",
-"path":"/home/users"
-},
-"writeFullName": {
-"sling:resourceType":"slingPipes/write",
-"conf": {
-"fullName":"${(profile.gender === 'female' ? 'Ms ' + profile.fullName : 'Mr ' + profile.fullName)}",
-"generatedBy":"slingPipes"
-}
-}
-}
-}
+    {
+      "sling:resourceType":"slingPipes/container",
+      "name":"Dummy User prefix Sample",
+      "jcr:description":"prefix all full names of profile with "Mr" or "Ms" depending on gender",
+      "conf":{
+        "profile": {
+            "sling:resourceType":"slingPipes/slingQuery",
+            "expr":"nt:unstructured#profile",
+            "path":"/home/users"
+        },
+        "writeFullName": {
+            "sling:resourceType":"slingPipes/write",
+            "conf": {
+                "fullName":"${(profile.gender === 'female' ? 'Ms ' + profile.fullName : 'Mr ' + profile.fullName)}",
+                "generatedBy":"slingPipes"
+            }
+        }
+      }
+    }
 
 ### slingQuery | multiProperty | authorizable | write
-{
-"jcr:primaryType": "sling:Folder",
-"jcr:description": "move badge<->user relation ship from badge MV property to a user MV property"
-"name": "badges",
-"sling:resourceType": "slingPipes/container",
-"conf": {
-"jcr:primaryType": "sling:OrderedFolder",
-"badge": {
-"jcr:primaryType": "sling:Folder",
-"jcr:description": "outputs all badge component resources",
-"expr": "[sling:resourceType=myApp/components/badge]",
-"path": "/etc/badges/badges-admin/jcr:content",
-"sling:resourceType": "slingPipes/slingQuery"
-},
-"profile": {
-"jcr:primaryType": "sling:Folder",
-"jcr:description": "retrieve all user ids from a mv property",
-"path": "${path.badge}/profiles",
-"sling:resourceType": "slingPipes/multiProperty"
-},
-"user": {
-"jcr:primaryType": "sling:OrderedFolder",
-"jcr:description": "outputs user resource",
-"expr": "profile",
-"sling:resourceType": "slingPipes/authorizable"
-},
-"write": {
-"jcr:primaryType": "sling:OrderedFolder",
-"jcr:descritption": "patches the badge path to the badges property of the user profile"
-"path": "${path.user}/profile",
-"sling:resourceType": "slingPipes/write",
-"conf": {
-"jcr:primaryType": "nt:unstructured",
-"badges": "+[${path.badge}]"
-}
-}
-}
-}
+    {
+      "jcr:primaryType": "sling:Folder",
+      "jcr:description": "move badge<->user relation ship from badge MV property to a user MV property"
+      "name": "badges",
+      "sling:resourceType": "slingPipes/container",
+      "conf": {
+        "jcr:primaryType": "sling:OrderedFolder",
+        "badge": {
+          "jcr:primaryType": "sling:Folder",
+          "jcr:description": "outputs all badge component resources",
+          "expr": "[sling:resourceType=myApp/components/badge]",
+          "path": "/etc/badges/badges-admin/jcr:content",
+          "sling:resourceType": "slingPipes/slingQuery"
+          },
+        "profile": {
+          "jcr:primaryType": "sling:Folder",
+          "jcr:description": "retrieve all user ids from a mv property",
+          "path": "${path.badge}/profiles",
+          "sling:resourceType": "slingPipes/multiProperty"
+        },
+        "user": {
+          "jcr:primaryType": "sling:OrderedFolder",
+          "jcr:description": "outputs user resource",
+          "expr": "profile",
+          "sling:resourceType": "slingPipes/authorizable"
+        },
+        "write": {
+          "jcr:primaryType": "sling:OrderedFolder",
+          "jcr:descritption": "patches the badge path to the badges property of the user profile"
+          "path": "${path.user}/profile",
+          "sling:resourceType": "slingPipes/write",
+          "conf": {
+            "jcr:primaryType": "nt:unstructured",
+            "badges": "+[${path.badge}]"
+          }
+        }
+      }
+    }
 
 
 ### xpath | json | write
 this use case is for completing repository profiles with external system's data (that has an json api)
 
-{
-"jcr:primaryType": "nt:unstructured",
-"jcr:description": "this pipe retrieves json info from an external system and writes them to the user profile, uses moment.js, it
-distributes modified resources using publish distribution agent",
-"sling:resourceType": "slingPipes/container",
-"distribution.agent": "publish",
-"additionalScripts": "/etc/source/moment.js",
-"conf": {
-"jcr:primaryType": "sling:OrderedFolder",
-"profile": {
-"jcr:primaryType": "sling:OrderedFolder",
-"expr": "/jcr:root/home/users//element(profile,nt:unstructured)[@uid]",
-"jcr:description": "query all user profile nodes",
-"sling:resourceType": "slingPipes/xpath"
-},
-"json": {
-"jcr:primaryType": "sling:OrderedFolder",
-"expr": "${(profile.uid ? 'https://my.external.system.corp.com/profiles/' + profile.uid.substr(0,2) + '/' + profile.uid + '.json' : '')",
-"jcr:description": "retrieves json information relative to the given profile, if the uid is not found, expr is empty: the pipe will do nothing",
-"sling:resourceType": "slingPipes/json"
-},
-"write": {
-"jcr:primaryType": "sling:OrderedFolder",
-"path": "path.profile",
-"jcr:description": "write json information to the profile node",
-"sling:resourceType": "slingPipes/write",
-"conf": {
-"jcr:primaryType": "sling:OrderedFolder",
-"background": "${json.opt('background')}",
-"about": "${json.opt('about')}",
-"birthday": "${(json.opt('birthday') ? moment(json.opt('birthday'), "MMMM DD").toDate() : '')}",
-"mobile": "${json.opt('mobile')}"
-}
-}
-}
-}
+    {
+      "jcr:primaryType": "nt:unstructured",
+      "jcr:description": "this pipe retrieves json info from an external system and writes them to the user profile, uses moment.js, it
+      distributes modified resources using publish distribution agent",
+      "sling:resourceType": "slingPipes/container",
+      "distribution.agent": "publish",
+      "additionalScripts": "/etc/source/moment.js",
+      "conf": {
+        "jcr:primaryType": "sling:OrderedFolder",
+        "profile": {
+          "jcr:primaryType": "sling:OrderedFolder",
+          "expr": "/jcr:root/home/users//element(profile,nt:unstructured)[@uid]",
+          "jcr:description": "query all user profile nodes",
+          "sling:resourceType": "slingPipes/xpath"
+        },
+        "json": {
+          "jcr:primaryType": "sling:OrderedFolder",
+          "expr": "${(profile.uid ? 'https://my.external.system.corp.com/profiles/' + profile.uid.substr(0,2) + '/' + profile.uid + '.json' : '')",
+          "jcr:description": "retrieves json information relative to the given profile, if the uid is not found, expr is empty: the pipe will do nothing",
+          "sling:resourceType": "slingPipes/json"
+        },
+        "write": {
+          "jcr:primaryType": "sling:OrderedFolder",
+          "path": "path.profile",
+          "jcr:description": "write json information to the profile node",
+          "sling:resourceType": "slingPipes/write",
+          "conf": {
+            "jcr:primaryType": "sling:OrderedFolder",
+            "background": "${json.opt('background')}",
+            "about": "${json.opt('about')}",
+            "birthday": "${(json.opt('birthday') ? moment(json.opt('birthday'), \"MMMM DD\").toDate() : '')}",
+            "mobile": "${json.opt('mobile')}"
+          }
+        }
+      }
+    }
 
 ### xpath | parent | rm
 
-{
-"jcr:primaryType": "nt:unstructured",
-"jcr:description": "this pipe removes user with bad property in their profile",
-"sling:resourceType": "slingPipes/container",
-"conf": {
-"jcr:primaryType": "sling:OrderedFolder",
-"profile": {
-"jcr:primaryType": "sling:OrderedFolder",
-"expr": "/jcr:root/home/users//element(profile,nt:unstructured)[@bad]",
-"jcr:description": "query all user profile nodes with bad properties",
-"sling:resourceType": "slingPipes/xpath"
-},
-"parent": {
-"jcr:primaryType": "sling:OrderedFolder",
-"jcr:description": "get the parent node (user node)",
-"sling:resourceType": "slingPipes/parent"
-},
-"rm": {
-"jcr:primaryType": "sling:OrderedFolder",
-"jcr:description": "remove it",
-"sling:resourceType": "slingPipes/rm",
-}
-}
-}
+    {
+      "jcr:primaryType": "nt:unstructured",
+      "jcr:description": "this pipe removes user with bad property in their profile",
+      "sling:resourceType": "slingPipes/container",
+      "conf": {
+        "jcr:primaryType": "sling:OrderedFolder",
+        "profile": {
+          "jcr:primaryType": "sling:OrderedFolder",
+          "expr": "/jcr:root/home/users//element(profile,nt:unstructured)[@bad]",
+          "jcr:description": "query all user profile nodes with bad properties",
+          "sling:resourceType": "slingPipes/xpath"
+        },
+        "parent": {
+          "jcr:primaryType": "sling:OrderedFolder",
+          "jcr:description": "get the parent node (user node)",
+          "sling:resourceType": "slingPipes/parent"
+        },
+        "rm": {
+          "jcr:primaryType": "sling:OrderedFolder",
+          "jcr:description": "remove it",
+          "sling:resourceType": "slingPipes/rm",
+        }
+      }
+    }
 
 some other samples are in https://github.com/npeltier/sling-pipes/tree/master/src/test/
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/sling-query.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/sling-query.md b/content/documentation/bundles/sling-query.md
index ee2fd7f..3a8e9ff 100644
--- a/content/documentation/bundles/sling-query.md
+++ b/content/documentation/bundles/sling-query.md
@@ -1,7 +1,10 @@
-title=Sling Query		
-type=page
+title=TODO title for sling-query.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Query
 
 SlingQuery is a Sling resource tree traversal tool inspired by the [jQuery](http://api.jquery.com/category/traversing/tree-traversal/) JavaScript API.
 
@@ -9,25 +12,25 @@ SlingQuery is a Sling resource tree traversal tool inspired by the [jQuery](http
 
 The recommended way to find resources in the Sling repository is using tree-traversal methods, like `listChildren()` and `getParent()` rather than JCR queries. The latter are great for listing resources with given properties, but we can't leverage the repository tree structure with such queries. On the other hand, using tree-traversal method is quite verbose. Consider following code that takes an resource and returns its first ancestor, being `cq:Page`, with given `jcr:content/cq:template` attribute:
 
-Resource resource = ...;
-while ((resource = resource.getParent()) != null) {
-if (!resource.isResourceType("cq:Page")) {
-continue;
-}
-Resource template = resource.getChild("jcr:content/cq:template");
-if (template != null && "my/template".equals(template.adaptTo(String.class))) {
-break;
-}
-}
-if (resource != null) {
-// we've found appropriate ancestor
-}
+    Resource resource = ...;
+    while ((resource = resource.getParent()) != null) {
+        if (!resource.isResourceType("cq:Page")) {
+            continue;
+        }
+        Resource template = resource.getChild("jcr:content/cq:template");
+        if (template != null && "my/template".equals(template.adaptTo(String.class))) {
+            break;
+        }
+    }
+    if (resource != null) {
+        // we've found appropriate ancestor
+    }
 
 SlingQuery is a tool that helps creating such queries in a more concise way. Above code could be written as:
 
-import static org.apache.sling.query.SlingQuery.$;
-// ...
-$(resource).closest("cq:Page[jcr:content/cq:template=my/template]")
+    import static org.apache.sling.query.SlingQuery.$;
+    // ...
+    $(resource).closest("cq:Page[jcr:content/cq:template=my/template]")
 
 Dollar sign is a static method that takes the resource array and creates SlingQuery object. The `closest()` method returns the first ancestor matching the selector string passed as the argument.
 
@@ -45,11 +48,11 @@ SlingQuery is inspired by the jQuery framework. jQuery is the source of method n
 
 Add following Maven dependency to your `pom.xml`:
 
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.query</artifactId>
-<version>3.0.0</version>
-</dependency>
+	<dependency>
+		<groupId>org.apache.sling</groupId>
+		<artifactId>org.apache.sling.query</artifactId>
+		<version>3.0.0</version>
+	</dependency>
 
 ## Documentation
 
@@ -57,9 +60,9 @@ Add following Maven dependency to your `pom.xml`:
 * [Basic ideas](https://github.com/Cognifide/Sling-Query/wiki/Basic-ideas)
 * [Method list](https://github.com/Cognifide/Sling-Query/wiki/Method-list)
 * [Selector syntax](https://github.com/Cognifide/Sling-Query/wiki/Selector-syntax)
-* [Operator list](https://github.com/Cognifide/Sling-Query/wiki/Operator-list)
-* [Modifier list](https://github.com/Cognifide/Sling-Query/wiki/Modifier-list)
-* [Hierarchy operator list](https://github.com/Cognifide/Sling-Query/wiki/Hierarchy-operator-list)
+	* [Operator list](https://github.com/Cognifide/Sling-Query/wiki/Operator-list)
+	* [Modifier list](https://github.com/Cognifide/Sling-Query/wiki/Modifier-list)
+	* [Hierarchy operator list](https://github.com/Cognifide/Sling-Query/wiki/Hierarchy-operator-list)
 * [Examples](https://github.com/Cognifide/Sling-Query/wiki/Examples)
 
 ## External resources

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/sling-settings-org-apache-sling-settings.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/sling-settings-org-apache-sling-settings.md b/content/documentation/bundles/sling-settings-org-apache-sling-settings.md
index 7d99a92..a0dc727 100644
--- a/content/documentation/bundles/sling-settings-org-apache-sling-settings.md
+++ b/content/documentation/bundles/sling-settings-org-apache-sling-settings.md
@@ -1,7 +1,10 @@
-title=Sling Settings and Run Modes (org.apache.sling.settings)		
-type=page
+title=TODO title for sling-settings-org-apache-sling-settings.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Settings and Run Modes (org.apache.sling.settings)
 
 # Overview
 
@@ -32,7 +35,7 @@ The `sling.run.mode.options` property on the other hand is used at each startup,
 
 The value of the both these properties is a string which looks like:
 
-red,green,blue|one|moon,mars
+    red,green,blue|one|moon,mars
 
 where *comma-separated run modes form a group*. The individual groups are separated by a pipe character (`|`, which is not an OR operation, it's just as separator). A group defines a number of run modes which are **mutually exclusive**. It means once a group is defined, exactly one run mode will be active from that group.
 
@@ -42,16 +45,16 @@ The example from above consists out of 3 different groups
 2. `one`
 3. `moon,mars`
 
-The rules for determining the active run modes from the selected run mode (`sling.run.modes`) and the run mode options (`sling.run.mode.install.options` and `sling.run.mode.options`) are as follows :
+The rules for determining the active run modes from the selected run mode (`sling.run.modes`) and the run mode options (`sling.run.mode.install.options` and `sling.run.mode.options`) are as follows : 
 
-1. If none of the run modes in the options are selected, the first one from each group in the options is activated by default.
+1. If none of the run modes in the options are selected, the first one from each group in the options is activated by default. 
 1. If one is selected from a group in the options, this is active.
 1. If several are selected from one group in the options, the first one from the list of valid run modes is used.
 1. If the selected run mode is not mentioned in any of the option groups it is active
 
 Examples
 
-sling.run.mode.options=a,b|c,d,e
+    sling.run.mode.options=a,b|c,d,e
 
 User defined run modes (e.g. via property `sling.run.modes`) | Effectively active run modes
 --- | ---
@@ -68,14 +71,14 @@ Remember to look at the `RunModeImplTest` mentioned above for details, and feel
 
 The `SlingSettings` service provides the Run Modes of the running Sling instance as in this example:
 
-:::java
-SlingSettings settings = ...get from BundleContext...
-Set<String> currentRunModes = settings.getRunModes();
-
-Set<String> expectedRunModes = new HashSet<String>(){{ add("foo");add("wii"); }};
-if(expectedRunModes.removeAll(currentRunModes)) {
-// at least one of (foo,wii) run modes
-// is active
-}
-
+    :::java
+    SlingSettings settings = ...get from BundleContext...
+    Set<String> currentRunModes = settings.getRunModes();
+    
+    Set<String> expectedRunModes = new HashSet<String>(){{ add("foo");add("wii"); }};
+    if(expectedRunModes.removeAll(currentRunModes)) {
+      // at least one of (foo,wii) run modes
+      // is active
+    }
+	
 Getting run modes in this way is usually not needed, it's better to define bundles or configurations that are only valid in specific run modes, rather than making decisions in code based on run modes.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/subsystem-installer-factory.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/subsystem-installer-factory.md b/content/documentation/bundles/subsystem-installer-factory.md
index 5b5e3f4..58bcfeb 100644
--- a/content/documentation/bundles/subsystem-installer-factory.md
+++ b/content/documentation/bundles/subsystem-installer-factory.md
@@ -1,13 +1,16 @@
-title=Subsystems Installer Factory		
-type=page
+title=TODO title for subsystem-installer-factory.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Subsystems Installer Factory
 
 The subsystems installer factory provides support for subsystems to the [OSGI installer](/documentation/bundles/osgi-installer.html). The provisioning of artifacts is handled by installer providers like the file installer or the JCR installer.
 
 
 ## Subsystems
-
+ 	 
 The subsystem file must end with ".esa" and the manifest must at least contain the subsystem symbolic name "Subsystem-SymbolicName" header.
 
 # Project Info

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/validation.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/validation.md b/content/documentation/bundles/validation.md
index af1c7f4..5131512 100644
--- a/content/documentation/bundles/validation.md
+++ b/content/documentation/bundles/validation.md
@@ -1,7 +1,10 @@
-title=Sling Validation		
-type=page
+title=TODO title for validation.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Validation
 
 [TOC]
 
@@ -18,40 +21,40 @@ In addition a [service resolver mapping](/documentation/the-sling-engine/service
 # Basic Usage
 To validate a resource one first needs to get a `ValidationModel` and then validate the resource with that model. Both functionalities are provided by the `ValidationService` OSGi service:
 
-::java
-try {
-ValidationModel validationModel = validationService.getValidationModel(resource, true);
-if (validationModel != null) {
-ValidationResult result = validationService.validate(resource, validationModel);
-if (!result.isValid()) {
-// give out validation messages from result.get
-}
-}
-} catch (IllegalStateException e) {
-// give out error message that the validation model is invalid!
-}
-
+    ::java
+    try {
+        ValidationModel validationModel = validationService.getValidationModel(resource, true);
+        if (validationModel != null) {
+      	    ValidationResult result = validationService.validate(resource, validationModel);
+      	    if (!result.isValid()) {
+        	    // give out validation messages from result.get
+      	    }
+        }
+    } catch (IllegalStateException e) {
+        // give out error message that the validation model is invalid!
+    }
+    
 Apart from that it is also possible to validate resources including all child resources having their own validation model (i.e. a merged view of the validation models is applied). The appropriate validation model is being looked up by getting the resource type for each node. Since by default the JCR will return the primary type in case there is no `sling:resourceType` property found on the node, either the 2nd parameter `enforceValidation` should be set to `false` or some resource types must be explicitly ignored by the given filter in the 3rd parameter `filter` to also properly support validation models which have children resources on their own.
 
-::java
-try {
-final Predicate ignoreResourceType1Predicate = new Predicate<Resource>() {
-@Override
-public boolean test(final Resource resource) {
-return !"resourcetype1".equals(resource.getResourceType());
-}
-};
-ValidationResult result = validationService.validateResourceRecursively(resource, false, ignoreResourceType1Predicate, false);
-if (!result.isValid()) {
-// give out validation messages from result.getFailureMessages()
-}
-
-} catch (IllegalStateException e) {
-// give out error message that an invalid validation model for at least one sub resource was found
-} catch (IllegalArgumentException e) {
-// one of the resource types is absolute or there was no validation model found for at least one sub resource
-}
-
+    ::java
+    try {
+        final Predicate ignoreResourceType1Predicate = new Predicate<Resource>() {
+            @Override
+            public boolean test(final Resource resource) {
+                return !"resourcetype1".equals(resource.getResourceType());
+            }
+        };
+      	ValidationResult result = validationService.validateResourceRecursively(resource, false, ignoreResourceType1Predicate, false);
+      	if (!result.isValid()) {
+        	// give out validation messages from result.getFailureMessages()
+      	}
+        
+    } catch (IllegalStateException e) {
+        // give out error message that an invalid validation model for at least one sub resource was found
+    } catch (IllegalArgumentException e) {
+        // one of the resource types is absolute or there was no validation model found for at least one sub resource
+    }
+    
 All methods to retrieve a validation model support a boolean parameter `considerResourceSuperTypeModels`. If this is set to true, the validation model is not only being looked up for exactly the given resource type but also for all its resource super types. The returned model is then a merged model of all found validation model along the resource type hierarchy.
 
 ## ValidationResult
@@ -65,25 +68,25 @@ You have to use a `ResourceBundle` ([Internationalization Support](/documentatio
 
 # Validation Model Resources
 The `ValidationModel` is constructed from resources with the resourceType **sling/validation/model**. Those resources are considered validation model resources if they are located below the Sling ResourceResolver search paths (*/apps* and */libs*).
-
+ 
 The resources should have the following format:
 
-Property/Resource Name      | Property or Resource |  Type   |  Description   |  Mandatory   |  Example
+Property/Resource Name      | Property or Resource |  Type   |  Description   |  Mandatory   |  Example 
 -------------------- | ------- | -------------- | -------------| --------- | ------
 `sling:resourceType` | Property | `String` | Always `sling/validation/model`, otherwise model will never be picked up by Sling Validation. | yes | `sling/validation/model`
-`validatingResourceType` | Property | `String` | The resource type of the resource for which this validation model should be applied. Must always be relative to the resource resolver's search path (i.e. not start with a "/"). | yes | `my/own/resourcetype`
+`validatingResourceType` | Property | `String` | The resource type of the resource for which this validation model should be applied. Must always be relative to the resource resolver's search path (i.e. not start with a "/"). | yes | `my/own/resourcetype` 
 `applicablePaths` | Property |  `String[]` | Path prefixes which restrict the validation model to resources which are below one of the given prefixes. No wildcards are supported. If not given, there is no path restriction. If there are multiple validation models registered for the same resource type the one with the longest matching applicablePath is chosen. | no | `/content/mysite`
-`properties<propertyName>` | Resource | - | This resource ensures that the property with the name `<propertyName>` is there. The resource name has no longer a meaning if the property `nameRegex` is set on this node. | no | `false`
-`properties<propertyName>optional` | Property | `Boolean` | If `true` it is not an error if there is no property with the given `<propertyName>` or none matching the  `nameRegex`. If not set or `false` the property must be there.  | no | `false`
-`properties<propertyName>propertyMultiple` | Property | `Boolean` | If `true` only multivalue properties are allowed with the name `<propertyName>` or matching the `nameRegex`. If not set or `false`, multi- and single-value properties are accepted.  | no | `false`
-`properties<propertyName>nameRegex` | Property | `String` | If set the `<propertyName>` has no longer a meaning. Rather all properties which match the given regular expression are considered. At least one match is required, otherwise the validated resource/valuemap is considered invalid. | no | `property[0-8]`
-`properties<propertyName>validators<validatorId>` | Resource | - | The `<validatorId>` must be the id of a validator. The id is given by the OSGi service property `validator.id` set in the validator. Each validators node might have arbitrarily many child resources (one per validator).  | no | `false`
-`properties<propertyName>validators<validatorId>validatorArguments` | Property | `String[]` | The parametrization for the validator with the id  `<validatorId>`. Each value must have the pattern `key=value`. The parametrization differs per validator. | no | `regex=^[a-z]*$`
-`properties<propertyName>validators<validatorId>severity` | Property | `Integer` | The severity which should be set on all emitted validation failures by this validator. | no | `0`
-`children<resourceName>` | Resource | - | This resource ensures that the resource with the name `<resourceName>` is there. The resource name has no longer a meaning if the property `nameRegex` is set on this node. | no | `child1`
-`children<resourceName>nameRegex` | Property | `String` | If set the `<resourceName>` has no longer a meaning. Rather all resources whose name match the given regular expression are considered. At least one match is required, otherwise the validated resource/valuemap is considered invalid. | no | `child[1-9]`
-`children<resourceName>optional` | Property | `Boolean` | If `true` it is not an error if there is no resource with the given `<resourceName>` or none matching the  `nameRegex`. If not set or `false` the resource must be there. | no | `false`
-`children<resourceName>properties` | Resource | - | The properties can be configured on the child level in the same way as on the root level. | no | -
+`properties\<propertyName>` | Resource | - | This resource ensures that the property with the name `<propertyName>` is there. The resource name has no longer a meaning if the property `nameRegex` is set on this node. | no | `false`
+`properties\<propertyName>\optional` | Property | `Boolean` | If `true` it is not an error if there is no property with the given `<propertyName>` or none matching the  `nameRegex`. If not set or `false` the property must be there.  | no | `false`
+`properties\<propertyName>\propertyMultiple` | Property | `Boolean` | If `true` only multivalue properties are allowed with the name `<propertyName>` or matching the `nameRegex`. If not set or `false`, multi- and single-value properties are accepted.  | no | `false`
+`properties\<propertyName>\nameRegex` | Property | `String` | If set the `<propertyName>` has no longer a meaning. Rather all properties which match the given regular expression are considered. At least one match is required, otherwise the validated resource/valuemap is considered invalid. | no | `property[0-8]`  
+`properties\<propertyName>\validators\<validatorId>` | Resource | - | The `<validatorId>` must be the id of a validator. The id is given by the OSGi service property `validator.id` set in the validator. Each validators node might have arbitrarily many child resources (one per validator).  | no | `false`  
+`properties\<propertyName>\validators\<validatorId>\validatorArguments` | Property | `String[]` | The parametrization for the validator with the id  `<validatorId>`. Each value must have the pattern `key=value`. The parametrization differs per validator. | no | `regex=^[a-z]*$`
+`properties\<propertyName>\validators\<validatorId>\severity` | Property | `Integer` | The severity which should be set on all emitted validation failures by this validator. | no | `0` 
+`children\<resourceName>` | Resource | - | This resource ensures that the resource with the name `<resourceName>` is there. The resource name has no longer a meaning if the property `nameRegex` is set on this node. | no | `child1`
+`children\<resourceName>\nameRegex` | Property | `String` | If set the `<resourceName>` has no longer a meaning. Rather all resources whose name match the given regular expression are considered. At least one match is required, otherwise the validated resource/valuemap is considered invalid. | no | `child[1-9]`
+`children\<resourceName>\optional` | Property | `Boolean` | If `true` it is not an error if there is no resource with the given `<resourceName>` or none matching the  `nameRegex`. If not set or `false` the resource must be there. | no | `false`
+`children\<resourceName>\properties` | Resource | - | The properties can be configured on the child level in the same way as on the root level. | no | -
 
 ## Validation Model Inheritance
 Sling Validation optionally supports the inheritance of Sling Validation Models. This means not only the model for exactly the given resource type is considered, but also the models for all resource super types.
@@ -99,34 +102,34 @@ See [Sling Models validation](/documentation/bundles/models.html#validation)
 ## Before Sling Models 1.2.0
 One needs to call the validate method within the PostConstruct method of the according Sling Model
 
-::java
-@SlingObject
-protected Resource resource;
-
-@OSGiService
-protected ValidationService validation;
-
-@PostConstruct
-public void validate() {
-try {
-ValidationModel validationModel = validation.getValidationModel(resource);
-if (validationModel == null) {
-LOG.warn("No validation defined for resource '{}' with type '{}'", resource.getPath(), resource.getResourceType());
-
-} else {
-ValidationResult result = validation.validate(resource, validationModel);
-if (!result.isValid()) {
-// give out the validation result
-}
-}
-} catch (IllegalStateException e) {
-LOG.warn("Invalid validation model for resource '{}' with type '{}'", resource.getPath(), resource.getResourceType());
-}
-}
+    ::java
+    @SlingObject
+    protected Resource resource;
+    
+    @OSGiService
+    protected ValidationService validation;
+    
+    @PostConstruct
+    public void validate() {
+    	try {
+        ValidationModel validationModel = validation.getValidationModel(resource);
+        if (validationModel == null) {
+            LOG.warn("No validation defined for resource '{}' with type '{}'", resource.getPath(), resource.getResourceType());
+       
+        } else {
+            ValidationResult result = validation.validate(resource, validationModel);
+            if (!result.isValid()) {
+                // give out the validation result
+            }
+        }
+        } catch (IllegalStateException e) {
+        	 LOG.warn("Invalid validation model for resource '{}' with type '{}'", resource.getPath(), resource.getResourceType());
+        }
+    }
 
 # Validators
 
-Validator ID | Description | Parameters | Since
+Validator ID | Description | Parameters | Since 
 ---------------|-------------|------------|-------
 [`org.apache.sling.validation.core.RegexValidator`](https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/validators/RegexValidator.java) | Validates that a property value matches a given regular expression | `regex`, mandatory parameter giving a regular expression according to the pattern described in [java.util.regex.Pattern](http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html). Only if the property value matches this expression it is considered valid. | 1.0.0
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/web-console-extensions.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/web-console-extensions.md b/content/documentation/bundles/web-console-extensions.md
index fef0adb..05dc9cc 100644
--- a/content/documentation/bundles/web-console-extensions.md
+++ b/content/documentation/bundles/web-console-extensions.md
@@ -1,7 +1,10 @@
-title=Web Console Extensions		
-type=page
+title=TODO title for web-console-extensions.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Web Console Extensions
 
 The Apache Sling project provides two extensions to the [Apache Felix Web Console](http://felix.apache.org/site/apache-felix-web-console.html) (in addition to a number of plugins, of course):
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/xml-support.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/xml-support.md b/content/documentation/bundles/xml-support.md
index 5513fec..1afe75f 100644
--- a/content/documentation/bundles/xml-support.md
+++ b/content/documentation/bundles/xml-support.md
@@ -1,7 +1,10 @@
-title=XML support		
-type=page
+title=TODO title for xml-support.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: XML support
 Excerpt: XML mechanisms supported by Sling
 
 Out of the box, Sling provides no special bundles for XML. However, Sling supports multiple mechanisms and libraries. The ones we have validated with integration tests are:

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/configuration.md
----------------------------------------------------------------------
diff --git a/content/documentation/configuration.md b/content/documentation/configuration.md
index 147277f..8ad5a3b 100644
--- a/content/documentation/configuration.md
+++ b/content/documentation/configuration.md
@@ -1,20 +1,23 @@
-title=Configuration		
-type=page
+title=TODO title for configuration.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Configuration
 
 
 ## Introduction
 
 Configuration in Sling is aligned with respective support by the OSGi specification:
 
-* Framework and Java system properties are available through the `BundleContext.getProperty(String)` method. These properties are provided in Sling through the Sling launcher.
-* Bundle Header values are available through the `Bundle.getHeaders()` and `Bundle.getHeaders(String)` methods. These header values are set by the bundle developer in the `META-INF/MANIFEST.MF` file. In fact, all main manifest attributes are available through these methods.
-* Components managed by the Service Component Runtime and declared in component descriptor files listed in the `Service-Component` manifest header access configuration properties through the `ComponentContext.getProperties()` method. These properties have three sources:
-1. Configuration specified specifically for factory components
-2. Properties retrieved from the Configuration Admin Service
-3. Properties set in the component descriptor
-* Configuration properties provided to `ManagedService` and `ManagedServiceFactory` instances by the Configuration Admin Service.
+   * Framework and Java system properties are available through the `BundleContext.getProperty(String)` method. These properties are provided in Sling through the Sling launcher.
+   * Bundle Header values are available through the `Bundle.getHeaders()` and `Bundle.getHeaders(String)` methods. These header values are set by the bundle developer in the `META-INF/MANIFEST.MF` file. In fact, all main manifest attributes are available through these methods.
+   * Components managed by the Service Component Runtime and declared in component descriptor files listed in the `Service-Component` manifest header access configuration properties through the `ComponentContext.getProperties()` method. These properties have three sources:
+       1. Configuration specified specifically for factory components
+       2. Properties retrieved from the Configuration Admin Service
+       3. Properties set in the component descriptor
+   * Configuration properties provided to `ManagedService` and `ManagedServiceFactory` instances by the Configuration Admin Service.
 
 For the discussion to follow we differentiate between initial configuration provided by Framework and system properties and managed configuration provided by the Configuration Admin Service.
 
@@ -38,8 +41,8 @@ The Sling launcher is responsible to provide the Framework properties to the OSG
 1. Handle OSGi boot delegation support (see below).
 1. Resolve property references of the form `${propName`}
 1. For each property value starting with `ontext:/` do the following, assuming the value to be an URL with scheme `context:`:
-* Copy the application resource to `${sling.home`} preserving the URL path unless such a file already exists.
-* Replace the property value with the path to the newly created file. The path has the form `${sling.home}/relpath`.
+    * Copy the application resource to `${sling.home`} preserving the URL path unless such a file already exists.
+    * Replace the property value with the path to the newly created file. The path has the form `${sling.home}/relpath`.
 1. Store the properties as `${sling.home}/sling.properties` to be re-used on next startup
 1. Setup Bundle auto installation for the Felix Framework
 
@@ -98,7 +101,7 @@ The names of the files are resolved as follows:
 The packaged `sling.properties` file contains the following properties file inclusion setting:
 
 
-sling.include.jre = jre-${java.specification.version}.properties
+    sling.include.jre = jre-${java.specification.version}.properties
 
 
 This is used to include the JRE package list to be made visible inside the OSGi framework.
@@ -150,14 +153,14 @@ As listed in the above section on OSGi Boot Delegation Support, the `org.osgi.fr
 
 The following system property names are reserved:
 
-* Names starting with `org.osgi.` are reserved for OSGi defined Framework properties
-* Names starting with `org.apache.felix.` are reserved for the Felix Framework
-* Names starting with `sling.` and `org.apache.sling.` are reserved for Sling
+   * Names starting with `org.osgi.` are reserved for OSGi defined Framework properties
+   * Names starting with `org.apache.felix.` are reserved for the Felix Framework
+   * Names starting with `sling.` and `org.apache.sling.` are reserved for Sling
 
 To prevent property name collisions, I suggest the following convention:
 
-* Use fully qualified property names for initial configuration through Framework properties
-* Use unqualified property names for configuration through the Configuration Admin Service
+   * Use fully qualified property names for initial configuration through Framework properties
+   * Use unqualified property names for configuration through the Configuration Admin Service
 
 
 ## Well Known Properties

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development.md
----------------------------------------------------------------------
diff --git a/content/documentation/development.md b/content/documentation/development.md
index 97f16be..f748bb2 100644
--- a/content/documentation/development.md
+++ b/content/documentation/development.md
@@ -1,7 +1,10 @@
-title=Development		
-type=page
+title=TODO title for development.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Development
 
 Welcome to the wonderful world of extending Sling. Refer to these pages to find out how we envision the extension of Sling and how to do it.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/client-request-logging.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/client-request-logging.md b/content/documentation/development/client-request-logging.md
index 341fd41..0dc213f 100644
--- a/content/documentation/development/client-request-logging.md
+++ b/content/documentation/development/client-request-logging.md
@@ -1,7 +1,10 @@
-title=Client Request Logging		
-type=page
+title=TODO title for client-request-logging.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Client Request Logging
 
 Sling provides extensive support to log various information at the before and after processing client requests. Out of the box, there are two loggers configured to write traditional `access.log` and `request.log` files. In addition more logging can be configured by providing OSGi Configuration Admin configuration.
 
@@ -13,10 +16,10 @@ In the Sling Web Console locate the Configuration page (`/system/console/configM
 
 | Parameter | Name | Default | Description |
 |--|--|--|--|
-| Request Log Name | `request.log.output` | logs/request.log | Name of the destination for the request log. The request log logs the entry and exit of each request into and out of the system together with the entry time, exit time, time to process the request, a request counter as well as the final status code and response content type. In terms of Request Logger Service formats, request entry is logged with the format `%t [%R] -> %m %U%q %H` and request exit is logged with the format `%{end}t [%R] <- %s %{Content-Type}o %Dms` (See [Log Format Specification](#log-format-specification) below for the specification of the format). |
+| Request Log Name | `request.log.output` | logs/request.log | Name of the destination for the request log. The request log logs the entry and exit of each request into and out of the system together with the entry time, exit time, time to process the request, a request counter as well as the final status code and response content type. In terms of Request Logger Service formats, request entry is logged with the format `%t \[%R\] \-> %m %U%q %H` and request exit is logged with the format `%\{end}t \[%R] <\- %s %\{Content-Type}o %Dms` (See [Log Format Specification](#log-format-specification) below for the specification of the format). |
 | Request Log Type | `request.log.outputtype` | Logger Name | Type of Logger named with the Logger Name parameter. See [Log Output](#log-output) below |
 | Enable Request Log | `request.log.enabled` | true | Whether to enable Request logging or not. |
-| Access Log Name | `access.log.output` | logs/access.log | Name of the destination for the access log. The access log writes an entry for each request as the request terminates using the NCSA extended/combined log format. In terms of Request Logger Service formats the access log is written with the format `%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"` (See [Log Format Specification](#log-format-specification) below for the specification of the format). |
+| Access Log Name | `access.log.output` | logs/access.log | Name of the destination for the access log. The access log writes an entry for each request as the request terminates using the NCSA extended/combined log format. In terms of Request Logger Service formats the access log is written with the format `%h %l %u %t "%r" %>s %b "%\{Referer}i" "%\{User-Agent}i"` (See [Log Format Specification](#log-format-specification) below for the specification of the format). |
 | Access Log Type | `access.log.outputtype` | Logger Name | Type of Logger named with the Logger Name parameter. See [Log Output](#log-output) below |
 | Enable Access Log | `access.log.enabled` | true | Whether to enable Access logging or not. |
 
@@ -62,28 +65,28 @@ The characteristics of the request itself are logged by placing "%" directives i
 | `%A`  | Local IP-address |
 | `%B`  | Size of response in bytes, excluding HTTP headers. |
 | `%b`  | Size of response in bytes, excluding HTTP headers. In CLF format, i.e. a '-' rather than a 0 when no bytes are sent. |
-| `%{Foobar}C`  | The contents of cookie Foobar in the request sent to the server. |
+| `%\{Foobar}C`  | The contents of cookie Foobar in the request sent to the server. |
 | `%D`  | The time taken to serve the request, in milliseconds. Please note that this deviates from the Apache httpd format. |
-| `%{FOOBAR}e`  |Not supported in Sling; prints nothing. |
+| `%\{FOOBAR}e`  |Not supported in Sling; prints nothing. |
 | `%f`  | The absolute path of the resolved resource |
 | `%h`  | Remote host |
 | `%H`  | The request protocol |
-| `%{Foobar}i`  | The contents of Foobar: header line(s) in the request sent to the server. |
+| `%\{Foobar}i`  | The contents of Foobar: header line(s) in the request sent to the server. |
 | `%k`  | Not supported in Sling; prints nothing. |
 | `%l`  | Not supported in Sling; prints nothing. |
 | `%m`  | The request method |
-| `%{Foobar}n`  | Not supported in Sling; prints nothing. |
-| `%{Foobar}o`  | The contents of Foobar: header line(s) in the reply. |
+| `%\{Foobar}n`  | Not supported in Sling; prints nothing. |
+| `%\{Foobar}o`  | The contents of Foobar: header line(s) in the reply. |
 | `%p`  | The canonical port of the server serving the request |
-| `%{format}p`  | The canonical port of the server serving the request or the server's actual port or the client's actual port. Valid formats are canonical, local, or remote. |
+| `%\{format}p`  | The canonical port of the server serving the request or the server's actual port or the client's actual port. Valid formats are canonical, local, or remote. |
 | `%P`  | The *name of the thread* ~~process ID of the child~~ that serviced the request. |
-| `%{format}P`  | Same as `%P`; the `format` parameter is ignored. |
+| `%\{format}P`  | Same as `%P`; the `format` parameter is ignored. |
 | `%q`  | The query string (prepended with a ? if a query string exists, otherwise an empty string) |
 | `%r`  | First line of request |
 | `%R`  | The number of requests processed by Sling since the last start. |
 | `%s`  | Status. |
 | `%t`  | Time the request was received (standard english format) |
-| `%{format}t`  | Same as `%t`; the `format` parameter is ignored unless it is the literal value *end* indicating to use the time of request terminating (instead of the time of request receipt). |
+| `%\{format}t`  | Same as `%t`; the `format` parameter is ignored unless it is the literal value *end* indicating to use the time of request terminating (instead of the time of request receipt). |
 | `%T`  | The time taken to serve the request, in seconds. |
 | `%u`  | Remote user (from auth; may be bogus if return status (%s) is 401) |
 | `%U`  | The URL path requested, not including any query string. |
@@ -96,14 +99,14 @@ The characteristics of the request itself are logged by placing "%" directives i
 
 **Modifiers**
 
-Particular items can be restricted to print only for responses with specific HTTP status codes by placing a comma-separated list of status codes immediately following the "%". For example, "%400,501{User-agent}i" logs User-agent on 400 errors and 501 errors only. For other status codes, the literal string "-" will be logged. The status code list may be preceded by a "!" to indicate negation: "%!200,304,302{Referer}i" logs Referer on all requests that do not return one of the three specified codes.
+Particular items can be restricted to print only for responses with specific HTTP status codes by placing a comma-separated list of status codes immediately following the "%". For example, "%400,501\{User-agent}i" logs User-agent on 400 errors and 501 errors only. For other status codes, the literal string "-" will be logged. The status code list may be preceded by a "!" to indicate negation: "%!200,304,302\{Referer}i" logs Referer on all requests that do not return one of the three specified codes.
 
 The Apache httpd modifiers "<" and ">"  are not supported by Sling and currently ignored.
 
 
 **Some Notes**
 
-For security reasons non-printable and other special characters in %C, %i and %o are escaped using uhhhh sequences, where hhhh stands for the hexadecimal representation of the character's unicode value. Exceptions from this rule are " and , which are escaped by prepending a backslash, and all whitespace characters, which are written in their Java-style notation (n, t, etc).
+For security reasons non-printable and other special characters in %C, %i and %o are escaped using \uhhhh sequences, where hhhh stands for the hexadecimal representation of the character's unicode value. Exceptions from this rule are " and \, which are escaped by prepending a backslash, and all whitespace characters, which are written in their Java-style notation (\n, \t, etc).
 
 
 #### Rotating Logger Files
@@ -112,8 +115,8 @@ If you want to write the request (and access) logging information into a rotated
 
 1. Configure the Log Type to be a *Logger Name* and some usefull Logger name. For example `clientlog.request`.
 1. Create an *Apache Sling Logging Logger Configuration* for this Logger name according to [Logging Configuration]({{ refs.logging-logger-configuration.path }}) with the following setup:
-* Allow message at INFO (Information) level to be logged which is the level used by the request loggers
-* Define the appropriate log file name, for example `logs/client.request.log`
-* Use only `{5`} as the message format because request logger messages are generally already fully formated with required timestamp etc.
-* Add any Logger names used for the client request log configuration, `clientlog.request` in the example above, to the Logger field. By clicking on the `+` (plus) button you may add more than a single logger name whose messages are written to this file.
+    * Allow message at INFO (Information) level to be logged which is the level used by the request loggers
+    * Define the appropriate log file name, for example `logs/client.request.log`
+    * Use only `\{5`} as the message format because request logger messages are generally already fully formated with required timestamp etc.
+    * Add any Logger names used for the client request log configuration, `clientlog.request` in the example above, to the Logger field. By clicking on the `+` (plus) button you may add more than a single logger name whose messages are written to this file.
 1. Optionally, you may create an *Apache Sling Logging Writer Configuration* for the log file defined in the previous step to better control rotation setup. See [Log Writer Configuration]({{ refs.logging-log-writer-configuration.path }}) for full details.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/dependency-management.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/dependency-management.md b/content/documentation/development/dependency-management.md
index 88b9e1d..d96ae5f 100644
--- a/content/documentation/development/dependency-management.md
+++ b/content/documentation/development/dependency-management.md
@@ -1,7 +1,10 @@
-title=Dependency Management		
-type=page
+title=TODO title for dependency-management.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Dependency Management
 Excerpt: This page is about how we do and don't do dependency management in the Sling project.
 
 This page is about how we do and don't do dependency management in the Sling project.
@@ -32,9 +35,9 @@ As a consequence, I suggest we drop dependency management in the parent POM (alm
 
 The parent POM only does dependency management for build time dependencies and a very limited number of API dependencies used Sling wide. These dependencies are:
 
-* All plugin dependencies. That is `pluginManagement` is still used. Maven plugins are actually build time dependencies and therefore have no influence on the actual deployment.
-* Dependencies on commonly used testing environment helpers. Test helper classes are also build time dependencies used to run the unit and integration tests. As such, they may well be managed.
-* Sling makes a small number of assumptions about the environment, which we codify in the dependency management: The minimum version number of the OSGi specificaiton used, the Servlet API version and the JCR API version.
+   * All plugin dependencies. That is `pluginManagement` is still used. Maven plugins are actually build time dependencies and therefore have no influence on the actual deployment.
+   * Dependencies on commonly used testing environment helpers. Test helper classes are also build time dependencies used to run the unit and integration tests. As such, they may well be managed.
+   * Sling makes a small number of assumptions about the environment, which we codify in the dependency management: The minimum version number of the OSGi specificaiton used, the Servlet API version and the JCR API version.
 
 The `<dependencyManagement>` element currently contains the following managed dependencies:
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/embedding-sling.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/embedding-sling.md b/content/documentation/development/embedding-sling.md
index e07672b..7dd3730 100644
--- a/content/documentation/development/embedding-sling.md
+++ b/content/documentation/development/embedding-sling.md
@@ -1,15 +1,18 @@
-title=Embedding Sling		
-type=page
+title=TODO title for embedding-sling.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
 translation_pending: true
+Title: Embedding Sling
 
 The Sling Launchpad Launcher can be used to embed the OSGi Framework startup in your own Java application. This functionality is implemented in the [Sling Launchpad Base project](http://svn.apache.org/repos/asf/sling/trunk/launchpad/base). This project has the following features:
 
 * Builds three artifacts:
-* A standalone Java Application with the artifact qualifier *app*; e.g. `org.apache.sling.launchpad.base-2.3.1-SNAPSHOT-app.jar`
-* A Web Application with the artifact qualifier *webapp*; e.g `org.apache.sling.launchpad.base-2.3.1-SNAPSHOT-wepabb.war`
-* The primary artifact without an artifact qualifier; e.g. `org.apache.sling.launchpad.base-2.3.1-SNAPSHOT.jar`
+    * A standalone Java Application with the artifact qualifier *app*; e.g. `org.apache.sling.launchpad.base-2.3.1-SNAPSHOT-app.jar`
+    * A Web Application with the artifact qualifier *webapp*; e.g `org.apache.sling.launchpad.base-2.3.1-SNAPSHOT-wepabb.war`
+    * The primary artifact without an artifact qualifier; e.g. `org.apache.sling.launchpad.base-2.3.1-SNAPSHOT.jar`
 * Embeds the OSGi Framework (Apache Felix) in the primary artifact
 * Encapsulates the OSGi Framework in its own `URLClassLoader`
 * Supports Framework restart

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/getting-and-building-sling.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/getting-and-building-sling.md b/content/documentation/development/getting-and-building-sling.md
index 331c7d4..fad2c3b 100644
--- a/content/documentation/development/getting-and-building-sling.md
+++ b/content/documentation/development/getting-and-building-sling.md
@@ -1,28 +1,31 @@
-title=Getting and Building Sling		
-type=page
+title=TODO title for getting-and-building-sling.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Getting and Building Sling
 Excerpt: A quick guide for getting the Sling source, then building and running the resulting Sling instance; either without or with Eclipse.
 
 A quick guide for getting the Sling source, then building and running the resulting Sling instance; either without or with Eclipse.
 
-Note that you don't *have* to build Sling yourself, if you don't need the bleeding-edge stuff you can get prebuilt
+Note that you don't *have* to build Sling yourself, if you don't need the bleeding-edge stuff you can get prebuilt 
 binaries from the [Downloads](/downloads.cgi) page. But those, especially the launchpad runnable jar, are not released often
 and can be outdated. In case of doubt, build it yourself as shown below or ask on the Sling users mailing list.
 
 Rather than performing a full build of Sling, which can take 5-10 minutes on a recent computer once your local Maven
 repository is up to date, it's recommended to build only the launchpad and the modules you're interested in.
 
-## tl:dr - Short form build + run instructions
+## tl:dr - Short form build + run instructions 
 If you already have the required svn (or Git, see below) client, JDK and Maven installed, here's the short form recipe:
 
-$ svn co http://svn.apache.org/repos/asf/sling/trunk sling
-$ cd sling  # you are now in the Sling SVN checkout
-$ cd launchpad/builder
-$ mvn --update-snapshots clean install
-$ export DBG="-Xmx384M -agentlib:jdwp..." # (see below)
-$ java $DBG -jar target/org.apache.sling.launchpad... # (see below)
-
+    $ svn co http://svn.apache.org/repos/asf/sling/trunk sling 
+    $ cd sling  # you are now in the Sling SVN checkout
+    $ cd launchpad/builder
+    $ mvn --update-snapshots clean install
+    $ export DBG="-Xmx384M -agentlib:jdwp..." # (see below)
+    $ java $DBG -jar target/org.apache.sling.launchpad... # (see below)
+    
 With this, Sling should be running at http://localhost:8080 with remote debugging active as per the $DBG variable.
 
 ## Prerequisites
@@ -34,8 +37,8 @@ Before you begin, you need to have the following tools installed on your system:
 
 If you want to set up Eclipse (not required to build Sling) you'll also need the following installed:
 
-* 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)
-* M2Eclipse plugin for Eclipse (sonatype) -> [instructions](http://m2eclipse.sonatype.org/installing-m2eclipse.html)
+* 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) 
+* M2Eclipse plugin for Eclipse (sonatype) \-> [instructions](http://m2eclipse.sonatype.org/installing-m2eclipse.html)
 * [Subversive plugin](http://www.polarion.com/products/svn/subversive.php) or [Subclipse-plugin](http://subclipse.tigris.org) for Eclipse
 
 ## Environment Setup
@@ -44,16 +47,16 @@ The full build process requires quite a lot of resources, so you may run into li
 
 ### Environment Variable Space
 
-* *Problem* - Build aborts when trying to launch the integration tests with the message
-
-[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
+* *Problem* \- Build aborts when trying to launch the integration tests with the message
 
-error=12, Not enough space
+    [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
+    
+    error=12, Not enough space
 
 This problem is caused by insufficient swap space. When running the integration tests in the `launchpad/testing` modules, a process is launched by calling the `exec` 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.
 
-* *Platform* - OpenSolaris
-* *Fix* - If this issue persists you will need to check your system requirements and configuration with regard to swap, before taking action - if necessary.
+* *Platform* \- OpenSolaris
+* *Fix* \- If this issue persists you will need to check your system requirements and configuration with regard to swap, before taking action - if necessary.
 
 ## Configuring Maven
 
@@ -67,7 +70,7 @@ See [MavenTipsAndTricks](/documentation/development/maventipsandtricks.html).
 
 1. Checkout Sling from the Subversion repository
 
-$ svn checkout http://svn.apache.org/repos/asf/sling/trunk sling
+    $ svn checkout http://svn.apache.org/repos/asf/sling/trunk sling
 
 ### From the Sling GitHub mirror
 
@@ -75,7 +78,7 @@ $ svn checkout http://svn.apache.org/repos/asf/sling/trunk sling
 
 1. Checkout Sling from the GitHub mirror
 
-$ git clone https://github.com/apache/sling.git
+    $ git clone https://github.com/apache/sling.git
 
 ### With Eclipse Subversive or Subclipse
 First note how simple the above SVN instructions are...but if you *really* want to do this, read on.
@@ -88,14 +91,14 @@ Also, make sure that you have installed either the "Maven SCM handler for Subcli
 
 It's best to create a new workspace for the sling project:
 
-1. List item
-1. Menu: File->Switch Workspace->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->Build Automatically)
-1. Go to menu: Eclipse->Preferences, in the preferences dialog select Java -> Compiler -> Errors/Warnings
-1. Expand the "Deprecated and restricted API" and change "Forbidden references (access rules)" from "Error" to "Warning"
-1. Click OK
+ 1. List item
+ 1. Menu: File->Switch Workspace->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->Build Automatically)
+ 1. Go to menu: Eclipse->Preferences, in the preferences dialog select Java \-> Compiler \-> Errors/Warnings
+ 1. Expand the "Deprecated and restricted API" and change "Forbidden references (access rules)" from "Error" to "Warning"
+ 1. Click OK
 
 #### Checkout the Sling source
 
@@ -105,7 +108,7 @@ It's best to create a new workspace for the sling project:
 1. In the "SCM URL" field pick "SVN" and enter the url "http://svn.apache.org/repos/asf/sling/trunk"
 1. Click Finish
 
-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)!
+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)\!
 
 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:
 
@@ -123,19 +126,19 @@ you're working on at the moment.
 
 1. Enter the directory, then do a build and local install of the launchpad (below are unix/linux commands, slightly different under windows)
 
-$ cd sling
-$ cd launchpad/builder # you are now in the Sling SVN checkout
-$ mvn --update-snapshots clean install
-$ java -jar target/org.apache.sling.launchpad-*.jar -c test -f -
+        $ cd sling
+        $ cd launchpad/builder # you are now in the Sling SVN checkout
+        $ mvn --update-snapshots clean install
+        $ java -jar target/org.apache.sling.launchpad-*.jar -c test -f -
 
 <div class="note">
 When starting Sling inside the `launchpad/builder` folder you should not use the default Sling Home folder name `sling` because this folder is removed when running `mvn clean`.
 </div>
 
 Messages should now be printed to the console which is being used as the "log file";
-
-* the `-f` command line option is set to `-`, indicating the use of standard output as the log file.
-* the `-c sling` command line option instructs Sling to use the `sling` 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 [Configuration](/documentation/configuration.html) for more information).
+ 
+* the `-f` command line option is set to `-`, indicating the use of standard output as the log file. 
+* the `-c sling` command line option instructs Sling to use the `sling` 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 [Configuration](/documentation/configuration.html) for more information). 
 * Use the `-h` 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 [http://localhost:8080/system/console](http://localhost:8080/system/console). You will be prompted for a user name and password. Enter `admin` for both the user name and the password (this may be set on the *Configuration* page later). From this console, you can manage the installed bundles, modify configuration objects, dump a configuration status and see some system information.
@@ -144,9 +147,9 @@ To stop Sling, just hit `Ctrl-C` in the console or click the *Stop* button on th
 
 2. Enter the directory of the bundle you're working on, then do a build and deploy the bundle to the running launchpad instance
 
-$ cd sling
-$ cd bundles/servlets/get
-$ mvn clean install sling:install
+        $ cd sling
+        $ cd bundles/servlets/get
+        $ mvn clean install sling:install
 
 The Maven build command ensure that:
 
@@ -162,7 +165,7 @@ The Maven build command ensure that:
 1. Click "Browse Workspace..." and select "sling-builder"
 1. Enter "clean install" in Goals
 1. Click on the JRE tab
-1. Enter "-Xmx256m -XX:MaxPermSize=128m" in "VM arguments"
+1. Enter "-Xmx256m \-XX:MaxPermSize=128m" in "VM arguments"
 1. Click Apply
 1. Click Run
 
@@ -175,9 +178,9 @@ In the case that you do not want to use the M2Eclipse plugin there's another set
 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
 
-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.
+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.
 
-Congratulations ! You should now have a running Sling instance, that you can start playing around with.
+Congratulations \! You should now have a running Sling instance, that you can start playing around with.
 
 ## Further Tips and Tricks
 
@@ -188,7 +191,7 @@ You can use remote debugging to debug Sling in Eclipse, here's a little How-To
 
 1. start Sling from the command line with
 
-java -Xmx384M -agentlib:jdwp=transport=dt_socket,address=30303,server=y,suspend=n -jar org.apache.sling.launchpad.app-6-SNAPSHOT.jar
+    java -Xmx384M -agentlib:jdwp=transport=dt_socket,address=30303,server=y,suspend=n -jar org.apache.sling.launchpad.app-6-SNAPSHOT.jar
 
 1. Open Menu Run-> Debug configurations
 1. Right-click on "Remote Java Applications"
@@ -208,7 +211,7 @@ Now you should be able to set breakpoints, evaluate properties, and so on as usu
 
 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
 
-mvn -Dmaven.surefire.debug test
+    mvn -Dmaven.surefire.debug test
 
 
 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" > "Open Debug Dialog..." (see above).
@@ -224,6 +227,6 @@ The easiest way that I found is to create a new folder in the existing Eclipse w
 * Choose File/Import in Eclipse and select "Existing projects into workspace"
 * Now you can create, edit and compile the files in Eclipse
 * To create the bundle jar and install it, just use the command line "mvn clean install" in the project directory
-* If you have a running Sling app you can install the bundle from the command line with "mvn -P autoInstallBundle clean install -Dsling.url=http://localhost:8080/system/console"
+* If you have a running Sling app you can install the bundle from the command line with "mvn \-P autoInstallBundle clean install \-Dsling.url=http://localhost:8080/system/console"
 
 If adding dependencies to the poms, run mvn eclipse:eclipse again and refresh the project in Eclipse. Debugging works as described above.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/hamcrest.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/hamcrest.md b/content/documentation/development/hamcrest.md
index d8e9bf9..67f6870 100644
--- a/content/documentation/development/hamcrest.md
+++ b/content/documentation/development/hamcrest.md
@@ -1,7 +1,10 @@
-title=Hamcrest Integration		
-type=page
+title=TODO title for hamcrest.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Hamcrest Integration
 
 Deeper integration with the [Hamcrest matcher library](http://hamcrest.org/).
 
@@ -11,11 +14,11 @@ Deeper integration with the [Hamcrest matcher library](http://hamcrest.org/).
 This module has not yet been officially released.
 </div>
 
-#!xml
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.testing.hamcrest</artifactId>
-</dependency>
+    #!xml
+    <dependency>
+      <groupId>org.apache.sling</groupId>
+      <artifactId>org.apache.sling.testing.hamcrest</artifactId>
+    </dependency>
 
 Note that to keep the classpath consistent this module has all its dependencies marked as `provided`. It relies on your own project to define the needed dependencies, such as `org.hamcrest:hamcrest-core` and `org.apache.sling:org.apache.sling.api` .
 
@@ -25,21 +28,21 @@ See latest version on the [downloads page](/downloads.cgi).
 
 The class `org.apache.sling.testing.hamcrest.ResourceMatchers` is the main entry point. It contains static methods that can be used to create assertions.
 
-#!java
-import static org.apache.sling.hamcrest.ResourceMatchers.resourceOfType;
-
-public void MyServiceTest {
-
-@Test
-public void loadResources() {
-Map<String, Object> expectedProperties = /* define properties */;
-Resource resource = /* load resource */ null;
-
-assertThat(resource, resourceOfType("my/app"));
-assertThat(resource, hasChildren("header", "body"));
-assertThat(resource, resourceWithProps(expectedProperties));
-}
-
-}
+    #!java
+    import static org.apache.sling.hamcrest.ResourceMatchers.resourceOfType;
+    
+    public void MyServiceTest {
+    
+      @Test 
+      public void loadResources() {
+        Map<String, Object> expectedProperties = /* define properties */;
+        Resource resource = /* load resource */ null;
+        
+        assertThat(resource, resourceOfType("my/app"));
+        assertThat(resource, hasChildren("header", "body"));
+        assertThat(resource, resourceWithProps(expectedProperties));
+      }
+
+    }
 
 The Slingshot sample application uses these matchers, see [SetupServiceTest.java](http://svn.apache.org/repos/asf/sling/trunk/samples/slingshot/src/test/java/org/apache/sling/sample/slingshot/impl/SetupServiceTest.java) for an example.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/htl-maven-plugin.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/htl-maven-plugin.md b/content/documentation/development/htl-maven-plugin.md
index 1a95313..4df28c6 100644
--- a/content/documentation/development/htl-maven-plugin.md
+++ b/content/documentation/development/htl-maven-plugin.md
@@ -1,6 +1,9 @@
-title=HTL Maven Plugin		
-type=page
+title=TODO title for htl-maven-plugin.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: HTL Maven Plugin
 
 See [Apache Sling HTL Maven Plugin documentation](http://sling.apache.org/components/htl-maven-plugin/).

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/ide-tooling.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/ide-tooling.md b/content/documentation/development/ide-tooling.md
index d50807c..b7dc9c0 100644
--- a/content/documentation/development/ide-tooling.md
+++ b/content/documentation/development/ide-tooling.md
@@ -1,7 +1,10 @@
-title=Sling IDE tooling for Eclipse User Guide		
-type=page
+title=TODO title for ide-tooling.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling IDE tooling for Eclipse User Guide
 
 [TOC]
 
@@ -21,7 +24,7 @@ The links to the latest update site, including a permanent URL which stays up to
 
 The update sites are provided as a convenience for users that do not wish to build the project themselves. Building the project only requires a recent Maven installation. The project can be checked out, either [from trunk for the latest development version](https://svn.apache.org/repos/asf/sling/trunk/tooling/ide/) or [from a tag for released versions](https://svn.apache.org/repos/asf/sling/tags/), where the tags names have the format sling-ide-tooling-$VERSION. Once you have obtained the source code, it is enough to run
 
-mvn package
+	mvn package
 
 and you will find a p2 update site in p2update/target/repository .
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/ide-tooling/ide-tooling-incremental-build.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/ide-tooling/ide-tooling-incremental-build.md b/content/documentation/development/ide-tooling/ide-tooling-incremental-build.md
index 5322669..022251f 100644
--- a/content/documentation/development/ide-tooling/ide-tooling-incremental-build.md
+++ b/content/documentation/development/ide-tooling/ide-tooling-incremental-build.md
@@ -1,7 +1,10 @@
-title=Incremental Builds in Sling IDE tooling for Eclipse		
-type=page
+title=TODO title for ide-tooling-incremental-build.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Incremental Builds in Sling IDE tooling for Eclipse
 
 [TOC]
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/issue-tracker.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/issue-tracker.md b/content/documentation/development/issue-tracker.md
index e1d0d03..88a55a1 100644
--- a/content/documentation/development/issue-tracker.md
+++ b/content/documentation/development/issue-tracker.md
@@ -1,7 +1,10 @@
-title=Issue Tracker		
-type=page
+title=TODO title for issue-tracker.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Issue Tracker
 
 Apache Sling uses Jira for tracking bug reports and requests for improvements, new features, and other changes.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/jcr-mock.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/jcr-mock.md b/content/documentation/development/jcr-mock.md
index 5d1a8db..1e80cd2 100644
--- a/content/documentation/development/jcr-mock.md
+++ b/content/documentation/development/jcr-mock.md
@@ -1,7 +1,10 @@
-title=JCR Mocks		
-type=page
+title=TODO title for jcr-mock.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: JCR Mocks
 
 Mock implementation of selected JCR APIs for easier testing. It stores all data in-memory in a HashMap to ensure instantly creating and destroying of the JCR repository.
 
@@ -10,11 +13,11 @@ Mock implementation of selected JCR APIs for easier testing. It stores all data
 
 ## Maven Dependency
 
-#!xml
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.testing.jcr-mock</artifactId>
-</dependency>
+    #!xml
+    <dependency>
+      <groupId>org.apache.sling</groupId>
+      <artifactId>org.apache.sling.testing.jcr-mock</artifactId>
+    </dependency>
 
 See latest version on the [downloads page](/downloads.cgi).
 
@@ -35,7 +38,7 @@ The following features are *not supported*:
 * Transactions not supported
 * Observation events can be registered but are ignored
 * Access control always grants access
-* Exporting/Importing data via document and system views not supported
+* Exporting/Importing data via document and system views not supported 
 * Workspace management methods not supported
 
 
@@ -47,12 +50,12 @@ The factory class `MockJcr` allows to instantiate the different mock implementat
 
 Example:
 
-#!java
-// get session
-Session session = MockJcr.newSession();
+    #!java
+    // get session
+    Session session = MockJcr.newSession();
 
-// get repository
-Repository repository = MockJcr.newRepository();
+    // get repository
+    Repository repository = MockJcr.newRepository();
 
 The repository is empty and contains only the root node. You can use the JCR API to read or write content.
 
@@ -63,14 +66,14 @@ If you want to test code that contains a JCR query you can simulate a query exec
 
 Example:
 
-#!java
-// prepare mocked search result
-List<Node> resultNodes = ImmutableList.of(node1, node2, node3);
+    #!java
+    // prepare mocked search result
+    List<Node> resultNodes = ImmutableList.of(node1, node2, node3);
 
-// return this result for all queries
-MockJcr.setQueryResult(session, resultNodes);
+    // return this result for all queries
+    MockJcr.setQueryResult(session, resultNodes);
 
-// return this result for a specific query
-MockJcr.setQueryResult(session, "your query statement", Query.JCR_SQL2, resultNodes);
+    // return this result for a specific query
+    MockJcr.setQueryResult(session, "your query statement", Query.JCR_SQL2, resultNodes);
 
 Alternatively you can use the `MockJcr.addQueryResultHandler` method to pass a callback object that allows you to return a query result after inspecting the given query object.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/jspc.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/jspc.md b/content/documentation/development/jspc.md
index e1a3ab8..dde8f8d 100644
--- a/content/documentation/development/jspc.md
+++ b/content/documentation/development/jspc.md
@@ -1,6 +1,9 @@
-title=HTL Maven Plugin		
-type=page
+title=TODO title for jspc.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: HTL Maven Plugin
 
 See [Apache Sling JspC Maven Plugin documentation](http://sling.apache.org/components/jspc-maven-plugin/).


[05/12] sling-site git commit: Revert 88e80480d5c1dd204ab2cb8a11be9f96caecc899 which ate whitespace at the beginning of lines

Posted by bd...@apache.org.
http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/release-management.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/release-management.md b/content/documentation/development/release-management.md
index 29c2b65..e6aef56 100644
--- a/content/documentation/development/release-management.md
+++ b/content/documentation/development/release-management.md
@@ -1,7 +1,10 @@
-title=Release Management		
-type=page
+title=TODO title for release-management.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Release Management
 
 Sling releases (and SNAPSHOTS) are deployed to the [Nexus repository](http://repository.apache.org) instead of the traditional deployment via the Maven 2 mirrors source on `people.apache.org`. This makes the release process much leaner and simpler. In addtion we can benefit from the Apache Parent POM 6, which has most of the release profile setup built-in.
 
@@ -20,31 +23,31 @@ Most of the hard work of preparing and deploying the release is done by Maven.
 
 *Note*: Listing the Apache servers in the `settings.xml` file also requires adding the password to that file. Starting with Maven 2.1 this password may be encrypted and needs not be give in plaintext. Please refer to [Password Encryption](http://maven.apache.org/guides/mini/guide-encryption.html) for more information.
 
-In the past we staged release candidates on our local machines using a semi-manual process. Now that we inherit from the Apache parent POM version 6, a repository manager will automatically handle staging for you. This means you now only need to specify your GPG passphrase in the release profile of your `${user.home}/.m2/settings.xml`:
+In the past we staged release candidates on our local machines using a semi-manual process. Now that we inherit from the Apache parent POM version 6, a repository manager will automatically handle staging for you. This means you now only need to specify your GPG passphrase in the release profile of your `$\{user.home\}/.m2/settings.xml`:
 
 
-<settings>
-...
-<profiles>
-<profile>
-<id>apache-release</id>
-<properties>
-<gpg.passphrase> <!-- YOUR KEY PASSPHRASE --> </gpg.passphrase>
-</properties>
-</profile>
-</profiles>
-...
-</settings>
+    <settings>
+        ...
+        <profiles>
+            <profile>
+                <id>apache-release</id>
+                <properties>
+                    <gpg.passphrase> <!-- YOUR KEY PASSPHRASE --> </gpg.passphrase>
+                </properties>
+            </profile>
+        </profiles>
+        ...
+    </settings>
 
 
 Everything else has been configured in the latest Sling Parent POM:
 
 
-<parent>
-<groupId>org.apache.sling</groupId>
-<artifactId>sling</artifactId>
-<version>6</version>
-</parent>
+    <parent>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>sling</artifactId>
+        <version>6</version>
+    </parent>
 
 
 
@@ -56,88 +59,88 @@ First prepare your POMs for release:
 1. Make sure there are no snapshots in the POMs to be released. In case you rely on a release version which is not yet promoted, you have to temporarily switch that dependency version to the release version. This might break the Jenkins CI build though, as the staged version is not yet visible to Jenkins, so revert this change after you have staged the release candidate.
 1. Check that your POMs will not lose content when they are rewritten during the release process
 
-$ mvn release:prepare -DdryRun=true
+        $ mvn release:prepare -DdryRun=true
 
-Compare the original `pom.xml` with the one called `pom.xml.tag` to see if the license or any other info has been removed. This has been known to happen if the starting `<project>` tag is not on a single line. The only things that should be different between these files are the `<version>` and `<scm>` elements. If there are any other changes, you must fix the original `pom.xml` file and commit before proceeding with the release.
+    Compare the original `pom.xml` with the one called `pom.xml.tag` to see if the license or any other info has been removed. This has been known to happen if the starting `<project>` tag is not on a single line. The only things that should be different between these files are the `<version>` and `<scm>` elements. If there are any other changes, you must fix the original `pom.xml` file and commit before proceeding with the release.
 
 1. Publish a snapshot
 
-$ mvn deploy
-...
-[INFO] [deploy:deploy]
-[INFO] Retrieving previous build number from apache.snapshots.https
-...
+        $ mvn deploy
+        ...
+        [INFO] [deploy:deploy]
+        [INFO] Retrieving previous build number from apache.snapshots.https
+        ...
 
-* If you experience an error during deployment like a HTTP 401 check your settings for the required server entries as outlined in the *Prerequisites*
-* Make sure the generated artifacts respect the Apache release [rules](http://www.apache.org/dev/release.html): NOTICE and LICENSE files should be present in the META-INF directory within the jar. For -sources artifacts, be sure that your POM does not use the maven-source-plugin:2.0.3 which is broken. The recommended version at this time is 2.0.4
-* You should verify the deployment under the [snapshot](https://repository.apache.org/content/groups/snapshots/org/apache/sling) repository on Apache
+    * If you experience an error during deployment like a HTTP 401 check your settings for the required server entries as outlined in the *Prerequisites*
+    * Make sure the generated artifacts respect the Apache release [rules](http://www.apache.org/dev/release.html): NOTICE and LICENSE files should be present in the META-INF directory within the jar. For \-sources artifacts, be sure that your POM does not use the maven-source-plugin:2.0.3 which is broken. The recommended version at this time is 2.0.4
+    * You should verify the deployment under the [snapshot](https://repository.apache.org/content/groups/snapshots/org/apache/sling) repository on Apache
 
 1. Prepare the release
 
-$ mvn release:clean
-$ mvn release:prepare
+        $ mvn release:clean
+        $ mvn release:prepare
 
-* Preparing the release will create the new tag in SVN, automatically checking in on your behalf
-* If you get a build failure because of an SVN commit problem (namely *The specified baseline is not the latest baseline, so it may not be checked out.*), just repeat the `mvn release:prepare` command until SVN is happy. This is based on a known timing issue when using the European SVN mirror.
+    * Preparing the release will create the new tag in SVN, automatically checking in on your behalf
+    * If you get a build failure because of an SVN commit problem (namely *The specified baseline is not the latest baseline, so it may not be checked out.*), just repeat the `mvn release:prepare` command until SVN is happy. This is based on a known timing issue when using the European SVN mirror.
 
 1. Stage the release for a vote
 
-$ mvn release:perform
+        $ mvn release:perform
 
-* The release will automatically be inserted into a temporary staging repository for you, see the Nexus [staging documentation](http://www.sonatype.com/books/nexus-book/reference/staging.html) for full details
-* You can continue to use `mvn release:prepare` and `mvn release:perform` on other sub-projects as necessary on the same machine and they will be combined in the same staging repository - this is useful when making a release of multiple Sling modules.
+    * The release will automatically be inserted into a temporary staging repository for you, see the Nexus [staging documentation](http://www.sonatype.com/books/nexus-book/reference/staging.html) for full details
+    * You can continue to use `mvn release:prepare` and `mvn release:perform` on other sub-projects as necessary on the same machine and they will be combined in the same staging repository - this is useful when making a release of multiple Sling modules.
 
 1. Close the staging repository:
-* Login to [https://repository.apache.org](https://repository.apache.org) using your Apache SVN credentials. Click on *Staging* on the left. Then click on *org.apache.sling* in the list of repositories. In the panel below you should see an open repository that is linked to your username and IP. Right click on this repository and select *Close*. This will close the repository from future deployments and make it available for others to view. If you are staging multiple releases together, skip this step until you have staged everything
+    * Login to [https://repository.apache.org](https://repository.apache.org) using your Apache SVN credentials. Click on *Staging* on the left. Then click on *org.apache.sling* in the list of repositories. In the panel below you should see an open repository that is linked to your username and IP. Right click on this repository and select *Close*. This will close the repository from future deployments and make it available for others to view. If you are staging multiple releases together, skip this step until you have staged everything
 
 1. Verify the staged artifacts
-* If you click on your repository, a tree view will appear below. You can then browse the contents to ensure the artifacts are as you expect them. Pay particular attention to the existence of *.asc (signature) files. If you don't like the content of the repository, right click your repository and choose *Drop*. You can then rollback your release (see *Canceling the Release*) and repeat the process
-* Note the staging repository URL, especially the number at the end of the URL. You will need this in your vote email
+    * If you click on your repository, a tree view will appear below. You can then browse the contents to ensure the artifacts are as you expect them. Pay particular attention to the existence of \*.asc (signature) files. If you don't like the content of the repository, right click your repository and choose *Drop*. You can then rollback your release (see *Canceling the Release*) and repeat the process
+    * Note the staging repository URL, especially the number at the end of the URL. You will need this in your vote email
 
 ## Starting the Vote
 
 Propose a vote on the dev list with the closed issues, the issues left, and the staging repository - for example:
 
 
-To: "Sling Developers List" <de...@sling.apache.org>
-Subject: [VOTE] Release Apache Sling ABC version X.Y.Z
-
-Hi,
-
-We solved N issues in this release:
-https://issues.apache.org/jira/browse/SLING/fixforversion/...
-
-There are still some outstanding issues:
-https://issues.apache.org/jira/browse/SLING/component/...
-
-Staging repository:
-https://repository.apache.org/content/repositories/orgapachesling-[YOUR REPOSITORY ID]/
-
-You can use this UNIX script to download the release and verify the signatures:
-http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh
-
-Usage:
-sh check_staged_release.sh [YOUR REPOSITORY ID] /tmp/sling-staging
-
-Please vote to approve this release:
-
-[ ] +1 Approve the release
-[ ]  0 Don't care
-[ ] -1 Don't release, because ...
-
-This majority vote is open for at least 72 hours.
+    To: "Sling Developers List" <de...@sling.apache.org>
+    Subject: [VOTE] Release Apache Sling ABC version X.Y.Z
+    
+    Hi,
+    
+    We solved N issues in this release:
+    https://issues.apache.org/jira/browse/SLING/fixforversion/...
+    
+    There are still some outstanding issues:
+    https://issues.apache.org/jira/browse/SLING/component/...
+    
+    Staging repository:
+    https://repository.apache.org/content/repositories/orgapachesling-[YOUR REPOSITORY ID]/
+    
+    You can use this UNIX script to download the release and verify the signatures:
+    http://svn.apache.org/repos/asf/sling/trunk/check_staged_release.sh
+    
+    Usage:
+    sh check_staged_release.sh [YOUR REPOSITORY ID] /tmp/sling-staging
+    
+    Please vote to approve this release:
+    
+      [ ] +1 Approve the release
+      [ ]  0 Don't care
+      [ ] -1 Don't release, because ...
+    
+    This majority vote is open for at least 72 hours.
 
 ## Wait for the Results
 
 From [Votes on Package Releases](http://www.apache.org/foundation/voting.html):
 
-> Votes on whether a package is ready to be released follow a format similar to majority
-> approval -- except that the decision is officially determined solely by whether at least
-> three +1 votes were registered. Releases may not be vetoed. Generally the community
-> will table the vote to release if anyone identifies serious problems, but in most cases
-> the ultimate decision, once three or more positive votes have been garnered, lies with
-> the individual serving as release manager. The specifics of the process may vary from
-> project to project, but the 'minimum of three +1 votes' rule is universal.
+> Votes on whether a package is ready to be released follow a format similar to majority 
+> approval -- except that the decision is officially determined solely by whether at least 
+> three \+1 votes were registered. Releases may not be vetoed. Generally the community 
+> will table the vote to release if anyone identifies serious problems, but in most cases 
+> the ultimate decision, once three or more positive votes have been garnered, lies with 
+> the individual serving as release manager. The specifics of the process may vary from 
+> project to project, but the 'minimum of three \+1 votes' rule is universal.
 
 The list of binding voters is available on the [Project Team](/project-information/project-team.html) page.
 
@@ -146,21 +149,21 @@ If the vote is successful, post the result to the dev list - for example:
 
 
 
-To: "Sling Developers List" <de...@sling.apache.org>
-Subject: [RESULT] [VOTE] Release Apache Sling ABC version X.Y.Z
-
-Hi,
-
-The vote has passed with the following result :
-
-+1 (binding): <<list of names>>
-+1 (non binding): <<list of names>>
-
-I will copy this release to the Sling dist directory and
-promote the artifacts to the central Maven repository.
+    To: "Sling Developers List" <de...@sling.apache.org>
+    Subject: [RESULT] [VOTE] Release Apache Sling ABC version X.Y.Z
+    
+    Hi,
+    
+    The vote has passed with the following result :
+    
+    +1 (binding): <<list of names>>
+    +1 (non binding): <<list of names>>
+    
+    I will copy this release to the Sling dist directory and
+    promote the artifacts to the central Maven repository.
 
 
-Be sure to include all votes in the list and indicate which votes were binding. Consider -1 votes very carefully. While there is technically no veto on release votes, there may be reasons for people to vote -1. So sometimes it may be better to cancel a release when someone, especially a member of the PMC, votes -1.
+Be sure to include all votes in the list and indicate which votes were binding. Consider \-1 votes very carefully. While there is technically no veto on release votes, there may be reasons for people to vote \-1. So sometimes it may be better to cancel a release when someone, especially a member of the PMC, votes \-1.
 
 If the vote is unsuccessful, you need to fix the issues and restart the process - see *Canceling the Release*. Note that any changes to the artifacts under vote require a restart of the process, no matter how trivial. When restarting a vote version numbers must not be reused, since binaries might have already been copied around.
 
@@ -175,9 +178,9 @@ If the vote fails, or you decide to redo the release:
 1. Remove the release tag from Subversion (`svn del ...`)
 1. Login to [https://repository.apache.org](https://repository.apache.org) using your Apache SVN credentials. Click on *Staging* on the left. Then click on *org.apache.sling* in the list of repositories. In the panel below you should see a closed repository that is linked to your username and IP (if it's not yet closed you need to right click and select *Close*). Right click on this repository and select *Drop*.
 1. Remove the old version from Jira
-1. Create a new version in Jira with a version number following the one of the cancelled release
-1. Move all issues with the fix version set to the cancelled release to the next version
-1. Delete the old version from Jira
+    1. Create a new version in Jira with a version number following the one of the cancelled release
+    1. Move all issues with the fix version set to the cancelled release to the next version
+    1. Delete the old version from Jira
 1. Commit any fixes you need to make and start a vote for a new release.
 
 ## Promoting the Release
@@ -186,12 +189,12 @@ If the vote passes:
 
 
 1. Push the release to [https://dist.apache.org/repos/dist/release/sling/](https://dist.apache.org/repos/dist/release/sling/). This is only possible for PMC members (for a reasoning look at [http://www.apache.org/dev/release.html#upload-ci](http://www.apache.org/dev/release.html#upload-ci)). If you are not a PMC member, please ask one to do the upload for you.
-1. Commit the released artifacts to [https://dist.apache.org/repos/dist/release/sling/](https://dist.apache.org/repos/dist/release/sling/) which is replicated to [http://www.apache.org/dist/sling/](http://www.apache.org/dist/sling/) quickly via svnpubsub. Hint: use svn import to avoid having to checkout the whole folder first. The easiest to do this is to get the released artifact using the check script (check&#95;staged&#95;release.sh) and then simply copy the artifacts from the downloaded folder to your local checkout folder. Make sure to not add the checksum files for the signature file *.asc.*).
-* Make sure to *not* change the end-of-line encoding of the .pom when uploaded via svn import! Eg when a windows style eol encoded file is uploaded with the setting '*.pom = svn:eol-style=native' this would later fail the signature checks!
-1. Delete the old release artifacts from that same dist.apache.org svn folder (the dist directory is archived)
+	1. Commit the released artifacts to [https://dist.apache.org/repos/dist/release/sling/](https://dist.apache.org/repos/dist/release/sling/) which is replicated to [http://www.apache.org/dist/sling/](http://www.apache.org/dist/sling/) quickly via svnpubsub. Hint: use svn import to avoid having to checkout the whole folder first. The easiest to do this is to get the released artifact using the check script (check&#95;staged&#95;release.sh) and then simply copy the artifacts from the downloaded folder to your local checkout folder. Make sure to not add the checksum files for the signature file \*.asc.\*).
+        * Make sure to *not* change the end-of-line encoding of the .pom when uploaded via svn import! Eg when a windows style eol encoded file is uploaded with the setting '*.pom = svn:eol-style=native' this would later fail the signature checks!
+    1. Delete the old release artifacts from that same dist.apache.org svn folder (the dist directory is archived)
 1. Push the release to Maven Central
-1. Login to [https://repository.apache.org](https://repository.apache.org) with your Apache SVN credentials. Click on *Staging*. Find your closed staging repository and select it by checking the select box. Select the *Releases* repository from the drop-down list and click *Release* from the menu above.
-1. Once the release is promoted click on *Repositories*, select the *Releases* repository and validate that your artifacts are all there.
+	1. Login to [https://repository.apache.org](https://repository.apache.org) with your Apache SVN credentials. Click on *Staging*. Find your closed staging repository and select it by checking the select box. Select the *Releases* repository from the drop-down list and click *Release* from the menu above.
+	1. Once the release is promoted click on *Repositories*, select the *Releases* repository and validate that your artifacts are all there.
 1. Update the news section on the website at [news](/news.html).
 1. Update the download page on the website at [downloads](/downloads.cgi) to point to the new release.
 
@@ -213,35 +216,35 @@ Close all issues associated with the released version.
 We usually do such announcements only for "important" releases, as opposed to small individual module
 releases which are just announced on our [news](/news.html) page.
 
-To: "Sling Developers List" <de...@sling.apache.org>, "Apache Announcements" <an...@apache.org>
-Subject: [ANN] Apache Sling ABC version X.Y.Z Released
-
-The Apache Sling team is pleased to announce the release of Apache Sling ABC version X.Y.Z
-
-Apache Sling is a web framework that uses a Java Content Repository, such as Apache Jackrabbit, to store and manage content. Sling applications use either scripts or Java servlets, selected based on simple name conventions, to process HTTP requests in a RESTful way.
-
-<<insert short description of the sub-project>>
-
-http://sling.apache.org/site/apache-sling-ABC.html
-
-This release is available from http://sling.apache.org/site/downloads.cgi
-
-Building from verified sources is recommended, but convenience binaries are
-also available via Maven:
-
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.ABC</artifactId>
-<version>X.Y.Z</version>
-</dependency>
-
-Release Notes:
-
-<<insert release notes in text format from JIRA>>
-
-Enjoy!
-
--The Sling team
+    To: "Sling Developers List" <de...@sling.apache.org>, "Apache Announcements" <an...@apache.org>
+    Subject: [ANN] Apache Sling ABC version X.Y.Z Released
+    
+    The Apache Sling team is pleased to announce the release of Apache Sling ABC version X.Y.Z
+    
+    Apache Sling is a web framework that uses a Java Content Repository, such as Apache Jackrabbit, to store and manage content. Sling applications use either scripts or Java servlets, selected based on simple name conventions, to process HTTP requests in a RESTful way.
+    
+    <<insert short description of the sub-project>>
+    
+    http://sling.apache.org/site/apache-sling-ABC.html
+    
+    This release is available from http://sling.apache.org/site/downloads.cgi
+
+    Building from verified sources is recommended, but convenience binaries are
+    also available via Maven:
+    
+    <dependency>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>org.apache.sling.ABC</artifactId>
+        <version>X.Y.Z</version>
+    </dependency>
+        
+    Release Notes:
+    
+    <<insert release notes in text format from JIRA>>
+    
+    Enjoy!
+    
+    -The Sling team
 
 *Important*: Add the release to the Software section of the next board report below [Reports](https://cwiki.apache.org/confluence/display/SLING/Reports).
 
@@ -256,57 +259,57 @@ While the Sling IDE tooling is built using Maven, the toolchain that it is based
 
 1. set the fix version as released: `mvn tycho-versions:set-version -DnewVersion=1.0.2`
 1. update the version of the source-bundle project to 1.0.2
-1. commit the change to svn
+1. commit the change to svn   
 1. manually tag in svn using `svn copy https://svn.apache.org/repos/asf/sling/trunk/tooling/ide https://svn.apache.org/repos/asf/sling/tags/sling-ide-tooling-1.0.2`
 1. update to next version: `mvn tycho-versions:set-version -DnewVersion=1.0.3-SNAPSHOT` and also update the version of the source-bundle project
-1. commit the change to svn
+1. commit the change to svn 
 1. Checkout the version from the tag and proceed with the build from there `https://svn.apache.org/repos/asf/sling/tags/sling-ide-tooling-1.0.2`
-1. build the project with p2/gpg signing enabled: `mvn clean package -Psign`
-1. build the source bundle from the source-bundle directory: `mvn clean package`
-1. copy the following artifacts to https://dist.apache.org/repos/dist/dev/sling/ide-tooling-1.0.2
-1. source bundle ( org.apache.sling.ide.source-bundle-1.0.2.zip )
-1. zipped p2 repository ( org.apache.sling.ide.p2update-1.0.2.zip )
+1. build the project with p2/gpg signing enabled: `mvn clean package -Psign`   
+1. build the source bundle from the source-bundle directory: `mvn clean package`    
+1. copy the following artifacts to https://dist.apache.org/repos/dist/dev/sling/ide-tooling-1.0.2   
+    1. source bundle ( org.apache.sling.ide.source-bundle-1.0.2.zip )
+    1. zipped p2 repository ( org.apache.sling.ide.p2update-1.0.2.zip )    
 1. ensure the artifacts are checksummed and gpg-signed by using the `tooling/ide/sign.sh` script
-1. call the vote
+1. call the vote       
 
 The format of the release vote should be
 
-To: "Sling Developers List" <de...@sling.apache.org>
-Subject: [VOTE] Release Apache Sling IDE Tooling version X.Y.Z
-
-Hi,
+    To: "Sling Developers List" <de...@sling.apache.org>
+    Subject: [VOTE] Release Apache Sling IDE Tooling version X.Y.Z
 
-We solved N issues in this release:
-https://issues.apache.org/jira/browse/SLING/fixforversion/
+    Hi,
 
-There are still some outstanding issues:
-https://issues.apache.org/jira/browse/SLING/component/12320908
+    We solved N issues in this release:
+    https://issues.apache.org/jira/browse/SLING/fixforversion/
 
-The release candidate has been uploaded at
-https://dist.apache.org/repos/dist/dev/sling, The release artifact is
-the source bundle - org.apache.sling.ide.source-bundle-X.Y.Z.zip -
-which can be used to build the project using
+    There are still some outstanding issues:
+    https://issues.apache.org/jira/browse/SLING/component/12320908
 
-mvn clean package
+    The release candidate has been uploaded at
+    https://dist.apache.org/repos/dist/dev/sling, The release artifact is
+    the source bundle - org.apache.sling.ide.source-bundle-X.Y.Z.zip -
+    which can be used to build the project using
 
-The resulting binaries can be installed into an Eclipse instance from
-the update site which is found at p2update/target/repository after
-building the project.
+        mvn clean package
 
-You can use this UNIX script to download the release and verify the signatures:
-http://svn.apache.org/repos/asf/sling/trunk/tooling/ide/check_staged_release.sh
+    The resulting binaries can be installed into an Eclipse instance from
+    the update site which is found at p2update/target/repository after
+    building the project.
 
-Usage:
-sh check_staged_release.sh X.Y.Z /tmp/sling-staging
+    You can use this UNIX script to download the release and verify the signatures:
+    http://svn.apache.org/repos/asf/sling/trunk/tooling/ide/check_staged_release.sh
 
-Please vote to approve this release:
+    Usage:
+    sh check_staged_release.sh X.Y.Z /tmp/sling-staging
 
-[ ] +1 Approve the release
-[ ]  0 Don't care
-[ ] -1 Don't release, because ...
+    Please vote to approve this release:
 
-This majority vote is open for at least 72 hours
+      [ ] +1 Approve the release
+      [ ]  0 Don't care
+      [ ] -1 Don't release, because ...
 
+    This majority vote is open for at least 72 hours
+    
 
 Once the release has passed, the following must be done:
 
@@ -315,8 +318,8 @@ Once the release has passed, the following must be done:
 1. upload p2update.zip* to https://dist.apache.org/repos/dist/release/sling/
 1. upload unzipped update site to https://dist.apache.org/repos/dist/release/sling/eclipse/1.0.2
 1. upload the source bundle to https://dist.apache.org/repos/dist/release/sling/eclipse/1.0.2
-1. create GPG signatures and checksums for all uploaded jars using the `tooling/ide/sign.sh` script
-1. update https://dist.apache.org/repos/dist/release/sling/eclipse/composite{Content,Artifacts}.xml to point version 1.0.2
+    1. create GPG signatures and checksums for all uploaded jars using the `tooling/ide/sign.sh` script
+1. update https://dist.apache.org/repos/dist/release/sling/eclipse/composite\{Content,Artifacts}.xml to point version 1.0.2
 1. archive the old artifact versions but leave pointers to archive.apache.org, using compositeArtifacts.xml/compositeContent.xml , with a single child entry pointing to https://archive.apache.org/dist/sling/eclipse/1.0.0/
 1. remove the staged artifacts from https://dist.apache.org/repos/dist/dev/sling/ide-tooling-1.0.2
 1. update the news page and the download pages
@@ -324,104 +327,113 @@ Once the release has passed, the following must be done:
 
 ## Appendix A: Create and Add your key to [https://people.apache.org/keys/group/sling.asc](https://people.apache.org/keys/group/sling.asc)
 
-Considering that you are using a *nix system with a working OpenSSH, GnuPG, and bash you can create and add your own key with the following commands:
+Considering that you are using a \*nix system with a working OpenSSH, GnuPG, and bash you can create and add your own key with the following commands:
 
 1. Create a public/private pair key:
 
-$ gpg --gen-key
+        $ gpg --gen-key
 
-When gpg asks for e-mail linked the key you *MUST USE* the &lt;committer&gt;@apache.org one. When gpg asks for comment linked the key you *SHOULD USE* "CODE SIGNING KEY"
+    When gpg asks for e-mail linked the key you *MUST USE* the &lt;committer&gt;@apache.org one. When gpg asks for comment linked the key you *SHOULD USE* "CODE SIGNING KEY"
 
 1. Add the key to [https://people.apache.org/keys/group/sling.asc](https://people.apache.org/keys/group/sling.asc)
 
-1. Type the following command replacing the word `<e-mail>` with your Apache's one (&lt;committer&gt;@apache.org) to get the key signature
-
-$ gpg --fingerprint <e-mail>
-
-The key signature is in the output following the `Key fingerprint = ` part.
-
-1. Add the key signature into the field 'OpenPGP Public Key Primary Fingerprint' in your profile at [https://id.apache.org](https://id.apache.org).
-
-1. You are *DONE*, but to see the changes on [https://people.apache.org/keys/group/sling.asc](https://people.apache.org/keys/group/sling.asc) you may need to wait a few hours;
+    1. Type the following command replacing the word `<e-mail>` with your Apache's one (&lt;committer&gt;@apache.org) to get the key signature
+    
+            $ gpg --fingerprint <e-mail>
+            
+        The key signature is in the output following the `Key fingerprint = ` part.
+       
+    1. Add the key signature into the field 'OpenPGP Public Key Primary Fingerprint' in your profile at [https://id.apache.org](https://id.apache.org).
+    
+    1. You are *DONE*, but to see the changes on [https://people.apache.org/keys/group/sling.asc](https://people.apache.org/keys/group/sling.asc) you may need to wait a few hours;
 
 1. You also have to add your public key either on `pool.sks-keyservers.net` or `pgp.mit.edu` (for the staging repository). To do so you can follow these steps:
-1. Extract the key id from all the secret keys stored in the system:
-
-$ gpg --list-secret-keys.
-
-The output is something like this
-
-gpg --list-secret-keys
-/Users/konradwindszus/.gnupg/secring.gpg
-----------------------------------------
-
-sec   2048R/455ECC7C 2016-01-21
-uid                  Konrad Windszus <kw...@apache.org>
-ssb   2048R/226BCE00 2016-01-21
-
-The key id in this case is `455ECC7C`.
-
-1. Send the key towards e.g. `pool.sks-keyservers.net` via
-
-$ gpg --keyserver pool.sks-keyservers.net --send-key <key-id>
-
+    1. Extract the key id from all the secret keys stored in the system:
+
+            $ gpg --list-secret-keys.
+        
+        The output is something like this
+       
+            gpg --list-secret-keys
+            /Users/konradwindszus/.gnupg/secring.gpg
+            ----------------------------------------
+
+            sec   2048R/455ECC7C 2016-01-21
+            uid                  Konrad Windszus <kw...@apache.org>
+            ssb   2048R/226BCE00 2016-01-21
+       
+        The key id in this case is `455ECC7C`.
+       
+    1. Send the key towards e.g. `pool.sks-keyservers.net` via
+    
+            $ gpg --keyserver pool.sks-keyservers.net --send-key <key-id>
+        
 
 
 ## Appendix B: Maven and SCM credentials
 
 For running the `mvn release:prepare` command without giving credentials on command line add `svn.apache.org` to your `settings.xml`:
 
-<server>
-<id>svn.apache.org</id>
-<username>USERNAME</username>
-<password>ENCRYPTED_PASSWORD</password>
-</server>
-
+    <server>
+      <id>svn.apache.org</id>
+      <username>USERNAME</username>
+      <password>ENCRYPTED_PASSWORD</password>
+    </server>
+    
 ## Appendix C: Deploy bundles on the Sling OBR (obsolete)
 
 *Update November 2016: We do now longer maintain the Sling OBR for new releases.*
-
+    
 We are mainting an OSGi Bundle Repository providing all release of the Sling Bundles. This repository is maintained as part of the Apache Sling site and is available at [http://sling.apache.org/obr/sling.xml](http://sling.apache.org/obr/sling.xml). The source for this page is maintained in the SVN repository below the _site_, that is at [http://svn.apache.org/repos/asf/sling/site/](http://svn.apache.org/repos/asf/sling/site/). To update the Sling OBR repository you must be an Apache Sling Committer since this requires SVN write access.
-
+    
 To update the OBR you may use the Apache Felix Maven Bundle Plugin which prepares the bundle descriptor to be added to the OBR file. Follow these steps to update the OBR:
-
+    
 1. Checkout or update the Site Source
+   
+        $ svn checkout https://svn.apache.org/repos/asf/sling/site 
 
-$ svn checkout https://svn.apache.org/repos/asf/sling/site
-
-Note, that you have to checkout the site using the `https` URL, otherwise you will not be able to commit the changes later.
-
+    Note, that you have to checkout the site using the `https` URL, otherwise you will not be able to commit the changes later.
+    
 2. Deploy the Descriptor
-
-To deploy the project descriptor, checkout the tag of the bundle to deploy and run maven
-
-$ svn checkout http://svn.apache.org/repos/asf/sling/tags/the_module_tag
-$ cd the_module_tag
-$ mvn clean install             org.apache.felix:maven-bundle-plugin:deploy             -DprefixUrl=http://repo1.maven.org/maven2             -DremoteOBR=sling.xml             -DaltDeploymentRepository=apache.releases::default::file:///path_to_site_checkout/trunk/content/obr
-
-This generates the bundle descriptor and adds it to the sling.xml file of your site checkout.
-As it also installs a fresh compiled version of the artifacts, it's better to remove that version from your local repository again (A new binary has new checksums etc.).
-
+    
+    To deploy the project descriptor, checkout the tag of the bundle to deploy and run maven
+
+        $ svn checkout http://svn.apache.org/repos/asf/sling/tags/the_module_tag
+        $ cd the_module_tag
+        $ mvn clean install \
+            org.apache.felix:maven-bundle-plugin:deploy \
+            -DprefixUrl=http://repo1.maven.org/maven2 \
+            -DremoteOBR=sling.xml \
+            -DaltDeploymentRepository=apache.releases::default::file:///path_to_site_checkout/trunk/content/obr
+
+    This generates the bundle descriptor and adds it to the sling.xml file of your site checkout.
+    As it also installs a fresh compiled version of the artifacts, it's better to remove that version from your local repository again (A new binary has new checksums etc.).
+    
 2. Variant: Refer to Maven Repository
-
-Instead of checking out and building the project locally, you may also use the `deploy-file` goal of the Maven Bundle Plugin:
-
-$ wget http://repo1.maven.org/maven2/org/apache/sling/the_module/version/the_module-version.jar
-$ wget http://repo1.maven.org/maven2/org/apache/sling/the_moduleversion/the_module-version.pom
-$ mvn org.apache.felix:maven-bundle-plugin:deploy-file             -Dfile=the_module-version.jar -DpomFile=the_module-version.pom             -DbundleUrl=http://repo1.maven.org/maven2/org/apache/sling/the_module/version/the_module-version.jar             -Durl=file:///path_to_site_checkout/obr             -DprefixUrl=http://repo1.maven.org/maven2             -DremoteOBR=sling.xml
-$ rm the_module-version.jar the_module-version.pom
+    
+    Instead of checking out and building the project locally, you may also use the `deploy-file` goal of the Maven Bundle Plugin:
+
+        $ wget http://repo1.maven.org/maven2/org/apache/sling/the_module/version/the_module-version.jar
+        $ wget http://repo1.maven.org/maven2/org/apache/sling/the_moduleversion/the_module-version.pom
+        $ mvn org.apache.felix:maven-bundle-plugin:deploy-file \
+            -Dfile=the_module-version.jar -DpomFile=the_module-version.pom \
+            -DbundleUrl=http://repo1.maven.org/maven2/org/apache/sling/the_module/version/the_module-version.jar \
+            -Durl=file:///path_to_site_checkout/obr \
+            -DprefixUrl=http://repo1.maven.org/maven2 \
+            -DremoteOBR=sling.xml
+        $ rm the_module-version.jar the_module-version.pom
 
 3. Commit the Site Changes
 
-In the Site checkout folder commit the changes to the `trunk/content/obr/sling.xml` files (you may also review the changes using the `svn diff` command).
-
-$ svn commit -m"Add Bundle ABC Version X.Y.Z" trunk/content/obr/sling.xml
+    In the Site checkout folder commit the changes to the `trunk/content/obr/sling.xml` files (you may also review the changes using the `svn diff` command).
+    
+        $ svn commit -m"Add Bundle ABC Version X.Y.Z" trunk/content/obr/sling.xml
 
 4. Update the Site
 
-Wait for the buildbot to update the staging area with your site update (see dev list for an email).
-Then go to the CMS at [https://cms.apache.org/redirect?uri=http://sling.apache.org/obr](https://cms.apache.org/redirect?uri=http://sling.apache.org/obr) ,
-update your checkout and then publish the site.
+    Wait for the buildbot to update the staging area with your site update (see dev list for an email).
+    Then go to the CMS at [https://cms.apache.org/redirect?uri=http://sling.apache.org/obr](https://cms.apache.org/redirect?uri=http://sling.apache.org/obr) ,
+    update your checkout and then publish the site.
 
 
 ## Appendix D: Deploy Maven plugin documentation (if applicable)
@@ -441,15 +453,15 @@ To publish the plugin documentation execute the following steps after the releas
 1. Checkout the release tag of the released plugin (or reset your workspace)
 
 2. Build and stage the maven site of the plugin. Note that this *commits* the generated content to the components folder mentioned below.
-
-$ mvn clean site:site site:stage scm-publish:publish-scm
+   
+        $ mvn clean site:site site:stage scm-publish:publish-scm
 
 3. Checkout the 'components' subtree of the Sling website
 
-$ svn checkout https://svn.apache.org/repos/asf/sling/site/trunk/content/components
+        $ svn checkout https://svn.apache.org/repos/asf/sling/site/trunk/content/components
 
 4. SVN-rename the generated documenation that the site plugin commited to `<plugin-name>-archives/<plugin-name>-LATEST` to `<plugin-name>-archives/<plugin-name>-<version>`
-
+ 
 5. SVN-remove the existing folder `<plugin-name>` and SVN-copy the folder `<plugin-name>-archives/<plugin-name>-<version>` to `<plugin-name>`
 
 6. Commit the changes.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/repository-based-development.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/repository-based-development.md b/content/documentation/development/repository-based-development.md
index ddc7418..71dde6f 100644
--- a/content/documentation/development/repository-based-development.md
+++ b/content/documentation/development/repository-based-development.md
@@ -1,15 +1,18 @@
-title=Repository Based Development		
-type=page
+title=TODO title for repository-based-development.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Repository Based Development
 
 [TOC]
 
 # WebDAV Support
 
-WebDAV support in Sling is based on the [Simple WebDAV](http://jackrabbit.apache.org/jcr/components/jackrabbit-jcr-server.html#Simple_Webdav_Server) implementation of Apache Jackrabbit which is integrated in the `jcr/webdav` project. This bundle provides WebDAV access to Sling's repository in two flavours:
+WebDAV support in Sling is based on the [Simple WebDAV](http://jackrabbit.apache.org/jcr/components/jackrabbit-jcr-server.html#Simple_Webdav_Server) implementation of Apache Jackrabbit which is integrated in the `jcr/webdav` project. This bundle provides WebDAV access to Sling's repository in two flavours: 
 
-1. Access to all workspaces of the repository on a separate URI space -- by default rooted at `/dav` in the Sling context -- and
+1. Access to all workspaces of the repository on a separate URI space -- by default rooted at `/dav` in the Sling context -- and 
 2. access to the workspace used by Sling itself at the root of the Sling context.
 
 
@@ -20,17 +23,17 @@ Consider Sling be installed on a Servlet container in the `/sling` context on `s
 Please note that accessing the repository in the separate URI space is actually faster, since requests do not pass the Sling resource and script resolution framework but instead hit the Jackrabbit Simple WebDAV Servlet directly.
 
 
-## Separate URI Space WebDAV
+## Separate URI Space WebDAV 
 
 When accessing the repository through WebDAV in its separate URI Space, the URLs have the following generic structure:
 
-<slingroot>/<prefix>/<workspace>/<item>
+    <slingroot>/<prefix>/<workspace>/<item>
 
 
-* `slingroot` is the URL of the Sling web application context. In the above example, this would `http://some.host.net:8080/sling`.
-* `prefix` is the URL prefix to address the WebDAV servlet. By default this is set to `/dav` but may be configured to any valid path.
-* `workspace` is the name of the workspace to be accessed through WebDAV.
-* `item` is the path to the JCR Item to access.
+   * `slingroot` is the URL of the Sling web application context. In the above example, this would `http://some.host.net:8080/sling`.
+   * `prefix` is the URL prefix to address the WebDAV servlet. By default this is set to `/dav` but may be configured to any valid path.
+   * `workspace` is the name of the workspace to be accessed through WebDAV.
+   * `item` is the path to the JCR Item to access.
 
 If you access the WebDAV server at the prefix path -- e.g. `http://localhost:8080/dav` -- you will be redirected to the default workspace with a temporary redirect status 302. Some clients, such as the Linux *davfs*, do not like this redirection and must be configured to explicitly address the default workspace.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/resourceresolver-mock.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/resourceresolver-mock.md b/content/documentation/development/resourceresolver-mock.md
index 872f387..0e267d2 100644
--- a/content/documentation/development/resourceresolver-mock.md
+++ b/content/documentation/development/resourceresolver-mock.md
@@ -1,7 +1,10 @@
-title=Resource Resolver Mock		
-type=page
+title=TODO title for resourceresolver-mock.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Resource Resolver Mock
 
 Mock for the resource resolver / factory for easier testing. It uses an in-memory map for storing the resource data, and supports reading, writing and a certain level of transaction and eventing support.
 
@@ -10,11 +13,11 @@ Mock for the resource resolver / factory for easier testing. It uses an in-memor
 
 ## Maven Dependency
 
-#!xml
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.testing.resourceresolver-mock</artifactId>
-</dependency>
+    #!xml
+    <dependency>
+      <groupId>org.apache.sling</groupId>
+      <artifactId>org.apache.sling.testing.resourceresolver-mock</artifactId>
+    </dependency>
 
 See latest version on the [downloads page](/downloads.cgi).
 
@@ -42,9 +45,9 @@ The following features are *not supported*:
 
 To create a mocked resource resolver:
 
-#!java
-MockResourceResolverFactory factory = new MockResourceResolverFactory();
-ResourceResolver resolver = factory.getResourceResolver(null);
+    #!java
+    MockResourceResolverFactory factory = new MockResourceResolverFactory();
+    ResourceResolver resolver = factory.getResourceResolver(null);
 
 With the resolver you can use all Sling Resource features including reading and writing data using the Sling API.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/sling-mock.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/sling-mock.md b/content/documentation/development/sling-mock.md
index 2dbb43f..d44e34f 100644
--- a/content/documentation/development/sling-mock.md
+++ b/content/documentation/development/sling-mock.md
@@ -1,7 +1,10 @@
-title=Sling Mocks		
-type=page
+title=TODO title for sling-mock.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Mocks
 
 Mock implementation of selected Sling APIs for easier testing.
 
@@ -10,11 +13,11 @@ Mock implementation of selected Sling APIs for easier testing.
 
 ## Maven Dependency
 
-#!xml
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.testing.sling-mock</artifactId>
-</dependency>
+    #!xml
+    <dependency>
+      <groupId>org.apache.sling</groupId>
+      <artifactId>org.apache.sling.testing.sling-mock</artifactId>
+    </dependency>
 
 See latest version on the [downloads page](/downloads.cgi).
 
@@ -30,16 +33,16 @@ There are two major version ranges available:
 The mock implementation supports:
 
 * `ResourceResolver` implementation for reading and writing resource data using the Sling Resource API
-* Backed by a [mocked][jcr-mock] or real Jackrabbit JCR implementation
-* Uses the productive [Sling JCR resource provider implementation][jcr-resource] internally to do the Resource-JCR mapping
-* Alternatively the non-JCR mock implementation provided by the
-[Sling resourceresolver-mock implementation][resourceresolver-mock] can be used
+    * Backed by a [mocked][jcr-mock] or real Jackrabbit JCR implementation
+    * Uses the productive [Sling JCR resource provider implementation][jcr-resource] internally to do the Resource-JCR mapping
+    * Alternatively the non-JCR mock implementation provided by the 
+   [Sling resourceresolver-mock implementation][resourceresolver-mock] can be used
 * `AdapterManager` implementation for registering adapter factories and resolving adaptions
-* The implementation is thread-safe so it can be used in parallel running unit tests
+    * The implementation is thread-safe so it can be used in parallel running unit tests
 * `SlingScriptHelper` implementation providing access to mocked request/response objects and supports getting
-OSGi services from the [mocked OSGi][osgi-mock] environment.
+   OSGi services from the [mocked OSGi][osgi-mock] environment.
 * Implementations of the servlet-related Sling API classes like `SlingHttpServletRequest` and `SlingHttpServletRequest`
-* It is possible to set request data to simulate a certain Sling HTTP request
+    * It is possible to set request data to simulate a certain Sling HTTP request
 * Support for Sling Models (Sling Models API 1.1 and Impl 1.1 or higher required)
 * Additional services `MimeTypeService`
 * Context Plugins
@@ -47,7 +50,7 @@ OSGi services from the [mocked OSGi][osgi-mock] environment.
 The following features are *not supported*:
 
 * It is not possible (nor intended) to really execute sling components/scripts and render their results.
-* The goal is to test supporting classes in Sling context, not the sling components/scripts themselves
+    * The goal is to test supporting classes in Sling context, not the sling components/scripts themselves
 
 
 ### Additional features
@@ -55,9 +58,9 @@ The following features are *not supported*:
 Additional features provided:
 
 * `SlingContext` JUnit Rule for easily setting up a Sling Mock environment in your JUnit test cases
-* `ContentLoader` supports importing JSON data and binary data into the mock resource hierarchy to easily
-prepare a test fixture consisting of a hierarchy of resources and properties.
-* The same JSON format can be used that is provided by the Sling GET servlet for output
+* `ContentLoader` supports importing JSON data and binary data into the mock resource hierarchy to easily 
+  prepare a test fixture consisting of a hierarchy of resources and properties.
+    * The same JSON format can be used that is provided by the Sling GET servlet for output
 * `ContentBuilder` and `ResourceBuilder` make it easier to create resources and properties as test fixture
 
 
@@ -66,24 +69,24 @@ prepare a test fixture consisting of a hierarchy of resources and properties.
 ### Sling Context JUnit Rule
 
 The Sling mock context can be injected into a JUnit test using a custom JUnit rule named `SlingContext`.
-This rules takes care of all initialization and cleanup tasks required to make sure all unit tests can run
+This rules takes care of all initialization and cleanup tasks required to make sure all unit tests can run 
 independently (and in parallel, if required).
 
 Example:
 
-#!java
-public class ExampleTest {
+    #!java
+    public class ExampleTest {
 
-@Rule
-public final SlingContext context = new SlingContext();
+      @Rule
+      public final SlingContext context = new SlingContext();
 
-@Test
-public void testSomething() {
-Resource resource = context.resourceResolver().getResource("/content/sample/en");
-// further testing
-}
+      @Test
+      public void testSomething() {
+        Resource resource = context.resourceResolver().getResource("/content/sample/en");
+        // further testing
+      }
 
-}
+    }
 
 It is possible to combine such a unit test rule with a `@RunWith` annotation e.g. for
 [Mockito JUnit Runner][mockito-testrunner].
@@ -108,13 +111,13 @@ Additionally it supports:
 
 The Sling mock context supports different resource resolver types. Example:
 
-#!java
-public class ExampleTest {
+    #!java
+    public class ExampleTest {
 
-@Rule
-public final SlingContext context = new SlingContext(ResourceResolverType.RESOURCERESOLVER_MOCK);
+      @Rule
+      public final SlingContext context = new SlingContext(ResourceResolverType.RESOURCERESOLVER_MOCK);
 
-}
+    }
 
 Different resource resolver mock types are supported with pros and cons, see next chapter for details.
 
@@ -122,7 +125,7 @@ Different resource resolver mock types are supported with pros and cons, see nex
 ### Resource Resolver Types
 
 The Sling Mocks resource resolver implementation supports different "types" of adapters for the mocks.
-Depending on the type an underlying JCR repository is used or not, and the data is stored in-memory or in a real
+Depending on the type an underlying JCR repository is used or not, and the data is stored in-memory or in a real 
 repository.
 
 Resource resolver types currently supported:
@@ -158,12 +161,12 @@ Resource resolver types currently supported:
 
 To use this type you have to declare an additional dependency in your test project:
 
-#!xml
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.testing.sling-mock-oak</artifactId>
-<scope>test</scope>
-</dependency>
+    #!xml
+    <dependency>
+      <groupId>org.apache.sling</groupId>
+      <artifactId>org.apache.sling.testing.sling-mock-oak</artifactId>
+      <scope>test</scope>
+    </dependency>
 
 See latest version on the [downloads page](/downloads.cgi).
 
@@ -172,17 +175,17 @@ See latest version on the [downloads page](/downloads.cgi).
 * Uses a real JCR Jackrabbit implementation (not Oak) as provided by [sling/commons/testing][sling-commons-testing]
 * Full JCR/Sling features supported e.g. observations manager, transactions, versioning
 * Uses the productive [Sling JCR resource provider implementation][jcr-resource] internally to do the Resource-JCR mapping
-* Takes some seconds for startup on the first access
+* Takes some seconds for startup on the first access 
 * Node types defined in OSGi bundle header 'Sling-Nodetypes' found in MANIFEST.MF files in the classpath are registered automatically.
 
 To use this type you have to declare an additional dependency in your test project:
 
-#!xml
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.testing.sling-mock-jackrabbit</artifactId>
-<scope>test</scope>
-</dependency>
+    #!xml
+    <dependency>
+      <groupId>org.apache.sling</groupId>
+      <artifactId>org.apache.sling.testing.sling-mock-jackrabbit</artifactId>
+      <scope>test</scope>
+    </dependency>
 
 See latest version on the [downloads page](/downloads.cgi).
 
@@ -190,7 +193,7 @@ _Remarks on the JCR_JACKRABBIT type:_
 
 * The repository is not cleared for each unit test, so make sure to use a unique node path for each unit test. You may use the `uniquePath()` helper object of the SlingContext rule for this.
 * The [sling/commons/testing][sling-commons-testing] dependency introduces a lot of further dependencies from
-jackrabbit and others, be careful that they do not conflict and are imported in the right order in your test project
+  jackrabbit and others, be careful that they do not conflict and are imported in the right order in your test project
 
 
 
@@ -198,12 +201,12 @@ jackrabbit and others, be careful that they do not conflict and are imported in
 
 Example:
 
-#!java
-// get a resource resolver
-ResourceResolver resolver = MockSling.newResourceResolver();
+    #!java
+    // get a resource resolver
+    ResourceResolver resolver = MockSling.newResourceResolver();
 
-// get a resource resolver backed by a specific repository type
-ResourceResolver resolver = MockSling.newResourceResolver(ResourceResolverType.JCR_MOCK);
+    // get a resource resolver backed by a specific repository type
+    ResourceResolver resolver = MockSling.newResourceResolver(ResourceResolverType.JCR_MOCK);
 
 If you use the `SlingContext` JUnit rule you case just use `context.resourceResolver()`.
 
@@ -214,19 +217,19 @@ You can register your own or existing adapter factories to support adaptions e.g
 
 Example:
 
-#!java
-// register adapter factory
-BundleContext bundleContext = MockOsgi.newBundleContext();
-MockSling.setAdapterManagerBundleContext(bundleContext);
-bundleContext.registerService(myAdapterFactory);
+    #!java
+    // register adapter factory
+    BundleContext bundleContext = MockOsgi.newBundleContext();
+    MockSling.setAdapterManagerBundleContext(bundleContext);
+    bundleContext.registerService(myAdapterFactory);
 
-// test adaption
-MyClass object = resource.adaptTo(MyClass.class);
+    // test adaption
+    MyClass object = resource.adaptTo(MyClass.class);
 
-// cleanup after unit test
-MockSling.clearAdapterManagerBundleContext();
+    // cleanup after unit test
+    MockSling.clearAdapterManagerBundleContext();
 
-Make sure you clean up the adapter manager bundle association after running the unit test otherwise it can
+Make sure you clean up the adapter manager bundle association after running the unit test otherwise it can 
 interfere with the following tests. If you use the `SlingContext` JUnit rule this is done automatically for you.
 
 If you use the `SlingContext` JUnit rule you case just use `context.registerService()`.
@@ -236,19 +239,19 @@ If you use the `SlingContext` JUnit rule you case just use `context.registerServ
 
 Example:
 
-#!java
-// get script helper
-SlingScriptHelper scriptHelper = MockSling.newSlingScriptHelper();
+    #!java
+    // get script helper
+    SlingScriptHelper scriptHelper = MockSling.newSlingScriptHelper();
 
-// get request
-SlingHttpServletRequest request = scriptHelper.getRequest();
+    // get request
+    SlingHttpServletRequest request = scriptHelper.getRequest();
 
-// get service
-MyService object = scriptHelper.getService(MyService.class);
+    // get service
+    MyService object = scriptHelper.getService(MyService.class);
 
 To support getting OSGi services you have to register them via the `BundleContext` interface of the
 [JCR Mocks][jcr-mock] before. You can use an alternative factory method for the `SlingScriptHelper` providing
-existing instances of request, response and bundle context.
+existing instances of request, response and bundle context. 
 
 If you use the `SlingContext` JUnit rule you case just use `context.slingScriptHelper()`.
 
@@ -257,68 +260,68 @@ If you use the `SlingContext` JUnit rule you case just use `context.slingScriptH
 
 Example for preparing a sling request with custom request data:
 
-#!java
-// prepare sling request
-ResourceResolver resourceResolver = MockSling.newResourceResolver();
-MockSlingHttpServletRequest request = new MockSlingHttpServletRequest(resourceResolver);
+    #!java
+    // prepare sling request
+    ResourceResolver resourceResolver = MockSling.newResourceResolver();
+    MockSlingHttpServletRequest request = new MockSlingHttpServletRequest(resourceResolver);
 
-// simulate query string
-request.setQueryString("param1=aaa&param2=bbb");
+    // simulate query string
+    request.setQueryString("param1=aaa&param2=bbb");
 
-// alternative - set query parameters as map
-request.setParameterMap(ImmutableMap.<String,Object>builder()
-.put("param1", "aaa")
-.put("param2", "bbb")
-.build());
+    // alternative - set query parameters as map
+    request.setParameterMap(ImmutableMap.<String,Object>builder()
+        .put("param1", "aaa")
+        .put("param2", "bbb")
+        .build());
 
-// set current resource
-request.setResource(resourceResolver.getResource("/content/sample"));
+    // set current resource
+    request.setResource(resourceResolver.getResource("/content/sample"));
 
-// set sling request path info properties
-MockRequestPathInfo requestPathInfo = (MockRequestPathInfo)request.getRequestPathInfo();
-requestPathInfo.setSelectorString("selector1.selector2");
-requestPathInfo.setExtension("html");
+    // set sling request path info properties
+    MockRequestPathInfo requestPathInfo = (MockRequestPathInfo)request.getRequestPathInfo();
+    requestPathInfo.setSelectorString("selector1.selector2");
+    requestPathInfo.setExtension("html");
 
-// set method
-request.setMethod(HttpConstants.METHOD_POST);
+    // set method
+    request.setMethod(HttpConstants.METHOD_POST);
 
-// set attributes
-request.setAttribute("attr1", "value1");
+    // set attributes
+    request.setAttribute("attr1", "value1");
 
-// set headers
-request.addHeader("header1", "value1");
+    // set headers
+    request.addHeader("header1", "value1");
 
-// set cookies
-request.addCookie(new Cookie("cookie1", "value1"));
+    // set cookies
+    request.addCookie(new Cookie("cookie1", "value1"));
 
 
 ### SlingHttpServletResponse
 
 Example for preparing a sling response which can collect the data that was written to it:
 
-#!java
-// prepare sling response
-MockSlingHttpServletResponse response = new MockSlingHttpServletResponse();
+    #!java
+    // prepare sling response
+    MockSlingHttpServletResponse response = new MockSlingHttpServletResponse();
 
-// execute your unit test code that writes to the response...
+    // execute your unit test code that writes to the response...
 
-// validate status code
-assertEquals(HttpServletResponse.SC_OK, response.getStatus());
+    // validate status code
+    assertEquals(HttpServletResponse.SC_OK, response.getStatus());
 
-// validate content type and content length
-assertEquals("text/plain;charset=UTF-8", response.getContentType());
-assertEquals(CharEncoding.UTF_8, response.getCharacterEncoding());
-assertEquals(55, response.getContentLength());
+    // validate content type and content length
+    assertEquals("text/plain;charset=UTF-8", response.getContentType());
+    assertEquals(CharEncoding.UTF_8, response.getCharacterEncoding());
+    assertEquals(55, response.getContentLength());
 
-// validate headers
-assertTrue(response.containsHeader("header1"));
-assertEquals("5", response.getHeader("header2"));
+    // validate headers
+    assertTrue(response.containsHeader("header1"));
+    assertEquals("5", response.getHeader("header2"));
 
-// validate response body as string
-assertEquals(TEST_CONTENT, response.getOutputAsString());
+    // validate response body as string
+    assertEquals(TEST_CONTENT, response.getOutputAsString());
 
-// validate response body as binary data
-assertArrayEquals(TEST_DATA, response.getOutput());
+    // validate response body as binary data
+    assertArrayEquals(TEST_DATA, response.getOutput());
 
 
 ### Import resource data from JSON file in classpath
@@ -328,32 +331,32 @@ in the classpath beneath the unit tests. This data can be used as text fixture f
 
 Example JSON data:
 
-#!json
-{
-"jcr:primaryType": "app:Page",
-"jcr:content": {
-"jcr:primaryType": "app:PageContent",
-"jcr:title": "English",
-"app:template": "/apps/sample/templates/homepage",
-"sling:resourceType": "sample/components/homepage",
-"jcr:createdBy": "admin",
-"jcr:created": "Thu Aug 07 2014 16:32:59 GMT+0200",
-"par": {
-"jcr:primaryType": "nt:unstructured",
-"sling:resourceType": "foundation/components/parsys",
-"colctrl": {
-"jcr:primaryType": "nt:unstructured",
-"layout": "2;colctrl-lt0",
-"sling:resourceType": "foundation/components/parsys/colctrl"
-}
-}
-}
-}
+    #!json
+    {
+      "jcr:primaryType": "app:Page",
+      "jcr:content": {
+        "jcr:primaryType": "app:PageContent",
+        "jcr:title": "English",
+        "app:template": "/apps/sample/templates/homepage",
+        "sling:resourceType": "sample/components/homepage",
+        "jcr:createdBy": "admin",
+        "jcr:created": "Thu Aug 07 2014 16:32:59 GMT+0200",
+        "par": {
+          "jcr:primaryType": "nt:unstructured",
+          "sling:resourceType": "foundation/components/parsys",
+          "colctrl": {
+            "jcr:primaryType": "nt:unstructured",
+            "layout": "2;colctrl-lt0",
+            "sling:resourceType": "foundation/components/parsys/colctrl"
+          }
+        }
+      }
+    }
 
 Example code to import the JSON data:
 
-#!java
-context.load().json("/sample-data.json", "/content/sample/en");
+    #!java
+    context.load().json("/sample-data.json", "/content/sample/en");
 
 This codes creates a new resource at `/content/sample/en` (and - if not existent - the parent resources) and
 imports the JSON data to this node. It can be accessed using the Sling Resource or JCR API afterwards.
@@ -362,14 +365,14 @@ imports the JSON data to this node. It can be accessed using the Sling Resource
 ### Import binary data from file in classpath
 
 With the `ContentLoader` it is possible to import a binary file stored in the classpath beneath the unit tests.
-The data is stored using a nt:file/nt:resource or nt:resource node type.
+The data is stored using a nt:file/nt:resource or nt:resource node type. 
 
 Example code to import a binary file:
 
-#!java
-context.load().binaryFile("/sample-file.gif", "/content/binary/sample-file.gif");
+    #!java
+    context.load().binaryFile("/sample-file.gif", "/content/binary/sample-file.gif");
 
-This codes creates a new resource at `/content/binary/sample-file.gif` (and - if not existent - the parent
+This codes creates a new resource at `/content/binary/sample-file.gif` (and - if not existent - the parent 
 resources) and imports the binary data to a jcr:content subnode.
 
 
@@ -387,18 +390,18 @@ The entry point for the `ContentBuilder` is the `create()` method on the Sling c
 
 Example:
 
-#!java
-context.create().resource("/content/test1", ImmutableMap.<String, Object>builder()
-.put("prop1", "value1")
-.put("prop2", "value2")
-.build());
+    #!java
+    context.create().resource("/content/test1", ImmutableMap.<String, Object>builder()
+            .put("prop1", "value1")
+            .put("prop2", "value2")
+            .build());
 
 Simplified syntax without using a map:
 
-#!java
-context.create().resource("/content/test1",
-"prop1", "value1",
-"prop2", "value2");
+    #!java
+    context.create().resource("/content/test1",
+            "prop1", "value1",
+            "prop2", "value2");
 
 
 If you use the `SlingContext` JUnit rule you case just use `context.create()`.
@@ -410,12 +413,12 @@ The entry point for the `ResourceBuilder` is the `build()` method on the Sling c
 
 Example:
 
-#!java
-context.build().resource("/content/test1")
-.siblingsMode()
-.resource("test1.1", "stringParam", "configValue1.1")
-.resource("test1.2", "stringParam", "configValue1.2")
-.resource("test1.2", "stringParam", "configValue1.3");
+    #!java
+    context.build().resource("/content/test1")
+            .siblingsMode()
+            .resource("test1.1", "stringParam", "configValue1.1")
+            .resource("test1.2", "stringParam", "configValue1.2")
+            .resource("test1.2", "stringParam", "configValue1.3");
 
 See JavaDocs of the class `org.apache.sling.resourcebuilder.api.ResourceBuilder` for a detailed documentation.
 
@@ -428,11 +431,11 @@ To define a plugin implement the `org.apache.sling.testing.mock.osgi.context.Con
 
 To use a plugin in your unit test class, use the `SlingContextBuilder` class instead of directly instantiating the `SlingContext`class. This allows you in a fluent style to configure more options, with the `plugin(...)` method you can add one or more plugins.
 
-Example:
+Example: 
 
-#!java
-@Rule
-public SlingContext context = new SlingContextBuilder().plugin(MY_PLUGIN).build();
+    #!java
+    @Rule
+    public SlingContext context = new SlingContextBuilder().plugin(MY_PLUGIN).build();
 
 More examples:
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/sling-testing-tools.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/sling-testing-tools.md b/content/documentation/development/sling-testing-tools.md
index 0c02530..28ef388 100644
--- a/content/documentation/development/sling-testing-tools.md
+++ b/content/documentation/development/sling-testing-tools.md
@@ -1,14 +1,17 @@
-title=Sling Testing Tools		
-type=page
+title=TODO title for sling-testing-tools.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Testing Tools
 
 <div class="warning">
 While this information is still valid, we recommend using the tools and techniques described
-in the newer "Junit Server-Side Tests Support" page instead, see link below.
+in the newer "Junit Server-Side Tests Support" page instead, see link below. 
 </div>
 
-As mentioned above, this is now replaced by the [Junit Server-Side Tests Support](/documentation/bundles/org-apache-sling-junit-bundles.html) page.
+As mentioned above, this is now replaced by the [Junit Server-Side Tests Support](/documentation/bundles/org-apache-sling-junit-bundles.html) page. 
 
 Sling provides a number of testing tools to support the following use cases:
 
@@ -39,7 +42,7 @@ Note that the JUnitServlet does not require authentication, so it would allow an
 For tighter integration with Sling, the alternate `SlingJUnitServlet` is registered with the `sling/junit/testing` resource type and `.junit` selector, if the bundle is running in a Sling system. Using this servlet instead of the plain JUnitServlet also allows Sling authentication to be used for running the tests, and the standard Sling request processing is used, including servlet filters for example.
 </div>
 
-To try the JUnitServlet interactively, install a bundle that contains tests registered via the `Sling-Test-Regexp=.*Test` bundle header.
+To try the JUnitServlet interactively, install a bundle that contains tests registered via the `Sling-Test-Regexp=.*Test` bundle header. 
 
 The JUnit core services use this regular expression to select which classes of the test bundle should be executed as JUnit tests.
 
@@ -55,23 +58,23 @@ The `@TestReference` annotation is used to inject OSGi services in tests that ar
 ## Curl examples
 Here's an example executing a few tests using curl:
 
-$ curl -X POST http://localhost:8080/system/sling/junit/org.apache.sling.testing.samples.sampletests.JUnit.json
-[{
-"INFO_TYPE": "test",
-"description": "testPasses(org.apache.sling.testing.samples.sampletests.JUnit3Test)"
-},{
-"INFO_TYPE": "test",
-"description": "testPasses(org.apache.sling.testing.samples.sampletests.JUnit4Test)"
-},{
-"INFO_TYPE": "test",
-"description": "testRequiresBefore(org.apache.sling.testing.samples.sampletests.JUnit4Test)"
-}
-]
+    $ curl -X POST http://localhost:8080/system/sling/junit/org.apache.sling.testing.samples.sampletests.JUnit.json
+    [{
+        "INFO_TYPE": "test",
+        "description": "testPasses(org.apache.sling.testing.samples.sampletests.JUnit3Test)"
+      },{
+        "INFO_TYPE": "test",
+        "description": "testPasses(org.apache.sling.testing.samples.sampletests.JUnit4Test)"
+      },{
+        "INFO_TYPE": "test",
+        "description": "testRequiresBefore(org.apache.sling.testing.samples.sampletests.JUnit4Test)"
+      }
+    ]
 
 
 And another example with a test that fails:
 
-$ curl -X POST http://localhost:8080/system/sling/junit/org.apache.sling.testing.samples.failingtests.JUnit4FailingTest.json
+    $ curl -X POST http://localhost:8080/system/sling/junit/org.apache.sling.testing.samples.failingtests.JUnit4FailingTest.json
 
 # Scriptable server-side tests
 If the [org.apache.sling.junit.scriptable](http://svn.apache.org/repos/asf/sling/trunk/testing/junit/scriptable) bundle is active in a Sling system, (in addition to the `org.apache.sling.junit.core` bundle), scriptable tests can be executed by the `JUnitServlet` according to the following rules:
@@ -84,29 +87,29 @@ The [ScriptableTestsTest](http://svn.apache.org/repos/asf/sling/trunk/testing/sa
 
 Here's a minimal example that sets up and executes a scriptable test:
 
-$ curl -u admin:admin -Fjcr:primaryNodeType=sling:Folder -Fsling:resourceType=foo -Fjcr:mixinTypes=sling:Test http://localhost:8080/apps/foo
-...
-$ echo TEST_PASSED > /tmp/test.txt.esp ; curl -u admin:admin -T/tmp/test.txt.esp http://localhost:8080/apps/foo/test.txt.esp
-
+    $ curl -u admin:admin -Fjcr:primaryNodeType=sling:Folder -Fsling:resourceType=foo -Fjcr:mixinTypes=sling:Test http://localhost:8080/apps/foo
+    ...
+    $ echo TEST_PASSED > /tmp/test.txt.esp ; curl -u admin:admin -T/tmp/test.txt.esp http://localhost:8080/apps/foo/test.txt.esp
+    
 At this point, foo.test.txt is what the scriptable test framework will request, and that outputs just TEST_PASSED:
-
-$ curl -u admin:admin http://localhost:8080/apps/foo.test.txt
-TEST_PASSED
-
+    
+    $ curl -u admin:admin http://localhost:8080/apps/foo.test.txt
+    TEST_PASSED
+    
 And a POST to the JUnit servlet returns information on the test's execution:
 
-curl -u admin:admin -XPOST http://localhost:8080/system/sling/junit/org.apache.sling.junit.scriptable.ScriptableTestsProvider.json
-[{
-"INFO_TYPE": "test",
-"description": "verifyContent[0](org.apache.sling.junit.scriptable.TestAllPaths)",
-"test_metadata": {
-"test_execution_time_msec": 2
-}
-}
-]
+    curl -u admin:admin -XPOST http://localhost:8080/system/sling/junit/org.apache.sling.junit.scriptable.ScriptableTestsProvider.json
+    [{
+        "INFO_TYPE": "test",
+        "description": "verifyContent[0](org.apache.sling.junit.scriptable.TestAllPaths)",
+        "test_metadata": {
+          "test_execution_time_msec": 2
+        }
+      }
+    ]
 
 Test failures would be included in this JSON representation - you can test that by modifying the script to fail and making the
-same request again.
+same request again.      
 
 # Integration tests example
 The [testing/samples/integration-tests](http://svn.apache.org/repos/asf/sling/trunk/testing/samples/integration-tests) module runs some simple integration tests against a Sling Launchpad instance that's setup from scratch before running the tests.
@@ -121,7 +124,7 @@ The following steps are executed in the `integration-test` phase of this module'
 
 1. A random port number for the Sling server is selected by the Maven build helper plugin, unless explicitely set (see pom.xml for such options).
 1. Additional bundles, defined in the module's pom, are downloaded from the Maven repository in the `target/sling/additional-bundles` folder.
-1. The first test that inherits from the [SlingTestBase](https://svn.apache.org/repos/asf/sling/trunk/testing/tools/src/main/java/org/apache/sling/testing/tools/sling/SlingTestBase.java) class causes the Sling runnable jar (defined as a dependency in the module's pom) to be started.
+1. The first test that inherits from the [SlingTestBase](https://svn.apache.org/repos/asf/sling/trunk/testing/tools/src/main/java/org/apache/sling/testing/tools/sling/SlingTestBase.java) class causes the Sling runnable jar (defined as a dependency in the module's pom) to be started. 
 1. The `SlingTestBase` class waits for the Sling server to be ready, based on URLs and expected responses defined in the pom.
 1. The `SlingTestBase` class installs and starts the bundles found in the `target/sling/additional-bundles` folder.
 1. The test can now either test Sling directly via its http interface, or use the JUnitServlet to execute server-side tests contributed by bundles or scripts, as described above.
@@ -132,8 +135,8 @@ If `-DkeepJarRunning` is used on the Maven command line, the Sling runnable jar
 
 ## Running tests against existing server
 
-Instead of provisioning a completely new Sling server, the ITs can also be executed on an already existing server instance. For that the
-`test-server-url` system property has to point to the existing server url.
+Instead of provisioning a completely new Sling server, the ITs can also be executed on an already existing server instance. For that the 
+`test-server-url` system property has to point to the existing server url. 
 Additional bundles can still be deployed by using the `sling.additional.bundle.<num>` system property.
 
 Optionally, the additional bundles can be undeployed after the execution of the IT by setting `additional.bundles.uninstall` to `true`. (since Sling Testing Tools 1.0.12, [SLING-4819](https://issues.apache.org/jira/browse/SLING-4819))
@@ -158,8 +161,8 @@ The [ExampleRemoteTest](https://svn.apache.org/repos/asf/sling/trunk/testing/jun
 # Debugging ITs
 The JVM is usually forked twice during the execution of integration tests. The first time by the `maven-surefire-plugin` which executes the client-side (i.e. Maven-side) part of the tests. To debug this side the option `-Dmaven.surefire.debug` can be used which waits for a debugger to be attached on port 5005 before the (client-side) test is executed. More information is available in the [documentation of the maven-surefire-plugin](http://maven.apache.org/surefire/maven-surefire-plugin/examples/debugging.html).
 
-Then the `JarExecutor` is forking the VM a second time to start the server (this does not happen if connecting to an already running instance). The system environment variable `jar.executor.vm.options` can be used to start that VM with debug options. All debug options are described at the [JPDA documentation](http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/conninv.html#Invocation). If running
+Then the `JarExecutor` is forking the VM a second time to start the server (this does not happen if connecting to an already running instance). The system environment variable `jar.executor.vm.options` can be used to start that VM with debug options. All debug options are described at the [JPDA documentation](http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/conninv.html#Invocation). If running 
 
-mvn test -Djar.executor.vm.options="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000"
+    mvn test -Djar.executor.vm.options="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000"
 
 the server start is interrupted until a debugger is connected on port 8000.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/sling.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/sling.md b/content/documentation/development/sling.md
index 4787b7a..fc866ad 100644
--- a/content/documentation/development/sling.md
+++ b/content/documentation/development/sling.md
@@ -1,6 +1,9 @@
-title=Maven Sling Plugin		
-type=page
+title=TODO title for sling.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Maven Sling Plugin
 
 See [Apache Maven Sling Plugin documentation](http://sling.apache.org/components/maven-sling-plugin/).


[02/12] sling-site git commit: Revert 88e80480d5c1dd204ab2cb8a11be9f96caecc899 which ate whitespace at the beginning of lines

Posted by bd...@apache.org.
http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/url-to-script-resolution.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/url-to-script-resolution.md b/content/documentation/the-sling-engine/url-to-script-resolution.md
index e85d38e..de929bb 100644
--- a/content/documentation/the-sling-engine/url-to-script-resolution.md
+++ b/content/documentation/the-sling-engine/url-to-script-resolution.md
@@ -1,108 +1,111 @@
-title=URL to Script Resolution		
-type=page
+title=TODO title for url-to-script-resolution.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: URL to Script Resolution
 
 [TOC]
 
-This page explains how Sling maps URLs to a script or and servlet.
+This page explains how Sling maps URLs to a script or and servlet. 
 
 See also [Servlets and Scripts](/documentation/the-sling-engine/servlets.html) which provides detailed info about how to register servlets.
 
-First of all Sling looks up the resource identified by the URL - typically a path inside the JCR repository, which is annotated by the `sling:resourceType` property
-which defines the resource type of that resource. Using this resource type (which is kind of a relative path,
+First of all Sling looks up the resource identified by the URL - typically a path inside the JCR repository, which is annotated by the `sling:resourceType` property 
+which defines the resource type of that resource. Using this resource type (which is kind of a relative path, 
 eg. "myblog/comment"), scripts or servlets are looked up. For more details about how the initial resource is identified for a specific request URL look at [URL decomposition](/documentation/the-sling-engine/url-decomposition.html).
 
-Scripts and servlets are itself resources in Sling and thus have a resource path: this is either the location in the
-JCR repository, the resource type in a servlet component configuration or the "virtual" bundle resource path
-(if a script is provided inside a bundle without being installed into the JCR repository).
+Scripts and servlets are itself resources in Sling and thus have a resource path: this is either the location in the 
+JCR repository, the resource type in a servlet component configuration or the "virtual" bundle resource path 
+(if a script is provided inside a bundle without being installed into the JCR repository). 
 
 For the whole Truth about script resolution, see the [ScriptSelectionTest](http://svn.apache.org/repos/asf/sling/trunk/bundles/servlets/resolver/src/test/java/org/apache/sling/servlets/resolver/internal/helper/ScriptSelectionTest.java) class. If you see interesting cases that are not
 covered there, please let us know via the Sling users mailing list.
 
-TODO: explain super types, servlet path mappings, node type resource types (`my:type -> my/type`)
+TODO: explain super types, servlet path mappings, node type resource types (`my:type -> my/type`) 
 
-##  Fundamental: Scripts and Servlets are equal
+##  Fundamental: Scripts and Servlets are equal 
 
-In the following discussion, I will write about scripts. This will always include servlets as well. In fact, internally, Sling only handles with Servlets, whereas scripts are packed inside a Servlet wrapping and representing the script.
+In the following discussion, I will write about scripts. This will always include servlets as well. In fact, internally, Sling only handles with Servlets, whereas scripts are packed inside a Servlet wrapping and representing the script. 
 
-## Base: Resource Type Inheritance
+## Base: Resource Type Inheritance 
 
-While not exactly part of our discussion, resource type inheritance as implemented for [SLING-278](https://issues.apache.org/jira/browse/SLING-278) plays a vital role in script resolution.
+While not exactly part of our discussion, resource type inheritance as implemented for [SLING-278](https://issues.apache.org/jira/browse/SLING-278) plays a vital role in script resolution. 
 
-Each resource type may have a resource super type, which may be defined in various ways. One example is having a `sling:resourceSuperType` property in the node addressed by the resource type. See [http://www.mail-archive.com/sling-dev@incubator.apache.org/msg02365.html](http://www.mail-archive.com/sling-dev@incubator.apache.org/msg02365.html) and [SLING-278](http://issues.apache.org/jira/browse/SLING-278) for more details.
+Each resource type may have a resource super type, which may be defined in various ways. One example is having a `sling:resourceSuperType` property in the node addressed by the resource type. See [http://www.mail-archive.com/sling-dev@incubator.apache.org/msg02365.html](http://www.mail-archive.com/sling-dev@incubator.apache.org/msg02365.html) and [SLING-278](http://issues.apache.org/jira/browse/SLING-278) for more details. 
 
-If a resource type has no explicit resource super type, the resource super type is assumed to be "sling/servlet/default". That is the resource type used for default script selection is also acting as a basic resource type much like java.lang.Object does for other types in the Java language.
+If a resource type has no explicit resource super type, the resource super type is assumed to be "sling/servlet/default". That is the resource type used for default script selection is also acting as a basic resource type much like java.lang.Object does for other types in the Java language. 
 
-## Script Locations
+## Script Locations 
 
-Scripts are looked up in a series of locations defined by the ResourceResolver.getSearchPath() and the resource type (and resource super types) of the requested resource:
+Scripts are looked up in a series of locations defined by the ResourceResolver.getSearchPath() and the resource type (and resource super types) of the requested resource: 
 
-{scriptPathPrefix}/{resourceTypePath}
+    {scriptPathPrefix}/{resourceTypePath} 
+    
+The pseudo code for iterating the locations would be something like: 
+    
 
-The pseudo code for iterating the locations would be something like:
+    var type = resource.getResourceType(); 
+    while (type != null) { 
+        for (String root: resourceResolver.getSearchPath()) { 
+            String path = root + type.toPath(); 
+            findScriptsIn(path); 
+        } 
 
+        if (type == defaultServlet) { 
+            type = null; 
+        } else { 
+            type = getResourceSuperType(type); 
+            if (type == null) { 
+                type = defaultServlet; 
+            } 
+        } 
+    } 
 
-var type = resource.getResourceType();
-while (type != null) {
-for (String root: resourceResolver.getSearchPath()) {
-String path = root + type.toPath();
-findScriptsIn(path);
-}
-
-if (type == defaultServlet) {
-type = null;
-} else {
-type = getResourceSuperType(type);
-if (type == null) {
-type = defaultServlet;
-}
-}
-}
-
-
-## All requests are NOT equal
-
-GET and HEAD request methods are treated differently than the other request methods. Only for GET and HEAD requests will the request selectors and extension be considered for script selection. For other requests the servlet or script name (without the script extension) must exactly match the request method.
-
-That is for a PUT request, the script must be PUT.esp or PUT.jsp. For a GET request with a request extension of html, the script name may be html.esp or GET.esp.
-
-## Scripts for GET requests
-
-Apart for supporting scripts named after the request method, scripts handling GET and HEAD requests may be named differently for Sling to support a more elaborate processing order.
-
-Depending on whether request selectors are considered, a script may have two forms:
-
-* a. Ignoring request selectors (e.g. there are none in the request URI) `{resourceTypeLabel}.{requestExtension}.{scriptExtension}`
+    
+## All requests are NOT equal 
+    
+GET and HEAD request methods are treated differently than the other request methods. Only for GET and HEAD requests will the request selectors and extension be considered for script selection. For other requests the servlet or script name (without the script extension) must exactly match the request method. 
+    
+That is for a PUT request, the script must be PUT.esp or PUT.jsp. For a GET request with a request extension of html, the script name may be html.esp or GET.esp. 
+    
+## Scripts for GET requests 
+    
+Apart for supporting scripts named after the request method, scripts handling GET and HEAD requests may be named differently for Sling to support a more elaborate processing order. 
+    
+Depending on whether request selectors are considered, a script may have two forms: 
+    
+* a. Ignoring request selectors (e.g. there are none in the request URI) `{resourceTypeLabel}.{requestExtension}.{scriptExtension}` 
 * b. Handling request selectors `{selectorStringPath}.{requestExtension}.{scriptExtension}`
-
-The constituents of these script names are as follows:
-
+    
+The constituents of these script names are as follows: 
+    
 * `{resourceTypeLabel}` - The last path segment of the path created from the resource type. This part is optional if the `{requestExtension}` is used in the script name. The resource type might either be set via the `sling:resourceType` property on the accessed node or if that property is not there its primary node type (property `jcr:primaryType`) is taken as fallback.
-* `{requestExtension}` - The request extension. This part may be ommitted if the request extension is "html", otherwise this part is required. If this part is ommitted, the `{resourceTypeLabel}` is required in the case of ignoring the selectors.
-* `{scriptExtension}` - The extension, e.g. "esp" or "jsp", identifying the scripting langauage used.
+* `{requestExtension}` - The request extension. This part may be ommitted if the request extension is "html", otherwise this part is required. If this part is ommitted, the `{resourceTypeLabel}` is required in the case of ignoring the selectors. 
+* `{scriptExtension}` - The extension, e.g. "esp" or "jsp", identifying the scripting langauage used. 
 * `{selectorStringPath}` - The selector string converted to a path, along the lines of `selectorString.replace('.', '/')`. If less selectors are specified in the script name than given in the request, the script will only be taken into consideration if the given selectors are the **first** selectors in the request. This means *sel1/sel2.html.jsp* will be a candidate for the request url */content/test.sel1.sel2.sel3.html* but not for */content/test.sel3.sel1.sel2.html*. So the order of selectors is relevant!
-
-## Priority
-
-The rules for script path priorization is defined as follows:
-
-* The more request selectors are matched, the better
-* A script including the request extension matches better than one without a request extension (for html only)
-* A script found earlier matches better than a script found later in the processing order. This means, that script closer to the original resource type in the resource type hierarchy is considered earlier.
-
-## Examples
-
-Let's consider the following script paths for a request of a resource whose resource type is `slingsample` and the request selectors are *print.a4* and the request extension is *html*:
-
-* (0) GET.esp
-* (1) sample.esp
-* (2) html.esp
-* (3) print.esp
-* (4) print/a4.esp
-* (5) print.html.esp
+    
+## Priority 
+    
+The rules for script path priorization is defined as follows: 
+    
+* The more request selectors are matched, the better 
+* A script including the request extension matches better than one without a request extension (for html only) 
+* A script found earlier matches better than a script found later in the processing order. This means, that script closer to the original resource type in the resource type hierarchy is considered earlier. 
+    
+## Examples 
+    
+Let's consider the following script paths for a request of a resource whose resource type is `sling\sample` and the request selectors are *print.a4* and the request extension is *html*: 
+    
+* (0) GET.esp 
+* (1) sample.esp 
+* (2) html.esp 
+* (3) print.esp 
+* (4) print/a4.esp 
+* (5) print.html.esp 
 * (6) print/a4.html.esp
 * (7) a4.html.esp
-* (8) a4/print.html.esp
-
+* (8) a4/print.html.esp 
+    
 The priority of script selection would be (starting with the best one): (6) - (4) - (5) - (3) - (2) - (1) - (0). Note that (4) is a better match than (5) because it matches more selectors even though (5) has an extension match where (4) does not. (7) is not a candidate because it does not include the first selector (print) and (8) is not a candidate because it has the wrong order of selectors.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/wrap-or-decorate-resources.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/wrap-or-decorate-resources.md b/content/documentation/the-sling-engine/wrap-or-decorate-resources.md
index 0cc370f..92a3e4c 100644
--- a/content/documentation/the-sling-engine/wrap-or-decorate-resources.md
+++ b/content/documentation/the-sling-engine/wrap-or-decorate-resources.md
@@ -1,7 +1,10 @@
-title=Wrap or Decorate Resources		
-type=page
+title=TODO title for wrap-or-decorate-resources.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Wrap or Decorate Resources
 
 ## Introduction
 
@@ -9,31 +12,31 @@ The Sling API provides an easy way to wrap or decorate a resource before returni
 * overwrite resource type/resource super type (for example based on the resource path)
 * add metadata
 
-##
+## 
 
 To add a resource decorator just register one or more services which implement the interface `ResourceDecorator`
 
-:::java
-interface ResourceDecorator {
-/** Optionally decorate the supplied Resource */
-Resource decorate(Resource)
+    :::java
+    interface ResourceDecorator {
+        /** Optionally decorate the supplied Resource */
+        Resource decorate(Resource)
+    
+        /** Only called if using older versions of Sling, see below */
+        @Deprecated
+        Resource decorate(Resource, HttpServletRequest)
+    } 
 
-/** Only called if using older versions of Sling, see below */
-@Deprecated
-Resource decorate(Resource, HttpServletRequest)
-}
 
+The registered decorators will be called from the resource resolver for each resource returned. 
+If the service decorates the resource it should return the new resource (often using a `ResourceWrapper` to wrap the original Resource). 
+If the service does not want to decorate the resource, it should return the original resource or null. 
 
-The registered decorators will be called from the resource resolver for each resource returned.
-If the service decorates the resource it should return the new resource (often using a `ResourceWrapper` to wrap the original Resource).
-If the service does not want to decorate the resource, it should return the original resource or null.
-
-Starting with version 2.1.0 of the JCR Resource bundle, the two-argument `decorate` method is not called anymore.
+Starting with version 2.1.0 of the JCR Resource bundle, the two-argument `decorate` method is not called anymore. 
 Implementors of this interface targeting both newer and older versions of this bundle are advised to implement this method as:
 
-:::java
-public Resource decorate(Resource resource, HttpServletRequest request) {
-return this.decorate(resource);
-}
+    :::java
+    public Resource decorate(Resource resource, HttpServletRequest request) {
+        return this.decorate(resource);
+    }
 
 And use some other mechanism (e.g. a `ThreadLocal`) to obtain the current request if necessary.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/tutorials-how-tos.md
----------------------------------------------------------------------
diff --git a/content/documentation/tutorials-how-tos.md b/content/documentation/tutorials-how-tos.md
index bde31cb..6335ac3 100644
--- a/content/documentation/tutorials-how-tos.md
+++ b/content/documentation/tutorials-how-tos.md
@@ -1,7 +1,10 @@
-title=Tutorials & How-Tos		
-type=page
+title=TODO title for tutorials-how-tos.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Tutorials & How-Tos
 
 {% for label, page in children %}* [{{ page.headers.title }}]({{ page.path }})
 {% endfor %}

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/tutorials-how-tos/46-line-blog.md
----------------------------------------------------------------------
diff --git a/content/documentation/tutorials-how-tos/46-line-blog.md b/content/documentation/tutorials-how-tos/46-line-blog.md
index b9af697..3da7a7d 100644
--- a/content/documentation/tutorials-how-tos/46-line-blog.md
+++ b/content/documentation/tutorials-how-tos/46-line-blog.md
@@ -1,7 +1,10 @@
-title=46 Line Blog		
-type=page
+title=TODO title for 46-line-blog.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: 46 Line Blog
 
 This tutorial is based on the first *Sling Gems* on dev.day.com: The [Sling gems: a blog in 46 lines of code](http://dev.day.com/microsling/content/blogs/main/sling-46-lines-blog.html). It has slightly been adapted to fit here.
 
@@ -25,77 +28,78 @@ Then, login using <http://localhost:8888/?sling:authRequestLogin=1> which should
 
 The easiest way to create content in Sling is to use an HTTP POST request, let's use a simple HTML form:
 
-<html>
-<body>
-<h1>Sling microblog</h1>
-
-<div>
-<form method="POST">
-<input type="text" name="title" style="width:100%"/>
-
-<br/>Text:<br/>
-<textarea style="width:100%" name="text"></textarea>
-
-<br/>
-<input type="submit" value="save"/>
-<input type="hidden" name=":redirect" value="*.html"/>
-
-<!-- used by Sling when decoding request parameters -->
-<input type="hidden" name="_charset_" value="UTF-8"/>
-</form>
-</div>
-
-<!-- code of step 2 comes here -->
-</body>
-</html>
-
-
+    <html>
+      <body>
+        <h1>Sling microblog</h1>
+      
+        <div>
+          <form method="POST">
+            Title:<br/>
+            <input type="text" name="title" style="width:100%"/>
+            
+            <br/>Text:<br/>
+            <textarea style="width:100%" name="text"></textarea>
+            
+            <br/>
+            <input type="submit" value="save"/>
+            <input type="hidden" name=":redirect" value="*.html"/>
+
+            <!-- used by Sling when decoding request parameters -->
+            <input type="hidden" name="_charset_" value="UTF-8"/>
+          </form>
+        </div>
+      
+        <!-- code of step 2 comes here -->
+      </body>
+    </html>
+
+     
 That's two input fields, a submit button and a hidden field that tells Sling what to do after the POST (in this case: redirect to the html view of the node that was just created).
-
+    
 To test the form, start Sling and save the above script as {{/apps/blog/blog.esp}} [^esp]  in the Sling repository - a WebDAV mount is the easiest way to do that. Browsing to <http://localhost:8888/content/blog/*.html> [^port] should display the above form.
 
 [^esp]: ESP is Sling's server-side javascript language
 [^port]: This assumes your instance of Sling is running on port 8888. If that's not the case, adjust the example URLs accordingly.
 
 Input some data (using "foo" for the title, for the sake of our examples below), save the form, and Sling should display the form again, using the URL of the node that was just created.
-
+    
 <div class="note">
 If you get an error saying _javax.jcr.AccessDeniedException: ...not allowed to add or modify item_ it means that you are not logged in as user _admin_. See instructions above for logging in.
 </div>
-
+    
 At this point you're probably looking at an empty form with an URL ending in _foo_, if you used that for the title. Or _foo_0_ or _foo_1_ if other _foo_s already existed. Don't worry about not seeing your content, we'll fix that right away.
-
-
+    
+    
 ## Step 2: Where's my content?
-
+    
 To verify that our content has been created, we can have a look at the JSON data at <http://localhost:8888/content/blog/foo.tidy.json>, which should display our new node's values:
-
-
-{
-"jcr:primaryType": "nt:unstructured",
-"text": "This is the foo text",
-"title": "foo"
-}
+    
+    
+    {
+      "jcr:primaryType": "nt:unstructured",
+      "text": "This is the foo text",
+      "title": "foo"
+    }
 
 
 That's reassuring, but what we really want is for these values to be displayed on the editing form for our post.
 
 Thanks to the *sling.js* client library, we just need to add a `Sling.wizard()` call to our form to display those values. Let's first add a `<head>` element to our form to load the *sling.js* library, before the existing `<body>` of course:
+ 
+    <head>
+      <script src="/system/sling.js"></script>
+    </head>
 
-<head>
-<script src="/system/sling.js"></script>
-</head>
-
-
+     
 And add the `Sling.wizard()` after the form, where we had the _code of step 2 comes here_ comment:
+    
+    <!-- code of step 2 comes here -->
+    <script>Sling.wizard();</script>
 
-<!-- code of step 2 comes here -->
-<script>Sling.wizard();</script>
-
-
+ 
 Reloading the form at `http://localhost:8888/content/blog/*.html` and creating a new post should now redirect to an editable version of the post, with the form fields correctly initialized.
 
-We can now create and edit posts; let's add some navigation, using more of the *sling.js* functionality.
+We can now create and edit posts; let's add some navigation, using more of the *sling.js* functionality. 
 
 ## Step 3: Navigation
 
@@ -103,42 +107,42 @@ The *sling.js* library provides utilities to access and manipulate content. For
 
 Add the following code to your script, after the `Sling.wizard()` call that was added in step 2:
 
-<h3>Navigation</h3>
-<ul>
-<li><em><a href="/content/blog/*.html">[Create new post]</a></em></li>
-<script>
-var posts = Sling.getContent("/content/blog", 2);
-for(var i in posts) {
-document.write("<li>"
-+ "<a href='/content/blog/" + i + ".html'>"
-+ posts[i].title
-+ "</a></li>");
-}
-</script>
-</ul>
-
-
-The first link to `/content/blog/*` brings us back to our content creating form, which is nothing else than the editing form reading empty values and posting to the "magic star" URL.
-
+    <h3>Navigation</h3>
+    <ul>
+        <li><em><a href="/content/blog/*.html">[Create new post]</a></em></li>
+        <script>
+          var posts = Sling.getContent("/content/blog", 2);
+          for(var i in posts) {
+            document.write("<li>"
+              + "<a href='/content/blog/" + i + ".html'>"    
+              + posts[i].title
+              + "</a></li>");
+          }
+        </script>
+    </ul>
+    
+     
+The first link to `/content/blog/*` brings us back to our content creating form, which is nothing else than the editing form reading empty values and posting to the "magic star" URL. 
+    
 The rest of the javascript runs client-side, as it is not embedded in `<% %>` code markers, calls the `sling.getContent` method to get two levels of node data below `/content/blog`, and displays links to nodes that it finds.
-
+    
 That's a basic navigation, of course, in a real blog we'd need some paging and contextualization to cope with large numbers of posts.
-
+    
 Nevertheless, with this addition our ESP script allows us to create, edit and navigate blog posts - not bad for 46 lines of code, including comments, whitespace and output formatting.
-
-
+    
+     
 ## Step 4: Data first, structure later
-
+    
 You might have heard this mantra, which we apply in many areas of Sling.
-
+    
 In this case, adding a new field to our blog posts could not be easier: just add an input field to the form, and Sling will do the rest.
-
+    
 Adding this inside our script's `<form>` element, for example:
+    
+    <br/>Author:<br/>
+    <input type="author" name="author" style="width:100%"/>
 
-<br/>Author:<br/>
-<input type="author" name="author" style="width:100%"/>
-
-
+ 
 Allows us to add an author name to our blog posts. No need to define anything at the repository level, as Sling is using it in unstructured mode in this case, and no need to migrate existing data, the author field of existing posts will simply be empty.
 
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/tutorials-how-tos/getting-resources-and-properties-in-sling.md
----------------------------------------------------------------------
diff --git a/content/documentation/tutorials-how-tos/getting-resources-and-properties-in-sling.md b/content/documentation/tutorials-how-tos/getting-resources-and-properties-in-sling.md
index 72f67e3..750a443 100644
--- a/content/documentation/tutorials-how-tos/getting-resources-and-properties-in-sling.md
+++ b/content/documentation/tutorials-how-tos/getting-resources-and-properties-in-sling.md
@@ -1,7 +1,10 @@
-title=Getting Resources and Properties in Sling		
-type=page
+title=TODO title for getting-resources-and-properties-in-sling.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Getting Resources and Properties in Sling
 
 
 The Resource is one of the central parts of Sling. Extending from JCR's Everything is Content, Sling assumes Everthing is a Resource. Thus Sling is maintaining a virtual tree of resources, which is a merger of the actual contents in the JCR Repository and resources provided by so called resource providers. By doing this Sling fits very well in the paradigm of the REST architecture.
@@ -10,89 +13,89 @@ In this article we will explore a few ways to programmatically map a resource pa
 
 The whole game consists in first getting a `ResourceResolver` and then getting the `Resource` itself.
 
-## Within an OSGI Service/Compoment
+## Within an OSGI Service/Compoment 
 
 You can access a resource through the `ResourceResolverFactory` service:
 
-#!java
-@Reference
-private ResourceResolverFactory resolverFactory;
+    #!java
+    @Reference
+    private ResourceResolverFactory resolverFactory;
+    
+    public void myMethod() {
+        try {
+            String resourcePath = "path/to/resource";
+            ResourceResolver resourceResolver = resolverFactory.getAdministrativeResourceResolver(null);
+            Resource res = resourceResolver.getResource(resourcePath);
+            // do something with the resource
+            // when done, close the ResourceResolver
+            resourceResolver.close();
+        } catch (LoginException e) {
+            // log the error
+        }
+    }
 
-public void myMethod() {
-try {
-String resourcePath = "path/to/resource";
-ResourceResolver resourceResolver = resolverFactory.getAdministrativeResourceResolver(null);
-Resource res = resourceResolver.getResource(resourcePath);
-// do something with the resource
-// when done, close the ResourceResolver
-resourceResolver.close();
-} catch (LoginException e) {
-// log the error
-}
-}
 
 
-
-## Within a Servlet
+## Within a Servlet 
 
 You can access the resource defined by the request URL through the `SlingHttpServletRequest`:
 
-#!java
-// req is the SlingHttpServletRequest
-Resource res = req.getResource();
+    #!java
+    // req is the SlingHttpServletRequest
+    Resource res = req.getResource();
 
 
 You can access any resource by first accessing the `ResourceResolver`:
 
-#!java
-String resourcePath = "path/to/resource";
-// req is the SlingHttpServletRequest
-ResourceResolver resourceResolver = req.getResourceResolver();
-Resource res = resourceResolver.getResource(resourcePath);
+    #!java
+    String resourcePath = "path/to/resource";
+    // req is the SlingHttpServletRequest
+    ResourceResolver resourceResolver = req.getResourceResolver();
+    Resource res = resourceResolver.getResource(resourcePath);
 
 
-## Within a JSP file
+## Within a JSP file 
 
-When you use the `<sling:defineObjects>` tag in a JSP file, you have access to a few handy objects, one of them is `resource`, the resource that is resolved from the URL. Another one is `resourceResolver`, the `ResourceResolver` defined through the `SlingHttpServletRequest`.
+When you use the `<sling:defineObjects>` tag in a JSP file, you have access to a few handy objects, one of them is `resource`, the resource that is resolved from the URL. Another one is `resourceResolver`, the `ResourceResolver` defined through the `SlingHttpServletRequest`. 
 
 To access a resource:
 
-#!jsp
-<sling:defineObjects>
-<%
-String resourcePath = "path/to/resource";
-Resource res = resourceResolver.getResource(resourcePath);
-%>
+    #!jsp
+    <sling:defineObjects>
+    <%
+        String resourcePath = "path/to/resource";
+        Resource res = resourceResolver.getResource(resourcePath);
+    %>
 
 
 If needed you can adapt a Sling Resource to a JCR Node:
 
-#!java
-Node node = resource.adaptTo(Node.class);
+    #!java
+    Node node = resource.adaptTo(Node.class);
 
 
 Note: `resource.adaptTo(Node.class)` may return null if the resource is not backed by a JCR node. This is particularly the case for `NonExistingResource` resources or resource provided by a non-JCR resource provider.
 
-## Accessing a Property
+## Accessing a Property 
 
 The `ValueMap` is an easy way to access properties of a resource. With most resources you can use `Adaptable.adaptTo(Class)` to adapt the resource to a value map:
 
-#!java
-// res is the Resource
-ValueMap properties = res.adaptTo(ValueMap.class);
+    #!java
+    // res is the Resource
+    ValueMap properties = res.adaptTo(ValueMap.class);
 
 
 You can also access the properties through the `ResourceUtil` utility class:
 
-#!java
-// res is the Resource
-ValueMap properties = ResourceUtil.getValueMap(res);
+    #!java
+    // res is the Resource
+    ValueMap properties = ResourceUtil.getValueMap(res);
 
 
 Then, to access a specific String property called `propName`:
 
-#!java
-String rule = properties.get(propName, (String) null);
+    #!java
+    String rule = properties.get(propName, (String) null);
 
 
 For more details about resources and how to access them in Sling, you can refer to the [Sling documentation about Resources](/documentation/the-sling-engine/resources.html).

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/tutorials-how-tos/how-to-manage-events-in-sling.md
----------------------------------------------------------------------
diff --git a/content/documentation/tutorials-how-tos/how-to-manage-events-in-sling.md b/content/documentation/tutorials-how-tos/how-to-manage-events-in-sling.md
index 2bdc080..c9c24fd 100644
--- a/content/documentation/tutorials-how-tos/how-to-manage-events-in-sling.md
+++ b/content/documentation/tutorials-how-tos/how-to-manage-events-in-sling.md
@@ -1,7 +1,10 @@
-title=How to Manage Job in Sling		
-type=page
+title=TODO title for how-to-manage-events-in-sling.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: How to Manage Job in Sling
 
 Apache Sling supports the execution of jobs with the guarantee of processing the job at least once. This can be seen as an extensions of the OSGi event admin, although jobs are not started or processed by OSGi events leveraging the OSGi event admin.
 
@@ -33,15 +36,15 @@ The second one, called **DropBoxEventHandler**:
 * Moves the file according to its extension.
 
 ## Listening to OSGI Events
-To listen to OSGi events in Sling you just need to register an **org.osgi.service.event.EventHandler** service with
+To listen to OSGi events in Sling you just need to register an **org.osgi.service.event.EventHandler** service with 
 an **event.topics** property that describes which event topics the handler is interested in.
 
-To listen to a Sling **resource added** events, for example, you'll set the *event.topics* property to
+To listen to a Sling **resource added** events, for example, you'll set the *event.topics* property to 
 **org.apache.sling.api.SlingConstants.TOPIC_RESOURCE_ADDED** in the class annotations:
 
-:::java
-@Property(name=org.osgi.service.event.EventConstants.EVENT_TOPIC,
-value=org.apache.sling.api.SlingConstants.TOPIC_RESOURCE_ADDED)
+     :::java
+     @Property(name=org.osgi.service.event.EventConstants.EVENT_TOPIC,
+        value=org.apache.sling.api.SlingConstants.TOPIC_RESOURCE_ADDED)
 
 
 The javadocs of the TOPIC_ constants in the [org.apache.sling.api.SlingConstants](/apidocs/sling6/org/apache/sling/api/SlingConstants.html)
@@ -51,36 +54,36 @@ class lists and explains the available event topics available in Sling.
 
 To start a job, the *JobManager* service can be used. It needs a job topic and a payload. In our case we define our dropbox job topic and give the resource path as the payload:
 
-:::java
-final String resourcePath = ...; // path to the resource to handle
-final Map<String, Object> payload = new HashMap<String, Object>();
-payload.put("resourcePath", resourcePath);
-// start job
-this.jobManager.addJob(JOB_TOPIC, payload);
+    :::java
+        final String resourcePath = ...; // path to the resource to handle
+	    final Map<String, Object> payload = new HashMap<String, Object>();
+        payload.put("resourcePath", resourcePath);
+        // start job
+        this.jobManager.addJob(JOB_TOPIC, payload);
 
 To receive the resource event, the service needs to implement the **org.osgi.service.event.EventHandler** interface and register it as an EventHandler service:
 
-:::java
-@Component(immediate=true) // immediate should only be used in rare cases (see below)
-@Service(value=EventHandler.class)
-public class DropBoxService implements EventHandler {
-...
-}
+    :::java
+    @Component(immediate=true) // immediate should only be used in rare cases (see below)
+    @Service(value=EventHandler.class)
+    public class DropBoxService implements EventHandler {
+        ...
+    }
 
 Usually a service should be lazy and therefore not declare itself to be immediate (in the Component annotation). However as this service is an event handler and might receive a lot of events even concurrently, it is advised to set the immediate flag to true on the component. Otherwise our event handler would be created and destroyed with every event coming in.
 
 To start the job we need a reference to the JobManager:
 
-:::java
-@Reference
-private JobManager jobManager;
-
+    :::java
+    @Reference
+    private JobManager jobManager;
 
+	
 The job topic for dropbox job events needs to be defined:
 
-:::java
-/** The job topic for dropbox job events. */
-public static final String JOB_TOPIC = "com/sling/eventing/dropbox/job";
+    :::java
+    /** The job topic for dropbox job events. */
+    public static final String JOB_TOPIC = "com/sling/eventing/dropbox/job";
 
 
 The **org.osgi.service.event.EventHandler#handleEvent(Event event)** method needs to be implemented:
@@ -89,28 +92,28 @@ Its logic is as follows:
 
 * The OSGI event is analyzed.
 * If the event is a file that has been added to */tmp/dropbox*:
-* An job is created with 1 property:
-* A property for the file path.
-* The job is started
+    * An job is created with 1 property:
+        * A property for the file path.
+    * The job is started 
 
 For example:
 
-:::java
-public void handleEvent(final Event event) {
-// get the resource event information
-final String propPath = (String) event.getProperty(SlingConstants.PROPERTY_PATH);
-final String propResType = (String) event.getProperty(SlingConstants.PROPERTY_RESOURCE_TYPE);
-
-// a job is started if a file is added to /tmp/dropbox
-if ( propPath.startsWith("/tmp/dropbox") && "nt:file".equals(propResType) ) {
-// create payload
-final Map<String, Object> payload = new HashMap<String, Object>();
-payload.put("resourcePath", propPath);
-// start job
-this.jobManager.addJob(JOB_TOPIC, payload);
-logger.info("the dropbox job has been started for: {}", propPath);
-}
-}
+    :::java
+    public void handleEvent(final Event event) {
+        // get the resource event information
+        final String propPath = (String) event.getProperty(SlingConstants.PROPERTY_PATH);
+        final String propResType = (String) event.getProperty(SlingConstants.PROPERTY_RESOURCE_TYPE);
+
+        // a job is started if a file is added to /tmp/dropbox
+        if ( propPath.startsWith("/tmp/dropbox") && "nt:file".equals(propResType) ) {
+            // create payload
+            final Map<String, Object> payload = new HashMap<String, Object>();
+            payload.put("resourcePath", propPath);
+            // start job
+            this.jobManager.addJob(JOB_TOPIC, payload);
+            logger.info("the dropbox job has been started for: {}", propPath);
+        }
+	}
 
 The complete code for the **DropBoxService** service is available [here](DropBoxService.java).
 
@@ -120,15 +123,15 @@ Now that you have implemented a service that starts a job when a file is uploade
 
 To process to the job that have been defined before the property **job.topics** needs to be set to **DropBoxService.JOB_TOPIC** in the class annotations:
 
-:::java
-@Property(name="job.topics",
-value=DropBoxService.JOB_TOPIC)
+    :::java
+    @Property(name="job.topics",
+        value=DropBoxService.JOB_TOPIC)
 
 In addition the service needs to implement the **org.apache.sling.event.jobs.consumer.JobConsumer** interface:
 
 
-:::java
-public class DropBoxEventHandler implements JobConsumer {
+    :::java
+    public class DropBoxEventHandler implements JobConsumer {
 
 
 Some class fields need to be defined:
@@ -139,22 +142,22 @@ Some class fields need to be defined:
 
 For example:
 
-:::java
-/** Default log. */
-protected final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-@Reference
-private ResourceResolverFactory resolverFactory;
-
-private final static String IMAGES_PATH = "/dropbox/images/";
-private final static String MUSIC_PATH = "/dropbox/music/";
-private final static String MOVIES_PATH = "/dropbox/movies/";
-private final static String OTHER_PATH = "/dropbox/other/";
+    :::java
+    /** Default log. */
+    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
 
+    @Reference
+    private ResourceResolverFactory resolverFactory;
+    
+    private final static String IMAGES_PATH = "/dropbox/images/";
+    private final static String MUSIC_PATH = "/dropbox/music/";
+    private final static String MOVIES_PATH = "/dropbox/movies/";
+    private final static String OTHER_PATH = "/dropbox/other/";
 
+    
 The **org.apache.sling.event.jobs.consumer.JobConsume#process(Job job)** method needs to be implemented:
 
-
+    
 Its logic is as follows:
 
 * The resource path is extracted from the job.
@@ -164,45 +167,45 @@ Its logic is as follows:
 
 or in Java Code:
 
-:::java
-public JobResult process(final Job job) {
-ResourceResolver adminResolver = null;
-try {
-adminResolver = resolverFactory.getAdministrativeResourceResolver(null);
-
-final String resourcePath = (String) job.getProperty("resourcePath");
-final String resourceName = resourcePath.substring(resourcePath.lastIndexOf("/") + 1);
-
-final Resource res = adminResolver.getResource(resourcePath);
-if ( res.isResourceType("nt:file") ) {
-final String mimeType = res.getResourceMetadata().getContentType();
-String destDir;
-if (mimeType.equals("image/png")) {
-destDir = IMAGES_PATH;
-}
-else if (mimeType.equals("audio/mpeg")) {
-destDir = MUSIC_PATH;
-}
-else if (mimeType.equals("video/x-msvideo")) {
-destDir = MOVIES_PATH;
-}
-else {
-destDir = OTHER_PATH;
-}
-final Session adminSession = adminResolver.adaptTo(Session.class);
-adminSession.move(resourcePath, destDir + resourceName);
-adminSession.save();
-logger.info("The file {} has been moved to {}", resourceName, destDir);
-}
-return JobResult.OK;
-} catch (final Exception e) {
-logger.error("Exception: " + e, e);
-return JobResult.FAILED;
-} finally {
-if (adminResolver != null) {
-adminResolver.close();
-}
-}
-}
-
+    :::java
+    public JobResult process(final Job job) {
+		ResourceResolver adminResolver = null;
+		try {
+            adminResolver = resolverFactory.getAdministrativeResourceResolver(null);
+
+            final String resourcePath = (String) job.getProperty("resourcePath");
+			final String resourceName = resourcePath.substring(resourcePath.lastIndexOf("/") + 1);
+
+			final Resource res = adminResolver.getResource(resourcePath);
+			if ( res.isResourceType("nt:file") ) {
+	        	final String mimeType = res.getResourceMetadata().getContentType();
+	        	String destDir;
+	        	if (mimeType.equals("image/png")) {
+	        		destDir = IMAGES_PATH;
+	        	}
+	        	else if (mimeType.equals("audio/mpeg")) {
+	        		destDir = MUSIC_PATH;
+	        	}
+	        	else if (mimeType.equals("video/x-msvideo")) {
+	        		destDir = MOVIES_PATH;
+	        	}
+	        	else {
+	        		destDir = OTHER_PATH;
+	        	}
+	        	final Session adminSession = adminResolver.adaptTo(Session.class);
+        		adminSession.move(resourcePath, destDir + resourceName);
+	        	adminSession.save();
+	        	logger.info("The file {} has been moved to {}", resourceName, destDir);
+	        }
+	        return JobResult.OK;
+		} catch (final Exception e) {
+			logger.error("Exception: " + e, e);
+			return JobResult.FAILED;
+        } finally {
+            if (adminResolver != null) {
+                adminResolver.close();
+            }
+        }
+	}
+        
 The complete code for the **DropBoxEventHandler** service is available [here](DropBoxEventHandler.java).

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/tutorials-how-tos/installing-and-upgrading-bundles.md
----------------------------------------------------------------------
diff --git a/content/documentation/tutorials-how-tos/installing-and-upgrading-bundles.md b/content/documentation/tutorials-how-tos/installing-and-upgrading-bundles.md
index eac473c..b315f54 100644
--- a/content/documentation/tutorials-how-tos/installing-and-upgrading-bundles.md
+++ b/content/documentation/tutorials-how-tos/installing-and-upgrading-bundles.md
@@ -1,7 +1,10 @@
-title=Installing and Upgrading Bundles		
-type=page
+title=TODO title for installing-and-upgrading-bundles.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Installing and Upgrading Bundles
 Excerpt: Explains how to install, upgrade and uninstall Bundles using the Sling Management console.
 
 <div class="note">
@@ -70,7 +73,7 @@ There exists no GUI functionality yet to add a new repository to the list of kno
 
 For example, if you run Sling on `http://localhost:7402/sample` with default location of the Sling Management Console, the following request would add a repository at `/tmp/repo/repository.xml` in the filesystem:
 
-:::html
-http://localhost:7402/sample/system/console/bundlerepo?action=refreshOBR&repository=file:///tmp/repo/repository.xml
+    :::html
+    http://localhost:7402/sample/system/console/bundlerepo?action=refreshOBR&repository=file:///tmp/repo/repository.xml
 
 Note: Only use `file:` URLs if you know Sling has access to the named file !

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/tutorials-how-tos/jackrabbit-persistence.md
----------------------------------------------------------------------
diff --git a/content/documentation/tutorials-how-tos/jackrabbit-persistence.md b/content/documentation/tutorials-how-tos/jackrabbit-persistence.md
index c9c5d84..6150404 100644
--- a/content/documentation/tutorials-how-tos/jackrabbit-persistence.md
+++ b/content/documentation/tutorials-how-tos/jackrabbit-persistence.md
@@ -1,7 +1,10 @@
-title=Jackrabbit Persistence		
-type=page
+title=TODO title for jackrabbit-persistence.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Jackrabbit Persistence
 
 Out-of-the-box the embedded Jackrabbit repository used by Sling (the Embedded Jackrabbit Repository bundle) uses Derby to persist the JCR nodes and properties. For some applications or environments it may be required or required to replace Derby with another backing store such as PostgreSQL or Oracle.
 
@@ -26,19 +29,19 @@ The hardest thing to do is probably getting the JDBC driver for your database. O
 Another option is to create the bundle on your own using Peter Kriens' [bnd Tool](http://bnd.bndtools.org/):
 
 1. Get the JDBC driver for your database from the driver provider
-1. Wrap the JDBC driver library into an OSGi bundle:
+1. Wrap the JDBC driver library into an OSGi bundle:    
 
-:::sh
-# Example for PostgreSQL JDBC 3 driver 8.4-701
-$ java -jar bnd.jar wrap postgresql-8.4-701.jdbc3.jar
-$ mv postgresql-8.4-701.jdbc3.bar postgresql-8.4-701.jdbc3-bnd.jar
+        :::sh
+        # Example for PostgreSQL JDBC 3 driver 8.4-701
+        $ java -jar bnd.jar wrap postgresql-8.4-701.jdbc3.jar
+        $ mv postgresql-8.4-701.jdbc3.bar postgresql-8.4-701.jdbc3-bnd.jar
 
 1. Deploy the driver to your local Maven 2 Repository (Required if adding the JDBC driver to a Maven build, e.g. using the Sling Launchpad Plugin)
 
-:::sh
-$ mvn install:install-file
--DgroupId=postgresql -DartifactId=postgresql -Dversion=8.4.701.jdbc3
--Dpackaging=jar -Dfile=postgresql-8.4-701.jdbc3-bnd.jar
+        :::sh
+        $ mvn install:install-file \  
+            -DgroupId=postgresql -DartifactId=postgresql -Dversion=8.4.701.jdbc3 \  
+            -Dpackaging=jar -Dfile=postgresql-8.4-701.jdbc3-bnd.jar
 
 
 Tony reports no success with the Spring Source bundle, whily the bnd approach worked for the PostgreSQL JDBC driver.
@@ -50,7 +53,7 @@ To replace Derby in a running Sling instance follow these steps (e.g. through th
 
 1. Uninstall the Apache Derby bundle
 1. Install the JDBC bundle prepared in the first step
-1. Stop the Jackrabbit Embedded Repository bundle
+1. Stop the Jackrabbit Embedded Repository bundle    
 This needs to be reconfigured and restarted anyway. So lets just stop it to prevent failures in the next step.
 1. Refresh the packages (click the *Refresh Packages* button)
 
@@ -67,37 +70,37 @@ If the file already exists, you can modifiy this existing file and there is no n
 
 For example to use PostgreSQL instead of Derby modify the `<PersistenceManager>` elements as follows:
 
-:::xml
-<Repository>
-...
-<Workspace name="${wsp.name}">
-...
-<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
-<param name="driver" value="org.postgresql.Driver"/>
-<param name="url" value="jdbc:postgresql://localhost:5432/YOUR_DB_NAME_HERE"/>
-<param name="schema" value="postgresql"/>
-<param name="user" value="YOUR_USER_HERE"/>
-<param name="password" value="YOUR_PASSWORD_HERE"/>
-<param name="schemaObjectPrefix" value="jcr_${wsp.name}_"/>
-<param name="externalBLOBs" value="false"/>
-</PersistenceManager>
-...
-</Workspace>
-
-<Versioning rootPath="${rep.home}/version">
-...
-<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
-<param name="driver" value="org.postgresql.Driver"/>
-<param name="url" value="jdbc:postgresql://localhost:5432/YOUR_DB_NAME_HERE"/>
-<param name="schema" value="postgresql"/>
-<param name="user" value="YOUR_USER_HERE"/>
-<param name="password" value="YOUR_PASSWORD_HERE"/>
-<param name="schemaObjectPrefix" value="version_"/>
-<param name="externalBLOBs" value="false"/>
-</PersistenceManager>
-</Versioning>
-...
-</Repository>
+    :::xml
+    <Repository>
+        ...
+        <Workspace name="${wsp.name}">
+            ...
+            <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
+                <param name="driver" value="org.postgresql.Driver"/>
+                <param name="url" value="jdbc:postgresql://localhost:5432/YOUR_DB_NAME_HERE"/>
+                <param name="schema" value="postgresql"/>
+                <param name="user" value="YOUR_USER_HERE"/>
+                <param name="password" value="YOUR_PASSWORD_HERE"/>
+                <param name="schemaObjectPrefix" value="jcr_${wsp.name}_"/>
+                <param name="externalBLOBs" value="false"/>
+            </PersistenceManager>
+            ...
+        </Workspace>
+    
+        <Versioning rootPath="${rep.home}/version">
+            ...
+            <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
+                <param name="driver" value="org.postgresql.Driver"/>
+                <param name="url" value="jdbc:postgresql://localhost:5432/YOUR_DB_NAME_HERE"/>
+                <param name="schema" value="postgresql"/>
+                <param name="user" value="YOUR_USER_HERE"/>
+                <param name="password" value="YOUR_PASSWORD_HERE"/>
+                <param name="schemaObjectPrefix" value="version_"/>
+                <param name="externalBLOBs" value="false"/>
+            </PersistenceManager>
+        </Versioning>
+        ...
+    </Repository>
 
 
 Modify the `url`, `user`, and `password` parameters to match your database setup.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/tutorials-how-tos/testing-sling-based-applications.md
----------------------------------------------------------------------
diff --git a/content/documentation/tutorials-how-tos/testing-sling-based-applications.md b/content/documentation/tutorials-how-tos/testing-sling-based-applications.md
index 5ec3106..1e3c992 100644
--- a/content/documentation/tutorials-how-tos/testing-sling-based-applications.md
+++ b/content/documentation/tutorials-how-tos/testing-sling-based-applications.md
@@ -1,7 +1,10 @@
-title=Testing Sling-based applications		
-type=page
+title=TODO title for testing-sling-based-applications.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Testing Sling-based applications
 
 Automated testing of OSGi components and services can be challenging, as many of them depend on other services that must be present or simulated for testing.
 
@@ -11,7 +14,7 @@ This page describes the various approaches that we use to test Sling itself, and
 
 ## Unit tests
 
-When possible, unit tests are obviously the fastest executing ones, and it's easy to keep them close to the code that they're testing.
+When possible, unit tests are obviously the fastest executing ones, and it's easy to keep them close to the code that they're testing. 
 
 We have quite a lot of those in Sling, the older use the JUnit3 TestCase base class, and later ones use JUnit4 annotations. Mixing both approaches is possible, there's no need to rewrite existing tests.
 
@@ -38,15 +41,15 @@ The problem with mocks is that it can become hard to make sure you're actually t
 To inject (real or fake) services in others for testing, without having to create getters and setters just for this, you could use a reflection-based trick, as in the below example. Utilities
 such as the [PrivateAccessor](http://junit-addons.sourceforge.net/junitx/util/PrivateAccessor.html) from [junit-addons](http://junit-addons.sourceforge.net/) make that simpler.
 
-#!java
-// set resource resolver factory
-// in a ServletResolver object which has a private resourceResolverFactory field
-
-ServletResolver servletResolver = ....
-Class<?> resolverClass = servletResolver.getClass().getSuperclass();
-final java.lang.reflect.Field resolverField = resolverClass.getDeclaredField("resourceResolverFactory");
-resolverField.setAccessible(true);
-resolverField.set(servletResolver, factory);
+    #!java
+    // set resource resolver factory
+    // in a ServletResolver object which has a private resourceResolverFactory field
+    
+    ServletResolver servletResolver = ....
+    Class<?> resolverClass = servletResolver.getClass().getSuperclass();
+    final java.lang.reflect.Field resolverField = resolverClass.getDeclaredField("resourceResolverFactory");
+    resolverField.setAccessible(true);
+    resolverField.set(servletResolver, factory);
 
 
 ## Pax Exam
@@ -60,60 +63,60 @@ Such tests are obviously slower than plain unit tests and tests that use mocks.
 ## Server-side JUnit tests
 
 The tools described on the [JUnit server-side testing support](/documentation/bundles/org-apache-sling-junit-bundles.html) page allow for
-running JUnit tests on an live Sling instance, as part of the normal integration testing cycle.
+running JUnit tests on an live Sling instance, as part of the normal integration testing cycle. 
 
 ## HTTP-based integration tests
-The [Sling HTTP Testing Rules](https://svn.apache.org/repos/asf/sling/trunk/testing/junit/rules) allow writing integration tests easily. They are primarily meant to be used for tests that use http against
-a Sling instance and make use of the [org.apache.sling.testing.clients](https://svn.apache.org/repos/asf/sling/trunk/testing/http/clients) which offer a simple, immutable and extendable way of working
+The [Sling HTTP Testing Rules](https://svn.apache.org/repos/asf/sling/trunk/testing/junit/rules) allow writing integration tests easily. They are primarily meant to be used for tests that use http against 
+a Sling instance and make use of the [org.apache.sling.testing.clients](https://svn.apache.org/repos/asf/sling/trunk/testing/http/clients) which offer a simple, immutable and extendable way of working 
 with specialized testing clients.
 
-The JUnit rules incorporate boiler-plate logic that is shared in tests and take the modern approach of using rules rather than
-inheritance. The `SlingRule` (for methods) or `SlingClassRule` (for test classes) are base rules, chaining other rules like `TestTimeoutRule`,
-`TestDescriptionRule`, `FilterRule`. The `SlingInstanceRule` extends that and starts a Sling instance if needed and also allows
+The JUnit rules incorporate boiler-plate logic that is shared in tests and take the modern approach of using rules rather than 
+inheritance. The `SlingRule` (for methods) or `SlingClassRule` (for test classes) are base rules, chaining other rules like `TestTimeoutRule`, 
+`TestDescriptionRule`, `FilterRule`. The `SlingInstanceRule` extends that and starts a Sling instance if needed and also allows 
 instantiating a `SlingClient` pointing to the instance and automatically configure the base url, credentials, etc.
-
+    
 
 ### <a name="starting"></a> Starting an Integration Test
-Starting an integration is very simple out of the box, but is very extendable, both by combining or configuring the junit rules and by
-using the versatile `SlingClient` (which can be extended or adapted by calling `adaptTo(MyClient.class)` without losing the client
+Starting an integration is very simple out of the box, but is very extendable, both by combining or configuring the junit rules and by 
+using the versatile `SlingClient` (which can be extended or adapted by calling `adaptTo(MyClient.class)` without losing the client 
 configuration)
 
 The [README](https://svn.apache.org/repos/asf/sling/trunk/testing/junit/rules/README.md) provides more detail, as do [the tests](https://svn.apache.org/repos/asf/sling/trunk/testing/junit/rules/src/test/java).
 The [Sling HTTP Testing Clients](https://svn.apache.org/repos/asf/sling/trunk/testing/http/clients) provide simple explanations, and unit tests.
 
 #### Maven Dependency
-#!xml
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.testing.rules</artifactId>
-<version>0.1.0-SNAPSHOT</version>
-</dependency>
+    #!xml 
+    <dependency>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>org.apache.sling.testing.rules</artifactId>
+        <version>0.1.0-SNAPSHOT</version>        
+    </dependency>
 
 #### Simple Example using SlingInstanceRule
 
 
-#!java
-public class MySimpleIT {
-
-@ClassRule
-public static SlingInstanceRule instanceRule = new SlingInstanceRule();
-
-@Rule
-public SlingRule methodRule = new SlingRule(); // will configure test timeout, description, etc.
-
-@Test
-public void testCreateNode() {
-SlingClient client = instanceRule.getAdminClient();
-client.createNode("/content/myNode", "nt:unstructured");
-Assert.assertTrue("Node should be there", client.exists("/content/myNode"));
-//client.adaptTo(OsgiConsoleClient.class).editConfigurationWithWait(10, "MYPID", null, myMap);
-}
-}
-
+    #!java   
+    public class MySimpleIT {
+    
+        @ClassRule
+        public static SlingInstanceRule instanceRule = new SlingInstanceRule();
+    
+        @Rule
+        public SlingRule methodRule = new SlingRule(); // will configure test timeout, description, etc.
+    
+        @Test
+        public void testCreateNode() {
+           SlingClient client = instanceRule.getAdminClient();
+           client.createNode("/content/myNode", "nt:unstructured");
+           Assert.assertTrue("Node should be there", client.exists("/content/myNode"));
+           //client.adaptTo(OsgiConsoleClient.class).editConfigurationWithWait(10, "MYPID", null, myMap);
+        }            
+    } 
+ 
 
 ## Summary
 
 Combining the above testing techniques has worked well for us in creating and testing Sling. Being able to test things at different levels of integration has proved an efficient way to get good test coverage without having to write too much boring test code.
 
 
-[1]: https://code.google.com/p/mockito/
+  [1]: https://code.google.com/p/mockito/

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/errors/403.md
----------------------------------------------------------------------
diff --git a/content/errors/403.md b/content/errors/403.md
index def2c05..1af2d6d 100644
--- a/content/errors/403.md
+++ b/content/errors/403.md
@@ -1,23 +1,26 @@
-title=Forbidden (403)		
-type=page
+title=TODO title for 403.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title:     Forbidden (403)
 Notice:    Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-.
-http://www.apache.org/licenses/LICENSE-2.0
-.
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
+           or more contributor license agreements.  See the NOTICE file
+           distributed with this work for additional information
+           regarding copyright ownership.  The ASF licenses this file
+           to you under the Apache License, Version 2.0 (the
+           "License"); you may not use this file except in compliance
+           with the License.  You may obtain a copy of the License at
+           .
+             http://www.apache.org/licenses/LICENSE-2.0
+           .
+           Unless required by applicable law or agreed to in writing,
+           software distributed under the License is distributed on an
+           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+           KIND, either express or implied.  See the License for the
+           specific language governing permissions and limitations
+           under the License.
 
 We're sorry, but the page you requested cannot be accessed. This may be because:
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/errors/404.md
----------------------------------------------------------------------
diff --git a/content/errors/404.md b/content/errors/404.md
index a35f228..31dcb2c 100644
--- a/content/errors/404.md
+++ b/content/errors/404.md
@@ -1,23 +1,26 @@
-title=Page Not Found		
-type=page
+title=TODO title for 404.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title:     Page Not Found
 Notice:    Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-.
-http://www.apache.org/licenses/LICENSE-2.0
-.
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
+           or more contributor license agreements.  See the NOTICE file
+           distributed with this work for additional information
+           regarding copyright ownership.  The ASF licenses this file
+           to you under the Apache License, Version 2.0 (the
+           "License"); you may not use this file except in compliance
+           with the License.  You may obtain a copy of the License at
+           .
+             http://www.apache.org/licenses/LICENSE-2.0
+           .
+           Unless required by applicable law or agreed to in writing,
+           software distributed under the License is distributed on an
+           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+           KIND, either express or implied.  See the License for the
+           specific language governing permissions and limitations
+           under the License.
 
 We're sorry, but the page you requested cannot be found. This may be because:
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/guides.md
----------------------------------------------------------------------
diff --git a/content/guides.md b/content/guides.md
index 30a4d95..bcae798 100644
--- a/content/guides.md
+++ b/content/guides.md
@@ -1,23 +1,26 @@
-title=Guides		
-type=page
+title=TODO title for guides.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
 translation_pending: true
+Title: Guides
 
 These pages contain further information in a more informal way.
 
-* [Discover Sling in 15 minutes ](/documentation/getting-started/discover-sling-in-15-minutes.html) - title says it all
+    * [Discover Sling in 15 minutes ](/documentation/getting-started/discover-sling-in-15-minutes.html) - title says it all
 
-* [Resources](/documentation/the-sling-engine/resources.html) -- Presents the Resource as the object around which Sling is built
-* [Servlet Resolution]({{ refs.servlet-resolution.path }}) -- How Sling resolves the servlet or script responsible for rendering a Resource.
-* [Request Parameters](/documentation/the-sling-engine/request-parameters.html) -- Explains how Sling provides request parameters to servlets, scripts and filters.
-* [Repository Based Development](/documentation/development/repository-based-development.html) -- Shows how WebDAV is supported by Sling.
+    * [Resources](/documentation/the-sling-engine/resources.html) -- Presents the Resource as the object around which Sling is built
+    * [Servlet Resolution]({{ refs.servlet-resolution.path }}) -- How Sling resolves the servlet or script responsible for rendering a Resource.
+    * [Request Parameters](/documentation/the-sling-engine/request-parameters.html) -- Explains how Sling provides request parameters to servlets, scripts and filters.
+    * [Repository Based Development](/documentation/development/repository-based-development.html) -- Shows how WebDAV is supported by Sling.
 
-* [Bundle Management](/documentation/tutorials-how-tos/installing-and-upgrading-bundles.html) -- Explains how to install, upgrade and uninstall Bundles using the Sling Management console.
+    * [Bundle Management](/documentation/tutorials-how-tos/installing-and-upgrading-bundles.html) -- Explains how to install, upgrade and uninstall Bundles using the Sling Management console.
 
 
 These pages refer to the old Component API and launcher, and remain referred to here until more up to date documentation has been prepared:
 
-* [Getting and Building Sling](/documentation/development/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
-* [Default Mapping and Rendering](/documentation/the-sling-engine/default-mapping-and-rendering.html) -- Explains default mapping of repository nodes to Content instances and selection of a default Component.
-* [Dispatching Requests](/documentation/the-sling-engine/dispatching-requests.html) -- Explains how a Component may dispatch requests to include further content renderings in the response to the client's request
+    * [Getting and Building Sling](/documentation/development/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
+    * [Default Mapping and Rendering](/documentation/the-sling-engine/default-mapping-and-rendering.html) -- Explains default mapping of repository nodes to Content instances and selection of a default Component.
+    * [Dispatching Requests](/documentation/the-sling-engine/dispatching-requests.html) -- Explains how a Component may dispatch requests to include further content renderings in the response to the client's request

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/index.md
----------------------------------------------------------------------
diff --git a/content/index.md b/content/index.md
index 392a6cb..dfbbc5c 100644
--- a/content/index.md
+++ b/content/index.md
@@ -1,13 +1,16 @@
-title=Apache Sling - Bringing Back the Fun!		
-type=page
+title=TODO title for index.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Apache Sling - Bringing Back the Fun!
 
 **Apache Sling&trade;** is an innovative web framework that is intended to
 bring back the fun to web development.
 
 Discussions about Sling happen on our mailing lists, see the [Project Information](/project-information.html)
-page for more info.
+ page for more info.
 
 # Apache Sling in five bullets points
 
@@ -26,14 +29,14 @@ Sling applications use either scripts or Java servlets, selected based on
 simple name conventions, to process HTTP requests in a RESTful way.
 
 The embedded [Apache Felix](http://felix.apache.org/)
-OSGi framework and console provide a dynamic runtime environment, where
+ OSGi framework and console provide a dynamic runtime environment, where
 code and content bundles can be loaded, unloaded and reconfigured at
 runtime.
 
 As the first web framework dedicated to [JSR-170](http://jcp.org/en/jsr/detail?id=170)
-Java Content Repositories, Sling makes it very simple to implement simple
+ Java Content Repositories, Sling makes it very simple to implement simple
 applications, while providing an enterprise-level framework for more
-complex applications.
+complex applications. 
 
 ## News
 
@@ -52,17 +55,17 @@ Sling started as an internal project at [Day Software](http://www.day.com)
 The name "Sling" has been proposed by Roy Fielding who explained it like
 this:
 
-> [The name is] Biblical in nature.  The story of David: the weapon he
+> \[The name is\] Biblical in nature.  The story of David: the weapon he
 > uses to slay the giant Goliath is a sling.  Hence, our David's
-> [David Nuescheler, CTO of Day Software] favorite weapon.
+> \[David Nuescheler, CTO of Day Software\] favorite weapon.
 
 > It is also the simplest device for delivering content very fast.
 
 ## Getting started
 
 If you prefer doing rather than reading, please proceed to [Discover Sling in 15 minutes](/documentation/getting-started/discover-sling-in-15-minutes.html)
-or read through the recommended links in the [Getting Started](/documentation/getting-started.html)
-section, where you can quickly get started on your own instance of Sling.
+ or read through the recommended links in the [Getting Started](/documentation/getting-started.html)
+ section, where you can quickly get started on your own instance of Sling.
 
 ## Use Cases for Sling
 
@@ -117,12 +120,12 @@ framework for Java Content Repository (JCR) based data stores. Sling is
 implemented - with the notable exception of JCR Node Type management -
 purely in terms of the JCR API and as such may use any JCR compliant
 repository. The default implementation for [Apache Jackrabbit](http://jackrabbit.apache.org)
-is provided out of the box.
+ is provided out of the box.
 
 #### OSGi
 
 Sling is implemented as a series of [OSGi](http://www.osgi.org)
-Bundles and makes extensive use of the OSGi functionality, such as
+ Bundles and makes extensive use of the OSGi functionality, such as
 lifecycle management and the service layer. In addition, Sling requires
 several OSGi compendium services to be available, such as the Log Service,
 Http Service, Configuration Admin Service, Metatype Service, and
@@ -132,17 +135,17 @@ Declarative Services.
 
 While Sling does not require a specific OSGi framework implementation to
 run in, Sling is being developed using [Apache Felix](http://felix.apache.org)
-as the OSGi framework implementation. It has not been tested yet, but it
+ as the OSGi framework implementation. It has not been tested yet, but it
 is expected that Sling also operates perfectly inside other OSGi frameworks
 such as [Equinox](http://www.eclipse.org/equinox) and [Knopflerfish](http://www.knopflerfish.org).
 
 
 <script src="/res/jquery.js" type="text/javascript"></script>
 <script type="text/javascript">
-$(document).ready(function() {
-$.get("/news.html", function(news) {
-var $newsExcerpt = $(news).find('li').slice(0,5);
-$('#newsExcerpt').append($newsExcerpt);
-});
-});
+        $(document).ready(function() {
+            $.get("/news.html", function(news) {
+                var $newsExcerpt = $(news).find('li').slice(0,5);
+                $('#newsExcerpt').append($newsExcerpt);
+            });
+        });
 </script>

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/javadoc-io.md
----------------------------------------------------------------------
diff --git a/content/javadoc-io.md b/content/javadoc-io.md
index 0626628..84f6ea1 100644
--- a/content/javadoc-io.md
+++ b/content/javadoc-io.md
@@ -1,7 +1,10 @@
-title=Sling API docs at javadoc.io		
-type=page
+title=TODO title for javadoc-io.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling API docs at javadoc.io
 
 [javadocs.io](http://www.javadoc.io/) provides archived javadocs for all Sling modules (and actually
 for all open source software hosted at Maven Central).

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/links.md
----------------------------------------------------------------------
diff --git a/content/links.md b/content/links.md
index 444949d..d215426 100644
--- a/content/links.md
+++ b/content/links.md
@@ -1,51 +1,54 @@
-title=Links		
-type=page
+title=TODO title for links.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Links
 
 Here are some links to other resources
 
 ## Articles
-* [Java Content Repository: The Best Of Both Worlds](http://java.dzone.com/articles/java-content-repository-best) - by Bertrand Delacretaz on Javalobby - uses the Sling HTTP interface to demonstrate JCR features.
-* [Accessing Relational Data as SLING RESTful URLs](http://www.lucamasini.net/Home/sling-and-cq5/accessing-relational-data-as-sling-restful-urls) - by Luca Masini
-* [Your First Day With Sakai Nakamura](http://confluence.sakaiproject.org/display/KERNDOC/Your+First+Day+With+Sakai+Nakamura) - Sakai Nakamura is based on Sling, that introductory article has very good explanations of REST and Sling basics, and on why hierarchies are useful on the Web.
+   * [Java Content Repository: The Best Of Both Worlds](http://java.dzone.com/articles/java-content-repository-best) - by Bertrand Delacretaz on Javalobby - uses the Sling HTTP interface to demonstrate JCR features.
+   * [Accessing Relational Data as SLING RESTful URLs](http://www.lucamasini.net/Home/sling-and-cq5/accessing-relational-data-as-sling-restful-urls) - by Luca Masini
+   * [Your First Day With Sakai Nakamura](http://confluence.sakaiproject.org/display/KERNDOC/Your+First+Day+With+Sakai+Nakamura) - Sakai Nakamura is based on Sling, that introductory article has very good explanations of REST and Sling basics, and on why hierarchies are useful on the Web.
 
 ## About Sling
 
-* [Sling on dev.day.com](http://dev.day.com/microsling/content/blogs/main.html?category=sling) - Day's developers blog, regularly includes articles on Sling and JCR. Powered by Sling, of course.
-* [Sling on Lars Trieloff's Blog](http://weblogs.goshaky.com/weblogs/lars/tags/sling) - Lars regularly writes on his experiences with Sling. Most notably the mini series of three entries introducing Sling and microsling.
-* [Sling links at del.icio.us](http://del.icio.us/tag/sling+jcr) - If you're a del.icio.us user, please tag Sling-related posts with both *sling* and *jcr* tags, so that they appear in that list.
-* [Sling on Fisheye](http://fisheye6.atlassian.com/browse/sling) - code repository viewer, activity statistics, etc.
-* [Sling on ohloh](https://www.ohloh.net/p/sling) - activity and community statistics.
-* [Sling on MarkMail](http://sling.markmail.org/) - searchable mailing list archives.
+   * [Sling on dev.day.com](http://dev.day.com/microsling/content/blogs/main.html?category=sling) - Day's developers blog, regularly includes articles on Sling and JCR. Powered by Sling, of course.
+   * [Sling on Lars Trieloff's Blog](http://weblogs.goshaky.com/weblogs/lars/tags/sling) - Lars regularly writes on his experiences with Sling. Most notably the mini series of three entries introducing Sling and microsling.
+   * [Sling links at del.icio.us](http://del.icio.us/tag/sling+jcr) - If you're a del.icio.us user, please tag Sling-related posts with both *sling* and *jcr* tags, so that they appear in that list.
+   * [Sling on Fisheye](http://fisheye6.atlassian.com/browse/sling) - code repository viewer, activity statistics, etc.
+   * [Sling on ohloh](https://www.ohloh.net/p/sling) - activity and community statistics.
+   * [Sling on MarkMail](http://sling.markmail.org/) - searchable mailing list archives.
 
 
 ## Projects using Sling
 
-* Gert Vanthienen succeeded in installing Sling into the new Apache ServiceMix kernel and documented his experience [Sling On ServiceMix Kernel](http://servicemix.apache.org/SMX4KNL/running-apache-sling-on-servicemix-kernel.html)
+   * Gert Vanthienen succeeded in installing Sling into the new Apache ServiceMix kernel and documented his experience [Sling On ServiceMix Kernel](http://servicemix.apache.org/SMX4KNL/running-apache-sling-on-servicemix-kernel.html)
 
 ## Sling Presentations and Screencasts
 
-* [Presentations tagged with "sling" at slideshare](http://www.slideshare.net/tag/sling)
+   * [Presentations tagged with "sling" at slideshare](http://www.slideshare.net/tag/sling) 
 
 The following screencasts demonstrate Day Software's CRX quickstart product, powered by Sling:
 
-* [First Steps with CRX Quickstart](http://dev.day.com/microsling/content/blogs/main/firststeps1.html)
-* [TheServerSide.com in 15 minutes](http://dev.day.com/microsling/content/blogs/main/firststeps2.html)
+   * [First Steps with CRX Quickstart](http://dev.day.com/microsling/content/blogs/main/firststeps1.html)
+   * [TheServerSide.com in 15 minutes](http://dev.day.com/microsling/content/blogs/main/firststeps2.html)
 
 ## From ApacheCon EU 08
 
-* [ApacheCon EU 08 Fast Feather Track Presentation on Sling](/res/docs/ApacheConEU08_FFT_Sling.pdf)
-* [JCR Meetup Presentation on Sling Architecture](/res/docs/ApacheConEU08_JCR_Meetup_Sling_Architecture.pdf)
+   * [ApacheCon EU 08 Fast Feather Track Presentation on Sling](/res/docs/ApacheConEU08_FFT_Sling.pdf)
+   * [JCR Meetup Presentation on Sling Architecture](/res/docs/ApacheConEU08_JCR_Meetup_Sling_Architecture.pdf)
 
 ## From ApacheCon US 07
 
-* [ApacheCon US 07 Fast Feather Track Presentation on Sling](/res/docs/ApacheConUS07_FFT_Sling.pdf)
-* [Feathercast On Day 4 with an interview on Sling with Felix](http://feathercast.org/?p=59)
+   * [ApacheCon US 07 Fast Feather Track Presentation on Sling](/res/docs/ApacheConUS07_FFT_Sling.pdf)
+   * [Feathercast On Day 4 with an interview on Sling with Felix](http://feathercast.org/?p=59)
 
 ## Technology used by Sling
 
-* [Apache Jackrabbit](http://jackrabbit.apache.org) - The reference implementation of the Content Repository for Java (JCR) Specification. This implementation is used in Sling as the primary repository.
-* [JSR 170: Content Repository for Java{tm} technology API](http://www.jcp.org/en/jsr/detail?id=170) - The specification of the repository API.
-* [Apache Felix](http://felix.apache.org) - The OSGi Framework implementation we use in Sling.
-* [The OSGi Alliance](http://www.osgi.org) - The OSGi Alliance is the specification body defining the OSGi Core and Compendium Services. These specifications are at the center of making Sling possible.
+   * [Apache Jackrabbit](http://jackrabbit.apache.org) - The reference implementation of the Content Repository for Java (JCR) Specification. This implementation is used in Sling as the primary repository.
+   * [JSR 170: Content Repository for Java{tm} technology API](http://www.jcp.org/en/jsr/detail?id=170) - The specification of the repository API.
+   * [Apache Felix](http://felix.apache.org) - The OSGi Framework implementation we use in Sling.
+   * [The OSGi Alliance](http://www.osgi.org) - The OSGi Alliance is the specification body defining the OSGi Core and Compendium Services. These specifications are at the center of making Sling possible.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/media.md
----------------------------------------------------------------------
diff --git a/content/media.md b/content/media.md
index 424c423..56292ac 100644
--- a/content/media.md
+++ b/content/media.md
@@ -1,8 +1,11 @@
-title=Media		
-type=page
+title=TODO title for media.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
 translation_pending: true
+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).
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/news.md
----------------------------------------------------------------------
diff --git a/content/news.md b/content/news.md
index 98dc445..d5161ab 100644
--- a/content/news.md
+++ b/content/news.md
@@ -1,7 +1,10 @@
-title=News		
-type=page
+title=TODO title for news.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: News
 
 * New Releases: [Apache Sling 9](/news/sling-launchpad-9-released.html), Apache Sling Launchpad Testing 9, Apache Sling Launchpad Testing WAR version 9, Apache Sling Launchpad Testing Fragment Bundle 2.0.12, Apache Sling Launchpad Testing Services 2.0.12, Apache Sling Launchpad Test Bundles 0.0.2, Apache Sling Launchpad Testing Services WAR 2.0.12, Apache Sling Integration Tests 1.0.4 ( June 12S , 2017 )
 * New Releases: Apache Sling JUnit Core 1.0.26, Testing Clients 1.1.0, JUnit Remote Test Runners 1.0.12, Tooling Support Install 1.0.4, and Tooling Support Source 1.0.4 (June 6th, 2017)
@@ -487,4 +490,4 @@ Apache Sling Scripting Sightly JS Use Provider 1.0.6, Apache Sling Resource Merg
 * Apache Sling has graduated into a top level project! (June 17, 2009)
 
 
-[1]: http://s.apache.org/CVE-2012-2138
+  [1]: http://s.apache.org/CVE-2012-2138

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/news/sling-ide-tooling-11-released.md
----------------------------------------------------------------------
diff --git a/content/news/sling-ide-tooling-11-released.md b/content/news/sling-ide-tooling-11-released.md
index 4dad4f6..9ba5c0c 100644
--- a/content/news/sling-ide-tooling-11-released.md
+++ b/content/news/sling-ide-tooling-11-released.md
@@ -1,7 +1,10 @@
-title=Apache Sling IDE Tooling 1.1 released		
-type=page
+title=TODO title for sling-ide-tooling-11-released.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Apache Sling IDE Tooling 1.1 released
 
 Here are some of the more noteworthy things available in this release.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/news/sling-launchpad-8-released.md
----------------------------------------------------------------------
diff --git a/content/news/sling-launchpad-8-released.md b/content/news/sling-launchpad-8-released.md
index b03154c..0fa7370 100644
--- a/content/news/sling-launchpad-8-released.md
+++ b/content/news/sling-launchpad-8-released.md
@@ -1,7 +1,10 @@
-title=Apache Sling Launchpad 8 released		
-type=page
+title=TODO title for sling-launchpad-8-released.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Apache Sling Launchpad 8 released
 
 Here are some of the more noteworthy things available in this release.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/news/sling-launchpad-9-released.md
----------------------------------------------------------------------
diff --git a/content/news/sling-launchpad-9-released.md b/content/news/sling-launchpad-9-released.md
index 13f203c..212dbe1 100644
--- a/content/news/sling-launchpad-9-released.md
+++ b/content/news/sling-launchpad-9-released.md
@@ -1,7 +1,10 @@
-title=Apache Sling Launchpad 9 released		
-type=page
+title=TODO title for sling-launchpad-9-released.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Apache Sling Launchpad 9 released
 
 Here are some of the more noteworthy things available in this release.
 
@@ -58,7 +61,7 @@ Streaming Upload Support
 The version of the Sling Engine shipped in the Launchpad now supports streaming uploads,
 for better I/O throughput. Streaming uploads are opt-in via setting the following HTTP Header:
 
-Sling-UploadMode: stream
+    Sling-UploadMode: stream
 
 Discovery: added Oak-based discovery implementation
 ---
@@ -80,7 +83,7 @@ Documentation available at [Service Authentication](/documentation/the-sling-eng
 Removed org.apache.sling.commons.json and org.json bundles
 ---
 
-Apache projects are no longer allowed, for legal reasons, to ship code which uses or links to the
+Apache projects are no longer allowed, for legal reasons, to ship code which uses or links to the 
 JSON.org Java implementation. As a consequence we have removed all code which references that
 API.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/old-stuff.md
----------------------------------------------------------------------
diff --git a/content/old-stuff.md b/content/old-stuff.md
index d557ddb..c250a22 100644
--- a/content/old-stuff.md
+++ b/content/old-stuff.md
@@ -1,8 +1,11 @@
-title=Old Stuff		
-type=page
+title=TODO title for old-stuff.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
 translation_pending: true
+Title: Old Stuff
 
 Should either be deleted or reviewed and updated to match the current code:
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/plugins.md
----------------------------------------------------------------------
diff --git a/content/plugins.md b/content/plugins.md
index 4a26182..0aa6b70 100644
--- a/content/plugins.md
+++ b/content/plugins.md
@@ -1,8 +1,11 @@
-title=Plugins		
-type=page
+title=TODO title for plugins.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
 translation_pending: true
+Title: Plugins
 
 These pages present the various Maven Plugins of Sling:
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/project-information.md
----------------------------------------------------------------------
diff --git a/content/project-information.md b/content/project-information.md
index 39bd1fb..cb117d9 100644
--- a/content/project-information.md
+++ b/content/project-information.md
@@ -1,7 +1,10 @@
-title=Project Information		
-type=page
+title=TODO title for project-information.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Project Information
 
 This document provides an overview of the various documents and links that are part of this project's general information:
 
@@ -44,7 +47,7 @@ This project uses Subversion to manage its source code. Instructions on Subversi
 The following is a link to the online source repository.
 
 
-http://svn.apache.org/viewvc/sling/trunk
+    http://svn.apache.org/viewvc/sling/trunk
 
 
 ### Anonymous access
@@ -52,7 +55,7 @@ http://svn.apache.org/viewvc/sling/trunk
 The source can be checked out anonymously from SVN with this command:
 
 
-$ svn checkout http://svn.apache.org/repos/asf/sling/trunk sling
+    $ svn checkout http://svn.apache.org/repos/asf/sling/trunk sling
 
 
 ### Developer access
@@ -60,13 +63,13 @@ $ svn checkout http://svn.apache.org/repos/asf/sling/trunk sling
 Everyone can access the Subversion repository via HTTPS, but Committers must checkout the Subversion repository via HTTPS.
 
 
-$ svn checkout https://svn.apache.org/repos/asf/sling/trunk sling
+    $ svn checkout https://svn.apache.org/repos/asf/sling/trunk sling
 
 
 To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password)
 
 
-$ svn commit --username your-username -m "A message"
+    $ svn commit --username your-username -m "A message"
 
 
 ### Access from behind a firewall
@@ -74,21 +77,21 @@ $ svn commit --username your-username -m "A message"
 For those users who are stuck behind a corporate firewall which is blocking http access to the Subversion repository, you can try to access it via the developer connection:
 
 
-$ svn checkout https://svn.apache.org/repos/asf/sling/trunk sling
+    $ svn checkout https://svn.apache.org/repos/asf/sling/trunk sling
 
 
 ### Access through a proxy
 
-The Subversion client can go through a proxy, if you configure it to do so. First, edit your "servers" configuration file to indicate which proxy to use. The files location depends on your operating system. On Linux or Unix it is located in the directory "~/.subversion". On Windows it is in "%APPDATA%Subversion". (Try "echo %APPDATA%", note this is a hidden directory.)
+The Subversion client can go through a proxy, if you configure it to do so. First, edit your "servers" configuration file to indicate which proxy to use. The files location depends on your operating system. On Linux or Unix it is located in the directory "~/.subversion". On Windows it is in "%APPDATA%\Subversion". (Try "echo %APPDATA%", note this is a hidden directory.)
 
 There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.
 
 Example : Edit the 'servers' file and add something like :
 
 
-[global]
-http-proxy-host = your.proxy.name
-http-proxy-port = 3128
+    [global]
+    http-proxy-host = your.proxy.name
+    http-proxy-port = 3128
 
 
 ## Continuous Integration

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/project-information/apache-sling-community-roles-and-processes.md
----------------------------------------------------------------------
diff --git a/content/project-information/apache-sling-community-roles-and-processes.md b/content/project-information/apache-sling-community-roles-and-processes.md
index a3ae232..38c00b7 100644
--- a/content/project-information/apache-sling-community-roles-and-processes.md
+++ b/content/project-information/apache-sling-community-roles-and-processes.md
@@ -1,13 +1,16 @@
-title=Apache Sling Community Roles and Processes		
-type=page
+title=TODO title for apache-sling-community-roles-and-processes.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Apache Sling Community Roles and Processes
 
 The Community Roles and Processes are put in effect as of 13/May/2009. Updated 7/December/2009 to reflect Sling being a top level project.
 
 ## Roles
 
-There are different roles with which Sling community members may be associated: User, Contributor, Committer, and PMC (Project Management Committee) Member. These roles are assigned and assumed based on merit.
+There are different roles with which Sling community members may be associated: User, Contributor, Committer, and PMC (Project Management Committee) Member. These roles are assigned and assumed based on merit. 
 
 The User and Contributor roles are acquired by using the software and participating in the community, but the Committer and PMC member roles can only be granted by a PMC vote.
 


[03/12] sling-site git commit: Revert 88e80480d5c1dd204ab2cb8a11be9f96caecc899 which ate whitespace at the beginning of lines

Posted by bd...@apache.org.
http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/filters.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/filters.md b/content/documentation/the-sling-engine/filters.md
index 1d42d90..2371b54 100644
--- a/content/documentation/the-sling-engine/filters.md
+++ b/content/documentation/the-sling-engine/filters.md
@@ -1,7 +1,10 @@
-title=Servlet Filter Support		
-type=page
+title=TODO title for filters.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Servlet Filter Support
 
 Sling supports filter processing by applying filter chains to the requests before actually dispatching to the servlet or script for processing. Filters to be used in such filter processing are plain OSGi services of type `javax.servlet.Filter` which of course means that the services implement this interface.
 
@@ -9,7 +12,7 @@ Sling supports filter processing by applying filter chains to the requests befor
 See <a href="https://issues.apache.org/jira/browse/SLING-1213">SLING-1213</a>,
 <a href="https://issues.apache.org/jira/browse/SLING-1734">SLING-1734</a>, and
 <a href="http://markmail.org/message/quxhm7d5s6u66crr">Registering filters with Sling</a>
-for more details. The
+ for more details. The 
 <a href="https://svn.apache.org/repos/asf/sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/filters/NoPropertyFilter.java">NoPropertyFilter</a>
 from our integration tests shows an example Sling Filter.
 </div>
@@ -45,24 +48,24 @@ Note on `INCLUDE` and `FORWARD` with respect to JSP tags: These filters are also
 Filter processing is part of the Sling request processing, which may be sketched as follows:
 
 * *Request Level*:
-* Authentication
-* Resource Resolution
-* Servlet/Script Resolution
-* Request Level Filter Processing
+    * Authentication
+    * Resource Resolution
+    * Servlet/Script Resolution
+    * Request Level Filter Processing
 
 The first step of request processing is the *Request Level* processing which is concerned with resolving the resource, finding the appropriate servlet and calling into the request level filter chain. The next step is the *Component Level* processing, calling into the component level filters before finally calling the servlet or script:
 
 * *Component Level*:
-* Component Level Filter Processing
-* Call Servlet or Script
+    * Component Level Filter Processing
+    * Call Servlet or Script
 
 When a servlet or script is including or forwarding to another resource for processing through the `RequestDispatcher` (or any JSP tag or other language feature ultimately using a `RequestDispatcher`) the following *Dispatch* processing takes place:
 
 * *Dispatch*:
-* Resolve the resource to dispatch to if not already defined when getting the `RequestDispatcher`
-* Servlet/Script resolution
-* Call include or forward filters depending on the kind of dispatch
-* Call Servlet or Script
+    * Resolve the resource to dispatch to if not already defined when getting the `RequestDispatcher`
+    * Servlet/Script resolution
+    * Call include or forward filters depending on the kind of dispatch
+    * Call Servlet or Script
 
 As a consequence, request level filters will be called at most once during request processing (they may not be called at all if a filter earlier in the filter chain decides to terminate the request) while the component level, include, and forward filters may be called multiple times while processing a request.
 
@@ -72,42 +75,42 @@ Apart form the logs which tell you when filters are executed, two Sling plugins
 ### Recent Requests plugin
 The request traces provided at `/system/console/requests` contain information about filter execution, as in this example:
 
-0 (2010-09-08 15:22:38) TIMER_START{Request Processing}
-...
-0 (2010-09-08 15:22:38) LOG Method=GET, PathInfo=/some/path.html
-3 (2010-09-08 15:22:38) LOG Applying request filters
-3 (2010-09-08 15:22:38) LOG Calling filter: org.apache.sling.bgservlets.impl.BackgroundServletStarterFilter
-3 (2010-09-08 15:22:38) LOG Calling filter: org.apache.sling.portal.container.internal.request.PortalFilter
-3 (2010-09-08 15:22:38) LOG Calling filter: org.apache.sling.rewriter.impl.RewriterFilter
-3 (2010-09-08 15:22:38) LOG Calling filter: org.apache.sling.i18n.impl.I18NFilter
-3 (2010-09-08 15:22:38) LOG Calling filter: org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter
-3 (2010-09-08 15:22:38) LOG Applying inner filters
-3 (2010-09-08 15:22:38) TIMER_START{/some/script.jsp#0}
-...
-8 (2010-09-08 15:22:38) TIMER_END{8,Request Processing} Request Processing
+    0 (2010-09-08 15:22:38) TIMER_START{Request Processing}
+    ...
+    0 (2010-09-08 15:22:38) LOG Method=GET, PathInfo=/some/path.html
+    3 (2010-09-08 15:22:38) LOG Applying request filters
+    3 (2010-09-08 15:22:38) LOG Calling filter: org.apache.sling.bgservlets.impl.BackgroundServletStarterFilter
+    3 (2010-09-08 15:22:38) LOG Calling filter: org.apache.sling.portal.container.internal.request.PortalFilter
+    3 (2010-09-08 15:22:38) LOG Calling filter: org.apache.sling.rewriter.impl.RewriterFilter
+    3 (2010-09-08 15:22:38) LOG Calling filter: org.apache.sling.i18n.impl.I18NFilter
+    3 (2010-09-08 15:22:38) LOG Calling filter: org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter
+    3 (2010-09-08 15:22:38) LOG Applying inner filters
+    3 (2010-09-08 15:22:38) TIMER_START{/some/script.jsp#0}
+    ...
+    8 (2010-09-08 15:22:38) TIMER_END{8,Request Processing} Request Processing
 
 ### Config Status plugin
 The configuration status page at `/system/console/config` includes the current list of active filters in its *Servlet Filters* category, as in this example:
 
-Current Apache Sling Servlet Filter Configuration
-
-Request Filters:
--2147483648 : class org.apache.sling.bgservlets.impl.BackgroundServletStarterFilter (2547)
--3000 : class org.apache.sling.portal.container.internal.request.PortalFilter (2562)
--2500 : class org.apache.sling.rewriter.impl.RewriterFilter (3365)
--700 : class org.apache.sling.i18n.impl.I18NFilter (2334)
-0 : class org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter (2402)
-
-Error Filters:
----
-
-Include Filters:
-
-Forward Filters:
-1000 : class some.package.DebugFilter (2449)
-
-Component Filters:
--200 : class some.package.SomeComponentFilter (2583)
+    Current Apache Sling Servlet Filter Configuration
+    
+    Request Filters:
+    -2147483648 : class org.apache.sling.bgservlets.impl.BackgroundServletStarterFilter (2547)
+    -3000 : class org.apache.sling.portal.container.internal.request.PortalFilter (2562)
+    -2500 : class org.apache.sling.rewriter.impl.RewriterFilter (3365)
+    -700 : class org.apache.sling.i18n.impl.I18NFilter (2334)
+    0 : class org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter (2402)
+    
+    Error Filters:
+    ---
+    
+    Include Filters:
+    
+    Forward Filters:
+    1000 : class some.package.DebugFilter (2449)
+    
+    Component Filters:
+    -200 : class some.package.SomeComponentFilter (2583)
 
 
 The first numbers on those lines are the filter priorities, and the last number in parentheses is the OSGi service ID.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/mappings-for-resource-resolution.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/mappings-for-resource-resolution.md b/content/documentation/the-sling-engine/mappings-for-resource-resolution.md
index 34e009f..789db2f 100644
--- a/content/documentation/the-sling-engine/mappings-for-resource-resolution.md
+++ b/content/documentation/the-sling-engine/mappings-for-resource-resolution.md
@@ -1,7 +1,10 @@
-title=Mappings for Resource Resolution		
-type=page
+title=TODO title for mappings-for-resource-resolution.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Mappings for Resource Resolution
 
 [TOC]
 
@@ -16,7 +19,7 @@ That way you can even make it [run mode specific](/documentation/bundles/sling-s
 
 When dealing with the new resource resolution we have a number of properties influencing the process:
 
-* `sling:match` &ndash; 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: `/, :, [, ], *, ', ", , |` 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:match` &ndash; 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: `/, :, [, ], *, ', ", \, |` 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` &ndash; 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` &ndash; 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` &ndash; 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. This is a multi-value property, i.e. multiple paths can be given here, which are tried one after another until one resolved to a resource.
@@ -53,7 +56,7 @@ Namespace mangling operates such, that any namespace prefix identified in resour
 
 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`.
+*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`.
 
 ## Root Level Mappings
 
@@ -67,27 +70,27 @@ Each entry in the mapping table is a regular expression, which is constructed fr
 
 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"
-+-- regexmap
-+-- sling:match = "$1.example.com/$2"
-+-- sling:internalRedirect = "/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"
+               +-- regexmap
+                    +-- sling:match = "$1.example.com/$2"
+                    +-- sling:internalRedirect = "/content/([^/]+)/(.*)"
 
 This would define the following mapping entries:
 
@@ -95,32 +98,32 @@ This would define the following mapping entries:
 |--|--|--|--|
 | http/example.com.80 | http://www.example.com | 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 | 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 | 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. |
+| http/.+\.example\.com\.80 | http://www.example.com | 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 | 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. |
 
 ### 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:
 
-#!java
-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;
-}
-}
+    #!java
+    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;
+        }
+    }
 
 At the end of the loop, `result` contains the mapped path or `null` if no entry matches the request `path`.
 
@@ -128,18 +131,18 @@ At the end of the loop, `result` contains the mapped path or `null` if no entry
 
 #### Regular Expressions for Reverse Mappings
 
-By default using regular expressions with wildcards will prevent to use the mapping entry for reverse mappings (see above).
+By default using regular expressions with wildcards will prevent to use the mapping entry for reverse mappings (see above). 
 
-There is one exception though: If there is a `sling:internalRedirect` property containing a regular expression the map entry will be *exclusively used for reverse mappings* (i.e. used only for `ResourceResolver.map(...)`) (see also [SLING-2560](https://issues.apache.org/jira/browse/SLING-2560)). The same resource may carry a `sling:match` property with wildcards and groups referring to the groups being defined in the `sling:internalRedirect` property.
+There is one exception though: If there is a `sling:internalRedirect` property containing a regular expression the map entry will be *exclusively used for reverse mappings* (i.e. used only for `ResourceResolver.map(...)`) (see also [SLING-2560](https://issues.apache.org/jira/browse/SLING-2560)). The same resource may carry a `sling:match` property with wildcards and groups referring to the groups being defined in the `sling:internalRedirect` property. 
 
-This example
-
-/etc/map
-+-- http
-+-- example.com.80
-|    +-- sling:internalRedirect = "/content/([^/]+)/home/(.*)"
-|    +-- sling:match = "$1/index/$2"
+This example 
 
+    /etc/map
+          +-- http
+               +-- example.com.80
+               |    +-- sling:internalRedirect = "/content/([^/]+)/home/(.*)"
+               |    +-- sling:match = "$1/index/$2"
+               
 leads to the following entry being used in the reverse mapping table:
 
 | Pattern | Replacement |
@@ -153,12 +156,12 @@ The result of matching the request path and getting the redirection is either a
 
 The following pseudo code summarizes this behaviour:
 
-#!java
-String path = ....;
-String result = path;
-do {
-result = applyMapEntries(result);
-} while (isURL(result));
+    #!java
+    String path = ....;
+    String result = path;
+    do {
+        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.
 
@@ -168,7 +171,7 @@ The result of Root Level Mapping is an absolute or relative path to a resource.
 
 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 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.
@@ -179,32 +182,32 @@ Drilling down the resource tree starts at the root and for each segment in the p
 
 The following pseudo code shows this algorithm assuming the path is absolute:
 
-#!java
-String path = ...; // the absolute path
-Resource current = getResource("/");
-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;
-}
-} else {
-current = child;
-}
-}
-
-## Rebuild The Vanity Bloom Filter
+    #!java
+    String path = ...; // the absolute path
+    Resource current = getResource("/");
+    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;
+            }
+        } else {
+            current = child;
+        }
+    }
+
+## Rebuild The Vanity Bloom Filter 
 
 [SLING-4216](https://issues.apache.org/jira/browse/SLING-4216) introduced the usage of a bloom filter in order to resolve long startup time with many vanityPath entries.
 The bloom filter is handled automatically by the Sling framework. In some cases though, as changing the maximum number of vanity bloom filter bytes, a rebuild of the vanity bloom filter is needed.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/request-listeners.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/request-listeners.md b/content/documentation/the-sling-engine/request-listeners.md
index d661e70..20f6ccf 100644
--- a/content/documentation/the-sling-engine/request-listeners.md
+++ b/content/documentation/the-sling-engine/request-listeners.md
@@ -1,29 +1,32 @@
-title=Request Listeners		
-type=page
+title=TODO title for request-listeners.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Request Listeners
 
 Sling provides the possibility to "listen" to a request processed by the Sling Engine (`SlingMainServlet`). To get notified you implement the service interface `org.apache.sling.api.request.SlingRequestListener`.
 
-#!java
-public interface SlingRequestListener {
-
-static final String SERVICE_NAME = "org.apache.sling.api.request.SlingRequestListener";
-
-/**
-* This method is called from the Sling application for every
-* <code>EventType</code> appearing during the dispatching of
-* a Sling request
-*
-* @param sre the object representing the event
-*
-* @see org.apache.sling.api.request.SlingRequestEvent.EventType
-*/
-public void onEvent( SlingRequestEvent sre );
-}
-
-
-There are no special properties to set.
+    #!java
+    public interface SlingRequestListener {
+    	
+    	static final String SERVICE_NAME = "org.apache.sling.api.request.SlingRequestListener";	
+    
+    	/**
+    	 * This method is called from the Sling application for every
+    	 * <code>EventType</code> appearing during the dispatching of
+    	 * a Sling request  
+    	 * 
+    	 * @param sre the object representing the event
+    	 * 
+    	 * @see org.apache.sling.api.request.SlingRequestEvent.EventType
+    	 */
+    	public void onEvent( SlingRequestEvent sre );
+    }
+
+
+There are no special properties to set. 
 
 ## Supported types of events
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/request-parameters.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/request-parameters.md b/content/documentation/the-sling-engine/request-parameters.md
index 2fdea31..a6b610d 100644
--- a/content/documentation/the-sling-engine/request-parameters.md
+++ b/content/documentation/the-sling-engine/request-parameters.md
@@ -1,7 +1,10 @@
-title=Request Parameter Handling in Sling		
-type=page
+title=TODO title for request-parameters.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Request Parameter Handling in Sling
 Excerpt: Explains how Sling provides request parameters to the `Component`.
 
 ## Servlet API
@@ -18,7 +21,7 @@ The Servlet API specification provides the following methods to access the param
 | `ServletRequest.getParts()` | Returns all parts of the multipart request (since v3.0) |
 | `ServletRequest.getPart(String)` | Returns the request part with that name in case of multipart requests (since v3.0) |
 
-The actual encoding of the parameters is all but safe because the encoding of URLs is not very well defined and browsers do not set the character encoding when sending post data. Fortunately, they use the same character encoding for sending back form content as was used by the server to send the form.
+The actual encoding of the parameters is all but safe because the encoding of URLs is not very well defined and browsers do not set the character encoding when sending post data. Fortunately, they use the same character encoding for sending back form content as was used by the server to send the form. 
 
 
 ## Sling API
@@ -57,7 +60,7 @@ From within Sling servlets/scripts you can no longer rely on the original semant
 * `ServletRequest.getParameterMap()`
 * `ServletRequest.getParameterNames()`
 * `ServletRequest.getParts()` and
-* `ServletRequest.getPart(String)`
+* `ServletRequest.getPart(String)` 
 
 internally use the Sling parameter support (and therefore have the same implications on e.g. encoding). You should preferably use the Sling methods `getRequestParameter*` instead.
 
@@ -67,18 +70,18 @@ Calling `ServletRequest.getInputStream()` is not supported, nor relying on some
 
 Traditionally, the encoding of parameters, especially in text area input forms, has been a big issue. To solve this issue Sling introduces the following convention:
 
-* All forms should contain a hidden field of the name `_charset_` containing the actual encoding used to send the form from the server to the client
-* All forms should be sent with *UTF-8* character encoding
+   * All forms should contain a hidden field of the name `_charset_` containing the actual encoding used to send the form from the server to the client
+   * All forms should be sent with *UTF-8* character encoding
 
 The first rule is essential as it helps decoding the form input correctly. The second rule is not actually a very hard requirement but to enable support for all (or most) character sets used, using *UTF-8* is one of the best choices anyway.
 
 When Sling is now receiving a request and is asked for the parameters, the parameters are parsed in two phases: The first phase just parses the raw input data using an identity transformation of bytes to characters. This identity transformation happens to generate strings as the original data was generated with `ISO-8859-1` encoding. The second phase locates the `_charset_` parameter and fixes the character encodings of the parameters as follows:
 
-* All names of the parameters are re-encoded
-* The parameter values are re-encoded, unless the parameter value is an uploaded file. Actually the parameter (not the files of course) are internally as `byte[]({{ refs..path }})` where the conversion to a string is done on the fly (and yes, the conversion using the `_charset_` character encoding is of course cached for performance reasons)
-* If the parameter is an uploaded file, the file name is re-encoded on the fly when accessed
+   * All names of the parameters are re-encoded
+   * The parameter values are re-encoded, unless the parameter value is an uploaded file. Actually the parameter (not the files of course) are internally as `byte[]({{ refs..path }})` where the conversion to a string is done on the fly (and yes, the conversion using the `_charset_` character encoding is of course cached for performance reasons)
+   * If the parameter is an uploaded file, the file name is re-encoded on the fly when accessed
 
 <div class="info">
-Up to and including Sling Engine 2.2.2 request parameters are always decoded with ISO-8859-1 encoding if the <code>_charset_</code> request parameter is missing. As of Sling Engine 2.2.4 the <code>_charset_</code> request parameter is optional. As of this version the Sling Main Servlet supports a configuration setting which allows to change the default character encoding used if the <code>_charset_</code> request parameter is missing.
+Up to and including Sling Engine 2.2.2 request parameters are always decoded with ISO-8859-1 encoding if the <code>_charset_</code> request parameter is missing. As of Sling Engine 2.2.4 the <code>_charset_</code> request parameter is optional. As of this version the Sling Main Servlet supports a configuration setting which allows to change the default character encoding used if the <code>_charset_</code> request parameter is missing. 
 To enable this functionality set the <code>sling.default.parameter.encoding</code> parameter of the Sling Main Servlet (PID <code>org.apache.sling.engine.impl.SlingMainServlet</code>) configuration (for Sling Engine < 2.3.0) or the same parameter of the Sling Request Parameter Handling (PID <code>org.apache.sling.engine.parameters</code>) configuration (for Sling Engine >= 2.3.0 ) to the desired encoding, which of course must be supported by the actual Java Platform.
 </div>

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/resources.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/resources.md b/content/documentation/the-sling-engine/resources.md
index 387a192..99dd73a 100644
--- a/content/documentation/the-sling-engine/resources.md
+++ b/content/documentation/the-sling-engine/resources.md
@@ -1,7 +1,10 @@
-title=Resources		
-type=page
+title=TODO title for resources.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Resources
 
 [TOC]
 
@@ -59,18 +62,18 @@ As has been said, the absolute path mapping methods `resolve(HttpServletRequest,
 
 The general algorithm of the two methods is as follows:
 
-1. Call `HttpServletRequest.getScheme(), .getServerName(), getServerPort` to get an absolute path out of the request URL: [scheme]({{ refs.scheme.path }})/[host].[port][path] (`resolve(HttpServletRequest, String)` method only, which)
+1. Call `HttpServletRequest.getScheme(), .getServerName(), getServerPort` to get an absolute path out of the request URL: \[scheme\]({{ refs.scheme.path }})/\[host\].\[port\]\[path\] (`resolve(HttpServletRequest, String)` method only, which)
 1. Check whether any virtual path matches the absolute path. If such a match exists, the next step is entered with the match.
 1. Apply a list of mappings in order to create a mapped path. The first mapped path resolving to a Resource is assumed success and the Resource found is returned.
-1. If no mapping created a mapped path addressing an existing Resource, the method fails and returns a `NonExistingResource` (for the
-`resolve(String)` and `resolve(HttpServletRequest,String)`) or null (for the `getResource(String path)`
+1. If no mapping created a mapped path addressing an existing Resource, the method fails and returns a `NonExistingResource` (for the  
+`resolve(String)` and `resolve(HttpServletRequest,String)`) or null (for the `getResource(String path)` 
 and `getResource(Resource base, String path)` methods).
 
 The virtual path mapping may be used to create shortcut URLs for otherwise long and complicated URLs. An example of such an URL might be the main administrative page of a CMS system. So, administrators may access the root of the web application and directed to the main administrative page.
 
 The path mapping functionality may be used to hide internal resource organization from the request URL space. For example to better control the structure of your repository, you might decide to store all accessible data inside a `/content` subtree. To hide this fact from the users, a mapping may be defined to prefix all incoming paths with `/content` to get at the actual Resource.
 
-The `map(String)` applies the path mapping algorithm in the reverse order. That is, first the path mappings are reversed and then any virtual mappings are checked. So, a path `/content/sample` might be mapped `/sample` to revers the `/content` prefixing. Or the main administrative page - say `/system/admin/main.html` - may be mapped to the virtual URL `/`.
+The `map(String)` applies the path mapping algorithm in the reverse order. That is, first the path mappings are reversed and then any virtual mappings are checked. So, a path `/content/sample` might be mapped `/sample` to revers the `/content` prefixing. Or the main administrative page - say `/system/admin/main.html` \- may be mapped to the virtual URL `/`.
 
 More details on mappings can be found at [Mappings for Resource Resolution](/documentation/the-sling-engine/mappings-for-resource-resolution.html).
 
@@ -117,7 +120,7 @@ JCR-based Resources are provided with the default `JcrResourceProvider`. This Re
 
 Resources may by provided by OSGi bundles. Providing bundles have a Bundle manifest header `Sling-Bundle-Resources` containing a list of absolute paths provided by the bundle. The path are separated by comma or whitespace (SP, TAB, VTAB, CR, LF).
 
-The `BundleResourceProvider` supporting bundle-based Resources provides directories as Resources of type `nt:folder` and files as Resources of type `nt:file`. This matches the default primary node types intended to be used for directories and files in JCR repositories.
+The `BundleResourceProvider` supporting bundle-based Resources provides directories as Resources of type `nt:folder` and files as Resources of type `nt:file`. This matches the default primary node types intended to be used for directories and files in JCR repositories. 
 
 For details see [Bundle Resource.](/documentation/bundles/bundle-resources-extensions-bundleresource.html)
 
@@ -127,7 +130,7 @@ Servlet Resources are registered by the Servlet Resolver bundle for Servlets reg
 
 ### File System Resources
 
-The Filesystem Resource Provider provides access to the operating system's filesystem through the Sling ResourceResolver. Multiple locations may be mapped into the resource tree by configuring the filesystem location and the resource tree root path for each location to be mapped.
+The Filesystem Resource Provider provides access to the operating system's filesystem through the Sling ResourceResolver. Multiple locations may be mapped into the resource tree by configuring the filesystem location and the resource tree root path for each location to be mapped. 
 
 For details see [File System Resources](/documentation/bundles/accessing-filesystem-resources-extensions-fsresource.html).
 
@@ -169,12 +172,12 @@ Resource events are sent out via the OSGi Event Admin. You can subscribe to thos
 The Sling API provides an easy way to wrap or decorate a resource before returning. Details see [Wrap or Decorate Resources](/documentation/the-sling-engine/wrap-or-decorate-resources.html).
 
 
-[1]: http://sling.apache.org/apidocs/sling8/org/apache/sling/api/resource/ResourceMetadata.html "ResourceMetadata"
-[2]: http://sling.apache.org/apidocs/sling8/org/apache/sling/api/resource/Resource.html "Resource"
-[3]: http://sling.apache.org/apidocs/sling8/org/apache/sling/api/resource/AbstractResource.html "AbstractResource"
-[4]: https://svn.apache.org/repos/asf/sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/resourceprovider/
-[5]: https://svn.apache.org/repos/asf/sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/WriteableResourcesTest.java
-[6]: https://svn.apache.org/repos/asf/sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java
-[7]: https://svn.apache.org/repos/asf/sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ExternalResourceChangeListener.java
-[8]: https://osgi.org/javadoc/r6/cmpn/org/osgi/service/event/EventHandler.html
-[9]: http://sling.apache.org/apidocs/sling8/org/apache/sling/api/SlingConstants.html
+  [1]: http://sling.apache.org/apidocs/sling8/org/apache/sling/api/resource/ResourceMetadata.html "ResourceMetadata"
+  [2]: http://sling.apache.org/apidocs/sling8/org/apache/sling/api/resource/Resource.html "Resource"
+  [3]: http://sling.apache.org/apidocs/sling8/org/apache/sling/api/resource/AbstractResource.html "AbstractResource"
+  [4]: https://svn.apache.org/repos/asf/sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/resourceprovider/
+  [5]: https://svn.apache.org/repos/asf/sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/WriteableResourcesTest.java
+  [6]: https://svn.apache.org/repos/asf/sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java
+  [7]: https://svn.apache.org/repos/asf/sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ExternalResourceChangeListener.java
+  [8]: https://osgi.org/javadoc/r6/cmpn/org/osgi/service/event/EventHandler.html
+  [9]: http://sling.apache.org/apidocs/sling8/org/apache/sling/api/SlingConstants.html

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/service-authentication.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/service-authentication.md b/content/documentation/the-sling-engine/service-authentication.md
index be77891..b34e221 100644
--- a/content/documentation/the-sling-engine/service-authentication.md
+++ b/content/documentation/the-sling-engine/service-authentication.md
@@ -1,7 +1,10 @@
-title=Service Authentication		
-type=page
+title=TODO title for service-authentication.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Service Authentication
 Excerpt: Introduce new service level authentication to replace `loginAdministrative`
 
 [TOC]
@@ -55,8 +58,8 @@ a Resource Resolver and/or JCR Repository user ID for authentication.
 
 Thus the actual service identification (service ID) is defined as:
 
-#!text
-service-id = service-name [ ":" subservice-name ] .
+    #!text
+    service-id = service-name [ ":" subservice-name ] .
 
 The `service-name` is the symbolic name of the bundle providing the service.
 
@@ -87,7 +90,7 @@ would be consituting the `mta` service. The sub systems would be called
 `smtp`, `queue`, and `deliver`.
 
 Thus the SMTP server daemon would be represented by a user for the
-`mta:smtp` Service.  queueing with `mta:queue`, and delivery with `mta:deliver`.
+`mta:smtp` Service.  queueing with `mta:queue`, and delivery with `mta:deliver`.  
 
 
 ## Implementation
@@ -105,9 +108,9 @@ such that system administrators are in full control of assigning users to servic
 
 The `ServiceUserMapper` defines the following API:
 
-#!java
-String getServiceUserID(Bundle bundle, String subServiceName);
-
+    #!java
+    String getServiceUserID(Bundle bundle, String subServiceName);
+    
 The implementation uses two fallbacks in case no mapping can be found for the given subServiceName
 
 1. Use user mapping for the serviceName only (not considering subServiceName)
@@ -121,10 +124,10 @@ The second part is support for service access to the Resource Tree. To this
 avail, the `ResourceResolverFactory` service is enhanced with a new factory
 method
 
-#!java
-ResourceResolver getServiceResourceResolver(Map<String, Object> authenticationInfo)
-throws LoginException;
-
+    #!java
+    ResourceResolver getServiceResourceResolver(Map<String, Object> authenticationInfo)
+        throws LoginException;
+    
 This method allows for access to the resource tree for services where the
 service bundle is the bundle actually using the `ResourceResolverFactory`
 service. The optional Subservice Name may be provided as an entry
@@ -143,9 +146,9 @@ The default implementation leverages `ServiceUserMapper.getServiceUserID()` to r
 The third part is an extension to the `SlingRepository`service interface
 to support JCR Repository access for services:
 
-#!java
-Session loginService(String subServiceName, String workspace)
-throws LoginException, RepositoryException;
+    #!java
+    Session loginService(String subServiceName, String workspace)
+        throws LoginException, RepositoryException;
 
 This method allows for access to the JCR Repository for services where the
 service bundle is the bundle actually using the `SlingRepository`
@@ -159,23 +162,23 @@ service. The additional Subservice Name may be provided with the
 For each service/subservice name combination an according mapping needs to be provided. The mapping binds a service name/subservice name to a JCR system user.
 This is configured through an OSGi configuration for the factory configuration with PID `org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended` [SLING-3578](https://issues.apache.org/jira/browse/SLING-3578). There you can set one configuration property named `user.mapping` getting a String array as value where each entry must stick to the following format:
 
-<service-name>[:<subservice-name>]=<authorizable id of a JCR system user>]
+    <service-name>[:<subservice-name>]=<authorizable id of a JCR system user>]
 
 The according user must exist at the point in time where `ResourceResolverFactory.getServiceResourceResolver(...)` or `SlingRepository.loginService(...)` is called. If you rely on one of those methods in your `activate` method of an OSGi component you should make sure that you defer starting your OSGi component until the according service user mapping is in place. For that you can reference the OSGi service `ServiceUserMapped` ([SLING-4312](https://issues.apache.org/jira/browse/SLING-4312)), optionally with a target filter on property `subServiceName` (in case such a subservice name is used). The service `ServiceUserMapped` does not expose any methods but is only a marker interface exclusively used to defer starting of other OSGi components. However this waits only for the mapping configuration to be available, it does not wait for the service user itself to be available.
 
 Example OSGi DS Component
 
-:::java
-@Component(
-reference = {
-// this waits with the activation of this component until a service user mapping with the service name = current bundle's id and the sub service name 'my-subservice-name' is available.
-// you can leave out "target" if the sub service name is not used.
-// Please note that this only waits for the mapping to be available, it does not wait for the service user itself to be available!
-@Reference(name ="scriptsServiceUser", target="(subServiceName=my-subservice-name)", service=ServiceUserMapped.class)
-}
-)
-class MyComponent {
-}
+    :::java
+    @Component(
+        reference = {
+            // this waits with the activation of this component until a service user mapping with the service name = current bundle's id and the sub service name 'my-subservice-name' is available.
+            // you can leave out "target" if the sub service name is not used.
+            // Please note that this only waits for the mapping to be available, it does not wait for the service user itself to be available!
+            @Reference(name ="scriptsServiceUser", target="(subServiceName=my-subservice-name)", service=ServiceUserMapped.class)
+        }
+    )
+    class MyComponent {
+    }
 
 There is a default mapping applied if no OSGi configuration is available for the mapping. The default is: "serviceuser--" + bundleId [ + "--" + subservice-name]. Please note, that these default mappings are not represented as a ServiceUserMapped service and therefore the above mentioned reference does not work.
 
@@ -195,7 +198,7 @@ The following methods are deprecated:
 * `ResourceProviderFactory.getAdministrativeResourceProvider`
 * `SlingRepository.loginAdministrative`
 
-The implementations we have in Sling's bundle will remain implemented
+The implementations we have in Sling's bundle will remain implemented 
 in the near future. But there will be a configuration switch to disable
 support for these methods: If the method is disabled, a `LoginException`
 is always thrown from these methods. The JavaDoc of the methods is
@@ -211,15 +214,15 @@ _whitelist fragment configuration_. It can be created as an OSGi factory
 configuration with the factoryPID `org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment`.
 E.g. a typical configuration file might be called
 `org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment-myapp.config`
-and could look as follows:
-
-whitelist.name="myapp"
-whitelist.bundles=[
-"com.myapp.core",
-"com.myapp.commons"
-]
-
-| Property            | Type     | Default     | Description |
+and could look as follows: 
+    
+    whitelist.name="myapp"
+    whitelist.bundles=[
+        "com.myapp.core",
+        "com.myapp.commons"
+    ]
+
+| Property            | Type     | Default     | Description | 
 |---------------------|----------|-------------|-------------|
 | `whitelist.name`    | String   | `[unnamed]` | Purely informational property that allows easy identification of different fragments. |
 | `whitelist.bundles` | String[] | []          | An array of bundle symbolic names that should be allowed to make use of the administrative login functionality. |
@@ -243,13 +246,13 @@ bundle symbolic names follow a set pattern but have randomly generated parts.
 
 Example: to whitelist all bundles generated by PaxExam a configuration file named `org.apache.sling.jcr.base.internal.LoginAdminWhitelist.config` might look as follows:
 
-whitelist.bypass=B"false"
-whitelist.bundles.regexp="^PAXEXAM.*$"
-
+    whitelist.bypass=B"false"
+    whitelist.bundles.regexp="^PAXEXAM.*$"
+ 
 The configuration PID is `org.apache.sling.jcr.base.internal.LoginAdminWhitelist`.
 It supports the following configuration properties.
-
-| Property                   | Type     | Default     | Description |
+ 
+| Property                   | Type     | Default     | Description | 
 |----------------------------|----------|-------------|-------------|
 | `whitelist.bypass`         | Boolean  | false       | Allow all bundles to use administrative login. This is __NOT__ recommended for production and warnings will be logged. |
 | `whitelist.bundles.regexp` | String   | ""          | A regular expression that whitelists all matching bundle symbolic names. This is __NOT__ recommended for production and warnings will be logged. |

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/servlets.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/servlets.md b/content/documentation/the-sling-engine/servlets.md
index 477e00e..ca21533 100644
--- a/content/documentation/the-sling-engine/servlets.md
+++ b/content/documentation/the-sling-engine/servlets.md
@@ -1,11 +1,14 @@
-title=Servlets and Scripts		
-type=page
+title=TODO title for servlets.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Servlets and Scripts
 
 [TOC]
 
-See also [URL to Script Resolution](/documentation/the-sling-engine/url-to-script-resolution.html) which explains how Sling maps URLs
+See also [URL to Script Resolution](/documentation/the-sling-engine/url-to-script-resolution.html) which explains how Sling maps URLs 
 to a script or and servlet.
 
 ## Servlet Registration
@@ -25,7 +28,7 @@ A `SlingServletResolver` listens for `Servlet` services and - given the correct
 
 For a Servlet registered as an OSGi service to be used by the Sling Servlet Resolver, either one or both of the `sling.servlet.paths` or the `sling.servlet.resourceTypes` service reference properties must be set. If neither is set, the Servlet service is ignored.
 
-Each path to be used for registration - either from the `sling.servlet.paths` property or constructed from the other `sling.servlet.*` properties - must be absolute. Any relative path is made absolute by prefixing it with a root path. This prefix may be set with the `sling.servlet.prefix` service registration property. If this property is not set, the first entry in the `ResourceResolver` search path for the `ResourceResolver.getResource(String)` method is used as the prefix. If this entry cannot be derived, a simpe slash - `/` - is used as the prefix.
+Each path to be used for registration - either from the `sling.servlet.paths` property or constructed from the other `sling.servlet.\*` properties - must be absolute. Any relative path is made absolute by prefixing it with a root path. This prefix may be set with the `sling.servlet.prefix` service registration property. If this property is not set, the first entry in the `ResourceResolver` search path for the `ResourceResolver.getResource(String)` method is used as the prefix. If this entry cannot be derived, a simpe slash - `/` \- is used as the prefix.
 
 If `sling.servlet.methods` is not specified, the servlet is only registered for handling GET and HEAD requests. Make sure to list all methods you want to be handled by this servlet.
 
@@ -38,54 +41,54 @@ Binding servlets by paths has several disadvantages when compared to binding by
 * if a path-bound servlet is not active, e.g. if the bundle is missing or not started, a POST might result in unexpected results. usually creating a node at /bin/xyz which subsequently overlays the servlets path binding
 * the mapping is not transparent to a developer looking just at the repository
 
-Given these drawbacks it is strongly recommended to bind servlets to resource types rather than paths.
+Given these drawbacks it is strongly recommended to bind servlets to resource types rather than paths. 
 
 ### Registering a Servlet using Java Annotations
 
-If you are working with the default Apache Sling development stack you can either use
+If you are working with the default Apache Sling development stack you can either use 
 
-* [OSGi DS annotations](https://osgi.org/javadoc/r6/cmpn/org/osgi/service/component/annotations/package-summary.html) (introduced with DS 1.2/OSGi 5, properly supported since [bnd 3.0](https://github.com/bndtools/bndtools/wiki/Changes-in-3.0.0), being used in [maven-bundle-plugin 3.0.0](http://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html)) or
+* [OSGi DS annotations](https://osgi.org/javadoc/r6/cmpn/org/osgi/service/component/annotations/package-summary.html) (introduced with DS 1.2/OSGi 5, properly supported since [bnd 3.0](https://github.com/bndtools/bndtools/wiki/Changes-in-3.0.0), being used in [maven-bundle-plugin 3.0.0](http://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html)) or 
 * Generic Felix SCR or Sling-specific `@SlingServlet` annotations from [Apache Felix Maven SCR Plugin](http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin.html) to register your Sling servlets:
 
 The following examples show example code how you can register Servlets with Sling
 
 1. OSGi DS annotations (recommended)
 
-:::java
-@Component(
-service = { Servlet.class },
-property = {
-SLING_SERVLET_RESOURCE_TYPES + "=/apps/my/type"
-SLING_SERVLET_METHODS + "=GET",
-SLING_SERVLET_EXTENSIONS + "=html",
-SLING_SERVLET_SELECTORS + "=hello",
-}
-)
-public class MyServlet extends SlingSafeMethodsServlet {
-
-@Override
-protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException {
-...
-}
-}
-
-Custom OSGi DS annotations (e.g. for Sling servlets) are not yet supported by the OSGi spec (and therefore by bnd), but this is supposed to be fixed with DS 1.4 (OSGi 7), see also [FELIX-5396](https://issues.apache.org/jira/browse/FELIX-5396).
+        :::java
+        @Component(
+        service = { Servlet.class },
+        property = { 
+            SLING_SERVLET_RESOURCE_TYPES + "=/apps/my/type"
+            SLING_SERVLET_METHODS + "=GET",
+            SLING_SERVLET_EXTENSIONS + "=html",
+            SLING_SERVLET_SELECTORS + "=hello",
+          }
+        )
+        public class MyServlet extends SlingSafeMethodsServlet {
+
+            @Override
+            protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException {
+                ...
+            }
+        }
+
+    Custom OSGi DS annotations (e.g. for Sling servlets) are not yet supported by the OSGi spec (and therefore by bnd), but this is supposed to be fixed with DS 1.4 (OSGi 7), see also [FELIX-5396](https://issues.apache.org/jira/browse/FELIX-5396).
 
 2. The `@SlingServlet` annotation (evaluated by maven-scr-plugin)
 
-:::java
-@SlingServlet(
-resourceTypes = "/apps/my/type",
-selectors = "hello",
-extensions = "html",
-methods = "GET")
-public class MyServlet extends SlingSafeMethodsServlet {
+        :::java
+        @SlingServlet(
+            resourceTypes = "/apps/my/type",
+            selectors = "hello",
+            extensions = "html",
+            methods = "GET")
+        public class MyServlet extends SlingSafeMethodsServlet {
 
-@Override
-protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException {
-...
-}
-}
+            @Override
+            protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException {
+                ...
+            }
+        }
 
 ### Automated tests
 
@@ -98,9 +101,9 @@ Such tests run as part of our continuous integration process, to demonstrate and
 
 ### Example: Registration by Path
 
-sling.servlet.paths = [ "/libs/sling/sample/html", "/libs/sling/sample/txt" ]
-sling.servlet.selectors = [ "img" ]
-sling.servlet.extensions = [ "html", "txt", "json" ]
+    sling.servlet.paths = [ "/libs/sling/sample/html", "/libs/sling/sample/txt" ]
+    sling.servlet.selectors = [ "img" ]
+    sling.servlet.extensions = [ "html", "txt", "json" ]
 
 
 A Servlet service registered with these properties is registered under the following paths:
@@ -114,9 +117,9 @@ The registration properties `sling.servlet.selectors` and `sling.servlet.extensi
 ### Example: Registration by Resource Type etc.
 
 
-sling.servlet.resourceTypes = [ "sling/unused" ]
-sling.servlet.selectors = [ "img", "tab" ]
-sling.servlet.extensions = [ "html", "txt", "json" ]
+    sling.servlet.resourceTypes = [ "sling/unused" ]
+    sling.servlet.selectors = [ "img", "tab" ]
+    sling.servlet.extensions = [ "html", "txt", "json" ]
 
 A Servlet service registered with these properties is registered for the following resource types:
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/sling-api-crud-support.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/sling-api-crud-support.md b/content/documentation/the-sling-engine/sling-api-crud-support.md
index 23fe6a8..1fb2aba 100644
--- a/content/documentation/the-sling-engine/sling-api-crud-support.md
+++ b/content/documentation/the-sling-engine/sling-api-crud-support.md
@@ -1,7 +1,10 @@
-title=Sling API CRUD Support		
-type=page
+title=TODO title for sling-api-crud-support.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling API CRUD Support
 
 [TOC]
 
@@ -9,13 +12,13 @@ status=published
 
 As of version 2.3.0, the Sling API provides full Create Read Update Delete (CRUD) features.  CRUD support is provided by the addition of the following methods to the ResourceResolver:
 
-* [void delete(Resource resource) throws PersistenceException](https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#delete-org.apache.sling.api.resource.Resource-)
-* [Resource create(Resource parent, String name, Map<String, Object> properties) throws PersistenceException](https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#create-org.apache.sling.api.resource.Resource-java.lang.String-java.util.Map-)
-* [void revert()](https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#revert--)
-* [void commit() throws PersistenceException](https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#commit--)
-* [boolean hasChanges()](https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#hasChanges--)
-* [void refresh()](https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#refresh--)
-
+ * [void delete(Resource resource) throws PersistenceException](https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#delete-org.apache.sling.api.resource.Resource-)
+ * [Resource create(Resource parent, String name, Map<String, Object> properties) throws PersistenceException](https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#create-org.apache.sling.api.resource.Resource-java.lang.String-java.util.Map-)
+ * [void revert()](https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#revert--)
+ * [void commit() throws PersistenceException](https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#commit--)
+ * [boolean hasChanges()](https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#hasChanges--)
+ * [void refresh()](https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#refresh--)
+ 
 Which provide the ability to create and delete resources as well as the addition of the ModifiableValueMap interface which is similar to the ValueMap interface, but allows for updating properties on a resource.
 
 ## Comparing Sling API CRUD to Sling Post Servlet
@@ -28,37 +31,37 @@ Update /myresource, setting the title and body:
 
 **Sling Post Servlet**
 
-<form action="/myresource" method="POST">
-<input type="text" name="title">
-<textarea name="body">
-</form>
-
+    <form action="/myresource" method="POST">
+      <input type="text" name="title">
+      <textarea name="body">
+    </form>
+    
 **Sling API CRUD**
 
-Resource myResource = resourceResolver.getResource("/myresource");
-ModifiableValueMap properties = myNode.adaptTo(ModifiableValueMap.class);
-properties.put("title", {TITLE});
-properties.put("body", {BODY});
-resourceResolver.commit();
-
+    Resource myResource = resourceResolver.getResource("/myresource");
+    ModifiableValueMap properties = myNode.adaptTo(ModifiableValueMap.class);
+    properties.put("title", {TITLE});
+    properties.put("body", {BODY});
+    resourceResolver.commit();
+    
 ### Create New Resource
 
 Create a new resource below /myresource
 
 **Sling Post Servlet**
 
-<form action="/myresource/" method="POST">
-<input type="text" name="dummy">
-</form>
+    <form action="/myresource/" method="POST">
+      <input type="text" name="dummy">
+    </form>
 
 **Sling API CRUD**
 
-Resource myResource = resourceResolver.getResource("/myresource");
-Map<String,Object> properties = new HashMap<String,Object>();
-properties.put("jcr:primaryType", "nt:unstructured");
-properties.put("sling:resourceType", "myapp/components/mytype");
-Resource dummy = resourceResolver.create(myResource, "dummy", properties);
-resourceResolver.commit();
+    Resource myResource = resourceResolver.getResource("/myresource");
+    Map<String,Object> properties = new HashMap<String,Object>();
+    properties.put("jcr:primaryType", "nt:unstructured");
+    properties.put("sling:resourceType", "myapp/components/mytype");
+    Resource dummy = resourceResolver.create(myResource, "dummy", properties);
+    resourceResolver.commit();
 
 ### Remove a Property
 
@@ -66,16 +69,16 @@ Remove the property title
 
 **Sling Post Servlet**
 
-<form action="/myresource" method="POST">
-<input type="hidden" name="title@Delete">
-</form>
+    <form action="/myresource" method="POST">
+      <input type="hidden" name="title@Delete">
+    </form>
 
 **Sling API CRUD**
 
-Resource myResource = resourceResolver.getResource("/myresource");
-ModifiableValueMap properties = myResource.adaptTo(ModifiableValueMap.class);
-properties.remove("title");
-resourceResolver.commit();
+    Resource myResource = resourceResolver.getResource("/myresource");
+    ModifiableValueMap properties = myResource.adaptTo(ModifiableValueMap.class);
+    properties.remove("title");
+    resourceResolver.commit();
 
 ### Copy a Resource
 
@@ -83,17 +86,17 @@ Copy the resource /myresource to /myresource2
 
 **Sling Post Servlet**
 
-<form action="/myresource" method="POST">
-<input type="hidden" name=":operation" value="copy">
-<input type="hidden" name=":dest" value="/myresource2">
-<input type="hidden" name=":replace" value="true">
-</form>
+    <form action="/myresource" method="POST">
+      <input type="hidden" name=":operation" value="copy">
+      <input type="hidden" name=":dest" value="/myresource2">
+      <input type="hidden" name=":replace" value="true">
+    </form>
 
 **Sling API CRUD**
 
-Map<String,Object> properties = myResource.adaptTo(ValueMap.class);
-Resource myResource2 = resourceResolver.create(null, "myresource2", properties);
-resourceResolver.commit();
+    Map<String,Object> properties = myResource.adaptTo(ValueMap.class);
+    Resource myResource2 = resourceResolver.create(null, "myresource2", properties);
+    resourceResolver.commit();
 
 ### Move a Resource
 
@@ -101,18 +104,18 @@ Move the resource /myresource2 to /myresource3
 
 **Sling Post Servlet**
 
-<form action="/myresource2" method="POST">
-<input type="hidden" name=":operation" value="move">
-<input type="hidden" name=":dest" value="/myresource3">
-</form>
+    <form action="/myresource2" method="POST">
+      <input type="hidden" name=":operation" value="move">
+      <input type="hidden" name=":dest" value="/myresource3">
+    </form>
 
 **Sling API CRUD**
 
-Resource myResource2 = resourceResolver.getResource("/myresource2");
-Map<String,Object> properties = myResource2.adaptTo(ValueMap.class);
-Resource myResource3 = resourceResolver.create(null, "myresource3", properties);
-resourceResolver.delete(myResource2);
-resourceResolver.commit();
+    Resource myResource2 = resourceResolver.getResource("/myresource2");
+    Map<String,Object> properties = myResource2.adaptTo(ValueMap.class);
+    Resource myResource3 = resourceResolver.create(null, "myresource3", properties);
+    resourceResolver.delete(myResource2);
+    resourceResolver.commit();
 
 ### Setting non-String Value
 
@@ -120,18 +123,18 @@ Set the property date to a particular date
 
 **Sling Post Servlet**
 
-<form action="/myresource3" method="POST">
-<input type="text" name="date" value="2008-06-13T18:55:00">
-<input type="hidden" name="date@TypeHint" value="Date">
-</form>
+    <form action="/myresource3" method="POST">
+      <input type="text" name="date" value="2008-06-13T18:55:00">
+      <input type="hidden" name="date@TypeHint" value="Date">
+    </form>
 
 **Sling API CRUD**
 
-Resource myResource3 = resourceResolver.getResource("/myresource3");
-Calendar calendar = [SOME_DATE];
-ModifiableValueMap properties = myResource3.adaptTo(ModifiableValueMap.class);
-properties.put("date", calendar);
-resourceResolver.commit();
+    Resource myResource3 = resourceResolver.getResource("/myresource3");
+    Calendar calendar = [SOME_DATE];
+    ModifiableValueMap properties = myResource3.adaptTo(ModifiableValueMap.class);
+    properties.put("date", calendar);
+    resourceResolver.commit();
 
 ### Delete a Resource
 
@@ -139,34 +142,34 @@ Delete the resource /myresource
 
 **Sling Post Servlet**
 
-<form action="/myresource" method="POST">
-<input type="hidden" name=":operation" value="delete">
-</form>
-
+    <form action="/myresource" method="POST">
+      <input type="hidden" name=":operation" value="delete">
+    </form>
+    
 **Sling API CRUD**
-
-Resource myResource = resourceResolver.getResource("/myresource");
-resourceResolver.delete(myResource);
-resourceResolver.commit();
+    
+    Resource myResource = resourceResolver.getResource("/myresource");
+    resourceResolver.delete(myResource);
+    resourceResolver.commit();
 
 ## Value Class Support
 
 
 <div class="info">
-Please note, this information is specific to the Sling JCR Resource implementation provided by the Apache Sling project.  Other implementations may have different value class support.
+	Please note, this information is specific to the Sling JCR Resource implementation provided by the Apache Sling project.  Other implementations may have different value class support.  
 </div>
 
 The Classes implementing the following types are supported directly when setting properties:
 
-* [Calendar](http://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html)
-* [InputStream](http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html)
-* [Node](http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/javax/jcr/Node.html)
-* [BigDecimal](http://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html)
-* [Long](http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html)
-* [Short](http://docs.oracle.com/javase/8/docs/api/java/lang/Short.html)
-* [Integer](http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html)
-* [Number](http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html)
-* [Boolean](http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html)
-* [String](http://docs.oracle.com/javase/8/docs/api/java/lang/String.html)
-
+ * [Calendar](http://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html)
+ * [InputStream](http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html)
+ * [Node](http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/javax/jcr/Node.html)
+ * [BigDecimal](http://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html)
+ * [Long](http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html)
+ * [Short](http://docs.oracle.com/javase/8/docs/api/java/lang/Short.html)
+ * [Integer](http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html)
+ * [Number](http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html)
+ * [Boolean](http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html)
+ * [String](http://docs.oracle.com/javase/8/docs/api/java/lang/String.html)
+ 
 As well as the corresponding primitive types.  Any object which implements the Serializable interface will be serialized and the result of the serialization will be saved as a binary value for the property.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/sling-properties.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/sling-properties.md b/content/documentation/the-sling-engine/sling-properties.md
index 8e5d417..1dd2ee2 100644
--- a/content/documentation/the-sling-engine/sling-properties.md
+++ b/content/documentation/the-sling-engine/sling-properties.md
@@ -1,7 +1,10 @@
-title=Well-known Sling Properties		
-type=page
+title=TODO title for sling-properties.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Well-known Sling Properties
 
 This table lists properties which have known functionality in the OSGi and Sling frameworks.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/the-sling-launchpad.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/the-sling-launchpad.md b/content/documentation/the-sling-engine/the-sling-launchpad.md
index 8f4ad76..77066a6 100644
--- a/content/documentation/the-sling-engine/the-sling-launchpad.md
+++ b/content/documentation/the-sling-engine/the-sling-launchpad.md
@@ -1,7 +1,10 @@
-title=The Sling Launchpad		
-type=page
+title=TODO title for the-sling-launchpad.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: The Sling Launchpad
 
 [TOC]
 
@@ -34,10 +37,10 @@ The Java Standalone Application supports a number of command line options, which
 | `status` | -- | Check whether a (remote) Sling application is running. Uses option `-j` to define the address of the Sling instance to check. Note, that the Sling application terminates after checking for the (remote) Sling status. |
 | `stop` | -- | Stop a (remote) Sling application is running. Uses option `-j` to define the address of the Sling instance to stop. Note, that the Sling application tesrminates after stopping the (remote) Sling instance. |
 | `-j` | [ host ":" ] port |  The socket address to listen on for control connections (`start` or to use as the remote endpoint for the control connection (`status` and `stop`. If this parameter has no arguments or is not specified, the address defaults to any free port on localhost/127.0.0.1. If only the port is specified localhost/127.0.0.1 is used as the host part of the address. |
-| `-c` | slinghome | The directory in which Sling locates its initial configuration file `sling.properties` and where files of Sling itself such as the Apache Felix bundle archive or the JCR repository files are stored. This defaults to the `sling` folder in the current working directory. This is the value which is commonly refered to as `${sling.home}.`
-| `-i` | launchpadhome |  The launchpad directory. If not set, this is the same as `${sling.home}.` (since Sling Launchpad 2.4.0)  |
+| `-c` | slinghome | The directory in which Sling locates its initial configuration file `sling.properties` and where files of Sling itself such as the Apache Felix bundle archive or the JCR repository files are stored. This defaults to the `sling` folder in the current working directory. This is the value which is commonly refered to as `$\{sling.home}.`
+| `-i` | launchpadhome |  The launchpad directory. If not set, this is the same as `$\{sling.home}.` (since Sling Launchpad 2.4.0)  |
 | `-l` | loglevel | Sets the initial loglevel as an integer in the range 0 to 4 or as one of the well known level strings `ERROR`, `WARN`, `INFO`, or `DEBUG`. This option overwrites the `org.apache.sling.osg.log.level` setting the `sling.properties` file. The default is `INFO`. |
-| `-f` | logfile |  The log file to use or `-` to log to standard out. This option overwrites the `org.apache.sling.osg.log.file` setting in the `sling.properties` file. The default is `${sling.home}/logs/error.log`. |
+| `-f` | logfile |  The log file to use or `-` to log to standard out. This option overwrites the `org.apache.sling.osg.log.file` setting in the `sling.properties` file. The default is `$\{sling.home}/logs/error.log`. |
 | `-a` | address | The interfact to bind to (use 0.0.0.0 for any). This option overwrites the `org.apache.felix.http.host` setting in the `sling.properties` file and requires the embedded Http Service implementation to honor this property. (supported since Sling Launchpad 2.4.0) |
 | `-p` | port |  The port to listen (default 8080) to handle HTTP requests. This option overwrites the `org.osgi.service.http.port` setting in the `sling.properties` file. |
 | `-r` | path | The root servlet context path for the Http Service (default is /). This option overwrites the `org.apache.felix.http.context_path` setting in the `sling.properties` file and requires the embedded Http Service implementation to honor this property. (since Sling Launchpad 2.4.0) |
@@ -65,7 +68,7 @@ Currently supported commands are
 
 For the Whole Truth about this functionality see the [ControlListener class source code](https://svn.apache.org/repos/asf/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/ControlListener.java).
 
-The interface and port is configurable with the `-j` command line option. The actual address and port used are written to the `${sling.home}/conf/controlport` file. So technically the `-j` option is not required for the `status` and `stop` operations because the port information can be read from that file.
+The interface and port is configurable with the `-j` command line option. The actual address and port used are written to the `$\{sling.home}/conf/controlport` file. So technically the `-j` option is not required for the `status` and `stop` operations because the port information can be read from that file.
 
 Note that using a control connection for the Sling Standalone Application presents a potential security issue. For this reason the following defaults apply:
 
@@ -77,28 +80,28 @@ For additional security, do not allow the control port to be opened on an extern
 
 Here's an example session where a Sling Standalone Application is started with the control port active:
 
-$ java -jar target/org.apache.sling.launchpad-9-SNAPSHOT.jar start
-05.04.2016 11:50:45.003 *INFO * [main] Setting sling.home=sling (default)
-05.04.2016 11:50:45.006 *INFO * [main] Starting Apache Sling in /foo/sling/launchpad/builder/sling
-...
-05.04.2016 11:50:45.012 *INFO * [Apache Sling Control Listener@/127.0.0.1:59239] Apache Sling Control Listener started
-...
-
+    $ java -jar target/org.apache.sling.launchpad-9-SNAPSHOT.jar start
+    05.04.2016 11:50:45.003 *INFO * [main] Setting sling.home=sling (default)
+    05.04.2016 11:50:45.006 *INFO * [main] Starting Apache Sling in /foo/sling/launchpad/builder/sling
+	...
+    05.04.2016 11:50:45.012 *INFO * [Apache Sling Control Listener@/127.0.0.1:59239] Apache Sling Control Listener started
+	...
+	
 And stopped using its control port, from another terminal:
 
-$ cat sling/conf/controlport
-127.0.0.1:59239
-mdsryh1k5fpcgvm7suqnckxkr7fvluzv
-
-$ telnet 127.0.0.1 59239
-Trying 127.0.0.1...
-Connected to localhost.
-Escape character is '^]'.
-
-mdsryh1k5fpcgvm7suqnckxkr7fvluzv stop
-
-OK
-Connection closed by foreign host.
+	$ cat sling/conf/controlport 
+	127.0.0.1:59239
+	mdsryh1k5fpcgvm7suqnckxkr7fvluzv
+	
+	$ telnet 127.0.0.1 59239
+	Trying 127.0.0.1...
+	Connected to localhost.
+	Escape character is '^]'.
+	
+	mdsryh1k5fpcgvm7suqnckxkr7fvluzv stop
+	
+	OK
+	Connection closed by foreign host.
 
 
 ### Shutdown Hook
@@ -146,7 +149,7 @@ The `sling.properties` file contains the initial setup of the Sling Application
 One thing to note is, that the `sling.properties` file is a simple Java Properties file with support for property references. That is, the value of properties may refer other property values by means of the well known `${name}` notation. Such property references may even be nested as in
 
 
-java.packages=${jre-${java.specification.version}}
+    java.packages=${jre-${java.specification.version}}
 
 
 
@@ -164,7 +167,7 @@ The *Launchpad Base* projects creates the following artifacts, which are require
 * *App JAR* -- The secondary artifact with classifier *app* is a minimal Standalone Java Application which may be started by simply typing
 
 
-$ java -jar org.apache.sling.launchpad.base-app.jar
+    $ java -jar org.apache.sling.launchpad.base-app.jar
 
 
 * *Web App Archive* -- The secondary artifact with classifier *webapp* is a minimal Web Application, which may simply be deployed into your favirourite servlet container, provided it supports at least Servlet API 2.4.
@@ -179,7 +182,7 @@ The *Launchpad App* and *Launchpad WebApp* bundles are actually projects which j
 
 * Take the appropriate secondary artifact from the *Launchpad Base* project: *app* for the Standalone Java Application or *webapp* for the Web Application and unpack
 * Take the *Launchpad Base* primary artifact and place it under the name `org.apache.sling.launchpad.base.jar` into the `resources` folder
-* Copies the list of artifacts defined in the [Provisioning model](/documentation/development/slingstart.html)
+* Copies the list of artifacts defined in the [Provisioning model](/documentation/development/slingstart.html) 
 * Finally pack all together into a single big JAR or WAR file
 
 The artifacts can be configured to use different JCR repository implementations, based on the value of the `-Dsling.run.modes` property. The following run modes are available for the 8 version of the Sling Launchpad:

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/url-decomposition.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/url-decomposition.md b/content/documentation/the-sling-engine/url-decomposition.md
index d29eba0..35b8114 100644
--- a/content/documentation/the-sling-engine/url-decomposition.md
+++ b/content/documentation/the-sling-engine/url-decomposition.md
@@ -1,7 +1,10 @@
-title=URL decomposition		
-type=page
+title=TODO title for url-decomposition.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: URL decomposition
 
 [TOC]
 
@@ -11,7 +14,7 @@ During the *Resource Resolution* step, the client request URI (as being returned
 1. **Resource Path** - For existing resources the resource path is the longest match (also considering its [mappings](/documentation/the-sling-engine/mappings-for-resource-resolution.html)) pointing to a resource where the next character is either a dot (`.`) or it is the full request URI.
 Otherwise (for a path not matching any existing resource) the resource path ends at the *first dot (`.`)* in the request url. The exact logic for retrieving the resource path is implemented at [ResourceResolver.resolve(HttpServletRequest,String)](https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#resolve-javax.servlet.http.HttpServletRequest-java.lang.String-). *It is impossible to tell from just looking at the request URI where the resource path part ends. You have to know the underlying resource structure to know how a URL is decomposed. You cannot safely assume that the resource path will always end at the first dot!*.
 1. **Selectors** - If the first character in the request URL after the resource path is a dot  (`.`), the string after the dot up to but not including the last dot before the next slash character or the end of the request URL comprises the selectors. If the resource path spans the complete request URL no selectors exist. If only one dot follows the resource path before the end of the request URL or the next slash, also no selectors exist.
-1. **Extension** - The string after the last dot after the resource path in the request URL but before the end of the request URL or the next slash after the resource path in the request URL is the extension.
+1. **Extension** - The string after the last dot after the resource path in the request URL but before the end of the request URL or the next slash after the resource path in the request URL is the extension. 
 1. **Suffix** - If the request URL contains a slash character after the resource path and optional selectors and extension, the path starting with the slash up to the end of the request URL is the suffix path. Otherwise, the suffix path is empty. Note, that after the resource path at least a dot must be in the URL to let Sling detect the suffix.
 
 Those decomposed parts can be accessed through the `RequestPathInfo` object, which is retrieved via [SlingHttpServletRequest.getPathInfo()](https://sling.apache.org/apidocs/sling7/org/apache/sling/api/SlingHttpServletRequest.html#getRequestPathInfo--).


[10/12] sling-site git commit: Revert 88e80480d5c1dd204ab2cb8a11be9f96caecc899 which ate whitespace at the beginning of lines

Posted by bd...@apache.org.
http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/managing-users-and-groups-jackrabbit-usermanager.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/managing-users-and-groups-jackrabbit-usermanager.md b/content/documentation/bundles/managing-users-and-groups-jackrabbit-usermanager.md
index 5c69bd4..2a1023d 100644
--- a/content/documentation/bundles/managing-users-and-groups-jackrabbit-usermanager.md
+++ b/content/documentation/bundles/managing-users-and-groups-jackrabbit-usermanager.md
@@ -1,7 +1,10 @@
-title=Managing users and groups (jackrabbit.usermanager)		
-type=page
+title=TODO title for managing-users-and-groups-jackrabbit-usermanager.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Managing users and groups (jackrabbit.usermanager)
 
 The `jackrabbit-usermanager` bundle delivers a REST interface to create, update and delete users and groups in the JCR. After installing the `jackrabbit-usermanager` bundle all REST services are exposed under the path `/system/userManager`. Its interface for modifing/creating authorizables is similar to the [SlingPostServlet](/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.html).
 
@@ -12,21 +15,21 @@ For getting information about existing authorizables it provides all authorizabl
 ## List users
 
 To list existing users a GET request to the `/system/userManager/user` resource can be issued. Depending on the configuration of the [Default GET Servlet](/documentation/bundles/rendering-content-default-get-servlets.html)
-and/or the availability of a Servlet or Script handling the `sling/users` resource type, a result may be delivered/
+ and/or the availability of a Servlet or Script handling the `sling/users` resource type, a result may be delivered/
 
 Example with curl and the default JSON rendering:
 
-$ curl http://localhost:8080/system/userManager/user.tidy.1.json
-{
-"admin": {
-"memberOf": [],
-"declaredMemberOf": []
-},
-"anonymous": {
-"memberOf": [],
-"declaredMemberOf": []
-}
-}
+    $ curl http://localhost:8080/system/userManager/user.tidy.1.json
+    {
+      "admin": {
+        "memberOf": [],
+        "declaredMemberOf": []
+      },
+      "anonymous": {
+        "memberOf": [],
+        "declaredMemberOf": []
+      }
+    }
 
 
 ## Get user
@@ -35,11 +38,11 @@ The properties of a single user can be retrieved by sending a GET request to the
 
 Example with curl and the default JSON rendering:
 
-$ curl http://localhost:8080/system/userManager/user/admin.tidy.1.json
-{
-"memberOf": [],
-"declaredMemberOf": []
-}
+    $ curl http://localhost:8080/system/userManager/user/admin.tidy.1.json
+    {
+        "memberOf": [],
+        "declaredMemberOf": []
+    }
 
 
 If a non-existing user is requested a `404/NOT FOUND` status is sent back.
@@ -48,14 +51,14 @@ If a non-existing user is requested a `404/NOT FOUND` status is sent back.
 ## Create user
 
 To create a new user POST a request to `/system/userManager/user.create.<html or json>`. The following parameters are available:
-
+  
 Parameter Name | Required | Description
---- | --- | ---
+--- | --- | --- 
 `:name` | yes | The name of the new user
 `pwd` | yes | The password of the new user
-`pwdConfirm` | yes | The password of the new user (must be equal to the value of `pwd`)
+`pwdConfirm` | yes | The password of the new user (must be equal to the value of `pwd`)  
 `<anyproperty>` | no | Additional parameters will be stored as node properties in the JCR. Nested properties are supported since 2.2.6 ([SLING-6747](https://issues.apache.org/jira/browse/SLING-6747)).
-
+  
 Responses:
 
 Status Code | Description
@@ -65,21 +68,22 @@ Status Code | Description
 
 Example with curl:
 
-curl -F:name=myuser -Fpwd=password -FpwdConfirm=password -Fanyproperty1=value1         http://localhost:8080/system/userManager/user.create.html
+    curl -F:name=myuser -Fpwd=password -FpwdConfirm=password -Fanyproperty1=value1 \
+        http://localhost:8080/system/userManager/user.create.html
 
 
 
 ## Update user
 
 To update an existing user POST a request to `/system/userManager/user/username.update.<html or json>`. You can NOT update the username or the password (see Change Password below) only the additional properties are updateable through this URL. The following parameters are available:
-
+  
 Parameter Name | Required | Description
---- | --- | ---
+--- | --- | --- 
 `:disabled` | no | (since version 2.1.1) If `true` disables the user to block further login attempts. If `false` enables a disabled user.
-`:disabledReason` | no | Specifies the reason why a user has been disabled.
-`<anyproperty>` | no | Additional parameters will be stored as node properties in the JCR. Nested properties are supported since 2.2.6 ([SLING-6747](https://issues.apache.org/jira/browse/SLING-6747)).
-`<anyproperty>@Delete` | no | Properties with @Delete at the end of the name will be deleted in the JCR. Nested properties are supported since 2.2.6 ([SLING-6747](https://issues.apache.org/jira/browse/SLING-6747)).
-
+`:disabledReason` | no | Specifies the reason why a user has been disabled.  
+`<anyproperty>` | no | Additional parameters will be stored as node properties in the JCR. Nested properties are supported since 2.2.6 ([SLING-6747](https://issues.apache.org/jira/browse/SLING-6747)). 
+`<anyproperty>@Delete` | no | Properties with @Delete at the end of the name will be deleted in the JCR. Nested properties are supported since 2.2.6 ([SLING-6747](https://issues.apache.org/jira/browse/SLING-6747)). 
+  
 Responses:
 
 Status Code | Description
@@ -87,54 +91,56 @@ Status Code | Description
 200 | Success, a redirect is sent to the users resource locator with HTML (or JSON) describing status.
 404 | User was not found.
 500 | Any other failure. HTML (or JSON) explains failure.
-
+  
 Example
 
-curl -Fanyproperty1@Delete -Fproperty2=value2         http://localhost:8080/system/userManager/user/myuser.update.html
+    curl -Fanyproperty1@Delete -Fproperty2=value2 \
+        http://localhost:8080/system/userManager/user/myuser.update.html
 
 
 ## Change password
 
 To change a password of an existing user POST a request to `/system/userManager/user/username.changePassword.<html or json>`. NOTE: since version 2.1.1, the oldPwd is optional if the current user is a user administrator.  The following parameters are available:
-
+  
 Parameter Name | Required | Description
---- | --- | ---
+--- | --- | --- 
 `oldPwd` | yes | Old password.
 `newPwd` | yes | New password.
 `newPwdConfirm` | yes | New password (must be equal to the value of `newPwd`).
-
+  
 Responses:
 
 Status Code | Description
 --- | ---
 200 | Success, no body.
 404 | User was not found.
-500 | Any other failure. HTML (or JSON) explains failure.
-
+500 | Any other failure. HTML (or JSON) explains failure.  
+  
 Example
 
-curl -FoldPwd=oldpassword -FnewPwd=newpassword -FnewPwdConfirm=newpassword         http://localhost:8080/system/userManager/user/myuser.changePassword.html
+    curl -FoldPwd=oldpassword -FnewPwd=newpassword -FnewPwdConfirm=newpassword \
+        http://localhost:8080/system/userManager/user/myuser.changePassword.html
 
 
 ## Delete user
 
 To delete an existing user POST a request to `/system/userManager/user/username.delete.<html or json>`. The following parameters are available:
-
+  
 Parameter Name | Required | Description
---- | --- | ---
+--- | --- | --- 
 `:applyTo` | no | An array of relative resource references to users to be deleted. If this parameter is present, the username from the URL is ignored and all listed users are removed.
-
+  
 Responses:
 
 Status Code | Description
 --- | ---
 200 | Success, no body.
 404 | User(s) was/were not found.
-500 | Any other failure. HTML (or JSON) explains failure.
-
+500 | Any other failure. HTML (or JSON) explains failure.    
+  
 Example
 
-curl -Fgo=1 http://localhost:8080/system/userManager/user/myuser.delete.html
+    curl -Fgo=1 http://localhost:8080/system/userManager/user/myuser.delete.html
 
 
 ## List groups
@@ -143,27 +149,27 @@ To list existing groups a GET request to the `/system/userManager/group` resourc
 
 Example with curl and the default JSON rendering:
 
-$ curl http://localhost:8080/system/userManager/group.tidy.1.json
-{
-"UserAdmin": {
-"members": [],
-"declaredMembers": [],
-"memberOf": [],
-"declaredMemberOf": []
-},
-"GroupAdmin": {
-"members": [],
-"declaredMembers": [],
-"memberOf": [],
-"declaredMemberOf": []
-},
-"administrators": {
-"members": [],
-"declaredMembers": [],
-"memberOf": [],
-"declaredMemberOf": []
-}
-}
+    $ curl http://localhost:8080/system/userManager/group.tidy.1.json
+    {
+      "UserAdmin": {
+        "members": [],
+        "declaredMembers": [],
+        "memberOf": [],
+        "declaredMemberOf": []
+      },
+      "GroupAdmin": {
+        "members": [],
+        "declaredMembers": [],
+        "memberOf": [],
+        "declaredMemberOf": []
+       },
+      "administrators": {
+        "members": [],
+        "declaredMembers": [],
+        "memberOf": [],
+        "declaredMemberOf": []
+    }
+    }
 
 
 ## Get group
@@ -172,13 +178,13 @@ The properties of a single group can be retrieved by sending a GET request to th
 
 Example with curl and the default JSON rendering:
 
-$ curl http://localhost:8080/system/userManager/group/administrators.tidy.1.json
-{
-"members": [],
-"declaredMembers": [],
-"memberOf": [],
-"declaredMemberOf": []
-}
+    $ curl http://localhost:8080/system/userManager/group/administrators.tidy.1.json
+    {
+        "members": [],
+        "declaredMembers": [],
+        "memberOf": [],
+        "declaredMemberOf": []
+    }
 
 
 If a non-existing group is requested a 404/NOT FOUND status is sent back.
@@ -187,49 +193,51 @@ If a non-existing group is requested a 404/NOT FOUND status is sent back.
 ## Create group
 
 To create a new group POST a request to `/system/userManager/group.create.<html or json>`. The following parameters are available:
-
-
+  
+  
 Parameter Name | Required | Description
---- | --- | ---
-`:name` | yes | The name of the new group
+--- | --- | --- 
+`:name` | yes | The name of the new group 
 `<anyproperty>` | no | Additional parameters will be stored as node properties in the JCR. Nested properties are supported since 2.2.6 ([SLING-6747](https://issues.apache.org/jira/browse/SLING-6747)).
-
+  
 Responses:
 
 Status Code | Description
 --- | ---
 200 | Success, a redirect is sent to the group resource locator with HTML (or JSON) describing status
-500 | Failure including group already exists. HTML (or JSON) explains failure.
-
-
+500 | Failure including group already exists. HTML (or JSON) explains failure.   
+  
+  
 Example with curl:
 
-curl -F:name=mygroup -Fanyproperty1=value1         http://localhost:8080/system/userManager/group.create.html
+    curl -F:name=mygroup -Fanyproperty1=value1 \
+        http://localhost:8080/system/userManager/group.create.html
 
 
 ## Update group
 
 To update an existing group POST a request to `/system/userManager/group/groupname.update.<html or json>`. You can NOT update the name of the group only the additional properties are updateable. The following parameters are available:
-
+  
 Parameter Name | Required | Description
---- | --- | ---
+--- | --- | --- 
 `:member` | no | user(s) (name or URI) to add to the group as a member. Can also be an array of users.
-`:member@Delete` | no | user(s) (name or URI) to remove from the group. Can also be an array of users.
+`:member@Delete` | no | user(s) (name or URI) to remove from the group. Can also be an array of users. 
 `<anyproperty>` | no | Additional parameters will be stored as node properties in the JCR. Nested properties are supported since 2.2.6 ([SLING-6747](https://issues.apache.org/jira/browse/SLING-6747)).
-`<anyproperty>@Delete` | no | Properties with @Delete at the end of the name will be deleted in the JCR. Nested properties are supported since 2.2.6 ([SLING-6747](https://issues.apache.org/jira/browse/SLING-6747)).
-
+`<anyproperty>@Delete` | no | Properties with @Delete at the end of the name will be deleted in the JCR. Nested properties are supported since 2.2.6 ([SLING-6747](https://issues.apache.org/jira/browse/SLING-6747)). 
+  
 Responses:
 
 Status Code | Description
 --- | ---
 200 | Success, a redirect is sent to the group resource locator with HTML (or JSON) describing status.
 404 | Group was not found.
-500 | Any other failure. HTML (or JSON) explains failure.
-
-
+500 | Any other failure. HTML (or JSON) explains failure.       
+  
+  
 Example
 
-curl -Fanyproperty1@Delete -Fproperty2=value2 -F ":member=/system/userManager/user/myuser"         http://localhost:8080/system/userManager/group/mygroup.update.html
+    curl -Fanyproperty1@Delete -Fproperty2=value2 -F ":member=/system/userManager/user/myuser" \
+        http://localhost:8080/system/userManager/group/mygroup.update.html
 
 
 ## Delete group
@@ -237,25 +245,25 @@ curl -Fanyproperty1@Delete -Fproperty2=value2 -F ":member=/system/userManager/us
 To delete an existing group POST a request to `/system/userManager/group/groupname.delete.<html or json>`. The following parameters are available:
 
 Parameter Name | Required | Description
---- | --- | ---
-`:applyTo` | no | An array of relative resource references to groups to be deleted. If this parameter is present, the name of the group from the URL is ignored and all listed groups are removed.
-
+--- | --- | --- 
+`:applyTo` | no | An array of relative resource references to groups to be deleted. If this parameter is present, the name of the group from the URL is ignored and all listed groups are removed. 
+  
 Responses:
 
 Status Code | Description
 --- | ---
 200 | Success, sent with no body.
 404 | Group(s) was/were not found.
-500 | Any other failure. HTML (or JSON) explains failure.
-
+500 | Any other failure. HTML (or JSON) explains failure.   
+  
 Example
 
-curl -Fgo=1 http://localhost:8080/system/userManager/group/mygroup.delete.html
+    curl -Fgo=1 http://localhost:8080/system/userManager/group/mygroup.delete.html
 
 
 ## Automated Tests
 
-The [launchpad/testing](http://svn.apache.org/repos/asf/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/accessManager/) module contains test classes for various operations of the `jackrabbit-usermanager`. Such tests run as part of our continuous integration process, to demonstrate and verify the behavior of the various operations, in a way that's guaranteed to be in sync with the actual Sling core code. If you have an idea for additional tests, make sure to let us know!
+The [launchpad/testing](http://svn.apache.org/repos/asf/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/accessManager/) module contains test classes for various operations of the `jackrabbit-usermanager`. Such tests run as part of our continuous integration process, to demonstrate and verify the behavior of the various operations, in a way that's guaranteed to be in sync with the actual Sling core code. If you have an idea for additional tests, make sure to let us know\!
 
 ## Permissions checking from scripts
 
@@ -278,30 +286,30 @@ The AuthorizablePrivilegesInfo provides methods for checking the following actio
 
 Example:
 
-<%
-// lookup the service
-var privilegesInfo = sling.getService(Packages.org.apache.sling.jackrabbit.usermanager.AuthorizablePrivilegesInfo);
-
-if (privilegesInfo.canAddUser(currentSession)) {
-//TODO: render the UI that allows the user to add a user here
-}
-
-if (privilegesInfo.canAddGroup(currentSession)) {
-//TODO: render the UI that allows the user to add a group here
-}
-
-if (privilegesInfo.canUpdateProperties(currentSession, "someUserId")) {
-//TODO: render the UI that allows the user to update the properties of the user here
-}
-
-if (privilegesInfo.canRemove(currentSession, "someUserId")) {
-//TODO: render the UI that allows the user to remove the user here
-}
-
-if (privilegesInfo.canUpdateGroupMembers(currentSession, "GroupName")) {
-//TODO: draw your UI that allows the user to update the group memebership here
-}
-%>
+    <%
+        // lookup the service
+        var privilegesInfo = sling.getService(Packages.org.apache.sling.jackrabbit.usermanager.AuthorizablePrivilegesInfo);
+    
+        if (privilegesInfo.canAddUser(currentSession)) {
+            //TODO: render the UI that allows the user to add a user here
+        }
+    
+        if (privilegesInfo.canAddGroup(currentSession)) {
+            //TODO: render the UI that allows the user to add a group here
+        }
+    
+        if (privilegesInfo.canUpdateProperties(currentSession, "someUserId")) {
+            //TODO: render the UI that allows the user to update the properties of the user here
+        }
+    
+        if (privilegesInfo.canRemove(currentSession, "someUserId")) {
+            //TODO: render the UI that allows the user to remove the user here
+        }
+    
+        if (privilegesInfo.canUpdateGroupMembers(currentSession, "GroupName")) {
+            //TODO: draw your UI that allows the user to update the group memebership here
+        }
+    %>
 
 
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.md b/content/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.md
index dfc84c6..824930d 100644
--- a/content/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.md
+++ b/content/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.md
@@ -1,7 +1,10 @@
-title=Manipulating Content - The SlingPostServlet (servlets.post)		
-type=page
+title=TODO title for manipulating-content-the-slingpostservlet-servlets-post.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Manipulating Content - The SlingPostServlet (servlets.post)
 
 [TOC]
 
@@ -21,10 +24,10 @@ To create content you simply send an HTTP POST request using the path of the nod
 
 
 
-<form method="POST" action="http://host/some/new/content" enctype="multipart/form-data">
-<input type="text" name="title" value="" />
-<input type="text" name="text" value="" />
-</form>
+    <form method="POST" action="http://host/some/new/content" enctype="multipart/form-data">
+       <input type="text" name="title" value="" />
+       <input type="text" name="text" value="" />
+    </form>
 
 
 
@@ -33,22 +36,22 @@ This simple form will set the `title` and `text` properties on a node at `/some/
 Similarly, you can do this using the `curl` command line tool:
 
 
-$ curl -Ftitle="some title text" -Ftext="some body text content" http://host/some/new/content
+    $ curl -Ftitle="some title text" -Ftext="some body text content" http://host/some/new/content
 
 
 
 You might want to use a specific JCR node type for a newly created node. This is possible by simply setting a `jcr:primaryType` property on the request, e.g.
 
 
-$ curl -F"jcr:primaryType=nt:unstructured" -Ftitle="some title text"
--Ftext="some body text content" http://host/some/new/content
+    $ curl -F"jcr:primaryType=nt:unstructured" -Ftitle="some title text" \    
+        -Ftext="some body text content" http://host/some/new/content
 
 
 Similarly, you may assign JCR mixin node types using the `jcr:mixinTypes` property and a Sling resource type using the `sling:resourceType` property. For example:
 
 
-$ curl -F"sling:resourceType=sling:sample" -Ftitle="some title text"
--Ftext="some body text content" http://host/some/new/content
+    $ curl -F"sling:resourceType=sling:sample" -Ftitle="some title text" \    
+        -Ftext="some body text content" http://host/some/new/content
 
 
 
@@ -65,14 +68,14 @@ This support requires Sling Engine 2.1.0 and the Sling Default Post Servlet 2.0.
 
 The SlingPostServlet is actually just a front-end to the actual operations. To select the actual operation to execute, the `:operation` request parameter is used. Out of the box, the SlingPostServlet supports the following operations:
 
-* property not set or empty -- Create new content or modify existing content
-* `delete` -- Remove existing content
-* `move` -- Move existing content to a new location
-* `copy` -- Copy existing content to a new location
-* `import` -- Import content structures from JSON/XML/Zip
-* `nop` -- Explicitly requests to do nothing and just sets the response status
-* `checkin` - Check in a versionable node
-* `checkout` - Check out a versionable node
+   * property not set or empty -- Create new content or modify existing content
+   * `delete` -- Remove existing content
+   * `move` -- Move existing content to a new location
+   * `copy` -- Copy existing content to a new location
+   * `import` -- Import content structures from JSON/XML/Zip
+   * `nop` -- Explicitly requests to do nothing and just sets the response status
+   * `checkin` - Check in a versionable node
+   * `checkout` - Check out a versionable node
 
 All these operations always operate on the resource of the request as returned by `SlingHttpServletRequest.getResource()`. Some operations require additional parameters to be set to operate completely.
 
@@ -86,7 +89,7 @@ Note that the `launchpad/testing` module contains a number of <a href="http://sv
 
 <div class="note">
 <b>Trailing star in the :applyTo parameter</b>:
-This applies to operations that use this parameter, since version 2.1.2 of the *org.apache.sling.servlets.post* bundle: If the last segment of the `:applyTo` value is '*' then the operation applies to all the children of the resolved parent resource. This can be used to act on all the children
+This applies to operations that use this parameter, since version 2.1.2 of the *org.apache.sling.servlets.post* bundle: If the last segment of the `:applyTo` value is '*' then the operation applies to all the children of the resolved parent resource. This can be used to act on all the children 
 of a resource without having to specify the path of each individual child resource.
 </div>
 
@@ -126,23 +129,23 @@ Setting property values is as simple as just adding a request parameter whose na
 
 Here is another example show a simple HTML form to create a new node with an automatically created name:
 
-<form method="POST" action="/content/page/first" enctype="multipart/form-data">
-<input type="text" name="title" />
-<input type="text" name="text" />
-<input type="Submit" />
-</form>
-
+    <form method="POST" action="/content/page/first" enctype="multipart/form-data">
+        <input type="text" name="title" />
+        <input type="text" name="text" />
+        <input type="Submit" />
+    </form>
 
+    
 If this form is submitted with *title* and *This is some Text* as values for the `title` and `text` fields respectively, a new node is created at the path `/content/page/first` and the `title` and `text` properties set to the respective field values. If a node at `/content/page/first` already existed before submitting the form, the `title` and `text` properties are just updated to the new values from the form fields.
-
+    
 If a parameter has multiple values, the respective property will be created as a multi-value property. So for example the command line:
-
-$ curl -Fmulti=one -Fmulti=two http://host/content/page
-
+    
+    $ curl -Fmulti=one -Fmulti=two http://host/content/page
+    
 Would assign the `/content/page/multi` property the value *[ "one", "two" ]*.
-
+    
 This is pretty much all there is to know about creating and modifying content. The following sections will now introduce more functionality which help you with more fine-grained control in your content management application.
-
+    
 ##### Automatic property values: last modified and created by
 
 To make it easier to set "last modified" and "created by" property
@@ -160,54 +163,54 @@ following property names _if they are supplied with empty values in such a reque
 This is demonstrated by the [SlingAutoPropertiesTest](https://svn.apache.org/repos/asf/sling/trunk/launchpad/integration-tests/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/servlets/post/SlingAutoPropertiesTest.java) which is part of our launchpad integration tests.
 
 ##### File Uploads
-
+    
 File uploads are typically done using the `<input type="file""/>` element of an HTML form and ensuring the correct form encoding. The SlingPostServlet handles uploaded files specially, in that the file data is not simply written into a property, but a node is actually created with three properties:
-
+    
 * `jcr:data` -- The actual file contents
 * `jcr:lastModified` -- The time stamp of processing the uploaded file
 * `jcr:mimeType` -- The MIME type from the original file submission (if contained in the file body part) or derived from the original file name
-
+    
 The name of the node is either taken from the parameter name or if the name is `*` from the name of the uploaded file.
-
+    
 The primary node type of the uploaded file is selected using the following algorithm:
-
+    
 * If a `@TypeHint suffixed parameter (see below for a description) is present check whether the value is a known non-mixin node type. If so, the node is created with this primary node type.
 * If a `@TypeHint` suffixed parameter is not present or the value does not denote an existing non-mixin node type, the node will be created as an `nt:file` node if the parent node is of type `nt:folder`. Otherwise the node will be created with primary node type `nt:resource`.
-
+    
 If the node to be created is `nt:file`, the actual file data will really be stored in the `jcr:content` child node of the new `nt:file` node whose primary node type is then set as `nt:resource`.
-
+    
 Example 1: Upload an image to a node named `image` below `/content/page`:
-
-<form method="POST" action="/content/page" enctype="multipart/form-data">
-<input type="file" name="image" />
-<input type="Submit" />
-</form>
+    
+    <form method="POST" action="/content/page" enctype="multipart/form-data">
+        <input type="file" name="image" />
+        <input type="Submit" />
+    </form>
 
 
 
 Example 2: Upload a file as a node of type `nt:file` below `/content/folder`:
 
-<form method="POST" action="/content/page" enctype="multipart/form-data">
-<input type="file" name="*" />
-<input type="hidden" name="*@TypeHint" value="nt:file" />
-<input type="Submit" />
-</form>
-
+    <form method="POST" action="/content/page" enctype="multipart/form-data">
+        <input type="file" name="*" />
+        <input type="hidden" name="*@TypeHint" value="nt:file" />
+        <input type="Submit" />
+    </form>
 
+    
 Assuming the user selected a file named `myImage.jpg` the uploaded file would be stored in an `nt:file` node at `/content/folder/myImage.jpg`.
+    
 
 
-
-
+    
 ##### Date properties
-
+    
 Parameters providing date/time values to be stored in JCR properties of type *Date* require special handling. The problem is that there are a number of formats to represent such date/time values. To account for this open-ended list of formats, the Sling Post Servlet supports configurability of the process of parsing strings into `Calendar` objects.
-
+    
 The Sling Post Servlet configuration property `servlet.post.dateFormats` takes a list of format strings which are used to setup `java.text.SimpleDateFormat` instances for parsing date/time string representations. A special format string `ISO8601` is supported to indicate the string to be parsed as a JCR standard string representation of a _Date_ property.
 Only the latter supports storing the actual timezone offset. All the parsers leveraging `java.text.SimpleDateFormat` loose the given timezone and convert that just to the default timezone of the JRE (when creating the `Calendar` out of the `Date`, because `java.lang.Date` is not carrying any timezone information).
-
+    
 The default list of configured date/time parse pattern is:
-
+    
 * EEE MMM dd yyyy HH:mm:ss 'GMT'Z
 * ISO8601, using the org.apache.jackrabbit.util.ISO8601 parser (±YYYY-MM-DDThh:mm:ss.SSSTZD)
 * yyyy-MM-dd'T'HH:mm:ss.SSSZ
@@ -215,26 +218,26 @@ The default list of configured date/time parse pattern is:
 * yyyy-MM-dd
 * dd.MM.yyyy HH:mm:ss
 * dd.MM.yyyy
-
+    
 Any date/time string parameter supplied is subject to the patterns in the configured order. The first pattern accepting the string and parsing it into a `Date` -- and thus a `Calendar` -- object is used. Therefore this list is best ordered in a most-stringent to least-stringent order.
-
-
-
+    
+    
+    
 ##### Omitting Some Parameters
-
+    
 There may be times that you have forms which contain a lot of fields which you do not want to actually store in content. Such forms usually are created using some client-side GUI library which uses the fields for its own purposes. To be able to easily differentiate between real content to be actually stored and such control parameters, you may prefix the names of the fields destined for content with a dot-slash (`./`).
-
+    
 As soon as the SlingPostServlet encounters parameters prefixed with dot-slash, only those parameters are considered for content updates while all other parameters not prefixed are just ignored. In addition to dot-slash prefixed parameters, also parameters prefixed with dot-dot-slash (`../`) and slash (`/`) are considered in this situation.
-
+    
 For example, the following form only uses the first two fields for content update and ignores the rest:
-
-<form method="POST" action="/content/page/first" enctype="multipart/form-data">
-<input type="text" name="./title" />
-<input type="text" name="../first/text" />
-<input type="hidden" name="control0" /><!-- ignored -->
-<input type="hidden" name="control1" /><!-- ignored -->
-<input type="Submit" />
-</form>
+    
+    <form method="POST" action="/content/page/first" enctype="multipart/form-data">
+        <input type="text" name="./title" />
+        <input type="text" name="../first/text" />
+        <input type="hidden" name="control0" /><!-- ignored -->
+        <input type="hidden" name="control1" /><!-- ignored -->
+        <input type="Submit" />
+    </form>
 
 
 Because the SlingPostServlet encounters the `./title` parameter, only parameters prefixed with dot-slash, dot-dot-slash and slash are considered for content update. In this case this would `./title` and `../first/text` while `control0` and `control1` are not prefixed and thus ignored.
@@ -268,40 +271,40 @@ If the `@TypeHint` value ends with `[]`, it indicates a multi-value property. A
 
 Example: The following form sets the numeric `width`, the boolean `checked`, and the multi-valued `hobbys` (with 3 values to enter) properties:
 
-<form method="POST" action="/content/page/first" enctype="multipart/form-data">
-<input type="text" name="width" />
-<input type="hidden" name="width@TypeHint" value="Long" />
-<input type="checkbox" name="checked" />
-<input type="hidden" name="checked@TypeHint" value="Boolean" />
-<input type="text" name="hobbys"/>
-<input type="text" name="hobbys"/>
-<input type="text" name="hobbys"/>
-<input type="hidden" name="hobbys@TypeHint" value="String[]" />
-<input type="Submit" />
-</form>
-
-
+    <form method="POST" action="/content/page/first" enctype="multipart/form-data">
+        <input type="text" name="width" />
+        <input type="hidden" name="width@TypeHint" value="Long" />
+        <input type="checkbox" name="checked" />
+        <input type="hidden" name="checked@TypeHint" value="Boolean" />
+        <input type="text" name="hobbys"/>
+        <input type="text" name="hobbys"/>
+        <input type="text" name="hobbys"/>
+        <input type="hidden" name="hobbys@TypeHint" value="String[]" />
+        <input type="Submit" />
+    </form>
+
+    
 In real applications you would need some JavaScript that allows to add/remove values, ie. add/remove inputs with the name "hobbys". Or a pure JavaScript based form post would be used, that gathers the properties to update programmatically, but the additional parameter `hobbys@TypeHint=String[]` would be the same.
-
+    
 The `@TypeHint` suffixed parameter is assumed to be single-valued. If the parameter has multiple values, only the first is actually used.
 
 For multi-value properties, see also the `@Patch` option.
-
+    
 For more information on applying `@TypeHint` to a file upload parameter see the section on File Uploads above.
-
-
+    
+    
 ###### `@DefaultValue`
-
-
+    
+    
 The `@DefaultValue` suffixed parameter may be provided to set a property to a default value should no value be provided in the actual parameters. Same as for normal parameters, the `@DefaultValue` parameter may have multiple values to create multi-valued properties.
-
+    
 Example: Set the `text` property to a default value if the user does not provide one:
-
-<form method="POST" action="/content/page/first" enctype="multipart/form-data">
-<input type="text" name="text" />
-<input type="hidden" name="text@DefaultValue" value="--- Default Value ---" />
-<input type="Submit" />
-</form>
+    
+    <form method="POST" action="/content/page/first" enctype="multipart/form-data">
+        <input type="text" name="text" />
+        <input type="hidden" name="text@DefaultValue" value="--- Default Value ---" />
+        <input type="Submit" />
+    </form>
 
 
 
@@ -309,43 +312,43 @@ Example: Set the `text` property to a default value if the user does not provide
 
 As described above, `@DefaultValue` only takes effect if no value is provided for a particular parameter. However, in some cases, such as HTML checkboxes, this isn't sufficient because the parameter isn't submitted at all. To handle this scenario, you can use the `@UseDefaultWhenMissing` suffixed parameter.
 
-<form method="POST" action="/content/page/first" enctype="multipart/form-data">
-<input name="queryIgnoreNoise" class="input" type="checkbox" value="true"/>
-<input type="hidden" name="queryIgnoreNoise@DefaultValue" value="false"/>
-<input type="hidden" name="queryIgnoreNoise@UseDefaultWhenMissing" value="true"/>
-</form>
-
-
+    <form method="POST" action="/content/page/first" enctype="multipart/form-data">
+        <input name="queryIgnoreNoise" class="input" type="checkbox" value="true"/>
+        <input type="hidden" name="queryIgnoreNoise@DefaultValue" value="false"/> 
+        <input type="hidden" name="queryIgnoreNoise@UseDefaultWhenMissing" value="true"/>
+    </form>
 
+    
+    
 ###### `@IgnoreBlanks`
-
+    
 Sometimes a form client will supply empty parameter values resulting in content being created or modified. For example submitting this form:
-
-<form method="POST" action="/content/page/first" enctype="multipart/form-data">
-<input type="hidden" name="stringProperty@TypeHint" value="String[]"/>
-<input type="text" name="stringProperty" value="foo"/>
-<input type="text" name="stringProperty" value="bar"/>
-<input type="text" name="stringProperty" value=""/>
-</form>
+    
+    <form method="POST" action="/content/page/first" enctype="multipart/form-data">
+        <input type="hidden" name="stringProperty@TypeHint" value="String[]"/>
+        <input type="text" name="stringProperty" value="foo"/>
+        <input type="text" name="stringProperty" value="bar"/>
+        <input type="text" name="stringProperty" value=""/>
+    </form>
 
 
 will result in multi-value String property being set to [ "foo", "bar", "" ]. Notice the blank value.
 
 Likewise submitting this form without a value entered:
 
-<form method="POST" action="/content/page/first" enctype="multipart/form-data">
-<input type="hidden" name="stringProperty@TypeHint" value="String"/>
-<input type="text" name="stringProperty" value=""/>
-</form>
-
+    <form method="POST" action="/content/page/first" enctype="multipart/form-data">
+        <input type="hidden" name="stringProperty@TypeHint" value="String"/>
+        <input type="text" name="stringProperty" value=""/>
+    </form>
 
+    
 will result in the single-value String property being set to an empty string.
-
+    
 To overcome this situation the `@IgnoreBlanks` suffix may be used to consider parameters with an empty string value to be ignored during processing. That is such parameter values would be treated as if they would not be supplied.
-
+    
 Adding
-
-<input type="hidden" name="stringProperty@IgnoreBlanks" value="true"/>
+    
+    <input type="hidden" name="stringProperty@IgnoreBlanks" value="true"/>
 
 to the above forms will cause the multi-value property be set to the two-element value [ "foo", "bar" ] and to not modify the property at all in the second single-value example.
 
@@ -356,35 +359,35 @@ In some situations, an HTML form with parameters may be reused to update content
 
 Example: To set the property `text` from a form element `supplied_text`, you might use the following form:
 
-<form method="POST" action="/content/page/first" enctype="multipart/form-data">
-<input type="text" name="supplied_text" />
-<input type="hidden" name="./text@ValueFrom" value="supplied_text" />
-<input type="Submit" />
-</form>
-
+    <form method="POST" action="/content/page/first" enctype="multipart/form-data">
+        <input type="text" name="supplied_text" />
+        <input type="hidden" name="./text@ValueFrom" value="supplied_text" />
+        <input type="Submit" />
+    </form>
 
+    
 To prevent storing the additional parameters in the repository you might want to use the prefixing mechanism as shown in the example above, where the `@ValueFrom` parameter is prefixed and thus the `supplied_text` parameter is not used for property setting.
-
+    
 The `@ValueFrom` suffixed parameter is assumed to be single-valued. If the parameter has multiple values it is ignored completely.
-
+    
 The `@ValueFrom` suffixed parameter is also special in that there must not be a correlated parameter without a suffix. Thus have parameters `text` and `text@ValueFrom` may have unexpected results.
-
-
+    
+    
 ###### `@Delete`
-
+    
 Sometimes it may be required to not set a property to a specific value but to just remove it while processing the content update request. One such situation is a property filled from one or more checkboxes in an HTML form. If none of the checkboxes are checked, no parameter is actually submitted for these checkboxes. Hence the SlingPostServlet will not touch this property and effectively leave it untouched, while the natural reaction would have been to remove the property.
-
+    
 Here comes the `@Delete` suffixed parameter. This simply causes the indicated property be removed if it exists. If the property does not exist, nothing more happens. The actual value of the `@Delete` suffixed parameter does not care as long as the parameter is submitted.
-
+    
 Example: To ensure the `color` property is actually removed if no color has been selected, you might use the following form:
-
-<form method="POST" action="/content/page/first" enctype="multipart/form-data">
-<input type="checkbox" name="color" value="red" />
-<input type="checkbox" name="color" value="green" />
-<input type="checkbox" name="color" value="blue" />
-<input type="hidden" name="color@Delete" value="delete text" /><!-- actual value is ignored -->
-<input type="Submit" />
-</form>
+    
+    <form method="POST" action="/content/page/first" enctype="multipart/form-data">
+        <input type="checkbox" name="color" value="red" />
+        <input type="checkbox" name="color" value="green" />
+        <input type="checkbox" name="color" value="blue" />
+        <input type="hidden" name="color@Delete" value="delete text" /><!-- actual value is ignored -->
+        <input type="Submit" />
+    </form>
 
 
 The `@Delete` suffixed parameter is also special in that there need not be a correlated parameter without a suffix. If both -- a parameters `text` and `text@Delete` are set, the `text` property is first deleted and then filled with the new content.
@@ -401,37 +404,37 @@ To support this kind of functionality, the `@MoveFrom` suffixed parameter may be
 
 Example: Your Flash-based file upload stored the file on the server at `/tmp/upload/123`. You now want to store this file along with a title and a text in a newly created node. The following form will be your friend:
 
-<!-- trailing slash generates a name for the new node -->
-<form method="POST" action="/content/page/" enctype="multipart/form-data">
-<input type="hidden" name="image@MoveFrom" value="/tmp/upload/123" />
-<input type="text" name="title" />
-<input type="text" name="text" />
-<input type="Submit" />
-</form>
-
+    <!-- trailing slash generates a name for the new node -->
+    <form method="POST" action="/content/page/" enctype="multipart/form-data">
+        <input type="hidden" name="image@MoveFrom" value="/tmp/upload/123" />
+        <input type="text" name="title" />
+        <input type="text" name="text" />
+        <input type="Submit" />
+    </form>
 
+    
 If there exists no repository item at the indicated path, nothing is done. If the item indicated by the `@MoveFrom` suffixed parameter already exists, it is replaced by the item addressed by the parameter value -- unless of course there is no item at the named location.
-
+    
 The `@MoveFrom` suffixed parameter is assumed to be single-valued. If the parameter has multiple values it is ignored completely.
-
+    
 The `@MoveFrom` suffixed parameter is also special in that there must not be a correlated parameter without a suffix. Thus have parameters `text` and `text@MoveFrom` may have unexpected results.
-
+    
 The `@MoveFrom` suffixed parameter in fact calls for a sub-operation, which is executed after the `@Delete` sub operation but before any other tasks of content creation and modification are done.
-
-
+    
+    
 ###### `@CopyFrom`
-
+    
 Similar to the `@MoveFrom` suffix exists a `@CopyFrom` suffix. The latter works exactly the same as the former except that the item addressed by the parameter value is not moved but just copied.
-
+    
 Example: Your Flash-based file upload stored the file on the server at `/tmp/upload/123`. You now want to store this file along with a title and a text in a newly created node. The following form may be your friend:
-
-<!-- trailing slash generates a name for the new node -->
-<form method="POST" action="/content/page/" enctype="multipart/form-data">
-<input type="hidden" name="image@CopyFrom" value="/tmp/upload/123" />
-<input type="text" name="title" />
-<input type="text" name="text" />
-<input type="Submit" />
-</form>
+    
+    <!-- trailing slash generates a name for the new node -->
+    <form method="POST" action="/content/page/" enctype="multipart/form-data">
+        <input type="hidden" name="image@CopyFrom" value="/tmp/upload/123" />
+        <input type="text" name="title" />
+        <input type="text" name="text" />
+        <input type="Submit" />
+    </form>
 
 
 If there exists no repository item at the indicated path, nothing is done. If the item indicated by the `@CopyFrom` suffixed parameter already exists, it is replaced by the item addressed by the parameter value -- unless of course there is no item at the named location.
@@ -443,19 +446,19 @@ The `@CopyFrom` suffixed parameter is also special in that there must not be a c
 The `@CopyFrom` suffixed parameter in fact calls for a sub-operation, which is executed after the `@MoveFrom` sub operation but before any other tasks of content creation and modification are done.
 
 ###### `@Patch`
-
+    
 When modifying multi-value properties, the `@Patch` suffix can be used to just add `+` or remove `-` individual values without overwriting the full array. This allows to change the array without knowing the current values.
 
 For example, imagine a multi-value string property that stores tags or keywords. To both add a tag "cool" and remove "boring" from the list:
 
-<form method="POST" action="/content/page/first" enctype="multipart/form-data">
-<input type="hidden" name="tags@TypeHint" value="String[]" />
-<input type="hidden" name="tags@Patch"    value="true" />
-<input type="text"   name="tags"          value="+cool"/>
-<input type="text"   name="tags"          value="-boring"/>
-<input type="Submit" />
-</form>
-
+    <form method="POST" action="/content/page/first" enctype="multipart/form-data">
+        <input type="hidden" name="tags@TypeHint" value="String[]" />
+        <input type="hidden" name="tags@Patch"    value="true" />
+        <input type="text"   name="tags"          value="+cool"/>
+        <input type="text"   name="tags"          value="-boring"/>
+        <input type="Submit" />
+    </form>
+    
 The array will be treated like a set: when adding a value, it will only be added once if it does not exist yet; when removing a value, all occurrences of it will be removed. For values not affected by the add or remove operations, nothing changes. An existing array with duplicate entries will not automatically be converted into a set.
 
 The format for an individual parameter value is `<operation><value>`. If there is no or no valid operation given, this value will be ignored.
@@ -509,7 +512,7 @@ The modification operation has the following status responses:
 To remove existing content just address the item to be removed and set the `:operation` parameter to `delete`. For example the following command line removes the `/content/sample` page:
 
 
-$ curl -F":operation=delete" http://host/content/sample
+    $ curl -F":operation=delete" http://host/content/sample
 
 
 
@@ -534,14 +537,14 @@ When specifying the item(s) to be removed with the `:applyTo` parameter, the req
 To remove the `/content/page1` and `/content/page2` nodes, for example, you might use the following command line:
 
 
-$ curl -F":operation=delete" -F":applyTo=/content/page1"
--F":applyTo=/content/page2" http://host/content/sample
+    $ curl -F":operation=delete" -F":applyTo=/content/page1" \    
+        -F":applyTo=/content/page2" http://host/content/sample
 
 
 Using a trailing star in the :applyTo parameter (as mentioned before), you can remove all the children of the `/content` node, for example, as follows:
 
 
-$ curl -F":operation=delete" -F":applyTo=/content/*" http://host/content/sample
+    $ curl -F":operation=delete" -F":applyTo=/content/*" http://host/content/sample
 
 
 If any resource listed in the `:applyTo` parameter does not exist, it is silently ignored.
@@ -599,8 +602,8 @@ When specifying the item(s) to be copied with the `:applyTo` parameter, the requ
 To copy the `/content/page1` and `/content/page2` nodes to `/content/target`, for example, use:
 
 
-$ curl -F":operation=copy" -F":applyTo=/content/page1" -F":applyTo=/content/page2"
--F":dest=/content/target/" http://host/content/sample
+    $ curl -F":operation=copy" -F":applyTo=/content/page1" -F":applyTo=/content/page2" \    
+        -F":dest=/content/target/" http://host/content/sample
 
 
 Please note the trailing slash character (`/`) in the value of the `:dest` parameter. This is required for multi-item copy operations using the `:applyTo` parameter. The copied items are created below the node indicated by the `:dest`.
@@ -608,8 +611,8 @@ Please note the trailing slash character (`/`) in the value of the `:dest` param
 Using a trailing star in the :applyTo parameter (as mentioned before), you can copy all the children of the `/content` node, for example, as follows:
 
 
-$ curl -F":operation=copy" -F":applyTo=/content/*" -F":dest=/content/target/"
-http://host/content/sample
+    $ curl -F":operation=copy" -F":applyTo=/content/*" -F":dest=/content/target/" \    
+        http://host/content/sample
 
 
 If any resource listed in the `:applyTo` parameter does not exist, it is silently ignored. Any item already existing at the copy destination whose name is the same as the name of an item to be copied is silently overwritten with the source item.
@@ -670,8 +673,8 @@ When specifying the item(s) to be moved with the `:applyTo` parameter, the reque
 To for example move the `/content/page1` and `/content/page2` nodes to `/content/target`, you might use the following command line:
 
 
-$ curl -F":operation=move" -F":applyTo=/content/page1" -F":applyTo=/content/page2"
--F":dest=/content/target/" http://host/content/sample
+    $ curl -F":operation=move" -F":applyTo=/content/page1" -F":applyTo=/content/page2" \    
+         -F":dest=/content/target/" http://host/content/sample
 
 
 Please note the trailing slash character (`/`) in the value of the `:dest` parameter. This is required for multi-item move operations using the `:applyTo` parameter. The moved items are created below the node indicated by the `:dest`.
@@ -679,8 +682,8 @@ Please note the trailing slash character (`/`) in the value of the `:dest` param
 Using a trailing star in the :applyTo parameter (as mentioned before), you can move all the children of the `/content` node, for example, as follows:
 
 
-$ curl -F":operation=move" -F":applyTo=/content/*" -F":dest=/content/target/"
-http://host/content/sample
+    $ curl -F":operation=move" -F":applyTo=/content/*" -F":dest=/content/target/" \    
+        http://host/content/sample
 
 
 If any resource listed in the `:applyTo` parameter does not exist, it is silently ignored. Any item already existing at the move destination whose name is the same as the name of an item to be moved is silently overwritten with the source item.
@@ -700,7 +703,7 @@ The move operation applied to multiple resources has the following status respon
 
 ### Importing Content Structures
 
-To import content structures just address the parent item to import into and set the `:operation` parameter to `import`.
+To import content structures just address the parent item to import into and set the `:operation` parameter to `import`. 
 
 The optional name of the root node of the imported content may optionally be supplied using the [Algorithm for Node Name Creation](#algorithm-for-node-name-creation).
 
@@ -720,41 +723,41 @@ Other parameters for the import operation:
 For example the following command line imports the `/content/sample` page:
 
 
-$ curl -F":operation=import" -F":contentType=json" -F":name=sample"
--F':content={ "jcr:primaryType": "nt:unstructured", "propOne" : "propOneValue", "childOne" : { "childPropOne" : true } }'
-http://host/content
+    $ curl -F":operation=import" -F":contentType=json" -F":name=sample" \    
+       -F':content={ "jcr:primaryType": "nt:unstructured", "propOne" : "propOneValue", "childOne" : { "childPropOne" : true } }' \    
+       http://host/content
 
 
 For example the following command line imports the `/content/sample` page without the optional name parameter:
 
 
-$ curl -F":operation=import" -F":contentType=json"
--F':content={ "sample" : {"propOne" : "propOneValue", "childOne" : { "childPropOne" : true } } }'
-http://host/content
+    $ curl -F":operation=import" -F":contentType=json"
+       -F':content={ "sample" : {"propOne" : "propOneValue", "childOne" : { "childPropOne" : true } } }' \    
+       http://host/content
 
 
 For example the following form imports the `/content/sample` page:
 
-<form method="POST" action="/content" enctype="multipart/form-data">
-<input type="hidden" name=":operation" value="import" />
-<input type="hidden" name=":contentType" value="json" />
-<input type="hidden" name=":nameHint" value="sample" />
-
-<input type="text" name=":content" value="{ &quot;jcr:primaryType&quot; : &quot;nt:unstructured&quot; , &quot;propOne&quot; : &quot;propOneValue&quot;, &quot;childOne&quot; : { &quot;childPropOne&quot; : true } }" />
-<input type="Submit" />
-</form>
-
+    <form method="POST" action="/content" enctype="multipart/form-data">
+        <input type="hidden" name=":operation" value="import" />
+        <input type="hidden" name=":contentType" value="json" />
+        <input type="hidden" name=":nameHint" value="sample" />
+    
+        <input type="text" name=":content" value="{ &quot;jcr:primaryType&quot; : &quot;nt:unstructured&quot; , &quot;propOne&quot; : &quot;propOneValue&quot;, &quot;childOne&quot; : { &quot;childPropOne&quot; : true } }" />
+        <input type="Submit" />
+    </form>
 
+    
 For example the following form imports content from a file upload:
 
-<form method="POST" action="/content" enctype="multipart/form-data">
-<input type="hidden" name=":operation" value="import" />
-<input type="hidden" name=":contentType" value="json" />
-<input type="hidden" name=":nameHint" value="sample" />
-
-<input type="file" name=":contentFile" />
-<input type="Submit" />
-</form>
+    <form method="POST" action="/content" enctype="multipart/form-data">
+        <input type="hidden" name=":operation" value="import" />
+        <input type="hidden" name=":contentType" value="json" />
+        <input type="hidden" name=":nameHint" value="sample" />
+    
+        <input type="file" name=":contentFile" />
+        <input type="Submit" />
+    </form>
 
 
 
@@ -815,7 +818,7 @@ The `:order` parameter may have the following values:
 Note that simple content reordering can be requested without applying any other operations. This is easiest done by placing a request to the resource to be reordered and just setting the `:order` parameter. For example to order the `/content/sample/page5` resource above its sibling resource `/content/sample/other` a simple request
 
 
-$ curl -F":order=before other" http://host/content/sample/page5
+    $ curl -F":order=before other" http://host/content/sample/page5
 
 
 does the trick. To be redirected after the reodering, the `:redirect` parameter may optionally also be specified.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/metrics.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/metrics.md b/content/documentation/bundles/metrics.md
index 65e6c47..3669732 100644
--- a/content/documentation/bundles/metrics.md
+++ b/content/documentation/bundles/metrics.md
@@ -1,44 +1,47 @@
-title=Sling Metrics		
-type=page
+title=TODO title for metrics.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Metrics
 
 Sling Metrics bundle provides integration with [Dropwizard Metrics][1] library
-which provides a toolkit to capture runtime performance statistics in your
-application.
+which provides a toolkit to capture runtime performance statistics in your 
+application. 
 
 ## Features
 
 * Registers a [MetricsService][3] which can be used to create various types of Metric
-instances
+  instances
 * WebConsole Plugin which provides a HTML Reporter for the various Metric instances
 * Inventory Plugin which dumps the Metric state in plain text format
 
 ## Basic Usage
 
-:::java
-import org.apache.sling.metrics.Counter;
-import org.apache.sling.metrics.MetricsService;
-
-@Reference
-private MetricsService metricsService;
-
-private Counter counter;
-
-@Activate
-private void activate(){
-counter = metricsService.counter("sessionCounter");
-}
-
-public void onSessionCreation(){
-counter.increment();
-}
-
+    :::java
+    import org.apache.sling.metrics.Counter;
+    import org.apache.sling.metrics.MetricsService;
+    
+    @Reference
+    private MetricsService metricsService;
+    
+    private Counter counter;
+    
+    @Activate
+    private void activate(){
+        counter = metricsService.counter("sessionCounter");
+    }
+    
+    public void onSessionCreation(){
+        counter.increment();
+    }
+    
 To make use of `MetricsService`
 
 1. Get a reference to `org.apache.sling.metrics.MetricsService`
-2. Initialize the metric e.g. Counter in above case. This avoids
-any potential lookup cost in critical code paths
+2. Initialize the metric e.g. Counter in above case. This avoids 
+   any potential lookup cost in critical code paths
 3. Make use of metric instance to capture require stats
 
 Refer to [Metric Getting Started][2] guide to see how various types
@@ -48,16 +51,16 @@ bundle class names belong to `org.apache.sling.commons.metrics` package
 ## Best Practices
 
 1. Use descriptive names - Qualify the name with class/package name where the
-metric is being used
-2. Do not use the metrics for operation which take less than 1E-7s i.e. 1000 nano
-seconds otherwise timer overhead (Metrics makes use of System.nanoTime)
-would start affecting the performance.
+   metric is being used
+2. Do not use the metrics for operation which take less than 1E-7s i.e. 1000 nano 
+   seconds otherwise timer overhead (Metrics makes use of System.nanoTime)
+   would start affecting the performance.
 
 ## API
 
-Sling Metrics bundle provides its own Metric classes which are modelled on
+Sling Metrics bundle provides its own Metric classes which are modelled on 
 [Dropwizard Metrics][1] library. The metric interfaces defined by Sling bundle
-only provides methods related to data collection.
+only provides methods related to data collection. 
 
 * [org.apache.sling.commons.metrics.Meter][4] - Similar to [Dropwizard Meter][dw-meter]
 * [org.apache.sling.commons.metrics.Timer][6] - Similar to [Dropwizard Timer][dw-timer]
@@ -70,59 +73,59 @@ type of Metrics like Meter, Timer, Counter and Histogram.
 ### Requirement of wrapper interfaces
 
 * Abstraction - Provides an abstraction around how metrics are collected and how
-they are reported and consumed. Most of the code would only be concerned with
-collecting interesting data. How it gets consumed or reported is implementation
-detail.
+  they are reported and consumed. Most of the code would only be concerned with
+  collecting interesting data. How it gets consumed or reported is implementation 
+  detail.
 * Ability to turnoff stats collection - We can easily turn off data collection
-by switching to NOOP variant of `MetricsService` in case it starts adding appreciable
-overhead. Turning on and off can also be done on individual metric basis.
-
+  by switching to NOOP variant of `MetricsService` in case it starts adding appreciable
+  overhead. Turning on and off can also be done on individual metric basis.
+  
 It also allows us to later extend the type of data collected. For e.g. we can also collect
 [TimerSeries][8] type of data for each metric without modifying the caller logic.
-
+  
 ### Access to Dropwizard Metrics API
 
-Sling Metrics bundle also registers the `MetricRegistry` instance with OSGi service registry.
-The instance registered has a service property `name` set to `sling` (so as allow distinguishing
-from any other registered `MetricRegistry` instance). It can be used to get direct access to Dropwizard
+Sling Metrics bundle also registers the `MetricRegistry` instance with OSGi service registry. 
+The instance registered has a service property `name` set to `sling` (so as allow distinguishing 
+from any other registered `MetricRegistry` instance). It can be used to get direct access to Dropwizard 
 Metric API if required.
 
-:::java
-@Reference(target = "(name=sling)")
-private MetricRegistry registry;
-
+    :::java
+    @Reference(target = "(name=sling)")
+    private MetricRegistry registry;
+  
 Also the wrapper Metric instance can be converted to actual instance via `adaptTo` calls.
 
-:::java
-import org.apache.sling.commons.metrics.Counter
+    :::java
+    import org.apache.sling.commons.metrics.Counter
 
-Counter counter = metricService.counter("login");
-com.codahale.metrics.Counter = counter.adaptTo(com.codahale.metrics.Counter.class)
+    Counter counter = metricService.counter("login");
+    com.codahale.metrics.Counter = counter.adaptTo(com.codahale.metrics.Counter.class)
 
 ## WebConsole Plugin
 
-A Web Console plugin is also provided which is accessible at
+A Web Console plugin is also provided which is accessible at 
 http://localhost:8080/system/console/slingmetrics. It lists down all registered
-Metric instances and their state.
+Metric instances and their state. 
 
 ![Metric Plugin](/documentation/bundles/metric-web-console.png)
 
-The plugin lists all Metric instances from any `MetricRegistry` instance found in
+The plugin lists all Metric instances from any `MetricRegistry` instance found in 
 the OSGi service registry. If the `MetricRegistry` service has a `name` property defined
-then that would be prefixed to the Metric names from that registry. This allows
+then that would be prefixed to the Metric names from that registry. This allows 
 use of same name in different registry instances.
 
 ## Installation
 
 Add following Maven dependency to your pom.xml:
 
-:::xml
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.commons.metrics</artifactId>
-<version>1.0.0</version>
-</dependency>
-
+    :::xml
+    <dependency>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>org.apache.sling.commons.metrics</artifactId>
+        <version>1.0.0</version>
+    </dependency>
+    
 Or download from [here][9]
 
 [1]: http://metrics.dropwizard.io/

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/mime-type-support-commons-mime.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/mime-type-support-commons-mime.md b/content/documentation/bundles/mime-type-support-commons-mime.md
index 11dcdaa..940f202 100644
--- a/content/documentation/bundles/mime-type-support-commons-mime.md
+++ b/content/documentation/bundles/mime-type-support-commons-mime.md
@@ -1,7 +1,10 @@
-title=MIME Type Support (commons.mime and commons.contentdetection)		
-type=page
+title=TODO title for mime-type-support-commons-mime.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: MIME Type Support (commons.mime and commons.contentdetection)
 
 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.
 
@@ -32,7 +35,7 @@ Two more methods allow to programmatically add MIME type mappings:
 
 ## The Sling ContentAwareMimeTypeService
 
-For content-based mime type detection (as opposed to filename-based detection), the `org.apache.sling.commons.contentdetection` bundle
+For content-based mime type detection (as opposed to filename-based detection), the `org.apache.sling.commons.contentdetection` bundle 
 provides the `ContentAwareMimeTypeService`, which takes an `InputStream` that's analyzed to detect its mime type, using Apache Tika
 by default:
 
@@ -72,7 +75,7 @@ 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.
+* 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.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/models.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/models.md b/content/documentation/bundles/models.md
index 21669bf..a5a3060 100644
--- a/content/documentation/bundles/models.md
+++ b/content/documentation/bundles/models.md
@@ -1,7 +1,10 @@
-title=Sling Models		
-type=page
+title=TODO title for models.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Models
 
 [TOC]
 
@@ -21,53 +24,53 @@ Many Sling projects want to be able to create model objects - POJOs which are au
 # Basic Usage
 In the simplest case, the class is annotated with `@Model` and the adaptable class. Fields which need to be injected are annotated with `@Inject`:
 
-::java
-@Model(adaptables=Resource.class)
-public class MyModel {
-
-@Inject
-private String propertyName;
-}
+    ::java
+    @Model(adaptables=Resource.class)
+    public class MyModel {
+    
+        @Inject
+        private String propertyName;
+    }
 
 In this case, a property named "propertyName" will be looked up from the Resource (after first adapting it to a `ValueMap`) and it is injected.
-
+ 
 For an interface, it is similar:
 
-::java
-@Model(adaptables=Resource.class)
-public interface MyModel {
-
-@Inject
-String getPropertyName();
-}
+	::java
+	@Model(adaptables=Resource.class)
+	public interface MyModel {
+	 
+	    @Inject
+	    String getPropertyName();
+	}
 
 Constructor injection is also supported (as of Sling Models 1.1.0):
 
-::java
-@Model(adaptables=Resource.class)
-public class MyModel {
-@Inject
-public MyModel(@Named("propertyName") String propertyName) {
-// constructor code
-}
-}
+    ::java
+    @Model(adaptables=Resource.class)
+    public class MyModel {    
+        @Inject
+        public MyModel(@Named("propertyName") String propertyName) {
+          // constructor code
+        }
+    }
 
 Because the name of a constructor argument parameter cannot be detected via the Java Reflection API a `@Named` annotation is mandatory for injectors that require a name for resolving the injection.
 
 In order for these classes to be picked up, there is a header which must be added to the bundle's manifest:
 
-<Sling-Model-Packages>
-org.apache.sling.models.it.models
-</Sling-Model-Packages>
+	<Sling-Model-Packages>
+	  org.apache.sling.models.it.models
+	</Sling-Model-Packages>
 
 This header must contain all packages which contain model classes or interfaces. However, subpackages need not be listed
 individually, e.g. the header above will also pick up model classes in `org.apache.sling.models.it.models.sub`. Multiple packages
 can be listed in a comma-separated list (any whitespace will be removed):
 
-<Sling-Model-Packages>
-org.apache.sling.models.it.models,
-org.apache.sling.other.models
-</Sling-Model-Packages>
+    <Sling-Model-Packages>
+      org.apache.sling.models.it.models,
+      org.apache.sling.other.models
+    </Sling-Model-Packages>
 
 Alternatively it is possible to list all classes individually that are Sling Models classes via the `Sling-Model-Classes` header.
 
@@ -78,18 +81,18 @@ If you use the Sling Models bnd plugin all required bundle headers are generated
 
 Client code doesn't need to be aware that Sling Models is being used. It just uses the Sling Adapter framework:
 
-::java
-MyModel model = resource.adaptTo(MyModel.class)
-
+    ::java
+	MyModel model = resource.adaptTo(MyModel.class)
+	
 Or
 
-::jsp
-<sling:adaptTo adaptable="${resource}" adaptTo="org.apache.sling.models.it.models.MyModel" var="model"/>
+	::jsp
+	<sling:adaptTo adaptable="${resource}" adaptTo="org.apache.sling.models.it.models.MyModel" var="model"/>
 
 Or
 
-::jsp
-${sling:adaptTo(resource, 'org.apache.sling.models.it.models.MyModel')}
+	::jsp
+	${sling:adaptTo(resource, 'org.apache.sling.models.it.models.MyModel')}
 
 As with other AdapterFactories, if the adaptation can't be made for any reason, `adaptTo()` returns null.
 ## ModelFactory (since 1.2.0)
@@ -97,14 +100,14 @@ As with other AdapterFactories, if the adaptation can't be made for any reason,
 
 Since Sling Models 1.2.0 there is another way of instantiating models. The OSGi service `ModelFactory` provides a method for instantiating a model that throws exceptions. This is not allowed by the Javadoc contract of the adaptTo method. That way `null` checks are not necessary and it is easier to see why instantiation of the model failed.
 
-::java
-try {
-MyModel model = modelFactory.createModel(object, MyModel.class);
-} catch (Exception e) {
-// give out error message that the model could not be instantiated.
-// The exception contains further information.
-// See the javadoc of the ModelFactory for which Exception can be expected here
-}
+    ::java
+	try {
+        MyModel model = modelFactory.createModel(object, MyModel.class);
+    } catch (Exception e) {
+        // give out error message that the model could not be instantiated. 
+        // The exception contains further information. 
+        // See the javadoc of the ModelFactory for which Exception can be expected here
+    }
 
 In addition `ModelFactory` provides methods for checking whether a given class is a model at all (having the model annotation) or whether a class can be adapted from a given adaptable.
 
@@ -112,35 +115,35 @@ In addition `ModelFactory` provides methods for checking whether a given class i
 ## Names
 If the field or method name doesn't exactly match the property name, `@Named` can be used:
 
-::java
-@Model(adaptables=Resource.class)
-public class MyModel {
-
-@Inject @Named("secondPropertyName")
-private String otherName;
-}
-
+	::java
+	@Model(adaptables=Resource.class)
+	public class MyModel {
+	 
+	    @Inject @Named("secondPropertyName")
+	    private String otherName;
+	} 
+ 
 ## Optional and Required
 `@Inject`ed fields/methods are assumed to be required. To mark them as optional, use `@Optional`:
 
-::java
-@Model(adaptables=Resource.class)
-public class MyModel {
-
-@Inject @Optional
-private String otherName;
-}
+	::java
+	@Model(adaptables=Resource.class)
+	public class MyModel {
+	 
+	    @Inject @Optional
+	    private String otherName;
+	}
 
 If a majority of `@Inject`ed fields/methods are optional, it is possible (since Sling Models API 1.0.2/Impl 1.0.6) to change the default injection
 strategy by using adding `defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL` to the `@Model` annotation:
 
-::java
-@Model(adaptables=Resource.class, defaultInjectionStrategy=DefaultInjectionStrategy.OPTIONAL)
-public class MyModel {
+	::java
+	@Model(adaptables=Resource.class, defaultInjectionStrategy=DefaultInjectionStrategy.OPTIONAL)
+	public class MyModel {
 
-@Inject
-private String otherName;
-}
+	    @Inject
+	    private String otherName;
+	}
 
 To still mark some fields/methods as being mandatory while relying on `defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL` for all other fields, the annotation `@Required` can be used.
 
@@ -149,182 +152,182 @@ To still mark some fields/methods as being mandatory while relying on `defaultIn
 ## Defaults
 A default value can be provided (for Strings & primitives):
 
-::java
-@Model(adaptables=Resource.class)
-public class MyModel {
-
-@Inject @Default(values="defaultValue")
-private String name;
-}
+	::java
+	@Model(adaptables=Resource.class)
+	public class MyModel {
+	 
+	    @Inject @Default(values="defaultValue")
+	    private String name;
+	}
 
 Defaults can also be arrays:
 
-::java
-@Model(adaptables=Resource.class)
-public class MyModel {
-
-@Inject @Default(intValues={1,2,3,4})
-private int[] integers;
-}
+	::java
+	@Model(adaptables=Resource.class)
+	public class MyModel {
+	 
+	    @Inject @Default(intValues={1,2,3,4})
+	    private int[] integers;
+	}
 
 
 OSGi services can be injected:
 
-::java
-@Model(adaptables=Resource.class)
-public class MyModel {
-
-@Inject
-private ResourceResolverFactory resourceResolverFactory;
-}
-
+	::java
+	@Model(adaptables=Resource.class)
+	public class MyModel {
+	 
+	    @Inject
+	    private ResourceResolverFactory resourceResolverFactory;
+	} 
 
+ 
 In this case, the name is not used -- only the class name.
 
 ## Collections
 Lists and arrays are supported by some injectors. For the details look at the table given in [Available Injectors](#available-injectors):
 
-::java
-@Model(adaptables=Resource.class)
-public class MyModel {
-
-@Inject
-private List<Servlet> servlets;
-}
+	::java
+	@Model(adaptables=Resource.class)
+	public class MyModel {
+	 
+	    @Inject
+	    private List<Servlet> servlets;
+	}
 
 List injection for *child resources* works by injecting grand child resources (since Sling Models Impl 1.0.6). For example, the class
 
-::java
-@Model(adaptables=Resource.class)
-public class MyModel {
+	::java
+	@Model(adaptables=Resource.class)
+	public class MyModel {
 
-@Inject
-private List<Resource> addresses;
-}
+	    @Inject
+	    private List<Resource> addresses;
+	}
 
 Is suitable for a resource structure such as:
 
-+- resource (being adapted)
-|
-+- addresses
-|
-+- address1
-|
-+- address2
+	+- resource (being adapted)
+	 |
+	 +- addresses
+	    |
+	    +- address1
+	    |
+	    +- address2
 
 In this case, the `addresses` `List` will contain `address1` and `address2`.
-
+ 
 ## OSGi Service Filters
 OSGi injection can be filtered:
 
-::java
-@Model(adaptables=SlingHttpServletRequest.class)
-public class MyModel {
-
-@Inject
-private PrintWriter out;
-
-@Inject
-@Named("log")
-private Logger logger;
-
-@Inject
-@Filter("(paths=/bin/something)")
-private List<Servlet> servlets;
-}
-
-## PostConstruct Methods
+	::java
+	@Model(adaptables=SlingHttpServletRequest.class)
+	public class MyModel {
+	 
+	    @Inject
+	    private PrintWriter out;
+	 
+	    @Inject
+	    @Named("log")
+	    private Logger logger;
+	 
+	    @Inject
+	    @Filter("(paths=/bin/something)")
+	    private List<Servlet> servlets;
+	}
+
+## PostConstruct Methods 
 The `@PostConstruct` annotation can be used to add methods which are invoked upon completion of all injections:
 
-::java
-@Model(adaptables=SlingHttpServletRequest.class)
-public class MyModel {
-
-@Inject
-private PrintWriter out;
-
-@Inject
-@Named("log")
-private Logger logger;
-
-@PostConstruct
-protected void sayHello() {
-logger.info("hello");
-}
-}
+	::java
+	@Model(adaptables=SlingHttpServletRequest.class)
+	public class MyModel {
+	 
+	    @Inject
+	    private PrintWriter out;
+	 
+	    @Inject
+	    @Named("log")
+	    private Logger logger;
+	 
+	    @PostConstruct
+	    protected void sayHello() {
+	         logger.info("hello");
+	    }
+	}
 
 `@PostConstruct` methods in a super class will be invoked first.
 
-## Via
+## Via 
 If the injection should be based on a JavaBean property of the adaptable, you can indicate this using the `@Via` annotation:
 
-::java
-@Model(adaptables=SlingHttpServletRequest.class)
-public interface MyModel {
-
-// will return request.getResource().adaptTo(ValueMap.class).get("propertyName", String.class)
-@Inject @Via("resource")
-String getPropertyName();
-}
+	::java
+	@Model(adaptables=SlingHttpServletRequest.class)
+	public interface MyModel {
+	 
+	    // will return request.getResource().adaptTo(ValueMap.class).get("propertyName", String.class)
+	    @Inject @Via("resource")
+	    String getPropertyName();
+	} 
 
 ## Source
 If there is ambiguity where a given injection could be handled by more than one injector, the `@Source` annotation can be used to define which injector is responsible:
 
-::java
-@Model(adaptables=SlingHttpServletRequest.class)
-public interface MyModel {
-
-// Ensure that "resource" is retrived from the bindings, not a request attribute
-@Inject @Source("script-bindings")
-Resource getResource();
-}
+	::java
+	@Model(adaptables=SlingHttpServletRequest.class)
+	public interface MyModel {
+	 
+	    // Ensure that "resource" is retrived from the bindings, not a request attribute 
+	    @Inject @Source("script-bindings")
+	    Resource getResource();
+	} 
 
 ## Adaptations
 If the injected object does not match the desired type and the object implements the `Adaptable` interface, Sling Models will try to adapt it. This provides the ability to create rich object graphs. For example:
 
-::java
-@Model(adaptables=Resource.class)
-public interface MyModel {
-
-@Inject
-ImageModel getImage();
-}
-
-@Model(adaptables=Resource.class)
-public interface ImageModel {
-
-@Inject
-String getPath();
-}
+	::java
+	@Model(adaptables=Resource.class)
+	public interface MyModel {
+	 
+	    @Inject
+	    ImageModel getImage();
+	}
+	
+	@Model(adaptables=Resource.class)
+	public interface ImageModel {
+	 
+	    @Inject
+	    String getPath();
+	}
 
 When a resource is adapted to `MyModel`, a child resource named `image` is automatically adapted to an instance of `ImageModel`.
 
 Constructor injection is supported for the adaptable itself. For example:
 
-::java
-@Model(adaptables=Resource.class)
-public class MyModel {
+    ::java
+	@Model(adaptables=Resource.class)
+    public class MyModel {
 
-public MyModel(Resource resource) {
-this.resource = resource;
-}
+        public MyModel(Resource resource) {
+            this.resource = resource;
+        }
 
-private final Resource resource;
+        private final Resource resource;
 
-@Inject
-private String propertyName;
-}
+        @Inject
+        private String propertyName;
+    }
 
 ## Sling Validation (since 1.2.0)
 <a name="validation">*See also [SLING-4161](https://issues.apache.org/jira/browse/SLING-4161)*</a>
 
 You can use the attribute `validation` on the Model annotation to call a validation service on the resource being used by the Sling model. That attribute supports three different values:
 
-Value |  Description |  Invalid validation model |  No validation model found |  Resource invalid according to model
------ | ------- | ------------- | -------------| ---------
-`DISABLED` (default) | don't validate the resource bound to the Model | Model instantiated | Model instantiated  | Model instantiated
-`REQUIRED` | enforce validation of the resource bound to the Model | Model not instantiated | Model not instantiated | Model not instantiated
-`OPTIONAL` | validate the resource bound to the Model (if a validation model is found) | Model not instantiated | Model instantiated | Model not instantiated
+  Value |  Description |  Invalid validation model |  No validation model found |  Resource invalid according to model
+  ----- | ------- | ------------- | -------------| ---------
+ `DISABLED` (default) | don't validate the resource bound to the Model | Model instantiated | Model instantiated  | Model instantiated  
+ `REQUIRED` | enforce validation of the resource bound to the Model | Model not instantiated | Model not instantiated | Model not instantiated
+ `OPTIONAL` | validate the resource bound to the Model (if a validation model is found) | Model not instantiated | Model instantiated | Model not instantiated
 
 In case the model is not instantiated an appropriate error message is logged (if `adaptTo()` is used) or an appropriate exception is thrown (if `ModelFactory.createModel()` is used).
 
@@ -392,15 +395,15 @@ Sling Object       | `sling-object`          | `Integer.MAX_VALUE` | 1.1.0
 Sometimes it is desirable to use customized annotations which aggregate the standard annotations described above. This will generally have
 the following advantages over using the standard annotations:
 
-* Less code to write (only one annotation is necessary in most of the cases)
-* More robust (in case of name collisions among the different injectors, you make sure that the right injector is used)
-* Better IDE support (because the annotations provide elements for each configuration which is available for that specific injector, i.e. `filter` only for OSGi services)
+ * Less code to write (only one annotation is necessary in most of the cases)
+ * More robust (in case of name collisions among the different injectors, you make sure that the right injector is used)
+ * Better IDE support (because the annotations provide elements for each configuration which is available for that specific injector, i.e. `filter` only for OSGi services)
 
 The follow annotations are provided which are tied to specific injectors:
 
 Annotation          | Supported Optional Elements    | Injector | Description
 -----------------   | ------------------------------ |-------------------------
-`@ScriptVariable`   | `injectionStrategy` and `name`          | `script-bindings` | Injects the script variable defined via [Sling Bindings](https://cwiki.apache.org/confluence/display/SLING/Scripting+variables). If `name` is not set the name is derived from the method/field name.
+`@ScriptVariable`   | `injectionStrategy` and `name`          | `script-bindings` | Injects the script variable defined via [Sling Bindings](https://cwiki.apache.org/confluence/display/SLING/Scripting+variables). If `name` is not set the name is derived from the method/field name. 
 `@ValueMapValue`    | `injectionStrategy`, `name` and `via`   | `valuemap` | Injects a `ValueMap` value. If `via` is not set, it will automatically take `resource` if the adaptable is the `SlingHttpServletRequest`. If `name` is not set the name is derived from the method/field name.
 `@ChildResource`    | `injectionStrategy`, `name` and `via`   | `child-resources` | Injects a child resource by name. If `via` is not set, it will automatically take `resource` if the adaptable is the `SlingHttpServletRequest`. If `name` is not set the name is derived from the method/field name.
 `@RequestAttribute` | `injectionStrategy`, `name` and `via`   | `request-attributes` | Injects a request attribute by name. If `name` is not set the name is derived from the method/field name.
@@ -411,34 +414,34 @@ Annotation          | Supported Optional Elements    | Injector | Description
 
 ## Hints
 
-Those annotations replace `@Via`, `@Filter`, `@Named`, `@Optional`, `@Required`, `@Source` and `@Inject`.
+Those annotations replace `@Via`, `@Filter`, `@Named`, `@Optional`, `@Required`, `@Source` and `@Inject`. 
 Instead of using the deprecated annotation element `optional` you should rather use `injectionStrategy` with the values `DEFAULT`, `OPTIONAL` or `REQUIRED` (see also [SLING-4155](https://issues.apache.org/jira/browse/SLING-4155)).
 `@Default` may still be used in addition to the injector-specific annotation to set default values. All elements given above are optional.
-
+ 
 ## Custom Annotations
 
 To create a custom annotation, implement the `org.apache.sling.models.spi.injectorspecific.StaticInjectAnnotationProcessorFactory` interface.
 This interface may be implemented by the same class as implements an injector, but this is not strictly necessary. Please refer to the
 injectors in [Subversion](http://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/injectors/) for examples.
-
+ 
 # Specifying an Alternate Adapter Class (since 1.1.0)
 
 By default, each model class is registered using its own implementation class as adapter. If the class has additional interfaces this is not relevant.
 
 The `@Model` annotations provides an optional `adapters` attribute which allows specifying under which type(s) the model
 implementation should be registered in the Models Adapter Factory. Prior to *Sling Models Impl 1.3.10* only the given class names
-are used as adapter classes, since 1.3.10 the implementation class is always being registered implicitly as adapter as well (see [SLING-6658](https://issues.apache.org/jira/browse/SLING-6658)).
+are used as adapter classes, since 1.3.10 the implementation class is always being registered implicitly as adapter as well (see [SLING-6658](https://issues.apache.org/jira/browse/SLING-6658)). 
 With this attribute it is possible to register the model
 to one (or multiple) interfaces, or a superclass. This allows separating the model interface from the implementation, which
 makes it easier to provide mock implementations for unit tests as well.
 
 Example:
 
-::java
-@Model(adaptables = Resource.class, adapters = MyService.class)
-public class MyModel implements MyService {
-// injects fields and implements the MyService methods
-}
+    ::java
+    @Model(adaptables = Resource.class, adapters = MyService.class)
+    public class MyModel implements MyService {
+        // injects fields and implements the MyService methods
+    }
 
 In this example a `Resource` can be adapted to a `MyService` interface, and the Sling Models implementation instantiates a
 `MyModel` class for this.
@@ -471,17 +474,17 @@ programatically exported by calling the `ModelFactory` method `exportModel()`. T
 * a target class
 * a map of options
 
-The exact semantics of the exporting will be determined by an implementation of the `ModelExporter` service interface. Sling Models
+The exact semantics of the exporting will be determined by an implementation of the `ModelExporter` service interface. Sling Models 
 currently includes a single exporter, using the Jackson framework, which is capable of serializing models as JSON or transforming them to `java.util.Map` objects.
 
 In addition, model objects can have servlets automatically registered for their resource type (if it is set) using the `@Exporter` annotation. For example, a model class with the annotation
 
-::java
-@Model(adaptable = Resource.class, resourceType = "myco/components/foo")
-@Exporter(name = "jackson", extensions = "json")
+    ::java
+    @Model(adaptable = Resource.class, resourceType = "myco/components/foo")
+    @Exporter(name = "jackson", extensions = "json")
 
-results in the registration of a servlet with the resource type and extension specified and a selector of 'model' (overridable
-through the `@Exporter` annotation's `selector` attribute). When this servlet is invoked, the `Resource` will be adapted to the
+results in the registration of a servlet with the resource type and extension specified and a selector of 'model' (overridable 
+through the `@Exporter` annotation's `selector` attribute). When this servlet is invoked, the `Resource` will be adapted to the 
 model, exported as a `java.lang.String` (via the named Exporter) and then returned to the client.
 
 
@@ -491,32 +494,32 @@ With the Sling Models bnd plugin it is possible to automatically generated the n
 
 Example configuration:
 
-#!xml
-<plugin>
-<groupId>org.apache.felix</groupId>
-<artifactId>maven-bundle-plugin</artifactId>
-<extensions>true</extensions>
-<configuration>
-<instructions>
-<_plugin>org.apache.sling.bnd.models.ModelsScannerPlugin</_plugin>
-</instructions>
-</configuration>
-<dependencies>
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.bnd.models</artifactId>
-<version>1.0.0</version>
-</dependency>
-</dependencies>
-</plugin>
+    #!xml
+    <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <extensions>true</extensions>
+        <configuration>
+            <instructions>
+                <_plugin>org.apache.sling.bnd.models.ModelsScannerPlugin</_plugin>
+            </instructions>
+        </configuration>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.sling</groupId>
+                <artifactId>org.apache.sling.bnd.models</artifactId>
+                <version>1.0.0</version>
+            </dependency>
+        </dependencies>
+    </plugin>
 
 If a `Sling-Model-Packages` or `Sling-Model-Classes` was already manually defined for the bundle the bnd plugin does nothing. So if you want to migrate an existing project to use this plugin remove the existing header definitions.
 
 If you want to generate a bundle header compliant with Sling Models < 1.3.4 (i.e. `Sling-Model-Packages`) you need to specify the attribute `generatePackagesHeader=true`. An example configuration looks like this
 
-#!xml
-<configuration>
-<instructions>
-<_plugin>org.apache.sling.bnd.models.ModelsScannerPlugin;generatePackagesHeader=true</_plugin>
-</instructions>
-</configuration>
+    #!xml
+    <configuration>
+        <instructions>
+            <_plugin>org.apache.sling.bnd.models.ModelsScannerPlugin;generatePackagesHeader=true</_plugin>
+        </instructions>
+    </configuration>


[12/12] sling-site git commit: Revert 88e80480d5c1dd204ab2cb8a11be9f96caecc899 which ate whitespace at the beginning of lines

Posted by bd...@apache.org.
Revert 88e80480d5c1dd204ab2cb8a11be9f96caecc899 which ate whitespace at the beginning of lines


Project: http://git-wip-us.apache.org/repos/asf/sling-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/sling-site/commit/53c84cf9
Tree: http://git-wip-us.apache.org/repos/asf/sling-site/tree/53c84cf9
Diff: http://git-wip-us.apache.org/repos/asf/sling-site/diff/53c84cf9

Branch: refs/heads/master
Commit: 53c84cf9238fda9d1571f9e0b2496f0714b0cedf
Parents: 3aefcb1
Author: Bertrand Delacretaz <bd...@apache.org>
Authored: Tue Jun 20 15:26:11 2017 +0200
Committer: Bertrand Delacretaz <bd...@apache.org>
Committed: Tue Jun 20 15:26:11 2017 +0200

----------------------------------------------------------------------
 content/contributing.md                         |   7 +-
 content/documentation.md                        | 116 ++--
 content/documentation/bundles.md                |   7 +-
 ...ilesystem-resources-extensions-fsresource.md |  27 +-
 .../bundles/apache-sling-commons-thread-pool.md |   7 +-
 .../apache-sling-eventing-and-job-handling.md   | 111 ++--
 ...undle-resources-extensions-bundleresource.md |  33 +-
 .../documentation/bundles/caching-services.md   |   7 +-
 .../bundles/commons-html-utilities.md           |   7 +-
 .../bundles/configuration-installer-factory.md  |  63 +-
 .../bundles/content-distribution.md             | 163 ++---
 .../content-loading-jcr-contentloader.md        | 271 ++++-----
 ...ware-configuration-default-implementation.md |  23 +-
 .../context-aware-configuration-override.md     |  37 +-
 .../context-aware-configuration-spi.md          |   7 +-
 .../context-aware-configuration.md              | 161 ++---
 .../bundles/datasource-providers.md             |  53 +-
 .../bundles/discovery-api-and-impl.md           | 199 +++---
 .../documentation/bundles/dynamic-includes.md   |  39 +-
 .../bundles/file-installer-provider.md          |  17 +-
 .../internationalization-support-i18n.md        | 131 ++--
 .../bundles/jcr-installer-provider.md           |  70 ++-
 content/documentation/bundles/log-tracers.md    | 248 ++++----
 ...ging-permissions-jackrabbit-accessmanager.md |  81 +--
 ...g-users-and-groups-jackrabbit-usermanager.md | 250 ++++----
 ...ontent-the-slingpostservlet-servlets-post.md | 425 ++++++-------
 content/documentation/bundles/metrics.md        | 123 ++--
 .../bundles/mime-type-support-commons-mime.md   |  11 +-
 content/documentation/bundles/models.md         | 469 ++++++++-------
 .../bundles/nosql-resource-providers.md         |  31 +-
 .../bundles/org-apache-sling-junit-bundles.md   | 135 +++--
 content/documentation/bundles/osgi-installer.md |   9 +-
 ...iting-pipelines-org-apache-sling-rewriter.md |  37 +-
 .../rendering-content-default-get-servlets.md   |  21 +-
 .../bundles/repository-initialization.md        | 174 +++---
 .../documentation/bundles/request-analysis.md   |   9 +-
 .../bundles/resource-access-security.md         |  97 +--
 .../documentation/bundles/resource-editor.md    |  43 +-
 .../documentation/bundles/resource-merger.md    | 155 ++---
 .../scheduler-service-commons-scheduler.md      | 299 ++++-----
 content/documentation/bundles/scripting.md      |   9 +-
 .../bundles/scripting/scripting-htl.md          | 603 ++++++++++---------
 .../bundles/scripting/scripting-jsp.md          | 193 +++---
 .../bundles/scripting/scripting-thymeleaf.md    |  17 +-
 .../documentation/bundles/servlet-helpers.md    |  91 +--
 .../bundles/sling-health-check-tool.md          | 163 ++---
 .../bundles/sling-oak-restrictions.md           | 113 ++--
 content/documentation/bundles/sling-pipes.md    | 277 ++++-----
 content/documentation/bundles/sling-query.md    |  55 +-
 .../sling-settings-org-apache-sling-settings.md |  35 +-
 .../bundles/subsystem-installer-factory.md      |   9 +-
 content/documentation/bundles/validation.md     | 149 ++---
 .../bundles/web-console-extensions.md           |   7 +-
 content/documentation/bundles/xml-support.md    |   7 +-
 content/documentation/configuration.md          |  37 +-
 content/documentation/development.md            |   7 +-
 .../development/client-request-logging.md       |  39 +-
 .../development/dependency-management.md        |  13 +-
 .../development/embedding-sling.md              |  13 +-
 .../development/getting-and-building-sling.md   |  95 +--
 content/documentation/development/hamcrest.md   |  49 +-
 .../development/htl-maven-plugin.md             |   7 +-
 .../documentation/development/ide-tooling.md    |   9 +-
 .../ide-tooling-incremental-build.md            |   7 +-
 .../documentation/development/issue-tracker.md  |   7 +-
 content/documentation/development/jcr-mock.md   |  43 +-
 content/documentation/development/jspc.md       |   7 +-
 content/documentation/development/jsr-305.md    | 101 ++--
 content/documentation/development/logging.md    | 393 ++++++------
 .../development/maven-archetypes.md             |   7 +-
 .../development/maven-launchpad-plugin.md       | 173 +++---
 .../documentation/development/maven-usage.md    |  21 +-
 .../development/maventipsandtricks.md           |  15 +-
 .../development/monitoring-requests.md          |   7 +-
 content/documentation/development/osgi-mock.md  | 115 ++--
 .../development/release-management.md           | 474 ++++++++-------
 .../development/repository-based-development.md |  23 +-
 .../development/resourceresolver-mock.md        |  23 +-
 content/documentation/development/sling-mock.md | 323 +++++-----
 .../development/sling-testing-tools.md          |  85 +--
 content/documentation/development/sling.md      |   7 +-
 content/documentation/development/slingstart.md | 271 ++++-----
 .../documentation/development/version-policy.md |  25 +-
 content/documentation/getting-started.md        |   9 +-
 .../discover-sling-in-15-minutes.md             |  89 +--
 content/documentation/legacy/logging.md         |  29 +-
 content/documentation/pax-exam-utils.md         |   7 +-
 content/documentation/the-sling-engine.md       |   7 +-
 .../documentation/the-sling-engine/adapters.md  | 175 +++---
 .../the-sling-engine/architecture.md            |   7 +-
 .../the-sling-engine/authentication.md          |  17 +-
 .../authentication/authentication-actors.md     |  27 +-
 .../authentication-authenticationhandler.md     |   7 +-
 .../form-based-authenticationhandler.md         |  13 +-
 .../openid-authenticationhandler.md             |   7 +-
 .../authentication/authentication-framework.md  |  31 +-
 .../authentication/authentication-tasks.md      |  23 +-
 .../default-mapping-and-rendering.md            |   7 +-
 .../the-sling-engine/dispatching-requests.md    |  27 +-
 .../the-sling-engine/errorhandling.md           |  35 +-
 .../the-sling-engine/featureflags.md            |  19 +-
 .../documentation/the-sling-engine/filters.md   |  93 +--
 .../mappings-for-resource-resolution.md         | 177 +++---
 .../the-sling-engine/request-listeners.md       |  45 +-
 .../the-sling-engine/request-parameters.md      |  23 +-
 .../documentation/the-sling-engine/resources.md |  37 +-
 .../the-sling-engine/service-authentication.md  |  87 +--
 .../documentation/the-sling-engine/servlets.md  |  91 +--
 .../the-sling-engine/sling-api-crud-support.md  | 167 ++---
 .../the-sling-engine/sling-properties.md        |   7 +-
 .../the-sling-engine/the-sling-launchpad.md     |  61 +-
 .../the-sling-engine/url-decomposition.md       |   9 +-
 .../url-to-script-resolution.md                 | 155 ++---
 .../wrap-or-decorate-resources.md               |  43 +-
 content/documentation/tutorials-how-tos.md      |   7 +-
 .../tutorials-how-tos/46-line-blog.md           | 160 ++---
 ...getting-resources-and-properties-in-sling.md |  97 +--
 .../how-to-manage-events-in-sling.md            | 209 +++----
 .../installing-and-upgrading-bundles.md         |  11 +-
 .../tutorials-how-tos/jackrabbit-persistence.md |  89 +--
 .../testing-sling-based-applications.md         |  95 +--
 content/errors/403.md                           |  37 +-
 content/errors/404.md                           |  37 +-
 content/guides.md                               |  25 +-
 content/index.md                                |  41 +-
 content/javadoc-io.md                           |   7 +-
 content/links.md                                |  49 +-
 content/media.md                                |   7 +-
 content/news.md                                 |   9 +-
 content/news/sling-ide-tooling-11-released.md   |   7 +-
 content/news/sling-launchpad-8-released.md      |   7 +-
 content/news/sling-launchpad-9-released.md      |  11 +-
 content/old-stuff.md                            |   7 +-
 content/plugins.md                              |   7 +-
 content/project-information.md                  |  25 +-
 ...pache-sling-community-roles-and-processes.md |   9 +-
 content/project-information/project-license.md  |   7 +-
 content/project-information/project-team.md     |   7 +-
 content/project-information/security.md         |   7 +-
 content/site-conversion.md                      |   7 +-
 140 files changed, 5641 insertions(+), 5168 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/contributing.md
----------------------------------------------------------------------
diff --git a/content/contributing.md b/content/contributing.md
index fcb586c..0694bfc 100644
--- a/content/contributing.md
+++ b/content/contributing.md
@@ -1,7 +1,10 @@
-title=Contributing		
-type=page
+title=TODO title for contributing.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Contributing
 
 See [Project Information](/project-information.html) for details about the tools mentioned below.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation.md
----------------------------------------------------------------------
diff --git a/content/documentation.md b/content/documentation.md
index 33f100b..3540159 100644
--- a/content/documentation.md
+++ b/content/documentation.md
@@ -1,7 +1,10 @@
-title=Documentation		
-type=page
+title=TODO title for documentation.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Documentation
 
 [TOC]
 
@@ -9,14 +12,14 @@ status=published
 
 The documentation is split into different parts:
 
-* [Getting Started](/documentation/getting-started.html), the right place to start!
-* [The Sling Engine](/documentation/the-sling-engine.html), all about the heart of Sling
-* [Development](/documentation/development.html), how do I get and develop with Sling
-* [Bundles](/documentation/bundles.html), which bundle delivers which features to Sling
-* [Tutorials & How-Tos](/documentation/tutorials-how-tos.html)
-* [Wiki](http://cwiki.apache.org/SLING/)
-* [Configuration](/documentation/configuration.html)
-* [API Doc](http://sling.apache.org/apidocs/sling8/index.html)
+   * [Getting Started](/documentation/getting-started.html), the right place to start!
+   * [The Sling Engine](/documentation/the-sling-engine.html), all about the heart of Sling
+   * [Development](/documentation/development.html), how do I get and develop with Sling
+   * [Bundles](/documentation/bundles.html), which bundle delivers which features to Sling
+   * [Tutorials & How-Tos](/documentation/tutorials-how-tos.html)
+   * [Wiki](http://cwiki.apache.org/SLING/)
+   * [Configuration](/documentation/configuration.html)
+   * [API Doc](http://sling.apache.org/apidocs/sling8/index.html)
 
 
 # How you can contribute
@@ -65,28 +68,30 @@ of the site, such as automatic link generation.
 
 Start the file with a `Title:` line to define the page title and the first H1 tag:
 
-
-Here comes the content separated with a blank like from the
-header ...
-
+    Title: Page Title
+    
+    Here comes the content separated with a blank like from the
+    header ...
+    
 The last modification information from SVN (revision, committer, and
 date/time) is automatically added when the page is rendered
 
 Excerpts can be added to a page using the `Excerpt:` header:
 
-Excerpt: Summary of the page for inclusion in other pages;
-continuation of the excerpt must be indented
-
-Here comes the content separated with a blank like from the
-header ...
+    Title: Page Title
+    Excerpt: Summary of the page for inclusion in other pages;
+       continuation of the excerpt must be indented
+       
+    Here comes the content separated with a blank like from the
+    header ...
 
 Metadata from child pages can be referred to in the content with the
 Django variable reference notation using the child page name (without
 extension) as its container; e.g. for the child page named `childpage`:
 
-:::django
-{{ y|default:"{{" }} children.childpage.headers.excerpt }}
-{{ y|default:"{{" }} children.childpage.headers.title }}
+    :::django
+    {{ y|default:"{{" }} children.childpage.headers.excerpt }}
+    {{ y|default:"{{" }} children.childpage.headers.title }}
 
 Content Pages can contain Django templates of the form `{{ y|default:"{{" }}...}}` and `{{ y|default:"{%" }}...%}`.
 If so, the page content is evaluated as a Django template before running
@@ -102,41 +107,41 @@ Any page in the site can be referenced with refs.pagename returning properties:
 
 `.content`
 :    the raw page content
-
+       
 All pages in the children namespace are also available in the refs namespace
-
+    
 Some usefull hints:
 
 Printing title of another page "handler":
-
-:::django
-{{ y|default:"{{" }} refs.handler.headers.title }}
+       
+       :::django
+       {{ y|default:"{{" }} refs.handler.headers.title }}
 
 Printing excerpt of another page "handler":
-
-:::django
-{{ y|default:"{{" }} refs.handler.headers.excerpt }}
-
+       
+       :::django
+       {{ y|default:"{{" }} refs.handler.headers.excerpt }}
+  
 Linking to another page "handler":
-
-:::django
-({{ y|default:"{{" }} refs.handler.path }})
-
+       
+       :::django
+       ({{ y|default:"{{" }} refs.handler.path }})
+       
 Printing title as a link to another page "handler":
-
-:::django
-[{{ y|default:"{{" }} refs.handler.headers.title }}]({{ y|default:"{{" }} refs.handler.path }})
-
+       
+       :::django
+       [{{ y|default:"{{" }} refs.handler.headers.title }}]({{ y|default:"{{" }} refs.handler.path }})
+       
 Printing excerpt as a link to another page "handler":
-
-:::django
-[{{ y|default:"{{" }} refs.handler.headers.excerpt }}]({{ y|default:"{{" }} refs.handler.path }})
-
+       
+       :::django
+       [{{ y|default:"{{" }} refs.handler.headers.excerpt }}]({{ y|default:"{{" }} refs.handler.path }})
+       
 Print a bullet pointed child page list:
 
-:::django
-{{ y|default:"{%" }} for label, page in children %}* [{{ y|default:"{{" }} page.headers.title }}]({{ y|default:"{{" }} page.path }})
-{{ y|default:"{%" }} endfor %}
+       :::django
+       {{ y|default:"{%" }} for label, page in children %}* [{{ y|default:"{{" }} page.headers.title }}]({{ y|default:"{{" }} page.path }})
+       {{ y|default:"{%" }} endfor %}
 
 <div class="note">
 It is important to have the first part as a single line, otherwise
@@ -164,23 +169,26 @@ for the build tools to work.
 
 To prepare for site build, the Markdown daemon has to be started:
 
-:::sh
-$ export MARKDOWN_SOCKET="$PWD/tools/build/../markdown.socket"
-$ export PYTHONPATH="$PWD/tools/build"
-$ python "$PWD/tools/build/markdownd.py"
+    :::sh
+    $ export MARKDOWN_SOCKET="$PWD/tools/build/../markdown.socket"
+    $ export PYTHONPATH="$PWD/tools/build"
+    $ python "$PWD/tools/build/markdownd.py"
 
 The `MARKDOWN_SOCKET` environment variables is also required by the `build_site.pl`
 and `build_file.pl` scripts to connect to the Markdown daemon.
 
 To build the complete site use the `build_site.pl` script:
 
-:::sh
-$ tools/build/build_site.pl --source-base $PWD/trunk         --target-base $PWD/trunk/target
+    :::sh
+    $ tools/build/build_site.pl --source-base $PWD/trunk \
+        --target-base $PWD/trunk/target
 
 To build a single page use the `build_file.pl` script:
 
-:::sh
-$ tools/build/build_site.pl --source-base $PWD/trunk         --target-base $PWD/trunk/target         --source content/documentation.mdtext
+    :::sh
+    $ tools/build/build_site.pl --source-base $PWD/trunk \
+        --target-base $PWD/trunk/target \
+        --source content/documentation.mdtext
 
 The argument to the `--source` parameter is relative to the `--source-base` folder.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles.md b/content/documentation/bundles.md
index 279aa03..ed3e152 100644
--- a/content/documentation/bundles.md
+++ b/content/documentation/bundles.md
@@ -1,7 +1,10 @@
-title=Bundles		
-type=page
+title=TODO title for bundles.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Bundles
 
 ## Content
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/accessing-filesystem-resources-extensions-fsresource.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/accessing-filesystem-resources-extensions-fsresource.md b/content/documentation/bundles/accessing-filesystem-resources-extensions-fsresource.md
index dd34c28..188b994 100644
--- a/content/documentation/bundles/accessing-filesystem-resources-extensions-fsresource.md
+++ b/content/documentation/bundles/accessing-filesystem-resources-extensions-fsresource.md
@@ -1,7 +1,10 @@
-title=Accessing File System Resources (org.apache.sling.fsresource)		
-type=page
+title=TODO title for accessing-filesystem-resources-extensions-fsresource.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Accessing File System Resources (org.apache.sling.fsresource)
 [TOC]
 
 
@@ -21,8 +24,8 @@ Currently two major versions are maintained - choose the correct version dependi
 
 Files and directories are mapped into the resource tree as regular `Resource` instances whose resource type depends on the actual nature of the mapped file system resource:
 
-* Regular files are assigned the `nt:file` resource type
-* Directories are assigned the `nt:folder` resource type
+   * Regular files are assigned the `nt:file` resource type
+   * Directories are assigned the `nt:folder` resource type
 
 Content stored in JSON or FileVault XML files are mapped with the resource type stored in the files. If a resource type is missing `nt:unstructured` is used as fallback.
 
@@ -31,9 +34,9 @@ Content stored in JSON or FileVault XML files are mapped with the resource type
 
 File system resources extend from Sling's `AbstractResource` class and thus are adaptable to any type for which an `AdapterFactory` is registered supporting file system resources. In addition File system Resources support the following adapters natively:
 
-* `java.io.File` -- The Java file object providing access to the file system file
-* `java.net.URL` -- A valid `file://` URL to the file. This URL is derived from the `java.io.File` object by calling the `File.toURI().toURL()` sequence.
-* `java.io.InputStream` -- If the `java.io.File` can be read from (as per `File.canRead()` an `InputStream` to read from the file is returned.
+   * `java.io.File` -- The Java file object providing access to the file system file
+   * `java.net.URL` -- A valid `file://` URL to the file. This URL is derived from the `java.io.File` object by calling the `File.toURI().toURL()` sequence.
+   * `java.io.InputStream` -- If the `java.io.File` can be read from (as per `File.canRead()` an `InputStream` to read from the file is returned.
 
 
 
@@ -78,15 +81,15 @@ This mode is best use together with the [Maven Sling Plugin][maven-sling-plugin]
 
 Usage - deploy OSGi bundle from current maven project and register the appropriate OSGi configuration mappings:
 
-$ mvn -Dsling.mountByFS=true sling:install
+    $ mvn -Dsling.mountByFS=true sling:install
 
 Only register the appropriate mappings:
 
-$ mvn sling:fsmount
+    $ mvn sling:fsmount
 
 Remove the mappings:
 
-$ mvn sling:fsunmount
+    $ mvn sling:fsunmount
 
 Notes:
 
@@ -103,11 +106,11 @@ This mode is best use together with the [Maven Sling Plugin][maven-sling-plugin]
 
 Usage - register the appropriate mappings:
 
-$ mvn sling:fsmount
+    $ mvn sling:fsmount
 
 Remove the mappings:
 
-$ mvn sling:fsunmount
+    $ mvn sling:fsunmount
 
 Notes:
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/apache-sling-commons-thread-pool.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/apache-sling-commons-thread-pool.md b/content/documentation/bundles/apache-sling-commons-thread-pool.md
index 67c6743..0c0be1d 100644
--- a/content/documentation/bundles/apache-sling-commons-thread-pool.md
+++ b/content/documentation/bundles/apache-sling-commons-thread-pool.md
@@ -1,7 +1,10 @@
-title=Apache Sling Commons Thread Pool		
-type=page
+title=TODO title for apache-sling-commons-thread-pool.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Apache Sling Commons Thread Pool
 
 The Apache Sling Commons Thread Pool bundle provides a thread pool services. All thread pools are managed by the `org.apache.sling.commons.threads.ThreadPoolManager`. This service can be used to get a thread pool.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/apache-sling-eventing-and-job-handling.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/apache-sling-eventing-and-job-handling.md b/content/documentation/bundles/apache-sling-eventing-and-job-handling.md
index b8183f4..4372c23 100644
--- a/content/documentation/bundles/apache-sling-eventing-and-job-handling.md
+++ b/content/documentation/bundles/apache-sling-eventing-and-job-handling.md
@@ -1,7 +1,10 @@
-title=Apache Sling Eventing and Job Handling		
-type=page
+title=TODO title for apache-sling-eventing-and-job-handling.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Apache Sling Eventing and Job Handling
 
 
 ## Overview
@@ -25,9 +28,9 @@ In general, the eventing mechanism (OSGi EventAdmin) has no knowledge about the
 
 On the other hand, there are use cases where the guarantee of processing is a must and usually this comes with the requirement of processing exactly once. Typical examples are sending notification emails (or sms), post processing of content (like thumbnail generation of images or documents), workflow steps etc.
 
-The Sling Event Support adds the notion of a job. A job is a special event that has to be processed exactly once.
+The Sling Event Support adds the notion of a job. A job is a special event that has to be processed exactly once. 
 To be precise, the processing guarantee is at least once. However, the time window for a single job where exactly
-once can't be guaranteed is very small. It happens if the instance which processes a job crashes after the job
+once can't be guaranteed is very small. It happens if the instance which processes a job crashes after the job 
 processing is finished but before this state is persisted. Therefore a job consumer should be prepared to process
 a job more than once. Of course, if there is no job consumer for a job, the job is never processed. However this
 is considered a deployment error.
@@ -38,26 +41,26 @@ While older versions of the job handling were based on sending and receiving eve
 
 A job consists of two parts, the job topic describing the nature of the job and the payload which is a key value map of serializable objects. A client can initiate a job by calling the *JobManager.addJob* method:
 
-import org.apache.sling.jobs.JobManager;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Reference;
-import java.util.Map;
-import java.util.HashMap;
-
-@Component
-public class MyComponent {
-
-@Reference
-private JobManager jobManager;
-
-public void startJob() {
-final Map<String, Object> props = new HashMap<String, Object>();
-props.put("item1", "/something");
-props.put("count", 5);
-
-jobManager.addJob("my/special/jobtopic", props);
-}
-}
+        import org.apache.sling.jobs.JobManager;
+        import org.apache.felix.scr.annotations.Component;
+        import org.apache.felix.scr.annotations.Reference;
+        import java.util.Map;
+        import java.util.HashMap;
+        
+        @Component
+        public class MyComponent {
+        
+            @Reference
+            private JobManager jobManager;
+            
+            public void startJob() {
+                final Map<String, Object> props = new HashMap<String, Object>();
+                props.put("item1", "/something");
+                props.put("count", 5);
+                
+                jobManager.addJob("my/special/jobtopic", props);
+            }        
+        }
 
 The job topic follows the conventions for the topic of an OSGi event. All objects in the payload must be serializable and publically available (exported by a bundle). This is required as the job is persisted and unmarshalled before processing.
 
@@ -74,25 +77,25 @@ Scheduled Jobs are put in the queue at a specific time (optionally periodically)
 
 An example code for scheduling a job looks like this:
 
-import org.apache.sling.jobs.JobManager;
-import org.apache.sling.event.jobs.JobBuilder.ScheduleBuilder;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Reference;
+    import org.apache.sling.jobs.JobManager;
+    import org.apache.sling.event.jobs.JobBuilder.ScheduleBuilder;
+    import org.apache.felix.scr.annotations.Component;
+    import org.apache.felix.scr.annotations.Reference;
 
-@Component
-public class MyComponent {
+    @Component
+    public class MyComponent {
 
-@Reference
-private JobManager jobManager;
+        @Reference
+        private JobManager jobManager;
 
-public void startScheduledJob() {
-ScheduleBuilder scheduleBuilder = jobManager.startJob("my/special/jobtopic").schedule();
-scheduleBuilder.daily(0,0); // execute daily at midnight
-if (scheduleBuilder.add() == null) {
-// something went wrong here, use scheduleBuilder.add(List<String>) instead to get further information about the error
-}
-}
-}
+        public void startScheduledJob() {
+            ScheduleBuilder scheduleBuilder = jobManager.startJob("my/special/jobtopic").schedule();
+            scheduleBuilder.daily(0,0); // execute daily at midnight
+            if (scheduleBuilder.add() == null) {
+                // something went wrong here, use scheduleBuilder.add(List<String>) instead to get further information about the error
+            }
+        }
+    }
 
 
 Internally the scheduled Jobs use the [Commons Scheduler Service](/documentation/bundles/scheduler-service-commons-scheduler.html). But in addition they are persisted (by default below `/var/eventing/scheduled-jobs`) and survive therefore even server restarts. When the scheduled time is reached, the job is automatically added as regular Sling Job through the `JobManager`.
@@ -102,21 +105,21 @@ Internally the scheduled Jobs use the [Commons Scheduler Service](/documentation
 
 A job consumer is a service consuming and processing a job. It registers itself as an OSGi service together with a property defining which topics this consumer can process:
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Service;
-import org.apache.sling.event.jobs.Job;
-import org.apache.sling.event.jobs.consumer.JobConsumer;
+        import org.apache.felix.scr.annotations.Component;
+        import org.apache.felix.scr.annotations.Service;
+        import org.apache.sling.event.jobs.Job;
+        import org.apache.sling.event.jobs.consumer.JobConsumer;
 
-@Component
-@Service(value={JobConsumer.class})
-@Property(name=JobConsumer.PROPERTY_TOPICS, value="my/special/jobtopic",)
-public class MyJobConsumer implements JobConsumer {
+        @Component
+        @Service(value={JobConsumer.class})
+        @Property(name=JobConsumer.PROPERTY_TOPICS, value="my/special/jobtopic",)
+        public class MyJobConsumer implements JobConsumer {
 
-public JobResult process(final Job job) {
-// process the job and return the result
-return JobResult.OK;
-}
-}
+            public JobResult process(final Job job) {
+                // process the job and return the result
+                return JobResult.OK;
+            }
+        }
 
 The *Job* interface allows to query the topic, the payload and additional information about the current job. The consumer can either return *JobResult.OK* indicating that the job has been processed, *JobResult.FAILED* indicating the processing failed, but can be retried or *JobResult.CANCEL* the processing has failed permanently.
 
@@ -176,7 +179,7 @@ If a user action results in the creation of a job, the thread processing the use
 
 If an observation event or any other OSGi event results in the creation of a job, special care needs to be taken in a clustered installation to avoid the job is created on all cluster instances. The easiest way to avoid this, is to use the topology api and make sure the job is only created on the leader instance.
 
-
+  
 ## Distributed Events
 
 In addition to the job handling, the Sling Event support adds handling for distributed events. A distributed event is an OSGi event which is sent across JVM boundaries to a different VM. A potential use case is to broadcast information in a clustered environment.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/bundle-resources-extensions-bundleresource.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/bundle-resources-extensions-bundleresource.md b/content/documentation/bundles/bundle-resources-extensions-bundleresource.md
index 0dd16cb..d320689 100644
--- a/content/documentation/bundles/bundle-resources-extensions-bundleresource.md
+++ b/content/documentation/bundles/bundle-resources-extensions-bundleresource.md
@@ -1,49 +1,52 @@
-title=Bundle Resources (extensions.bundleresource)		
-type=page
+title=TODO title for bundle-resources-extensions-bundleresource.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Bundle Resources (extensions.bundleresource)
 
 [TOC]
 
 ## Introduction
 
-The Bundle Resource Provider provides access to files/directories included in an OSGi bundle through the Sling `ResourceResolver`.
+The Bundle Resource Provider provides access to files/directories included in an OSGi bundle through the Sling `ResourceResolver`. 
 
 ## Resource Types
 
 Files and directories are mapped into the resource tree as regular `Resource` instances whose resource type depends on the actual nature of the mapped resource:
 
-* Regular files are assigned the `nt:file` resource type
-* Directories are assigned the `nt:folder` resource type
+   * Regular files are assigned the `nt:file` resource type
+   * Directories are assigned the `nt:folder` resource type
 
 
 ## Adapters
 
 Filesystem resources extend from Sling's `AbstractResource` class and thus are adaptable to any type for which an `AdapterFactory` is registered supporting bundle resources. In addition `BundleResource` support the following adapters natively:
 
-* `java.net.URL` -- A valid `bundle://` URL to the resource in the bundle.
-* `java.io.InputStream` -- An `InputStream` to read file contents. Doesn't apply to folders.
+   * `java.net.URL` -- A valid `bundle://` URL to the resource in the bundle. 
+   * `java.io.InputStream` -- An `InputStream` to read file contents. Doesn't apply to folders.
 
 
 ## Configuration
 
-Providing bundles have a Bundle manifest header `Sling-Bundle-Resources` containing a list of absolute paths provided by the bundle. The paths are separated by comma or whitespace (SP, TAB, VTAB, CR, LF).
+Providing bundles have a Bundle manifest header `Sling-Bundle-Resources` containing a list of absolute paths provided by the bundle. The paths are separated by comma or whitespace (SP, TAB, VTAB, CR, LF). 
 
 Example (manifest.mf):
 
 
-...
-Sling-Bundle-Resources: /libs/sling/explorer,
-/libs/sling/servlet/default/explorer
-...
+    ...
+    Sling-Bundle-Resources: /libs/sling/explorer,                         
+        /libs/sling/servlet/default/explorer
+    ...
 
 
 It's also possible to map resources from the bundle to a different location in the resource tree. In this case the path has to be extended with a path attrribute to declare where the resources are in the bundle:
 
 
-...
-Sling-Bundle-Resources: /somepath/inthe/resourcetree;path:=/path/inthe/bundle
-...
+    ...
+    Sling-Bundle-Resources: /somepath/inthe/resourcetree;path:=/path/inthe/bundle
+    ...
 
 
 The Bundle Resource Provider also has a web console plugin through which the currently installed bundles can be seen.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/caching-services.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/caching-services.md b/content/documentation/bundles/caching-services.md
index 76fa334..5a1bad9 100644
--- a/content/documentation/bundles/caching-services.md
+++ b/content/documentation/bundles/caching-services.md
@@ -1,7 +1,10 @@
-title=Sling Caching Services		
-type=page
+title=TODO title for caching-services.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Caching Services
 
 Caching services are available as a contribution at [https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/cache](https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/cache)
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/commons-html-utilities.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/commons-html-utilities.md b/content/documentation/bundles/commons-html-utilities.md
index b7b1075..4c24adb 100644
--- a/content/documentation/bundles/commons-html-utilities.md
+++ b/content/documentation/bundles/commons-html-utilities.md
@@ -1,6 +1,9 @@
-title=Commons HTML Utilities (org.apache.sling.commons.html)		
-type=page
+title=TODO title for commons-html-utilities.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Commons HTML Utilities (org.apache.sling.commons.html)
 
 The Apache Sling Commons HTML Utilities bundle provides an HTML parser which can be used to parse HTML and either generate a DOM or SAX events out of the HTML. Therefore the parser transforms the HTML into proper XHTML.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/configuration-installer-factory.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/configuration-installer-factory.md b/content/documentation/bundles/configuration-installer-factory.md
index 3e9a551..371705f 100644
--- a/content/documentation/bundles/configuration-installer-factory.md
+++ b/content/documentation/bundles/configuration-installer-factory.md
@@ -1,28 +1,31 @@
-title=Configuration Installer Factory		
-type=page
+title=TODO title for configuration-installer-factory.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Configuration Installer Factory
 
 The configuration installer factory provides support for configurations to the [OSGI installer](/documentation/bundles/osgi-installer.html). The provisioning of artifacts is handled by installer providers like the file installer or the JCR installer.
 
 
 ## Configurations
-
+ 	 
 Configuration file names are related to the PID and factory PID. The structure of the file name is as follows:
+ 	 
 
+    filename ::= <pid> ( '-' <subname> )? ('.cfg'|'.config')
 
-filename ::= <pid> ( '-' <subname> )? ('.cfg'|'.config')
-
-
+ 	 
 If the form is `<pid>('.cfg'|'.config')`, the file contains the properties for a Managed Service. The `<pid>` is then the PID of the Managed Service. See the Configuration Admin service for details.
-
+ 	 
 When a Managed Service Factory is used, the situation is different. The `<pid>` part then describes the PID of the Managed Service Factory. You can pick any `<subname>`, the installer will then create an instance for the factory for each unique name. For example:
+ 	 
 
-
-com.acme.xyz.cfg // configuration for Managed Service
-// com.acme.xyz
-com.acme.abc-default.cfg // Managed Service Factory,
-// creates an instance for com.acme.abc
+    com.acme.xyz.cfg // configuration for Managed Service
+    // com.acme.xyz
+    com.acme.abc-default.cfg // Managed Service Factory,
+    // creates an instance for com.acme.abc
 
 
 If a configuration is modified, the file installer will write the configuration back to a file to ensure peristence across restarts (if `sling.fileinstall.writeback` is enabled).
@@ -30,16 +33,16 @@ If a configuration is modified, the file installer will write the configuration
 ### Property Files (.cfg)
 
 Configuration files ending in '.cfg' are plain property files (`java.util.Property`). The format is simple:
+ 	 
 
-
-file ::= ( header | comment ) *
-header ::= <header> ( ':' | '=' ) <value> ( '<nl> <value> ) *
-comment ::= '#' <any>
+    file ::= ( header | comment ) *
+    header ::= <header> ( ':' | '=' ) <value> ( '\<nl> <value> ) *
+    comment ::= '#' <any>
 
 Notice that this model only supports string properties. For example:
-
-# default port
-ftp.port = 21
+ 	 
+    # default port
+    ftp.port = 21
 
 ### Configuration Files (.config)
 
@@ -49,17 +52,17 @@ The first line of such a file might start with a comment line (a line starting w
 
 The format is:
 
-file ::= (comment) (header) *
-comment ::= '#' <any>
-header ::= prop '=' value
-prop ::= symbolic-name // 1.4.2 of OSGi Core Specification
-symbolic-name ::= token { '.' token }
-token ::= { [ 0..9 ] | [ a..z ] | [ A..Z ] | '_' | '-' }
-value ::= [ type ] ( '[' values ']' | '(' values ')' | simple )
-values ::= simple { ',' simple }
-simple ::= '"' stringsimple '"'
-type ::= <1-char type code>
-stringsimple ::= <quoted string representation of the value where both '"' and '=' need to be escaped>
+    file ::= (comment) (header) *
+    comment ::= '#' <any>
+    header ::= prop '=' value
+    prop ::= symbolic-name // 1.4.2 of OSGi Core Specification
+    symbolic-name ::= token { '.' token } 
+    token ::= { [ 0..9 ] | [ a..z ] | [ A..Z ] | '_' | '-' }
+    value ::= [ type ] ( '[' values ']' | '(' values ')' | simple ) 
+    values ::= simple { ',' simple } 
+    simple ::= '"' stringsimple '"'
+    type ::= <1-char type code>
+    stringsimple ::= <quoted string representation of the value where both '"' and '=' need to be escaped>
 
 The quoted string format is equal to the definition from HTTP 1.1 ([RFC2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html)), except that both '"' and '=' need to be escaped.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/content-distribution.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/content-distribution.md b/content/documentation/bundles/content-distribution.md
index b0605f9..426280b 100644
--- a/content/documentation/bundles/content-distribution.md
+++ b/content/documentation/bundles/content-distribution.md
@@ -1,7 +1,10 @@
-title=Content Distribution (org.apache.sling.distribution)		
-type=page
+title=TODO title for content-distribution.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Content Distribution (org.apache.sling.distribution)
 [TOC]
 
 
@@ -19,22 +22,22 @@ A forward distribution setup allows one to transfer content from a source instan
 #### Setup overview
 
 * one source instance
-* one distribution agent connected to importer endpoints for all target instances.
+    * one distribution agent connected to importer endpoints for all target instances.   
 * N target instances
-* one distribution importer on each target instance used to import packages into the local instance.
+    * one distribution importer on each target instance used to import packages into the local instance.
 
 #### Sample configuration
 
 * on source instance: one forward agent
 
-org.apache.sling.distribution.agent.impl.ForwardDistributionAgentFactory-publish.json
-name="publish"
-packageImporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/importers/default"]
+        org.apache.sling.distribution.agent.impl.ForwardDistributionAgentFactory-publish.json            
+            name="publish"
+            packageImporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/importers/default"]
 
 * on target instance: one local importer
 
-org.apache.sling.distribution.packaging.impl.importer.LocalDistributionPackageImporterFactory-default
-name="default"
+        org.apache.sling.distribution.packaging.impl.importer.LocalDistributionPackageImporterFactory-default
+            name="default"
 
 
 ### Reverse distribution
@@ -43,29 +46,29 @@ A reverse distribution setup allows one to transfer content from a farm of sourc
 
 #### Setup overview
 * one target instance
-* one distribution agent connected to exporter endpoints for all target instances.
+    * one distribution agent connected to exporter endpoints for all target instances.   
 * N source instances
-* one distribution (queue) agent on each source instance; changes from the source instances are placed in the queues of these agents.
-* one distribution exporter on each source instance that exports packages from the queue agent.
+    * one distribution (queue) agent on each source instance; changes from the source instances are placed in the queues of these agents.
+    * one distribution exporter on each source instance that exports packages from the queue agent.
 
 #### Sample configuration
 
 * on target instance: one reverse agent
 
-org.apache.sling.distribution.agent.impl.ReverseDistributionAgentFactory-reverse.json
-name="reverse"
-packageExporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/exporters/reverse"]
+        org.apache.sling.distribution.agent.impl.ReverseDistributionAgentFactory-reverse.json            
+            name="reverse"
+            packageExporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/exporters/reverse"]
 
 * on source instance: one queue agent and one exporter for that agent
-
-org.apache.sling.distribution.agent.impl.QueueDistributionAgentFactory-reverse.json
-name="reverse"
-
-org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-reverse
-name="reverse"
-agent.target="(name=reverse)"
-
-
+            
+        org.apache.sling.distribution.agent.impl.QueueDistributionAgentFactory-reverse.json            
+            name="reverse"
+            
+        org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-reverse
+            name="reverse"
+            agent.target="(name=reverse)"
+            
+            
 
 ### Sync distribution
 
@@ -73,36 +76,36 @@ A sync distribution setup allows one to synchronize content in a farm of instanc
 
 #### Setup overview:
 * one coordinator instance
-* one distribution agent connected to exporter/importer endpoints for all farm instances.
+    * one distribution agent connected to exporter/importer endpoints for all farm instances.   
 * N farm instances
-* one distribution (queue) agent on each farm instance; changes from these instances are placed in the queues of the queue agents.
-* one distribution exporter on each farm instance that exports packages from the queue agent.
-* one distribution importer on each farm instance used to import packages into the local instance.
+    * one distribution (queue) agent on each farm instance; changes from these instances are placed in the queues of the queue agents.
+    * one distribution exporter on each farm instance that exports packages from the queue agent.
+    * one distribution importer on each farm instance used to import packages into the local instance.
 
 #### Sample configuration
 
 * on coordinator instance: one sync agent
 
-org.apache.sling.distribution.agent.impl.SyncDistributionAgentFactory-sync.json
-name="sync"
-packageExporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/exporters/reverse", "http://localhost:4504/libs/sling/distribution/services/exporters/reverse"]
-packageImporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/importers/default", "http://localhost:4504/libs/sling/distribution/services/importers/default"]
+        org.apache.sling.distribution.agent.impl.SyncDistributionAgentFactory-sync.json            
+            name="sync"
+            packageExporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/exporters/reverse", "http://localhost:4504/libs/sling/distribution/services/exporters/reverse"]
+            packageImporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/importers/default", "http://localhost:4504/libs/sling/distribution/services/importers/default"]
 
 
 * on each farm instance: one local exporter and one local importer
+            
+        org.apache.sling.distribution.agent.impl.QueueDistributionAgentFactory-reverse.json            
+            name="reverse"
+            
+        org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-reverse
+            name="reverse"
+            agent.target="(name=reverse)"
+          
+        org.apache.sling.distribution.packaging.impl.importer.LocalDistributionPackageImporterFactory-default
+            name="reverse"
+            agent.target="(name=reverse)"
 
-org.apache.sling.distribution.agent.impl.QueueDistributionAgentFactory-reverse.json
-name="reverse"
-
-org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-reverse
-name="reverse"
-agent.target="(name=reverse)"
-
-org.apache.sling.distribution.packaging.impl.importer.LocalDistributionPackageImporterFactory-default
-name="reverse"
-agent.target="(name=reverse)"
-
-
+            
 
 
 ### Multidatacenter sync distribution
@@ -112,52 +115,52 @@ A multidatacenter sync distribution setup allows one to synchronize content in a
 #### Setup overview
 
 * one coordinator instance in each datacenter
-* one distribution agent for intra-datacenter synchronization. Like a regular sync agent it connects to all farm instances in its datacenter and syncronizes them. In addition to a regular sync agent it keeps the packages also in dedicated queues for the other DCs, so that the coordinators from the other DCs can pull the updates.
-* one distribution exporter for each queue dedicated for the remote DCs. The inter-dc coordinators from the other DCs will connect to these exporter endpoints.
-* one distribution agent for inter-datacenter synchronization; it conntects to the dedicated queues exposed by intra-dc coordinators from the other datacenters.
+    * one distribution agent for intra-datacenter synchronization. Like a regular sync agent it connects to all farm instances in its datacenter and syncronizes them. In addition to a regular sync agent it keeps the packages also in dedicated queues for the other DCs, so that the coordinators from the other DCs can pull the updates.
+    * one distribution exporter for each queue dedicated for the remote DCs. The inter-dc coordinators from the other DCs will connect to these exporter endpoints.
+    * one distribution agent for inter-datacenter synchronization; it conntects to the dedicated queues exposed by intra-dc coordinators from the other datacenters.
 * N farm instances in each datacenter
-* one distribution (queue) agent on each farm instance; changes from these instances are placed in the queues of the queue agents.
-* one distribution exporter on each farm instance that exports packages from the queue agent.
-* one distribution importer on each farm instance used to import packages into the local instance.
+    * one distribution (queue) agent on each farm instance; changes from these instances are placed in the queues of the queue agents.
+    * one distribution exporter on each farm instance that exports packages from the queue agent.
+    * one distribution importer on each farm instance used to import packages into the local instance.
 
 #### Sample configuration
 
 
 * on coordinator instance: one intradcsync agent with two exporters for the other dcs, and one interdcsync agent that connects to remote exporters.
 
-org.apache.sling.distribution.agent.impl.SyncDistributionAgentFactory-intradcsync
-name="intradcsync"
-packageExporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/exporters/reverse", "http://localhost:4504/libs/sling/distribution/services/exporters/reverse"]
-packageImporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/importers/default", "http://localhost:4504/libs/sling/distribution/services/importers/default"]
-passiveQueues=["dc2queue", "dc3queue"]
-
-org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-dc2queue
-name="dc2queue"
-agent.target="(name=intradcsync)"
-queue="dc2queue"
-
-org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-dc3queue
-name="dc3queue"
-agent.target="(name=intradcsync)"
-queue="dc3queue"
-
-org.apache.sling.distribution.agent.impl.SyncDistributionAgentFactory-interdcsync
-name="interdcsync"
-packageExporter.endpoints=["http://localhost:5502/libs/sling/distribution/services/exporters/dc1queue", "http://localhost:6502/libs/sling/distribution/services/exporters/dc1queue"]
-packageImporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/importers/default", "http://localhost:4504/libs/sling/distribution/services/importers/default"]
+        org.apache.sling.distribution.agent.impl.SyncDistributionAgentFactory-intradcsync          
+            name="intradcsync"
+            packageExporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/exporters/reverse", "http://localhost:4504/libs/sling/distribution/services/exporters/reverse"]
+            packageImporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/importers/default", "http://localhost:4504/libs/sling/distribution/services/importers/default"]
+            passiveQueues=["dc2queue", "dc3queue"]
+            
+        org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-dc2queue
+            name="dc2queue"
+            agent.target="(name=intradcsync)"
+            queue="dc2queue"
+            
+        org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-dc3queue
+            name="dc3queue"
+            agent.target="(name=intradcsync)"
+            queue="dc3queue"
+            
+        org.apache.sling.distribution.agent.impl.SyncDistributionAgentFactory-interdcsync           
+            name="interdcsync"
+            packageExporter.endpoints=["http://localhost:5502/libs/sling/distribution/services/exporters/dc1queue", "http://localhost:6502/libs/sling/distribution/services/exporters/dc1queue"]
+            packageImporter.endpoints=["http://localhost:4503/libs/sling/distribution/services/importers/default", "http://localhost:4504/libs/sling/distribution/services/importers/default"]
 
 
 * on each farm instance: one local exporter and one local importer
-
-org.apache.sling.distribution.agent.impl.QueueDistributionAgentFactory-reverse.json
-name="reverse"
-
-org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-reverse
-name="reverse"
-agent.target="(name=reverse)"
-
-org.apache.sling.distribution.packaging.impl.importer.LocalDistributionPackageImporterFactory-default
-name="default"
+            
+        org.apache.sling.distribution.agent.impl.QueueDistributionAgentFactory-reverse.json            
+            name="reverse"
+            
+        org.apache.sling.distribution.packaging.impl.exporter.AgentDistributionPackageExporterFactory-reverse
+            name="reverse"
+            agent.target="(name=reverse)"
+          
+        org.apache.sling.distribution.packaging.impl.importer.LocalDistributionPackageImporterFactory-default
+            name="default"
 
 
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/content-loading-jcr-contentloader.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/content-loading-jcr-contentloader.md b/content/documentation/bundles/content-loading-jcr-contentloader.md
index b6f6998..ac3421c 100644
--- a/content/documentation/bundles/content-loading-jcr-contentloader.md
+++ b/content/documentation/bundles/content-loading-jcr-contentloader.md
@@ -1,7 +1,10 @@
-title=Content Loading and Nodetype Support (jcr.contentloader)		
-type=page
+title=TODO title for content-loading-jcr-contentloader.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Content Loading and Nodetype Support (jcr.contentloader)
 
 Apache Sling provides support for initial content loading into a repository and for registering node types. The `sling-jcr-contentloader` bundle provides loading of content from a bundle into the repository and the `sling-jcr-base` bundle provides node type registration.
 
@@ -15,7 +18,7 @@ Adding this content preserves the paths of the entries as shown in this table, w
 |---|---|
 | `SLING-INF/content/home` | `/home` |
 | `SLING-INF/content/content/playground/en/home` | `/content/playground/en/home` |
-| `SLING-INF/someothercontent/playground/en/home` | not installed at all, because not below the `Sling-Initial-Content` header entry |
+| `SLING-INF/someothercontent/playground/en/home` | not installed at all, because not below the `Sling-Initial-Content` header entry | 
 
 Bundle entries are installed as follows:
 
@@ -70,147 +73,147 @@ The MIME type is derived from the file name extension by first trying to resolve
 
 Nodes, Properties and in fact complete subtrees may be described in XML files using either the JCR SystemView format, or the format described below. In either case, the file must have the .xml extension.
 
-<node>
-<!--
-optional on top level, defaults to XML file name without .xml extension
-required for child nodes
--->
-<name>xyz</name>
-
-<!--
-optional, defaults to nt:unstructured
--->
-<primaryNodeType>nt:file</primaryNodeType>
-
-<!--
-optional mixin node type
-may be repeated for multiple mixin node types
--->
-<mixinNodeType>mix:versionable</mixinNodeType>
-<mixinNodeType>mix:lockable</mixinNodeType>
-
-<!--
-Optional properties for the node. Each <property> element defines
-a single property of the node. The element may be repeated.
--->
-<property>
-<!--
-required property name
--->
-<name>prop</name>
-
-<!--
-value of the property.
-For multi-value properties, the values are defined by multiple
-<value> elements nested inside a <values> element instead of a
-single <value> element
--->
-<value>property value as string</value>
-
-<!--
-Optional type of the property value, defaults to String.
-This must be one of the property type strings defined in the
-JCR PropertyType interface.
--->
-<type>String</type>
-</property>
-
-<!--
-Additional child nodes. May be further nested.
--->
-<node>
-....
-</node>
-</node>
+    <node>
+        <!--
+           optional on top level, defaults to XML file name without .xml extension
+           required for child nodes
+        -->
+        <name>xyz</name>
+    
+        <!--
+            optional, defaults to nt:unstructured
+        -->
+        <primaryNodeType>nt:file</primaryNodeType>
+    
+        <!--
+            optional mixin node type
+            may be repeated for multiple mixin node types
+        -->
+        <mixinNodeType>mix:versionable</mixinNodeType>
+        <mixinNodeType>mix:lockable</mixinNodeType>
+    
+        <!--
+            Optional properties for the node. Each <property> element defines
+            a single property of the node. The element may be repeated.
+        -->
+        <property>
+            <!--
+                required property name
+            -->
+            <name>prop</name>
+    
+            <!--
+                value of the property.
+                For multi-value properties, the values are defined by multiple
+                <value> elements nested inside a <values> element instead of a
+                single <value> element
+            -->
+            <value>property value as string</value>
+    
+            <!--
+                Optional type of the property value, defaults to String.
+                This must be one of the property type strings defined in the
+                JCR PropertyType interface.
+            -->
+            <type>String</type>
+        </property>
+    
+        <!--
+            Additional child nodes. May be further nested.
+        -->
+        <node>
+        ....
+        </node>
+    </node>
 
 
 #### Using a custom XML format
 
-By writing an XSLT stylesheet file, you can use whatever XML format you prefer. The XML file references an XSLT stylesheet by using the xml-stylesheet processing instruction:
+By writing an XSLT stylesheet file, you can use whatever XML format you prefer. The XML file references an XSLT stylesheet by using the xml-stylesheet processing instruction: 
 
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-stylesheet href="my-transform.xsl" type="text/xsl"?> <!-- The path to my-transform.xsl is relative to this file -->
-
-<your_custom_root_node>
-<your_custom_element>
-...
-</your_custom_element>
-...
-</your_custom_root_node>
+    <?xml version="1.0" encoding="UTF-8"?>
+    <?xml-stylesheet href="my-transform.xsl" type="text/xsl"?> <!-- The path to my-transform.xsl is relative to this file -->
+    
+    <your_custom_root_node>
+       <your_custom_element>
+       ...
+       </your_custom_element>
+    ...
+    </your_custom_root_node>
 
 
 The my-transform.xsl file is then responsible for translating your format into one of the supported XML formats:
 
 
-
-<xsl:stylesheet version="1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:mix="http://www.jcp.org/jcr/mix/1.0"
-xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
-xmlns:rep="internal" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<xsl:template match="your_custom_element">
-<node>
-...
-</node>
-</xsl:template>
-...
-</xsl:stylesheet>
-
+    
+    <xsl:stylesheet version="1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:mix="http://www.jcp.org/jcr/mix/1.0" 
+      xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
+      xmlns:rep="internal" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+    
+      <xsl:template match="your_custom_element">
+        <node>
+          ...
+        </node>
+      </xsl:template>
+      ...
+    </xsl:stylesheet>
+    
 
 
 ### JSON Descriptor Files
 
 Nodes, Properties and in fact complete subtrees may be described in JSON files using the following skeleton structure (see [http://www.json.org](http://www.json.org) or information on the syntax of JSON) :
 
-{
-// child node name
-"nodename" : {
-
-// optional primary node type, default "nt:unstructured"
-"jcr:primaryType": "sling:ScriptedComponent",
+    {
+        // child node name
+        "nodename" : {
 
-// optional mixin node types as array
-"jcr:mixinTypes": [ ],
+            // optional primary node type, default "nt:unstructured"
+            "jcr:primaryType": "sling:ScriptedComponent",
 
-// additional properties as name value pairs.
-// Multi-value properties are defined as JSON array.
-// Property type is derived from the value
+            // optional mixin node types as array
+            "jcr:mixinTypes": [ ],
+    
+            // additional properties as name value pairs.
+            // Multi-value properties are defined as JSON array.
+            // Property type is derived from the value
 
-// String value (default)
-"sling:contentClass": "com.day.sling.jcr.test.Test",
+            // String value (default)
+            "sling:contentClass": "com.day.sling.jcr.test.Test",
 
-// Multi-value String
-"sampleMulti": [ "v1", "v2" ],
+            // Multi-value String
+            "sampleMulti": [ "v1", "v2" ],
 
-// Long value, single and multi
-"sampleStruct": 1,
-"sampleStructMulti": [ 1, 2, 3 ],
+            // Long value, single and multi
+            "sampleStruct": 1,
+            "sampleStructMulti": [ 1, 2, 3 ],
 
-// Date follows pattern yyyy-mm-ddTHH:MM:SS.sss±HH:MM
-"sampleDate": "2014-11-27T13:26:00.000+01:00",
+            // Date follows pattern yyyy-mm-ddTHH:MM:SS.sss±HH:MM
+            "sampleDate": "2014-11-27T13:26:00.000+01:00",
 
-// JCR Node Reference with name prefix (removed to derive node name)
-"jcr:reference:sampleRef": "386b0f48-49c3-4c58-8735-ceee6bfc1933",
+            // JCR Node Reference with name prefix (removed to derive node name)
+            "jcr:reference:sampleRef": "386b0f48-49c3-4c58-8735-ceee6bfc1933",
 
-// JCR Path with name prefix (removed to derive node name)
-"jcr:path:samplePath": "/content/data",
+            // JCR Path with name prefix (removed to derive node name)
+            "jcr:path:samplePath": "/content/data",
 
-// JCR Name with name prefix (removed to derive node name)
-"jcr:name:sampleName": "data",
+            // JCR Name with name prefix (removed to derive node name)
+            "jcr:name:sampleName": "data",
 
-// URI with name prefix (removed to derive node name)
-"jcr:uri:sampleUri": "http://sling.apache.org/",
+            // URI with name prefix (removed to derive node name)
+            "jcr:uri:sampleUri": "http://sling.apache.org/",
 
-// Child nodes are simple JSON objects
-"sling:scripts": {
-"jcr:primaryType": "sling:ScriptList",
-"sling:Script": {
-"jcr:primaryType": "sling:Script",
-"sling:name": "/test/content/jsp/start.jsp",
-"sling:type": "jsp",
-"sling:glob": "*"
-}
-}
-}
+            // Child nodes are simple JSON objects
+            "sling:scripts": {
+                "jcr:primaryType": "sling:ScriptList",
+                "sling:Script": {
+                        "jcr:primaryType": "sling:Script",
+                        "sling:name": "/test/content/jsp/start.jsp",
+                        "sling:type": "jsp",
+                        "sling:glob": "*"
+                }
+            }
+    }
 
 
 ### Extractors
@@ -219,7 +222,7 @@ By default, the `sling-jcr-contentloader` bundle tries to extract certain file t
 
 ### Workspace Targetting
 
-By default, initial content will be loaded into the default workspace. To override this, add a `Sling-Initial-Content-Workspace` bundle manifest header to specify the workspace. Note that *all* content from a bundle will be loaded into the same workspace.
+By default, initial content will be loaded into the default workspace. To override this, add a `Sling-Initial-Content-Workspace` bundle manifest header to specify the workspace. Note that *all* content from a bundle will be loaded into the same workspace. 
 
 ### Example: Load i18n JSON files
 
@@ -231,9 +234,9 @@ This is an example how such an i18n file can be loaded from an OSGi bundle with
 
 Within your bundle header you have to define a separate path for the i18n files where you have to explicitly disable the JSON provider:
 
-<Sling-Initial-Content>
-SLING-INF/i18n;overwrite:=true;ignoreImportProviders:=json;path:=/apps/myapp/i18n
-</Sling-Initial-Content>
+    <Sling-Initial-Content>
+        SLING-INF/i18n;overwrite:=true;ignoreImportProviders:=json;path:=/apps/myapp/i18n
+    </Sling-Initial-Content>
 
 The folder `SLING-INF/i18n` from your bundles contains a pair of files for each language, e.g.:
 
@@ -242,28 +245,28 @@ The folder `SLING-INF/i18n` from your bundles contains a pair of files for each
 
 Example for the content descriptor:
 
-<?xml version="1.0" encoding="UTF-8"?>
-<node>
-<name>en.json</name>
-<mixinNodeType>mix:language</mixinNodeType>
-<property>
-<name>jcr:language</name>
-<value>en</value>
-<type>String</type>
-</property>
-</node>
-
+    <?xml version="1.0" encoding="UTF-8"?>
+    <node>
+        <name>en.json</name>
+        <mixinNodeType>mix:language</mixinNodeType>
+        <property>
+            <name>jcr:language</name>
+            <value>en</value>
+            <type>String</type>
+        </property>
+    </node>
+    
 
 ## Declared Node Type Registration
 
 The `sling-jcr-base` bundle provides low-level repository operations which are at the heart of the functionality of Sling:
-* *Node Type Definitions* - The class `org.apache.sling.content.jcr.base.NodeTypeLoader` provides methods to register custom node types with a repository given a repository session and a node type definition file in CND format. This class is also used by this bundle to register node types on behalf of other bundles.
+* *Node Type Definitions* \- The class `org.apache.sling.content.jcr.base.NodeTypeLoader` provides methods to register custom node types with a repository given a repository session and a node type definition file in CND format. This class is also used by this bundle to register node types on behalf of other bundles.
 
 Bundles may list node type definition files in CND format in the `Sling-Nodetypes` bundle header. This header is a comma-separated list of resources in the respective bundle. Each resource is taken and fed to the `NodeTypeLoader` to define the node types.
 
 After a bundle has entered the *resolved* state, the node types listed in the `Sling-Nodetypes` bundle header are registered with the repository.
 
-Node types installed by this mechanism will never be removed again by the `sling-jcr-base` bundle.
+Node types installed by this mechanism will never be removed again by the `sling-jcr-base` bundle. 
 
 Starting with revision 911430, re-registration of existing node types is enabled by default. To disable this, add `;rereigster:=false` to the resource names for which re-registration should be disabled.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/context-aware-configuration/context-aware-configuration-default-implementation.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/context-aware-configuration/context-aware-configuration-default-implementation.md b/content/documentation/bundles/context-aware-configuration/context-aware-configuration-default-implementation.md
index 7df5413..2dcd84b 100644
--- a/content/documentation/bundles/context-aware-configuration/context-aware-configuration-default-implementation.md
+++ b/content/documentation/bundles/context-aware-configuration/context-aware-configuration-default-implementation.md
@@ -1,7 +1,10 @@
-title=Apache Sling Context-Aware Configuration - Default Implementation		
-type=page
+title=TODO title for context-aware-configuration-default-implementation.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Apache Sling Context-Aware Configuration - Default Implementation
 
 [TOC]
 
@@ -52,13 +55,13 @@ So the basic rules are:
 
 Example for the resource structure for a configuration resource at `/conf/mysite`:
 
-/conf
-/mysite
-/sling:configs
-/x.y.z.MyConfig
-@prop1 = 'value1'
-@prop2 = 123
-@prop3= true
+    /conf
+        /mysite
+            /sling:configs
+                /x.y.z.MyConfig
+                  @prop1 = 'value1'
+                  @prop2 = 123
+                  @prop3= true
 
 Explanation:
 
@@ -68,7 +71,7 @@ Explanation:
 * It is possible to use deeper hierarchies below `sling:configs` as well.
 * Nested configurations are supported as well. This can be mapped to annotation classes referencing other annotation classes.
 
-
+                          
 # Resource inheritance
 
 We distinguish between:

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/context-aware-configuration/context-aware-configuration-override.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/context-aware-configuration/context-aware-configuration-override.md b/content/documentation/bundles/context-aware-configuration/context-aware-configuration-override.md
index 97373cd..e700501 100644
--- a/content/documentation/bundles/context-aware-configuration/context-aware-configuration-override.md
+++ b/content/documentation/bundles/context-aware-configuration/context-aware-configuration-override.md
@@ -1,7 +1,10 @@
-title=Apache Sling Context-Aware Configuration - Override		
-type=page
+title=TODO title for context-aware-configuration-override.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Apache Sling Context-Aware Configuration - Override
 
 [TOC]
 
@@ -19,10 +22,10 @@ Via the [SPI](http://sling.apache.org/documentation/bundles/context-aware-config
 
 Generally an override consists of one single line. Syntax examples:
 
-{configName}/{propertyName}={propertyJsonValue}
-{configName}={propertyJsonObject}
-[{contextPath}]{configName}/{propertyName}={propertyJsonValue}
-[{contextPath}]{configName}={propertyJsonObject}
+    {configName}/{propertyName}={propertyJsonValue}
+    {configName}={propertyJsonObject}
+    [{contextPath}]{configName}/{propertyName}={propertyJsonValue}
+    [{contextPath}]{configName}={propertyJsonObject}
 
 The different parts:
 
@@ -36,17 +39,17 @@ When the syntax `{configName}/{propertyName}={propertyJsonValue}` is used, only
 
 Override string examples with real values:
 
-my-config/property1="value 1"
-my-config/sub1/property1="value 1"
-my-config/property1=["value 1","value 2"]
-my-config/property1=123
-x.y.z.MyConfig={"prop1"="value1","prop2"=[1,2,3],"prop3"=true,"prop4"=1.23}
-[/content/region1]my-config/property1="value 1"
-[/content/region1]my-config/sub1={"prop1":"value 1"}
+    my-config/property1="value 1"
+    my-config/sub1/property1="value 1"
+    my-config/property1=["value 1","value 2"]
+    my-config/property1=123
+    x.y.z.MyConfig={"prop1"="value1","prop2"=[1,2,3],"prop3"=true,"prop4"=1.23}
+    [/content/region1]my-config/property1="value 1"
+    [/content/region1]my-config/sub1={"prop1":"value 1"}
 
 If multiple statements are defined affecting the same content path, configuration name and property name, they overwrite each other. That means the override string defined last wins.
 
-
+    
 # Built-in override providers
 
 ## Override via system properties
@@ -57,9 +60,9 @@ The parameters are defined when starting the JVM using the -D command line param
 
 Example:
 
--Dsling.caconfig.override.my-config/sub1/property1=123
--D"sling.caconfig.override.my-config/property1=["value 1","value 2"]"
--D"sling.caconfig.override.[/content/region1]x.y.z.MyConfig={"prop1"="value1","prop2"=[1,2,3],"prop3"=true,"prop4"=1.23}"
+    -Dsling.caconfig.override.my-config/sub1/property1=123
+    -D"sling.caconfig.override.my-config/property1=[\"value 1\",\"value 2\"]"
+    -D"sling.caconfig.override.[/content/region1]x.y.z.MyConfig={\"prop1\"=\"value1\",\"prop2\"=[1,2,3],\"prop3\"=true,\"prop4\"=1.23}"
 
 This provider is not active by default, it has to be activated via OSGi configuration ("Apache Sling Context-Aware System Property Configuration Override Provider").
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/context-aware-configuration/context-aware-configuration-spi.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/context-aware-configuration/context-aware-configuration-spi.md b/content/documentation/bundles/context-aware-configuration/context-aware-configuration-spi.md
index 8981ed2..2ba1876 100644
--- a/content/documentation/bundles/context-aware-configuration/context-aware-configuration-spi.md
+++ b/content/documentation/bundles/context-aware-configuration/context-aware-configuration-spi.md
@@ -1,7 +1,10 @@
-title=Apache Sling Context-Aware Configuration - SPI		
-type=page
+title=TODO title for context-aware-configuration-spi.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Apache Sling Context-Aware Configuration - SPI
 
 [TOC]
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/context-aware-configuration/context-aware-configuration.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/context-aware-configuration/context-aware-configuration.md b/content/documentation/bundles/context-aware-configuration/context-aware-configuration.md
index a092cfa..0e1a7fd 100644
--- a/content/documentation/bundles/context-aware-configuration/context-aware-configuration.md
+++ b/content/documentation/bundles/context-aware-configuration/context-aware-configuration.md
@@ -1,7 +1,10 @@
-title=Apache Sling Context-Aware Configuration		
-type=page
+title=TODO title for context-aware-configuration.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Apache Sling Context-Aware Configuration
 
 [TOC]
 
@@ -41,15 +44,15 @@ The service for getting the configuration resources is called the ConfigurationR
 For example to get a configuration resource for a content resource at /content/mysite/page1, you would get a reference to the OSGi service
 `org.apache.sling.caconfig.resource.ConfigurationResourceResolver` and write:
 
-#!java
-Resource contentResource = resourceResolver.getResource("/content/mysite/page1");
+    #!java
+    Resource contentResource = resourceResolver.getResource("/content/mysite/page1");
 
-Resource configResource = configurationResourceResolver.getResource(contentResource, "my-bucket", "my-config");
+    Resource configResource = configurationResourceResolver.getResource(contentResource, "my-bucket", "my-config");
 
 Or if you have several configuration resources of the same type and you need all of them:
 
-#!java
-Collection<Resource> configResources = configurationResourceResolver.getResourceCollection(contentResource, "my-bucket", "my-config");
+    #!java
+    Collection<Resource> configResources = configurationResourceResolver.getResourceCollection(contentResource, "my-bucket", "my-config");
 
 The ConfigurationResourceResolver has a concept of "buckets" (2nd parameter in the method signatures) that allows to separate different types of configuration resources into different resource hierarchies, so you have a separate "namespaces" for the named configuration resources. For example one bucket for workflow definitions, one bucket for template definitions, one for key/value-pairs.
 
@@ -68,15 +71,15 @@ named and the service to get them is the ConfigurationResolver. You can get a re
 `org.apache.sling.caconfig.ConfigurationResolver` - it has a single method to get a ConfigurationBuilder.
 Alternatively you can directly adapt your content resource directly to the ConfigurationBuilder interface and get the configuration:
 
-#!java
-Resource contentResource = resourceResolver.getResource("/content/mysite/page1");
-
-MyConfig config = contentResource.adaptTo(ConfigurationBuilder.class).as(MyConfig.class);
+    #!java
+    Resource contentResource = resourceResolver.getResource("/content/mysite/page1");
 
+    MyConfig config = contentResource.adaptTo(ConfigurationBuilder.class).as(MyConfig.class);
+    
 Or if you want to get a list of configurations:
 
-#!java
-Collection<MyConfig> configs = contentResource.adaptTo(ConfigurationBuilder.class).asCollection(MyConfig.class);
+    #!java
+    Collection<MyConfig> configs = contentResource.adaptTo(ConfigurationBuilder.class).asCollection(MyConfig.class);
 
 The ConfigurationBuilder also supports getting the configurations as ValueMap or by adapting the configuration resources e.g. to a Sling Model. In this case you have to specify a configuration name which is otherwise derived automatically from the annotation class.
 
@@ -101,22 +104,22 @@ the applications/libraries you use, or you can define your own annotation classe
 
 The annotation class may look like this:
 
-#!java
-@Configuration(label="My Configuration", description="Describe me")
-public @interface MyConfig {
-
-@Property(label="Parameter #1", description="Describe me")
-String param1();
-
-@Property(label="Parameter with Default value", description="Describe me")
-String paramWithDefault() default "defValue";
-
-@Property(label="Integer parameter", description="Describe me")
-int intParam();
-
-}
-
-The `@Configuration` annotation is mandatory. All properties on the `@Configuration` annotation and the `@Property` annotations are optional - they provide additional metadata for tooling e.g. configuration editors.
+    #!java
+  	@Configuration(label="My Configuration", description="Describe me")
+  	public @interface MyConfig {
+  	
+  	    @Property(label="Parameter #1", description="Describe me")
+  	    String param1();
+  	    
+  	    @Property(label="Parameter with Default value", description="Describe me")
+  	    String paramWithDefault() default "defValue";
+  	    
+  	    @Property(label="Integer parameter", description="Describe me")
+  	    int intParam();
+  	    
+  	}
+
+The `@Configuration` annotation is mandatory. All properties on the `@Configuration` annotation and the `@Property` annotations are optional - they provide additional metadata for tooling e.g. configuration editors. 
 
 By default the annotation class name is used as configuration name, which is also the recommended option. If you want to use an arbitrary configuration name you can specify it via a `name` property on the `@Configuration` annotation.
 
@@ -124,9 +127,9 @@ You may specify custom properties (via `property` string array) for the configur
 
 If you provide your own configuration annotation classes in your bundle, you have to export them and list all class names in a bundle header named `Sling-ContextAware-Configuration-Classes` - example:
 
-Sling-ContextAware-Configuration-Classes: x.y.z.MyConfig, x.y.z.MyConfig2
+    Sling-ContextAware-Configuration-Classes: x.y.z.MyConfig, x.y.z.MyConfig2
 
-To automate this you can use the Context-Aware Configuration bnd plugin (see next chapter).
+To automate this you can use the Context-Aware Configuration bnd plugin (see next chapter). 	
 
 
 # Accessing configuration from HTL/Sightly templates
@@ -135,23 +138,23 @@ Context-Aware configuration contains a Scripting Binding Values provider with au
 
 Example for accessing a property of a singleton configuration (with a config name `x.y.z.ConfigSample`):
 
-#!html
-<dl>
-<dt>stringParam:</dt>
-<dd>${caconfig['x.y.z.ConfigSample'].stringParam}</dd>
-</dl>
+  	#!html
+  	<dl>
+  		<dt>stringParam:</dt>
+  		<dd>${caconfig['x.y.z.ConfigSample'].stringParam}</dd>
+  	</dl>
 
 Example for accessing a property of a configuration list (with a config name `x.y.z.ConfigSampleList`):
 
-#!html
-<ul data-sly-list.item="${caconfig['x.y.z.ConfigSampleList']}">
-<li>stringParam: ${item.stringParam}</li>
-</ul>
+  	#!html
+  	<ul data-sly-list.item="${caconfig['x.y.z.ConfigSampleList']}">
+  		<li>stringParam: ${item.stringParam}</li>
+  	</ul>
 
 If you want to access nested configurations you have to use a slash "/" as separator in the property name. Example:
 
-#!html
-${caconfig['x.y.z.ConfigSample']['nestedConfig/stringParam']}
+    #!html
+    ${caconfig['x.y.z.ConfigSample']['nestedConfig/stringParam']}
 
 
 # Context-Aware Configuration bnd plugin
@@ -160,25 +163,25 @@ A [bnd](http://bnd.bndtools.org/) plugin is provided that scans the classpath of
 
 Example configuration:
 
-#!xml
-<plugin>
-<groupId>org.apache.felix</groupId>
-<artifactId>maven-bundle-plugin</artifactId>
-<extensions>true</extensions>
-<configuration>
-<instructions>
-<!-- Generate bundle header containing all configuration annotation classes -->
-<_plugin>org.apache.sling.caconfig.bndplugin.ConfigurationClassScannerPlugin</_plugin>
-</instructions>
-</configuration>
-<dependencies>
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.caconfig.bnd-plugin</artifactId>
-<version>1.0.2</version>
-</dependency>
-</dependencies>
-</plugin>
+    #!xml
+    <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <extensions>true</extensions>
+        <configuration>
+            <instructions>
+                <!-- Generate bundle header containing all configuration annotation classes -->
+                <_plugin>org.apache.sling.caconfig.bndplugin.ConfigurationClassScannerPlugin</_plugin>
+            </instructions>
+        </configuration>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.sling</groupId>
+                <artifactId>org.apache.sling.caconfig.bnd-plugin</artifactId>
+                <version>1.0.2</version>
+            </dependency>
+        </dependencies>
+    </plugin>
 
 
 # Unit Tests with Context-Aware Configuration
@@ -187,29 +190,29 @@ When your code depends on Sling Context-Aware Configuration and you want to writ
 
 Example for setting up the unit test context rule:
 
-#!java
-import static org.apache.sling.testing.mock.caconfig.ContextPlugins.CACONFIG;
+	#!java
+	import static org.apache.sling.testing.mock.caconfig.ContextPlugins.CACONFIG;
 
-public class MyTest {
+	public class MyTest {
 
-@Rule
-public SlingContext context = new SlingContextBuilder().plugin(CACONFIG).build();
+		@Rule
+		public SlingContext context = new SlingContextBuilder().plugin(CACONFIG).build();
 
-@Before
-public void setUp() {
-// register configuration annotation class
-MockContextAwareConfig.registerAnnotationClasses(context, SimpleConfig.class);
-}
-...
+		@Before
+		public void setUp() {
+			// register configuration annotation class
+			MockContextAwareConfig.registerAnnotationClasses(context, SimpleConfig.class);
+		}
+	...
 
 In you project define a test dependency (additionally the sling-mock dependency is required):
 
-#!xml
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.testing.caconfig-mock-plugin</artifactId>
-<scope>test</scope>
-</dependency>
+  	#!xml
+  	<dependency>
+  		<groupId>org.apache.sling</groupId>
+  		<artifactId>org.apache.sling.testing.caconfig-mock-plugin</artifactId>
+  		<scope>test</scope>
+  	</dependency>
 
 Full example: [Apache Sling Context-Aware Configuration Mock Plugin Test](https://github.com/apache/sling/blob/trunk/testing/mocks/caconfig-mock-plugin/src/test/java/org/apache/sling/testing/mock/caconfig/ContextPluginsTest.java)
 
@@ -248,7 +251,7 @@ Whenever configuration data is read or written from the configuration resources
 * [Context-Aware Configuration - SPI][spi]
 * [Context-Aware Configuration - Override][override]
 * [Sling Context-Aware Configuration - Talk from adaptTo() 2016](https://adapt.to/2016/en/schedule/sling-context-aware-configuration.html)
-
+ 
 
 [default-impl]: http://sling.apache.org/documentation/bundles/context-aware-configuration/context-aware-configuration-default-implementation.html
 [spi]: http://sling.apache.org/documentation/bundles/context-aware-configuration/context-aware-configuration-spi.html

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/datasource-providers.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/datasource-providers.md b/content/documentation/bundles/datasource-providers.md
index 64942c8..a7da52a 100644
--- a/content/documentation/bundles/datasource-providers.md
+++ b/content/documentation/bundles/datasource-providers.md
@@ -1,7 +1,10 @@
-title=DataSource Provider		
-type=page
+title=TODO title for datasource-providers.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: DataSource Provider
 
 DataSource provider bundle supports creation of `DataSource` instance and registering them with
 the OSGi service registry. Application using the DataSource just obtains it from OSGi while
@@ -30,7 +33,7 @@ the name of the JDBC driver's implementation of java.sql.Driver. For example, to
 driver to connect to a Apache Derby database, the META-INF/services/java.sql.Driver file would
 contain the following entry:
 
-org.apache.derby.jdbc.EmbeddedDriver
+    org.apache.derby.jdbc.EmbeddedDriver
 
 Sling DataSource Provider bundles maintains a `DriverRegistry` which contains mapping of Driver
 bundle to Driver class supported by it. With this feature there is no need to wrap the Driver
@@ -58,15 +61,15 @@ converted to OSGi bundles. For them we can use the [Bnd Wrap][2] command.
 
 For example to convert the Postgres driver jar follow the steps below
 
-$ wget https://github.com/bndtools/bnd/releases/download/2.3.0.REL/biz.aQute.bnd-2.3.0.jar -O bnd.jar
-$ wget http://jdbc.postgresql.org/download/postgresql-9.3-1101.jdbc41.jar
-$ cat > bnd.bnd <<EOT
-Bundle-Version: 9.3.1101
-Bundle-SymbolicName: org.postgresql
-Export-Package: org.postgresql
-Include-Resource: @postgresql-9.3-1101.jdbc41.jar
-EOT
-$ java -jar bnd.jar bnd.bnd
+    $ wget https://github.com/bndtools/bnd/releases/download/2.3.0.REL/biz.aQute.bnd-2.3.0.jar -O bnd.jar
+    $ wget http://jdbc.postgresql.org/download/postgresql-9.3-1101.jdbc41.jar
+    $ cat > bnd.bnd <<EOT
+    Bundle-Version: 9.3.1101
+    Bundle-SymbolicName: org.postgresql
+    Export-Package: org.postgresql
+    Include-Resource: @postgresql-9.3-1101.jdbc41.jar
+    EOT
+    $ java -jar bnd.jar bnd.bnd
 
 In the steps above we
 
@@ -97,26 +100,26 @@ OSGi config.
 
 Following snippet demonstrates accessing the DataSource named `foo` via DS annotation
 
-::java
-import javax.sql.DataSource;
-import org.apache.felix.scr.annotations.Reference;
+    ::java
+    import javax.sql.DataSource;
+    import org.apache.felix.scr.annotations.Reference;
 
-public class DSExample {
+    public class DSExample {
 
-@Reference(target = "(&(objectclass=javax.sql.DataSource)(datasource.name=foo))")
-private DataSource dataSource;
-}
+        @Reference(target = "(&(objectclass=javax.sql.DataSource)(datasource.name=foo))")
+        private DataSource dataSource;
+    }
 
 ## Installation
 
 Download the bundle from [here][3] or use following Maven dependency
 
-::xml
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.datasource</artifactId>
-<version>1.0.0</version>
-</dependency>
+    ::xml
+    <dependency>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>org.apache.sling.datasource</artifactId>
+        <version>1.0.0</version>
+    </dependency>
 
 [1]: http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
 [2]: http://bnd.bndtools.org/chapters/390-wrapping.html


[06/12] sling-site git commit: Revert 88e80480d5c1dd204ab2cb8a11be9f96caecc899 which ate whitespace at the beginning of lines

Posted by bd...@apache.org.
http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/jsr-305.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/jsr-305.md b/content/documentation/development/jsr-305.md
index 8080d91..3fb8fc3 100644
--- a/content/documentation/development/jsr-305.md
+++ b/content/documentation/development/jsr-305.md
@@ -1,7 +1,10 @@
-title=Leveraging JSR-305 null annotations to prevent NullPointerExceptions		
-type=page
+title=TODO title for jsr-305.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Leveraging JSR-305 null annotations to prevent NullPointerExceptions
 
 [TOC]
 
@@ -21,13 +24,13 @@ Annotations which support setting the default null semantics of return values an
 The annotations have a retention policy of `runtime`, therefore bundles using these automatically have a `Import-Package` header listing `javax.annotation`. That package is by default exported by the system bundle (as this package is also part of the [JRE](https://docs.oracle.com/javase/7/docs/api/javax/annotation/package-summary.html)). To be able to resolve the bundle through this exported package from the system bundle you should use the `com.google.code.findbugs:jsr305` artifact in version 3.0.0 as that exports the package `javax.annotation` in no specific version. Newer versions use version directives which automatically restrict the version range for the generated `Import-Package` header to `[3,4)` [which usually cannot be resolved at run time](https://github.com/amaembo/jsr-305/issues/31).
 
 # Use With Eclipse
-Eclipse since Juno supports [null analysis based on any annotations](http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcompiler%2Fref-preferences-errors-warnings.htm&anchor=null_analysis). Those need to be enabled in
+Eclipse since Juno supports [null analysis based on any annotations](http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcompiler%2Fref-preferences-errors-warnings.htm&anchor=null_analysis). Those need to be enabled in 
 *Preferences->Java->Compiler->Errors/Warnings* via **Enable annoation-based null analysis**.
 Also the annotations need to be configured. For Sling/JSR 305 those are
 
 * `javax.annotation.CheckForNull` as **'Nullable' annotation** (primary annotation)
 * `javax.annotation.Nonnull` as **'NonNull' annotation** (primary annotation)
-
+  
 ![Eclipse Settings for Null analysis](eclipse-settings-null-analysis.png)
 
 Unfortunately Eclipse cannot infer information about fields which are for sure either null or not null (reasoning is available in [https://wiki.eclipse.org/JDT_Core/Null_Analysis/Options#Risks_of_flow_analysis_for_fields](https://wiki.eclipse.org/JDT_Core/Null_Analysis/Options#Risks_of_flow_analysis_for_fields) and [Eclipse Bug 247564](https://bugs.eclipse.org/bugs/show_bug.cgi?id=247564)). This also affecs constants (static final fields) or enums which are known to be non null, but still Eclipse will emit a warning like *The expression of type 'String' needs unchecked conversion to conform to '@Nonnull String'*. The only known workaround is to disable the **"Unchecked conversion from non-annotated type to @NonNull type"** or to annotate also the field with `@Nonnull`.
@@ -41,58 +44,58 @@ Since Eclipse 4.5 (Mars) **external annotations** are supported as well (i.e. an
 
 ## Leveraging Eclipse JDT Compiler (recommended)
 
-You can use Eclipse JDT also in Maven (with null analysis enabled) for the regular compilation. That way it will give out the same warnings/errors as Eclipse and will also consider external annotations.
+You can use Eclipse JDT also in Maven (with null analysis enabled) for the regular compilation. That way it will give out the same warnings/errors as Eclipse and will also consider external annotations. 
 JDT in its most recent version is provided by the `tycho-compiler-plugin` which can be hooked up with the `maven-compiler-plugin`.
 The full list of options for JDT is described in [here](http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-using_batch_compiler.htm).
 This method was presented by Michael Vorburger in his presentation [The end of the world as we know it](https://www.slideshare.net/mikervorburger/the-end-of-the-world-as-we-know-it-aka-your-last-nullpointerexception-1b-bugs/14).
 
-::xml
-<plugin>
-<artifactId>maven-compiler-plugin</artifactId>
-<version>3.5.1</version>
-<configuration>
-<source>1.8</source>
-<target>1.8</target>
-<showWarnings>true</showWarnings>
-<compilerId>jdt</compilerId>
-<compilerArguments>
-<!-- just take the full Maven classpath as external annotations -->
-<annotationpath>CLASSPATH</annotationpath>
-</compilerArguments>
-<!-- maintain the org.eclipse.jdt.core.prefs properties to options listed on
-http://help.eclipse.org/neon/index.jsp?topic=/org.eclipse.jdt.doc.user/tasks/task-using_batch_compiler.htm -->
-<compilerArgument>-err:nullAnnot,null,-missingNullDefault</compilerArgument>
-</configuration>
-<dependencies>
-<dependency>
-<groupId>org.eclipse.tycho</groupId>
-<artifactId>tycho-compiler-jdt</artifactId>
-<version>1.0.0</version>
-</dependency>
-</dependencies>
-</plugin>
+    ::xml
+    <plugin>
+      <artifactId>maven-compiler-plugin</artifactId>
+      <version>3.5.1</version>
+      <configuration>
+        <source>1.8</source>
+        <target>1.8</target>
+        <showWarnings>true</showWarnings>
+        <compilerId>jdt</compilerId>
+        <compilerArguments>
+          <!-- just take the full Maven classpath as external annotations -->
+          <annotationpath>CLASSPATH</annotationpath>
+        </compilerArguments>
+        <!-- maintain the org.eclipse.jdt.core.prefs properties to options listed on
+             http://help.eclipse.org/neon/index.jsp?topic=/org.eclipse.jdt.doc.user/tasks/task-using_batch_compiler.htm -->
+        <compilerArgument>-err:nullAnnot,null,-missingNullDefault</compilerArgument>
+     </configuration>
+     <dependencies>
+        <dependency>
+           <groupId>org.eclipse.tycho</groupId>
+           <artifactId>tycho-compiler-jdt</artifactId>
+           <version>1.0.0</version>
+        </dependency>
+      </dependencies>
+    </plugin>
 
 ## Leveraging FindBugs
 You can also let Maven automatically run FindBugs to execute those checks via the **findbugs-maven-plugin**. For that just add the following plugin to your `pom.xml`
 
-::xml
-<plugin>
-<groupId>org.codehaus.mojo</groupId>
-<artifactId>findbugs-maven-plugin</artifactId>
-<version>3.0.0</version>
-<configuration>
-<visitors>InconsistentAnnotations,NoteUnconditionalParamDerefs,FindNullDeref,FindNullDerefsInvolvingNonShortCircuitEvaluation</visitors>
-</configuration>
-<executions>
-<execution>
-<id>run-findbugs-fornullchecks</id>
-<goals>
-<goal>check</goal>
-</goals>
-</execution>
-</executions>
-</plugin>
-
+    ::xml
+    <plugin>
+      <groupId>org.codehaus.mojo</groupId>
+      <artifactId>findbugs-maven-plugin</artifactId>
+      <version>3.0.0</version>
+      <configuration>
+      <visitors>InconsistentAnnotations,NoteUnconditionalParamDerefs,FindNullDeref,FindNullDerefsInvolvingNonShortCircuitEvaluation</visitors>
+      </configuration>
+      <executions>
+        <execution>
+          <id>run-findbugs-fornullchecks</id>
+          <goals>
+            <goal>check</goal>
+          </goals>
+        </execution>
+      </executions>
+    </plugin>
+    
 
 The results are often very imprecise ([MFINDBUGS-208](http://jira.codehaus.org/browse/MFINDBUGS-208)), especially when it comes to line numbers, therefore it is best to start the Findbugs GUI in case of errors found by this plugin via `mvn findbugs:gui`.
 
@@ -107,7 +110,7 @@ FindBugs evaluates the JSR-305 annotations by default. You can restrict the rule
 
 A complete list of visitors class names in Findbugs can be found in the [sourcecode](https://code.google.com/p/findbugs/source/browse/#git%2Ffindbugs%2Fsrc%2Fjava%2Fedu%2Fumd%2Fcs%2Ffindbugs%2Fdetect%253Fstate%253Dclosed). The according [bug patterns](http://findbugs.sourceforge.net/bugDescriptions.html) have an identifier (in parenthesis) for which you can search in the according Java classes, in case you want to extend the checks.
 
-Findbugs is also integrated in [SonarQube](http://docs.sonarqube.org/display/SONAR/Findbugs+Plugin) but for SonarQube you should now rather use the native Java plugin
+Findbugs is also integrated in [SonarQube](http://docs.sonarqube.org/display/SONAR/Findbugs+Plugin) but for SonarQube you should now rather use the native Java plugin 
 (look at [Use with SonarQube](#use-with-sonarqube)).
 
 # Use with SonarQube

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/logging.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/logging.md b/content/documentation/development/logging.md
index 53bcd91..3c554f0 100644
--- a/content/documentation/development/logging.md
+++ b/content/documentation/development/logging.md
@@ -1,7 +1,10 @@
-title=Logging		
-type=page
+title=TODO title for logging.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Logging
 
 <div class="note">
 This document is for the new (November 2013) 4.x release of the Sling Commons Log components. Refer to
@@ -18,19 +21,19 @@ following features:
 
 * Implements the OSGi Log Service Specification and registers the `LogService` and `LogReader` services
 * Exports three commonly used logging APIs:
-* [Simple Logging Facade for Java (SLF4J)](http://www.slf4j.org)
-* [Apache Commons Logging](http://jakarta.apache.org/commons/logging)
-* [log4j](http://logging.apache.org/log4j/index.html)
-* [java.util.logging](http://download.oracle.com/javase/6/docs/api/java/util/logging/package-summary.html)
+  * [Simple Logging Facade for Java (SLF4J)](http://www.slf4j.org)
+  * [Apache Commons Logging](http://jakarta.apache.org/commons/logging)
+  * [log4j](http://logging.apache.org/log4j/index.html)
+  * [java.util.logging](http://download.oracle.com/javase/6/docs/api/java/util/logging/package-summary.html)
 * Configures logging through Logback which is integrated with the OSGi environment
 * Allows logging to be configured both via editing Logback xml or via OSGi Configurations
 
 ### v5.0.0 release
 
-With Sling Log 5.0.0. release the webconsole support has been moved to a
+With Sling Log 5.0.0. release the webconsole support has been moved to a 
 different bundle named Sling Commons Log WebConsole (org.apache.sling.commons.log.webconsole:1.0.0)
 
-Also with this release Logback 1.1.7 version is embedded and thus it requires
+Also with this release Logback 1.1.7 version is embedded and thus it requires 
 slf4j-api:1.7.15. See [SLING-6144][SLING-6144] for details
 
 ## WebConsole Plugin
@@ -63,8 +66,8 @@ It supports following parameters
 * `name` - Appender name like _/logs/error.log_
 * `tail` - Number of lines to include in dump. -1 to include whole file
 * `grep` - Filter the log lines based on `grep` value which can be
-* Simple string phrase - In this case search is done in case insensitive way via String.contains
-* regex - In this case the search would be done via regex pattern matching
+    * Simple string phrase - In this case search is done in case insensitive way via String.contains
+    * regex - In this case the search would be done via regex pattern matching
 
 ## Initial Configuration
 
@@ -77,7 +80,7 @@ The `org.apache.sling.commons.log` bundle gets its initial configuration from th
 | `org.apache.sling.commons.log.file` | undefined | Sets the log file to which log messages are written. If this property is empty or missing, log messages are written to `System.out`. |
 | `org.apache.sling.commons.log.file.number` | 5 | The number of rotated files to keep. |
 | `org.apache.sling.commons.log.file.size` | '.'yyyy-MM-dd | Defines how the log file is rotated (by schedule or by size) and when to rotate. See the section *Log File Rotation* below for full details on log file rotation. |
-| `org.apache.sling.commons.log.pattern` | {0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* [{2}]({{ refs.-2.path }}) {3} {5} | The `MessageFormat` pattern to use for formatting log messages with the root logger. |
+| `org.apache.sling.commons.log.pattern` | \{0,date,dd.MM.yyyy HH:mm:ss.SSS\} \*\{4\}\* \[\{2\}\]({{ refs.-2.path }}) \{3\} \{5\} | The `MessageFormat` pattern to use for formatting log messages with the root logger. |
 | `org.apache.sling.commons.log.julenabled` | n/a | Enables the `java.util.logging` support. |
 | `org.apache.sling.commons.log.configurationFile` | n/a | Path for the Logback config file which would be used to configure logging. If the path is not absolute then it would be resolved against Sling Home |
 | `org.apache.sling.commons.log.packagingDataEnabled` | true | Boolean property to control packaging data support of Logback. See [Packaging Data][11] section of Logback for more details |
@@ -104,8 +107,8 @@ The following properties may be set:
 |--|--|--|--|
 | `org.apache.sling.commons.log.level` | `String` | `INFO` | Sets the logging level of the loggers. This may be any of the defined logging levels `DEBUG`, `INFO`, `WARN`, `ERROR` and `FATAL`. |
 | `org.apache.sling.commons.log.file` | `String` | undefined | Sets the log file to which log messages are written. If this property is empty or missing, log messages are written to `System.out`. This property should refer to the file name of a configured Log Writer (see below). If no Log Writer is configured with the same file name an implicit Log Writer configuration with default configuration is created. |
-| `org.apache.sling.commons.log.pattern` | `String` | {0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* [{2}]({{ refs.-2.path }}) {3} {5} | The `java.util.MessageFormat` pattern to use for formatting log messages with the root logger. This is a `java.util.MessageFormat` pattern supporting up to six arguments: {0} The timestamp of type `java.util.Date`, {1} the log marker, {2} the name of the current thread, {3} the name of the logger, {4} the log level and {5} the actual log message. If the log call includes a Throwable, the stacktrace is just appended to the message regardless of the pattern. |
-| `org.apache.sling.commons.log.names` | `String[]` | -- | A list of logger names to which this configuration applies. |
+| `org.apache.sling.commons.log.pattern` | `String` | \{0,date,dd.MM.yyyy HH:mm:ss.SSS\} \*\{4\}\* \[\{2\}\]({{ refs.-2.path }}) \{3\} \{5\} | The `java.util.MessageFormat` pattern to use for formatting log messages with the root logger. This is a `java.util.MessageFormat` pattern supporting up to six arguments: \{0\} The timestamp of type `java.util.Date`, \{1\} the log marker, \{2\} the name of the current thread, \{3\} the name of the logger, \{4\} the log level and \{5\} the actual log message. If the log call includes a Throwable, the stacktrace is just appended to the message regardless of the pattern. |
+| `org.apache.sling.commons.log.names` | `String\[\]` | -- | A list of logger names to which this configuration applies. |
 | `org.apache.sling.commons.log.additiv` | `Boolean` | false | If set to false then logs from these loggers would not be sent to any appender attached higher in the hierarchy |
 
 
@@ -197,22 +200,22 @@ The following sections provide more details.
 [Logback TurboFilters][3] operate globally and are invoked for every Logback call. To register an OSGi `TurboFilter`,
 just to register an service that implements the `ch.qos.logback.classic.turbo.TurboFilter` interface.
 
-:::java
-import import ch.qos.logback.classic.turbo.MatchingFilter;
+    :::java
+    import import ch.qos.logback.classic.turbo.MatchingFilter;
 
-SimpleTurboFilter stf = new SimpleTurboFilter();
-ServiceRegistration sr  = bundleContext.registerService(TurboFilter.class.getName(), stf, null);
+    SimpleTurboFilter stf = new SimpleTurboFilter();
+    ServiceRegistration sr  = bundleContext.registerService(TurboFilter.class.getName(), stf, null);
 
-private static class SimpleTurboFilter extends MatchingFilter {
-@Override
-public FilterReply decide(Marker marker, Logger logger, Level level, String format,
-Object[] params, Throwable t) {
-if(logger.getName().equals("turbofilter.foo.bar")){
-return FilterReply.DENY;
-}
-return FilterReply.NEUTRAL;
-}
-}
+    private static class SimpleTurboFilter extends MatchingFilter {
+        @Override
+        public FilterReply decide(Marker marker, Logger logger, Level level, String format,
+         Object[] params, Throwable t) {
+            if(logger.getName().equals("turbofilter.foo.bar")){
+                    return FilterReply.DENY;
+            }
+            return FilterReply.NEUTRAL;
+        }
+    }
 
 As these filters are invoked for every call they must execute quickly.
 
@@ -223,24 +226,24 @@ be passed to the appender. When registering a filter the bundle needs to configu
 `appenders` which refers to list of appender names to which the Filter must be attached
 
 
-:::java
-import ch.qos.logback.core.filter.Filter;
+    :::java
+    import ch.qos.logback.core.filter.Filter;
 
-SimpleFilter stf = new SimpleFilter();
-Dictionary<String, Object> props = new Hashtable<String, Object>();
-props.put("appenders", "TestAppender");
-ServiceRegistration sr  = bundleContext.registerService(Filter.class.getName(), stf, props);
+    SimpleFilter stf = new SimpleFilter();
+    Dictionary<String, Object> props = new Hashtable<String, Object>();
+    props.put("appenders", "TestAppender");
+    ServiceRegistration sr  = bundleContext.registerService(Filter.class.getName(), stf, props);
 
-private static class SimpleFilter extends Filter<ILoggingEvent> {
+    private static class SimpleFilter extends Filter<ILoggingEvent> {
 
-@Override
-public FilterReply decide(ILoggingEvent event) {
-if(event.getLoggerName().equals("filter.foo.bar")){
-return FilterReply.DENY;
-}
-return FilterReply.NEUTRAL;
-}
-}
+        @Override
+        public FilterReply decide(ILoggingEvent event) {
+            if(event.getLoggerName().equals("filter.foo.bar")){
+                return FilterReply.DENY;
+            }
+            return FilterReply.NEUTRAL;
+        }
+    }
 
 If the `appenders` value is set to `*` then the filter would be registered with all the appenders (`Since 4.0.4`)
 
@@ -250,21 +253,21 @@ If the `appenders` value is set to `*` then the filter would be registered with
 just register a service that implements the `ch.qos.logback.core.Appender` interface.  Such a service must
 have a `loggers` service property, which refers to list of logger names to which the Appender must be attached.
 
-:::java
-Dictionary<String,Object> props = new Hashtable<String, Object>();
+    :::java
+    Dictionary<String,Object> props = new Hashtable<String, Object>();
 
-String[] loggers = {
-"foo.bar:DEBUG",
-"foo.bar.zoo:INFO",
-};
+    String[] loggers = {
+            "foo.bar:DEBUG",
+            "foo.bar.zoo:INFO",
+    };
 
-props.put("loggers",loggers);
-sr = bundleContext.registerService(Appender.class.getName(),this,props);
+    props.put("loggers",loggers);
+    sr = bundleContext.registerService(Appender.class.getName(),this,props);
 
 ### Logback Config Fragment Support
 
 Logback supports including parts of a configuration file from another file (See [File Inclusion][4]). This module
-extends that support by allowing other bundles to provide config fragments. There are two ways to achieve that,
+extends that support by allowing other bundles to provide config fragments. There are two ways to achieve that, 
 described below.
 
 #### Logback config fragments as String objects
@@ -273,48 +276,48 @@ If you have the config as string then you can register that String instance as a
 set to true. The Sling Logback Extension monitors such objects and passes them to logback.
 
 
-:::java
-Properties props = new Properties();
-props.setProperty("logbackConfig","true");
+    :::java
+    Properties props = new Properties();
+    props.setProperty("logbackConfig","true");
 
-String config = "<included>n" +
-"  <appender name="FOOFILE" class="ch.qos.logback.core.FileAppender">n" +
-"    <file>${sling.home}/logs/foo.log</file>n" +
-"    <encoder>n" +
-"      <pattern>%d %-5level %logger{35} - %msg %n</pattern>n" +
-"    </encoder>n" +
-"  </appender>n" +
-"n" +
-"  <logger name="foo.bar.include" level="INFO">n" +
-"       <appender-ref ref="FOOFILE" />n" +
-"  </logger>n" +
-"n" +
-"</included>";
+    String config = "<included>\n" +
+            "  <appender name=\"FOOFILE\" class=\"ch.qos.logback.core.FileAppender\">\n" +
+            "    <file>${sling.home}/logs/foo.log</file>\n" +
+            "    <encoder>\n" +
+            "      <pattern>%d %-5level %logger{35} - %msg %n</pattern>\n" +
+            "    </encoder>\n" +
+            "  </appender>\n" +
+            "\n" +
+            "  <logger name=\"foo.bar.include\" level=\"INFO\">\n" +
+            "       <appender-ref ref=\"FOOFILE\" />\n" +
+            "  </logger>\n" +
+            "\n" +
+            "</included>";
 
-registration = context.registerService(String.class.getName(),config,props);
+    registration = context.registerService(String.class.getName(),config,props);
 
 
 If the config needs to be updated just re-register the service so that changes are picked up.
 
 #### Logback config fragments as ConfigProvider instances
 
-Another way to provide config fragments is with services that implement the
+Another way to provide config fragments is with services that implement the 
 `org.apache.sling.commons.log.logback.ConfigProvider` interface.
 
-:::java
-@Component
-@Service
-public class ConfigProviderExample implements ConfigProvider {
-public InputSource getConfigSource() {
-return new InputSource(getClass().getClassLoader().getResourceAsStream("foo-config.xml"));
-}
-}
+    :::java
+    @Component
+    @Service
+    public class ConfigProviderExample implements ConfigProvider {
+        public InputSource getConfigSource() {
+            return new InputSource(getClass().getClassLoader().getResourceAsStream("foo-config.xml"));
+        }
+    }
 
-If the config changes then sending an OSGi event with the `org/apache/sling/commons/log/RESET` topic
+If the config changes then sending an OSGi event with the `org/apache/sling/commons/log/RESET` topic 
 resets the Logback runtime.
 
-:::java
-eventAdmin.sendEvent(new Event("org/apache/sling/commons/log/RESET",new Properties()));
+    :::java
+    eventAdmin.sendEvent(new Event("org/apache/sling/commons/log/RESET",new Properties()));
 
 ### External Config File
 
@@ -322,16 +325,16 @@ Logback can be configured with an external file. The file name can be specified
 
 1. OSGi config - Look for a config with name `Apache Sling Logging Configuration` and specify the config file path.
 2. OSGi Framework Properties - Logback support also looks for a file named according to the OSGi framwork `org.apache.sling.commons.log.configurationFile` property.
-
+   
 If you are providing an external config file then to support OSGi integration you need to add following
 action entry:
 
-:::xml
-<newRule pattern="*/configuration/osgi"
-actionClass="org.apache.sling.commons.log.logback.OsgiAction"/>
-<newRule pattern="*/configuration/appender-ref-osgi"
-actionClass="org.apache.sling.commons.log.logback.OsgiAppenderRefAction"/>
-<osgi/>
+    :::xml
+    <newRule pattern="*/configuration/osgi"
+             actionClass="org.apache.sling.commons.log.logback.OsgiAction"/>
+    <newRule pattern="*/configuration/appender-ref-osgi"
+             actionClass="org.apache.sling.commons.log.logback.OsgiAppenderRefAction"/>
+    <osgi/>
 
 The `osgi` element enables the OSGi integration support
 
@@ -343,8 +346,8 @@ This allows for routing logging messages from JUL to the Logbback appenders.
 1. Set the `org.apache.sling.commons.log.julenabled` framework property to true.
 
 
-If `org.apache.sling.commons.log.julenabled` is found to be true then [LevelChangePropagator][8] would be
-registered automatically with Logback
+If `org.apache.sling.commons.log.julenabled` is found to be true then [LevelChangePropagator][8] would be 
+registered automatically with Logback 
 
 ### <a name="config-override"></a>Configuring OSGi appenders in the Logback Config
 
@@ -354,70 +357,70 @@ from within the Logback config file. OSGi config based appenders are named based
 
 For example, for the following OSGi config
 
-org.apache.sling.commons.log.file="logs/error.log"
-org.apache.sling.commons.log.level="INFO"
-org.apache.sling.commons.log.file.size="'.'yyyy-MM-dd"
-org.apache.sling.commons.log.file.number=I"7"
-org.apache.sling.commons.log.pattern="{0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* [{2}] {3} {5}"
+    org.apache.sling.commons.log.file="logs/error.log"
+    org.apache.sling.commons.log.level="INFO"
+    org.apache.sling.commons.log.file.size="'.'yyyy-MM-dd"
+    org.apache.sling.commons.log.file.number=I"7"
+    org.apache.sling.commons.log.pattern="{0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* [{2}] {3} {5}"
 
 The Logback appender would be named `logs/error.log`. To extend/override the config in a Logback config
 create an appender with the name `logs/error.log`:
 
-:::xml
-<appender name="/logs/error.log" class="ch.qos.logback.core.FileAppender">
-<file>${sling.home}/logs/error.log</file>
-<encoder>
-<pattern>%d %-5level %X{sling.userId:-NA} [%thread] %logger{30} %marker- %msg %n</pattern>
-<immediateFlush>true</immediateFlush>
-</encoder>
-</appender>
+    :::xml
+    <appender name="/logs/error.log" class="ch.qos.logback.core.FileAppender">
+      <file>${sling.home}/logs/error.log</file>
+      <encoder>
+        <pattern>%d %-5level %X{sling.userId:-NA} [%thread] %logger{30} %marker- %msg %n</pattern>
+        <immediateFlush>true</immediateFlush>
+      </encoder>
+    </appender>
 
-In this case the logging module creates an appender based on the Logback config instead of the OSGi config.
+In this case the logging module creates an appender based on the Logback config instead of the OSGi config. 
 This can be used to move the application from OSGi based configs to Logback based configs.
 
 ## Using Slf4j API 1.7
 
-With Slf4j API 1.7 onwards its possible to use logger methods with varargs i.e. log n arguments without
+With Slf4j API 1.7 onwards its possible to use logger methods with varargs i.e. log n arguments without 
 constructing an object array e.g. `log.info("This is a test {} , {}, {}, {}",1,2,3,4)`. Without var args
-you need to construct an object array `log.info("This is a test {} , {}, {}, {}",new Object[] {1,2,3,4})`.
+you need to construct an object array `log.info("This is a test {} , {}, {}, {}",new Object[] {1,2,3,4})`. 
 To make use of this API and still be able to use your bundle on Sling systems which package older version
 of the API jar, follow the below steps. (See [SLING-3243][SLING-3243]) for more details.
 
 1. Update the api version in the pom:
 
-:::xml
-<dependencies>
-<dependency>
-<groupId>org.slf4j</groupId>
-<artifactId>slf4j-api</artifactId>
-<version>1.7.5</version>
-<scope>provided</scope>
-</dependency>
-...
-</dependency>
-
-2. Add an `Import-Package` instruction with a custom version range:
-
-:::xml
-<build>
-<plugins>
-<plugin>
-<groupId>org.apache.felix</groupId>
-<artifactId>maven-bundle-plugin</artifactId>
-<extensions>true</extensions>
-<configuration>
-<instructions>
-...
-<Import-Package>
-org.slf4j;version="[1.5,2)",
-*
-</Import-Package>
-</instructions>
-</configuration>
-</plugin>
-...
-</plugins>
-</build>
+        :::xml
+        <dependencies>
+            <dependency>
+              <groupId>org.slf4j</groupId>
+              <artifactId>slf4j-api</artifactId>
+              <version>1.7.5</version>
+              <scope>provided</scope>
+            </dependency>
+           ...
+        </dependency>
+
+2. Add an `Import-Package` instruction with a custom version range: 
+
+        :::xml
+        <build>
+            <plugins>
+              <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                  <instructions>
+                    ...
+                    <Import-Package>
+                      org.slf4j;version="[1.5,2)",
+                      *
+                    </Import-Package>
+                  </instructions>
+                </configuration>
+              </plugin>
+              ...
+           </plugins>
+        </build>
 
 The Slf4j API bundle 1.7.x is binary compatible with 1.6.x.
 
@@ -426,7 +429,7 @@ can still be deployed on older systems which provide only the 1.6.4 version of t
 
 ## Log Tracer
 
-Log Tracer provides support for enabling the logs for specific category at specific
+Log Tracer provides support for enabling the logs for specific category at specific 
 level and only for specific request. It provides a very fine level of control via config provided
 as part of HTTP request around how the logging should be performed for given category.
 
@@ -435,7 +438,7 @@ Refer to [Log Tracer Doc](/documentation/bundles/log-tracers.html) for more deta
 ## Slf4j MDC
 
 Sling MDC Inserting Filter exposes various request details as part of [MDC][11].
-
+ 
 Currently it exposes following variables:
 
 1. `req.remoteHost` - Request remote host
@@ -447,8 +450,8 @@ Currently it exposes following variables:
 7. `sling.userId` - UserID associated with the request. Obtained from ResourceResolver
 8. `jcr.sessionId` - Session ID of the JCR Session associated with current request.
 
-The filter also allow configuration to extract data from request cookie, header and parameters.
-Look for configuration with name 'Apache Sling Logging MDC Inserting Filter' for details on
+The filter also allow configuration to extract data from request cookie, header and parameters. 
+Look for configuration with name 'Apache Sling Logging MDC Inserting Filter' for details on 
 specifying header, cookie, param names.
 
 ![MDC Filter Config](/documentation/bundles/mdc-filter-config.png)
@@ -456,62 +459,62 @@ specifying header, cookie, param names.
 <a name="mdc-pattern">
 ### Including MDC in Log Message
 
-To include the MDC value in log message you MUST use the [Logback pattern][15] based on Logback
-and not the old MessageFormat based pattern.
+To include the MDC value in log message you MUST use the [Logback pattern][15] based on Logback 
+and not the old MessageFormat based pattern. 
 
-%d{dd.MM.yyyy HH:mm:ss.SSS} *%p* [%X{req.remoteHost}] [%t] %c %msg%n
+    %d{dd.MM.yyyy HH:mm:ss.SSS} *%p* [%X{req.remoteHost}] [%t] %c %msg%n
 
 ### Installation
 
 Download the bundle from [here][12] or use following Maven dependency
 
-::xml
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.extensions.slf4j.mdc</artifactId>
-<version>1.0.0</version>
-</dependency>
-
+    ::xml
+    <dependency>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>org.apache.sling.extensions.slf4j.mdc</artifactId>
+        <version>1.0.0</version>
+    </dependency>
+    
 ## Logback Groovy Fragment
 
-This fragment is required to make use of Groovy based event evaluation support
+This fragment is required to make use of Groovy based event evaluation support 
 provided by Logback. This enables programatic filtering of the log messages and
 is useful to get desired logs without flooding the system. For example Oak
-logs the JCR operations being performed via a particular session. if this lo is
+logs the JCR operations being performed via a particular session. if this lo is 
 enabled it would flood the log with messages from all the active session. However
-if you need logging only from session created in a particular thread then that
+if you need logging only from session created in a particular thread then that 
 can be done in following way
 
-::xml
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration scan="true" scanPeriod="1 second">
-<jmxConfigurator/>
-<newRule pattern="*/configuration/osgi" actionClass="org.apache.sling.commons.log.logback.OsgiAction"/>
-<newRule pattern="*/configuration/appender-ref-osgi" actionClass="org.apache.sling.commons.log.logback.OsgiAppenderRefAction"/>
-<osgi/>
-
-<appender name="OAK" class="ch.qos.logback.core.FileAppender">
-<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
-<evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
-<expression><![CDATA[
-return e.getThreadName().contains("JobHandler");
-]]></expression>
-</evaluator>
-<OnMismatch>DENY</OnMismatch>
-<OnMatch>ACCEPT</OnMatch>
-</filter>
-<file>${sling.home}/logs/oak.log</file>
-<encoder>
-<pattern>%d %-5level [%thread] %marker- %msg %n</pattern>
-<immediateFlush>true</immediateFlush>
-</encoder>
-</appender>
-
-<logger name="org.apache.jackrabbit.oak.jcr.operations" level="DEBUG" additivity="false">
-<appender-ref ref="OAK"/>
-</logger>
-</configuration>
-
+    ::xml
+    <?xml version="1.0" encoding="UTF-8"?>
+    <configuration scan="true" scanPeriod="1 second">
+      <jmxConfigurator/>
+      <newRule pattern="*/configuration/osgi" actionClass="org.apache.sling.commons.log.logback.OsgiAction"/>
+      <newRule pattern="*/configuration/appender-ref-osgi" actionClass="org.apache.sling.commons.log.logback.OsgiAppenderRefAction"/>
+      <osgi/>
+    
+       <appender name="OAK" class="ch.qos.logback.core.FileAppender">
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">      
+          <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator"> 
+            <expression><![CDATA[
+                return e.getThreadName().contains("JobHandler");
+            ]]></expression>
+          </evaluator>
+          <OnMismatch>DENY</OnMismatch>
+          <OnMatch>ACCEPT</OnMatch>
+        </filter>
+        <file>${sling.home}/logs/oak.log</file>
+        <encoder>
+          <pattern>%d %-5level [%thread] %marker- %msg %n</pattern> 
+          <immediateFlush>true</immediateFlush>
+        </encoder>
+      </appender>
+    
+      <logger name="org.apache.jackrabbit.oak.jcr.operations" level="DEBUG" additivity="false">
+          <appender-ref ref="OAK"/>
+      </logger>
+    </configuration>
+    
 Logback exposes a variable `e` which is of type [ILoggingEvent][13]. It provides access to current logging
 event. Above logback config would route all log messages from `org.apache.jackrabbit.oak.jcr.operations`
 category to `${sling.home}/logs/oak.log`. Further only those log messages would be logged
@@ -522,23 +525,23 @@ be customised.
 
 Currently the bundle is not released and has to be build from [here][14]
 
-::xml
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.extensions.logback-groovy-fragment</artifactId>
-<version>1.0.0-SNAPSHOT</version>
-</dependency>
+    ::xml
+    <dependency>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>org.apache.sling.extensions.logback-groovy-fragment</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </dependency>
 
 ## FAQ
 
 ##### Q. Can Sling Commons Log bundle be used in non Sling environments
 
-This bundle does not depend on any other Sling bundle and can be easily used in any OSGi framework.
+This bundle does not depend on any other Sling bundle and can be easily used in any OSGi framework. 
 To get complete log support working you need to deploy following bundles
 
 * Slf4j-Api - org.slf4j:slf4j-api
 * Jcl over Slf4j - org.slf4j:jcl-over-slf4j
-* Log4j over Slf4j - org.slf4j:log4j-over-slf4j
+* Log4j over Slf4j - org.slf4j:log4j-over-slf4j 
 * Sling Log Service - org.apache.sling:org.apache.sling.commons.logservice:1.0.2
 * Sling Commons Log - org.apache.sling:org.apache.sling.commons.log:4.0.0 or above
 * Sling Log WebConsole - org.apache.sling.commons.log.webconsole:1.0.0 or above
@@ -547,8 +550,8 @@ To get complete log support working you need to deploy following bundles
 
 You need to specify the location of logback.xml via `org.apache.sling.commons.log.configurationFile`
 
-java -jar org.apache.sling.launchpad-XXX-standalone.jar -Dorg.apache.sling.commons.log.configurationFile=/path/to/logback
-
+        java -jar org.apache.sling.launchpad-XXX-standalone.jar -Dorg.apache.sling.commons.log.configurationFile=/path/to/logback
+ 
 
 [1]: http://logback.qos.ch/manual/filters.html
 [2]: http://logback.qos.ch/manual/appenders.html

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/maven-archetypes.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/maven-archetypes.md b/content/documentation/development/maven-archetypes.md
index 81346ad..b11f34a 100644
--- a/content/documentation/development/maven-archetypes.md
+++ b/content/documentation/development/maven-archetypes.md
@@ -1,8 +1,11 @@
-title=Maven Archetypes		
-type=page
+title=TODO title for maven-archetypes.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
 translation_pending: true
+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`.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/maven-launchpad-plugin.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/maven-launchpad-plugin.md b/content/documentation/development/maven-launchpad-plugin.md
index 59b09a6..51ef494 100644
--- a/content/documentation/development/maven-launchpad-plugin.md
+++ b/content/documentation/development/maven-launchpad-plugin.md
@@ -1,8 +1,11 @@
-title=Maven Launchpad Plugin		
-type=page
+title=TODO title for maven-launchpad-plugin.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
 translation_pending: true
+Title: Maven Launchpad Plugin
 
 <div class="note">
 This page is out of sync with the latest maven-launchpad-plugin features and settings. For now,
@@ -11,24 +14,24 @@ refer to the source code and the launchpad/builder and launchpad/testing modules
 
 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
-* Inside Apache Karaf
+ * A WAR file suitable for running in a JavaEE servlet container.
+ * 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/testing/) - uses the application descriptor from `org.apache.sling.launchpad` and adds two bundles.
+ * [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/testing/) - uses the application descriptor from `org.apache.sling.launchpad` and adds two bundles.
 
-Maven Launchpad Plugin provides the following goals:
+Maven Launchpad Plugin provides the following goals: 
 
-| Goals | Description |
+| 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: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. |
@@ -38,11 +41,11 @@ Maven Launchpad Plugin provides the following goals:
 
 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.
+ 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.
 
@@ -52,7 +55,7 @@ The plugin may also contribute bundles to (or remove bundles from) the bundle li
 
 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
+    sling.repository.config.file.url=${basedir}/src/test/config/repository.xml
 
 
 ## Bundle List Files
@@ -60,37 +63,37 @@ sling.repository.config.file.url=${basedir}/src/test/config/repository.xml
 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>
-</startLevel>
-
-<startLevel level="10">
-<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>
-</startLevel>
-</bundles>
+    <?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>
+        </startLevel>
+    
+        <startLevel level="10">
+            <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>
+        </startLevel>
+    </bundles>
 
 
 Within each `bundle` element, `type` and `classifier` are also supported.
@@ -102,47 +105,47 @@ The Http Service support can not be configured using the bundle list, but only u
 The `defaultBundleList`, `jarWebSupport`, `additionalBundles`, and `bundleExclusions` parameters are configured with artifact definitions. This is done using a syntax similar to Maven dependency elements:
 
 
-<configuration>
-...
-<jarWebSupport>
-<groupId>GROUP_ID</groupId>
-<artifactId>ARTIFACT_ID</artifactId>
-<version>VERSION</version>
-<!-- type and classifier can also be specified if needed -->
-</jarWebSupport>
-...
-</configuration>
+    <configuration>
+    ...
+      <jarWebSupport>
+        <groupId>GROUP_ID</groupId>
+        <artifactId>ARTIFACT_ID</artifactId>
+        <version>VERSION</version>
+        <!-- type and classifier can also be specified if needed -->
+      </jarWebSupport>
+    ...
+    </configuration>
 
 
 For example, to use Pax Web instead of Felix HttpService as the HttpService provider, use the following:
 
-<configuration>
-...
-<jarWebSupport>
-<groupId>org.ops4j.pax.web</groupId>
-<artifactId>pax-web-service</artifactId>
-<version>RELEASE</version>
-<!-- type and classifier can also be specified if needed -->
-</jarWebSupport>
-...
-</configuration>
+    <configuration>
+    ...
+      <jarWebSupport>
+        <groupId>org.ops4j.pax.web</groupId>
+        <artifactId>pax-web-service</artifactId>
+        <version>RELEASE</version>
+        <!-- type and classifier can also be specified if needed -->
+      </jarWebSupport>
+    ...
+    </configuration>
 
 
 In the case of `additionalBundles` and `bundleExclusions`, these are arrays of definitions, so an intermediate `bundle` element is necessary:
 
 
-<configuration>
-...
-<additionalBundles>
-<bundle>
-<groupId>GROUP_ID</groupId>
-<artifactId>ARTIFACT_ID</artifactId>
-<version>VERSION</version>
-<!-- type and classifier can also be specified if needed -->
-</bundle>
-</additionalBundles>
-...
-</configuration>
+    <configuration>
+    ...
+      <additionalBundles>
+        <bundle>
+          <groupId>GROUP_ID</groupId>
+          <artifactId>ARTIFACT_ID</artifactId>
+          <version>VERSION</version>
+          <!-- type and classifier can also be specified if needed -->
+        </bundle>
+      </additionalBundles>
+    ...
+    </configuration>
 
 
 By default, bundles are added to start level 0. To change, this use the `startLevel` element within each additional bundle definition.
@@ -157,5 +160,5 @@ The Maven Launchpad Plugin supports the use of rules to rewrite the bundle list.
 
 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`.
+ * `mavenSession` - an instance of `org.apache.maven.execution.MavenSession`.
+ * `mavenProject` - an instance of `org.apache.maven.project.MavenProject`.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/maven-usage.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/maven-usage.md b/content/documentation/development/maven-usage.md
index 44757c7..ae1bc27 100644
--- a/content/documentation/development/maven-usage.md
+++ b/content/documentation/development/maven-usage.md
@@ -1,7 +1,10 @@
-title=Maven Usage		
-type=page
+title=TODO title for maven-usage.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Maven Usage
 
 Apache Sling uses Maven as a build tool. This page documents some of the choices that we made when using Maven.
 
@@ -11,13 +14,13 @@ We separate the reactor POM from the parent POM. While the reactor POM functions
 
 The reference to the parent POM is usually set to a released version since we don't deploy it as a SNAPSHOT during the build process. That reference must also contain an empty parentPath element, otherwise recent version of Maven will try to find it in the local filesystem, disregarding the version if the groupId and artifactId match. An example of how to reference the parent POM is
 
-#!xml
-<parent>
-<groupId>org.apache.sling</groupId>
-<artifactId>sling</artifactId>
-<version>$VERSION</version>
-<relativePath/>
-</parent>
+    #!xml
+    <parent>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>sling</artifactId>
+        <version>$VERSION</version>
+        <relativePath/>
+    </parent>
 
 Where `$VERSION` is replaced by the latest parent POM version.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/maventipsandtricks.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/maventipsandtricks.md b/content/documentation/development/maventipsandtricks.md
index 53f4fc4..5fcfd1f 100644
--- a/content/documentation/development/maventipsandtricks.md
+++ b/content/documentation/development/maventipsandtricks.md
@@ -1,8 +1,11 @@
-title=MavenTipsAndTricks		
-type=page
+title=TODO title for maventipsandtricks.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
 translation_pending: true
+Title: MavenTipsAndTricks
 
 Here's our collection of tips and tricks for building Sling with [Maven](http://maven.apache.org).
 
@@ -24,7 +27,7 @@ To make sure you're getting the same results as we are when building Sling, it i
 On unixish platforms, using
 
 
-mvn -s /dev/null ...
+    mvn -s /dev/null ...
 
 
 does the trick.
@@ -33,7 +36,7 @@ does the trick.
 Does anyone have a similar command-line option that works under Windows?
 </div>
 
-#
+# 
 # MAVEN_OPTS
 The MAVEN_OPTS environment variable defines options for the JVM that executes Maven.
 
@@ -43,7 +46,7 @@ Set it according to your platform, i.e. `export MAVEN*OPTS=...` on unixish syste
 If getting an OutOfMemoryException when running mvn, try setting
 
 
-MAVEN_OPTS="-Xmx256M -XX:MaxPermSize=256m"
+    MAVEN_OPTS="-Xmx256M -XX:MaxPermSize=256m"
 
 
 to allocate 256MB of RAM to Maven.
@@ -52,7 +55,7 @@ to allocate 256MB of RAM to Maven.
 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"
+    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).

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/monitoring-requests.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/monitoring-requests.md b/content/documentation/development/monitoring-requests.md
index f2b1cbf..b9c9523 100644
--- a/content/documentation/development/monitoring-requests.md
+++ b/content/documentation/development/monitoring-requests.md
@@ -1,7 +1,10 @@
-title=Monitoring Requests		
-type=page
+title=TODO title for monitoring-requests.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: 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.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/osgi-mock.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/osgi-mock.md b/content/documentation/development/osgi-mock.md
index bf76a83..e140803 100644
--- a/content/documentation/development/osgi-mock.md
+++ b/content/documentation/development/osgi-mock.md
@@ -1,7 +1,10 @@
-title=OSGi Mocks		
-type=page
+title=TODO title for osgi-mock.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: OSGi Mocks
 
 Mock implementation of selected OSGi APIs for easier testing.
 
@@ -10,11 +13,11 @@ Mock implementation of selected OSGi APIs for easier testing.
 
 ## Maven Dependency
 
-#!xml
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.testing.osgi-mock</artifactId>
-</dependency>
+    #!xml
+    <dependency>
+      <groupId>org.apache.sling</groupId>
+      <artifactId>org.apache.sling.testing.osgi-mock</artifactId>
+    </dependency>
 
 See latest version on the [downloads page](/downloads.cgi).
 
@@ -50,30 +53,30 @@ Since osgi-mock 2.0.0:
 ### OSGi Context JUnit Rule
 
 The OSGi mock context can be injected into a JUnit test using a custom JUnit rule named `OsgiContext`.
-This rules takes care of all initialization and cleanup tasks required to make sure all unit tests can run
+This rules takes care of all initialization and cleanup tasks required to make sure all unit tests can run 
 independently (and in parallel, if required).
 
 Example:
 
-#!java
-public class ExampleTest {
+    #!java
+    public class ExampleTest {
 
-@Rule
-public final OsgiContext context = new OsgiContext();
+      @Rule
+      public final OsgiContext context = new OsgiContext();
 
-@Test
-public void testSomething() {
+      @Test
+      public void testSomething() {
 
-// register and activate service with configuration
-MyService service1 = context.registerInjectActivateService(new MyService(),
-"prop1", "value1");
+        // register and activate service with configuration
+        MyService service1 = context.registerInjectActivateService(new MyService(),
+            "prop1", "value1");
 
-// get service instance
-OtherService service2 = context.getService(OtherService.class);
+        // get service instance
+        OtherService service2 = context.getService(OtherService.class);
 
-}
+      }
 
-}
+    }
 
 It is possible to combine such a unit test with a `@RunWith` annotation e.g. for
 [Mockito JUnit Runner][mockito-testrunner].
@@ -94,23 +97,23 @@ The factory class `MockOsgi` allows to instantiate the different mock implementa
 
 Example:
 
-#!java
-// get bundle context
-BundleContext bundleContext = MockOsgi.newBundleContext();
+    #!java
+    // get bundle context
+    BundleContext bundleContext = MockOsgi.newBundleContext();
 
-// get component context with configuration
-BundleContext bundleContext = MockOsgi.newComponentContext(properties,
-"prop1", "value1");
+    // get component context with configuration
+    BundleContext bundleContext = MockOsgi.newComponentContext(properties,
+        "prop1", "value1");
 
 It is possible to simulate registering of OSGi services (backed by a simple hash map internally):
 
-#!java
-// register service
-bundleContext.registerService(MyClass.class, myService, properties);
+    #!java
+    // register service
+    bundleContext.registerService(MyClass.class, myService, properties);
 
-// get service instance
-ServiceReference ref = bundleContext.getServiceReference(MyClass.class.getName());
-MyClass service = bundleContext.getService(ref);
+    // get service instance
+    ServiceReference ref = bundleContext.getServiceReference(MyClass.class.getName());
+    MyClass service = bundleContext.getService(ref);
 
 
 ### Activation and Dependency Injection
@@ -120,27 +123,27 @@ tries to to its best to execute all as expected for an OSGi environment.
 
 Example:
 
-#!java
-// get bundle context
-BundleContext bundleContext = MockOsgi.newBundleContext();
+    #!java
+    // get bundle context
+    BundleContext bundleContext = MockOsgi.newBundleContext();
 
-// create service instance manually
-MyService service = new MyService();
+    // create service instance manually
+    MyService service = new MyService();
 
-// inject dependencies
-MockOsgi.injectServices(service, bundleContext);
+    // inject dependencies
+    MockOsgi.injectServices(service, bundleContext);
 
-// activate service
-MockOsgi.activate(service, props);
+    // activate service
+    MockOsgi.activate(service, props);
 
-// operate with service...
+    // operate with service...
 
-// deactivate service
-MockOsgi.deactivate(service);
+    // deactivate service
+    MockOsgi.deactivate(service);
 
 Please note:
 
-* You should ensure that you register you services in the correct order of their dependency chain.
+* You should ensure that you register you services in the correct order of their dependency chain. 
 Only dynamic references will be handled automatically independent of registration order.
 * The injectServices, activate and deactivate Methods can only work properly when the SCR XML metadata files
 are preset in the classpath at `/OSGI-INF`. They are generated automatically by the Maven SCR plugin, but might be
@@ -154,13 +157,13 @@ If you want to provide your own configuration to an OSGi service that you do not
 
 Example:
 
-#!java
+    #!java
 
-ConfigurationAdmin configAdmin = context.getService(ConfigurationAdmin.class);
-Configuration myServiceConfig = configAdmin.getConfiguration(MY_SERVICE_PID);
-Dictionary<String, Object> props = new Hashtable<String, Object>();
-props.put("prop1", "value1");
-myServiceConfig.update(props);
+    ConfigurationAdmin configAdmin = context.getService(ConfigurationAdmin.class);
+    Configuration myServiceConfig = configAdmin.getConfiguration(MY_SERVICE_PID);
+    Dictionary<String, Object> props = new Hashtable<String, Object>();
+    props.put("prop1", "value1");
+    myServiceConfig.update(props);
 
 
 ### Context Plugins
@@ -171,11 +174,11 @@ To define a plugin implement the `org.apache.sling.testing.mock.osgi.context.Con
 
 To use a plugin in your unit test class, use the `OsgiContextBuilder` class instead of directly instantiating the `OsgiContext`class. This allows you in a fluent style to configure more options, with the `plugin(...)` method you can add one or more plugins.
 
-Example:
+Example: 
 
-#!java
-@Rule
-public OsgiContext context = new OsgiContextBuilder().plugin(MY_PLUGIN).build();
+    #!java
+    @Rule
+    public OsgiContext context = new OsgiContextBuilder().plugin(MY_PLUGIN).build();
 
 More examples:
 


[09/12] sling-site git commit: Revert 88e80480d5c1dd204ab2cb8a11be9f96caecc899 which ate whitespace at the beginning of lines

Posted by bd...@apache.org.
http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/nosql-resource-providers.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/nosql-resource-providers.md b/content/documentation/bundles/nosql-resource-providers.md
index 8e765f8..0d0f07a 100644
--- a/content/documentation/bundles/nosql-resource-providers.md
+++ b/content/documentation/bundles/nosql-resource-providers.md
@@ -1,7 +1,10 @@
-title=NoSQL Resource Providers (org.apache.sling.nosql)		
-type=page
+title=TODO title for nosql-resource-providers.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: NoSQL Resource Providers (org.apache.sling.nosql)
 [TOC]
 
 
@@ -31,11 +34,11 @@ Tested with MongoDB Server 3.0.6 and MongoDB Java Driver 3.1.1.
 
 Configuration example:
 
-org.apache.sling.nosql.mongodb.resourceprovider.MongoDBNoSqlResourceProviderFactory.factory.config-default
-provider.roots=["/"]
-connectionString="localhost:27017"
-database="sling"
-collection="resources"
+    org.apache.sling.nosql.mongodb.resourceprovider.MongoDBNoSqlResourceProviderFactory.factory.config-default
+        provider.roots=["/"]
+        connectionString="localhost:27017"
+        database="sling"
+        collection="resources"
 
 See Apache Felix OSGi console for detailed documentation of the parameters. All resource data is stored in one Collection of one MongoDB database. Each resource is stored as a document with the path stored in an "_id" property.
 
@@ -52,14 +55,14 @@ Tested with Couchbase Server 4.0.0 and Couchbase Java SDK 2.2.4. Please note: Co
 
 Configuration example:
 
-org.apache.sling.nosql.couchbase.resourceprovider.CouchbaseNoSqlResourceProviderFactory.factory.config-default
-provider.roots=["/"]
+    org.apache.sling.nosql.couchbase.resourceprovider.CouchbaseNoSqlResourceProviderFactory.factory.config-default
+        provider.roots=["/"]
 
-org.apache.sling.nosql.couchbase.client.CouchbaseClient.factory.config-default
-clientId="sling-resourceprovider-couchbase"
-couchbaseHosts="localhost:8091"
-bucketName="sling"
-enabled=B"true"
+    org.apache.sling.nosql.couchbase.client.CouchbaseClient.factory.config-default
+        clientId="sling-resourceprovider-couchbase"
+        couchbaseHosts="localhost:8091"
+        bucketName="sling"
+        enabled=B"true"
 
 See Apache Felix OSGi console for detailed documentation of the parameters. All resource data is stored in one Couchbase bucket. Each resource is stored as a document with the path as key.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/org-apache-sling-junit-bundles.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/org-apache-sling-junit-bundles.md b/content/documentation/bundles/org-apache-sling-junit-bundles.md
index 8eae937..b2c6524 100644
--- a/content/documentation/bundles/org-apache-sling-junit-bundles.md
+++ b/content/documentation/bundles/org-apache-sling-junit-bundles.md
@@ -1,16 +1,19 @@
-title=JUnit server-side testing support bundles		
-type=page
+title=TODO title for org-apache-sling-junit-bundles.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: JUnit server-side testing support bundles
 
-This is an overview of the Sling bundles that provide support for server-side JUnit tests.
+This is an overview of the Sling bundles that provide support for server-side JUnit tests. 
 
-The Maven modules below [`testing/samples`](https://svn.apache.org/repos/asf/sling/trunk/testing/samples)
-provide different examples including HTTP-based and server-side teleported tests in a
+The Maven modules below [`testing/samples`](https://svn.apache.org/repos/asf/sling/trunk/testing/samples) 
+provide different examples including HTTP-based and server-side teleported tests in a 
 bundle module, running against a full Sling instance setup in the same Maven module.
 
 ## org.apache.sling.junit.core: server-side JUnit tests support
-This bundle provides a `JUnitServlet` that runs JUnit tests found in bundles.
+This bundle provides a `JUnitServlet` that runs JUnit tests found in bundles. 
 
 <div class="warning">
 Note that the JUnitServlet does not require authentication, so it would allow any client to run tests. The servlet can be disabled by configuration if needed, but in general the `/system` path should not be accessible to website visitors anyway.
@@ -24,12 +27,12 @@ To make tests available to that servlet, the bundle that contains them must poin
 with a `Sling-Test-Regexp` bundle header that defines a regular expression that matches
 the test class names, like for example:
 
-Sling-Test-Regexp=com.example.*ServerSideTest
+    Sling-Test-Regexp=com.example.*ServerSideTest
 
 ### The TeleporterRule
 
 The `TeleporterRule` supplied by this bundle (since V1.0.12) makes it easy to write such tests, as it takes care of
-all the mechanics of
+all the mechanics of 
 
 1. creating the test bundle including all necessary classes for execution
 1. adding the `Sling-Test-Regexp` header to the bundles manifest
@@ -40,29 +43,29 @@ all the mechanics of
 Most of these steps are done on the client-side by the org.apache.sling.junit.teleporter module (see below).
 
 Using this rule the server-side tests can be mixed with other tests in the source code if that's convenient, it just
-requires the `junit.core` and `junit.teleporter` modules described on this page to create such tests.
+requires the `junit.core` and `junit.teleporter` modules described on this page to create such tests. 
 
 Here's a basic example of a server-side test that accesses OSGi services:
 
-public class BasicTeleporterTest {
-
-@Rule
-public final TeleporterRule teleporter = TeleporterRule.forClass(getClass(), "Launchpad");
-
-@Test
-public void testConfigAdmin() throws IOException {
-final String pid = "TEST_" + getClass().getName() + UUID.randomUUID();
-
-final ConfigurationAdmin ca = teleporter.getService(ConfigurationAdmin.class);
-assertNotNull("Teleporter should provide a ConfigurationAdmin", ca);
-
-final Configuration cfg = ca.getConfiguration(pid);
-assertNotNull("Expecting to get a Configuration", cfg);
-assertEquals("Expecting the correct pid", pid, cfg.getPid());
-}
-}
-
-That's all there is to it, the `TeleporterRule` takes care of the rest.
+    public class BasicTeleporterTest {
+    
+        @Rule
+        public final TeleporterRule teleporter = TeleporterRule.forClass(getClass(), "Launchpad");
+        
+        @Test
+        public void testConfigAdmin() throws IOException {
+            final String pid = "TEST_" + getClass().getName() + UUID.randomUUID();
+            
+            final ConfigurationAdmin ca = teleporter.getService(ConfigurationAdmin.class);
+            assertNotNull("Teleporter should provide a ConfigurationAdmin", ca);
+            
+            final Configuration cfg = ca.getConfiguration(pid);
+            assertNotNull("Expecting to get a Configuration", cfg);
+            assertEquals("Expecting the correct pid", pid, cfg.getPid());
+        }
+    }
+    
+That's all there is to it, the `TeleporterRule` takes care of the rest.     
 
 The test bundle being build and deployed through this rule usually happens quickly as the temporary bundle is
 very small. Both the client-side and server-side parts of the test can be debugged easily
@@ -71,29 +74,29 @@ with the appropriate IDE settings.
 The `Teleporter.getService` method takes an optional OSGi LDAP filter for service
 selection, like for example:
 
-final StringTransformer t = teleporter.getService(StringTransformer.class, "(mode=uppercase)");
+    final StringTransformer t = teleporter.getService(StringTransformer.class, "(mode=uppercase)");
 
 The method waits for the service to be available or until the timeout elapsed ([SLING-6031](https://issues.apache.org/jira/browse/SLING-6031)).
 
 And starting with version 1.0.4 of the `org.apache.sling.junit.teleporter` bundle, you can specify
 resources to embed in the test bundle, as in this example:
 
-@Rule
-public final TeleporterRule teleporter =
-TeleporterRule.forClass(getClass(), "Launchpad")
-.withResources("/foo/", "/some/other/resource.txt");
+    @Rule
+    public final TeleporterRule teleporter = 
+      TeleporterRule.forClass(getClass(), "Launchpad")
+      .withResources("/foo/", "/some/other/resource.txt");
 
 which will embed all resources found under `/foo` as well as the `resource.txt` in the test
 bundle, making them available to the server-side tests.
 
 This teleporter mechanism is used in our integration tests, search for `TeleporterRule` in there
-for examples or look at the
+for examples or look at the 
 [`integrationtest.teleporter`]( https://svn.apache.org/repos/asf/sling/trunk/launchpad/integration-tests/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/teleporter)
-package.
+package. 
 
-As I write this the teleporter mechanism is quite new, I suspect there might be some weird interactions
+As I write this the teleporter mechanism is quite new, I suspect there might be some weird interactions 
 between things like `@AfterClass`, custom test runners and this mechanism but it works well to a growing
-number of tests in our `launchpad/integration-tests` module. Moving to JUnit `Rules` as much as possible,
+number of tests in our `launchpad/integration-tests` module. Moving to JUnit `Rules` as much as possible, 
 and combining them using JUnit's `RuleChain`, should help work around such limitations if they arise.
 
 ### More details on the JUnitServlet
@@ -102,14 +105,14 @@ bundle that contains tests and a `Sling-Test-Regexp` bundle header that points t
 described above. Or use the `TeleporterRule` and set a breakpoint in the tests execution, when the test bundle in
 installed and listed by the test servlet.
 
-To list the available tests, open `/system/sling/junit/` in your browser. The servlet shows available tests and allows
+To list the available tests, open `/system/sling/junit/` in your browser. The servlet shows available tests and allows 
 you to execute them via a POST request.
 
-Adding a path allows you to select a specific subset of tests, as in
+Adding a path allows you to select a specific subset of tests, as in 
 `/system/sling/junit/org.apache.sling.junit.remote.html`
-
-The JUnitServlet provides various output formats, including in particular JSON, see
-`/system/sling/junit/.json` for example.
+ 
+ The JUnitServlet provides various output formats, including in particular JSON, see 
+ `/system/sling/junit/.json` for example.
 
 ## org.apache.sling.junit.teleporter: client-side TeleporterRule support
 This module provides the `ClientSideTeleporter` which the `TeleporterRule` uses to package the server-side tests
@@ -121,8 +124,8 @@ This module is not a bundle, as it's used on the client only, as a dependency wh
 A `TeleporterRule.Customizer` is used to setup the `ClientSideTeleporter`. That customizer is instantiated dynamically
 based on a String passed to the `TeleporterRule.forClass` method as 2nd parameter. As an example from our `launchpad/integration-tests` module, this call
 
-TeleporterRule.forClass(getClass(), "Launchpad:author");
-
+    TeleporterRule.forClass(getClass(), "Launchpad:author");
+    
 causes the `TeleporterRule` to use the `org.apache.sling.junit.teleporter.customizers.LaunchpadCustomizer` class
 to setup the `ClientSideTeleporter`, and passes the "author" string to it as an option. Although our current `LaunchpadCustomizer`
 does not use this options string, it is meant to select a specific server (of family of servers) to run the tests on.
@@ -131,9 +134,9 @@ The options string can also use a full class name instead of the `Launchpad` sho
 of that string that follows the first colon is passed to the customizer as is.
 
 Using Strings for customization reduces the coupling with the `junit.core` bundle, as it does not need to know those
-classes which are used only on the client side when running tests.
+classes which are used only on the client side when running tests. 
 
-If `TeleporterRule.forClass(getClass())` is used (the method without an additional 2nd parameter) the default customizer is used ([SLING-5677](https://issues.apache.org/jira/browse/SLING-5677), since version 1.0.8).
+If `TeleporterRule.forClass(getClass())` is used (the method without an additional 2nd parameter) the default customizer is used ([SLING-5677](https://issues.apache.org/jira/browse/SLING-5677), since version 1.0.8). 
 
 The following customizers are currently used in Sling
 
@@ -171,7 +174,7 @@ Those should give you an overview on what can be done with a customizer and deci
 This bundle allows JUnit tests to run as [Sling Health Checks](/documentation/bundles/sling-health-check-tool.html),
 which can be useful when defining smoke tests for example, allowing them to be used both at build time and run time.
 
-See the `JUnitHealthCheck` class for details.
+See the `JUnitHealthCheck` class for details. 
 
 ## org.apache.sling.junit.scriptable: scriptable server-side tests
 This bundle allows Sling scripts to be executed from the `JUnitServlet` as JUnit tests, as follows:
@@ -182,32 +185,32 @@ This bundle allows Sling scripts to be executed from the `JUnitServlet` as JUnit
 
 Here's a minimal example that sets up and executes a scriptable test:
 
-$ curl -u admin:admin -Fjcr:primaryNodeType=sling:Folder -Fsling:resourceType=foo -Fjcr:mixinTypes=sling:Test http://localhost:8080/apps/foo
-...
-$ echo TEST_PASSED > /tmp/test.txt.esp ; curl -u admin:admin -T/tmp/test.txt.esp http://localhost:8080/apps/foo/test.txt.esp
-
+    $ curl -u admin:admin -Fjcr:primaryNodeType=sling:Folder -Fsling:resourceType=foo -Fjcr:mixinTypes=sling:Test http://localhost:8080/apps/foo
+    ...
+    $ echo TEST_PASSED > /tmp/test.txt.esp ; curl -u admin:admin -T/tmp/test.txt.esp http://localhost:8080/apps/foo/test.txt.esp
+    
 At this point, foo.test.txt is what the scriptable test framework will request, and that outputs just TEST_PASSED:
-
-$ curl -u admin:admin http://localhost:8080/apps/foo.test.txt
-TEST_PASSED
-
+    
+    $ curl -u admin:admin http://localhost:8080/apps/foo.test.txt
+    TEST_PASSED
+    
 And a POST to the JUnit servlet returns information on the test's execution:
 
-curl -u admin:admin -XPOST http://localhost:8080/system/sling/junit/org.apache.sling.junit.scriptable.ScriptableTestsProvider.json
-[{
-"INFO_TYPE": "test",
-"description": "verifyContent[0](org.apache.sling.junit.scriptable.TestAllPaths)",
-"test_metadata": {
-"test_execution_time_msec": 2
-}
-}
-]
+    curl -u admin:admin -XPOST http://localhost:8080/system/sling/junit/org.apache.sling.junit.scriptable.ScriptableTestsProvider.json
+    [{
+        "INFO_TYPE": "test",
+        "description": "verifyContent[0](org.apache.sling.junit.scriptable.TestAllPaths)",
+        "test_metadata": {
+          "test_execution_time_msec": 2
+        }
+      }
+    ]
 
 Test failures would be included in this JSON representation - you can test that by modifying the script to fail and making the
-same request again.
+same request again.      
 
 ## org.apache.sling.junit.remote: obsolete
 
 The `org.apache.sling.junit.remote` bundle provides utilities to run server-side JUnit tests,
 but using the newer `TeleporterRule` described above is much simpler. As a result, this bundle
-should only be needed for existing tests that were written using its mechanisms.
+should only be needed for existing tests that were written using its mechanisms.   

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/osgi-installer.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/osgi-installer.md b/content/documentation/bundles/osgi-installer.md
index 26a06ab..275db45 100644
--- a/content/documentation/bundles/osgi-installer.md
+++ b/content/documentation/bundles/osgi-installer.md
@@ -1,7 +1,10 @@
-title=OSGi Installer		
-type=page
+title=TODO title for osgi-installer.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: OSGi Installer
 
 # Overview
 
@@ -18,7 +21,7 @@ As the OSGi installer itself is not performing the actual install, update or rem
 It's possible to add own providers, transformers and installer factories to support custom scenarios.
 
 ## API
-The installer API is defined by the `org.apache.sling.installer.api` package
+The installer API is defined by the `org.apache.sling.installer.api` package 
 of the [org.apache.sling.installer.core](http://svn.apache.org/repos/asf/sling/trunk/installer/core/) module. The main
 interface is the `OsgiInstaller` with which installable resources can be registered.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/output-rewriting-pipelines-org-apache-sling-rewriter.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/output-rewriting-pipelines-org-apache-sling-rewriter.md b/content/documentation/bundles/output-rewriting-pipelines-org-apache-sling-rewriter.md
index 5b9bc45..d5a95a7 100644
--- a/content/documentation/bundles/output-rewriting-pipelines-org-apache-sling-rewriter.md
+++ b/content/documentation/bundles/output-rewriting-pipelines-org-apache-sling-rewriter.md
@@ -1,7 +1,10 @@
-title=Output Rewriting Pipelines (org.apache.sling.rewriter)		
-type=page
+title=TODO title for output-rewriting-pipelines-org-apache-sling-rewriter.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Output Rewriting Pipelines (org.apache.sling.rewriter)
 
 The Apache Sling Rewriter is a module for rewriting the output generated by a usual Sling rendering process. Some possible use cases include rewriting or checking all links in an HTML page, manipulating the HTML page, or using the generated output as the base for further transformation. An example of further transformation is to use XSLT to transform rendered XML to some output format like HTML or XSL:FO for generating PDF.
 
@@ -17,7 +20,7 @@ The first component in the pipeline generating the initial SAX events is called
 
 Between the generator and the serializer so called transformers can be placed in a chain. A transformer receives SAX events from the previous component in the pipeline and sends SAX events to the next component in the pipeline. A transformer can remove events, change events, add events or just pass on the events.
 
-Sling contains a default pipeline which is executed for all HTML responses: it starts with an HTML generator, parsing the HTML output and sending events into the pipeline. An HTML serializer collects all events and serializes the output.
+Sling contains a default pipeline which is executed for all HTML responses: it starts with an HTML generator, parsing the HTML output and sending events into the pipeline. An HTML serializer collects all events and serializes the output. 
 
 The pipelines can be configured in the repository as a child node of */apps/APPNAME/config/rewriter* (or */libs/APPNAME/config/rewriter*). (In fact the configured search paths of the resource resolver are observed.) Each node can have the following properties:
 
@@ -35,7 +38,7 @@ The pipelines can be configured in the repository as a child node of */apps/APPN
 
 As you can see from the configuration there are several possibilities to define when a pipeline should be used for a response, like paths, extensions, content types, or resource types. It is possible to specify several of them at once. In this case all conditions must be met.
 
-If a component needs a configuration, the configuration is stored in a child node which name is *{componentType}-{name}*, e.g. to configure the HTML generator (named *html-generator*), the node should have the name *generator-html-generator*. In the case that the pipeline contains the same transformer several times, the configuration child node should have the formant *{componentType}-{index}* where index is the index of the transformer starting with 1. For example if you have a pipeline with the following transformers, xslt, html-cleaner, xslt, link-checker, then the configuration nodes should be named *transformer-1* (for the first xslt), *transformer-html-cleaner*, *transformer-3* (for the second xslt), and *transformer-link-checker*.
+If a component needs a configuration, the configuration is stored in a child node which name is *\{componentType\}\-\{name\}*, e.g. to configure the HTML generator (named *html\-generator*), the node should have the name *generator-html-generator*. In the case that the pipeline contains the same transformer several times, the configuration child node should have the formant *\{componentType\}-\{index\}* where index is the index of the transformer starting with 1. For example if you have a pipeline with the following transformers, xslt, html-cleaner, xslt, link-checker, then the configuration nodes should be named *transformer-1* (for the first xslt), *transformer-html-cleaner*, *transformer-3* (for the second xslt), and *transformer-link-checker*.
 
 
 ### Default Pipeline
@@ -47,10 +50,10 @@ As the HTML generated by Sling is not required to be valid XHTML, the HTML parse
 
 Each pipeline component type has a corresponding Java interface (Generator, Transformer, and Serializer) together with a factory interface (GeneratorFactory, TransformerFactory, and SerializerFactory). When implementing such a component, both interfaces need to be implemented. The factory has only one method which creates a new instance of that type for the current request. The factory has to be registered as a service. For example if you're using the Maven SCR plugin, it looks like this:
 
-::java
-@scr.component metatype="no"
-@scr.service interface="TransformerFactory"
-@scr.property value="pipeline.type" value="validator"
+    ::java
+    @scr.component metatype="no" 
+    @scr.service interface="TransformerFactory"
+    @scr.property value="pipeline.type" value="validator"
 
 The factory needs to implement the according interface and should be registered as a service for this factory interface (this is a plain service and not a factory service in the OSGi sense). Each factory gets a unique name through the *pipeline.type* property. The pipeline configuration in the repository just references this unique name (like validator).
 
@@ -59,11 +62,11 @@ With the possibilities from above, it is possible to define new pipelines and ad
 
 The approach here is nearly the same. A transformer factory needs to be implemented, but instead of giving this factory a unique name, this factory is marked as a global factory:
 
-::java
-@scr.component metatype="no"
-@scr.service interface="TransformerFactory"
-@scr.property name="pipeline.mode" value="global"
-@scr.property name="service.ranking" value="RANKING" type="Integer"
+    ::java
+    @scr.component metatype="no"
+    @scr.service interface="TransformerFactory"
+    @scr.property name="pipeline.mode" value="global"
+    @scr.property name="service.ranking" value="RANKING" type="Integer"
 
 *RANKING* is an integer value (don't forget the type attribute otherwise the ranking is interpreted as zero!) specifying where to add the transformer in the pipeline. If the value is less than zero the transformer is added at the beginning of the pipeline right after the generator. If the ranking is equal or higher as zero, the transformer is added at the end of the pipeline before the serializer.
 
@@ -79,10 +82,10 @@ The *getWriter* method should return a writer where the output is written to. Wh
 
 Like the pipeline components a processor is generated by a factory which has to be registered as a service factory, like this:
 
-::java
-@scr.component metatype="no"
-@scr.service interface="ProcessorFactory"
-@scr.property value="pipeline.type" value="uniqueName"
+    ::java
+    @scr.component metatype="no" 
+    @scr.service interface="ProcessorFactory"
+    @scr.property value="pipeline.type" value="uniqueName"
 
 ## Configuring a Processor
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/rendering-content-default-get-servlets.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/rendering-content-default-get-servlets.md b/content/documentation/bundles/rendering-content-default-get-servlets.md
index ebed222..e7b896e 100644
--- a/content/documentation/bundles/rendering-content-default-get-servlets.md
+++ b/content/documentation/bundles/rendering-content-default-get-servlets.md
@@ -1,7 +1,10 @@
-title=Rendering Content - Default GET Servlets		
-type=page
+title=TODO title for rendering-content-default-get-servlets.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Rendering Content - Default GET Servlets
 
 [TOC]
 
@@ -22,19 +25,19 @@ This page provides an overview of these default servlets.
 Currently, only the `DefaultGetServlet` has configuration parameters. Those are found at
 `/system/console/configMgr/org.apache.sling.servlets.get.DefaultGetServlet` on a standard Sling setup,
 and should be self-explaining. One common use is to disable some of the default renderings listed below,
-as they might not be useful or desired on production systems.
+as they might not be useful or desired on production systems. 
 
 # Default renderings
 
 ## Default JSON rendering
-Adding a .json extension to a request triggers the default Sling GET servlet in JSON mode, unless a
+Adding a .json extension to a request triggers the default Sling GET servlet in JSON mode, unless a 
 more specific servlet or script is provided for the current resource.
 
 This servlet currently supports the following selectors:
 
-* `.tidy` causes the JSON output to be formatted
-* `.harray` causes child nodes to be output as arrays instead of objects, to preserve their order (requires `org.apache.sling.servlets.get` V2.1.10)
-* A numeric value or `.infinity` as the last selector selects the desired recursion level
+  * `.tidy` causes the JSON output to be formatted
+  * `.harray` causes child nodes to be output as arrays instead of objects, to preserve their order (requires `org.apache.sling.servlets.get` V2.1.10)
+  * A numeric value or `.infinity` as the last selector selects the desired recursion level 
 
 Note that the number of elements is limited by a configurable value, see the `DefaultGetServlet` configuration for more info.
 
@@ -66,11 +69,11 @@ Whenever the request carries the extension `.res` or no extension at all, the re
 The `RedirectServlet` handles the `sling:redirect` resource type, using the `sling:target` property of the
 resource to define the redirect target, and the `sling:status` property to define the HTTP status to use (default is 302).
 
-This is not to be confused with the `sling:redirect` property used under `/etc/map`, which is described in
+This is not to be confused with the `sling:redirect` property used under `/etc/map`, which is described in 
 [Mappings for Resource Resolution](/documentation/the-sling-engine/mappings-for-resource-resolution.html)
 
 ## SlingInfoServlet
 
 The `SlingInfoServlet` provides info on the current JCR session, for requests that map to JCR nodes.
 
-It is available at `/system/sling/info.sessionInfo` by default, and supports `.json` and `.txt` extensions.
+It is available at `/system/sling/info.sessionInfo` by default, and supports `.json` and `.txt` extensions. 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/repository-initialization.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/repository-initialization.md b/content/documentation/bundles/repository-initialization.md
index f501e0c..68c627a 100644
--- a/content/documentation/bundles/repository-initialization.md
+++ b/content/documentation/bundles/repository-initialization.md
@@ -1,5 +1,7 @@
-title=		
+title=Repository Initializers and Repository Initialization Language
+date=2013-08-25
 type=page
+tags=repoinit,repository
 status=published
 ~~~~~~
 
@@ -13,18 +15,18 @@ the same content repository you'll need to implement a synchronization mechanism
 ## SlingRepositoryInitializer
 The `SlingRepositoryInitializer` is a very simple service interface, available from version 2.4.0 of the `org.apache.sling.jcr.api` and `org.apache.sling.jcr.base` bundles.
 
-public interface SlingRepositoryInitializer {
-public void processRepository(SlingRepository repo) throws Exception;
-}
-
+	public interface SlingRepositoryInitializer {
+	    public void processRepository(SlingRepository repo) throws Exception;
+	}
+	
 Services that implement this interface are called when setting up the JCR-based `SlingRepository` service, before registering it as an OSGi service.
 
 They are called in increasing order of their `service.ranking` service property, which needs to be an `Integer` as usual.
 
 If any of them throws an Exception, the `SlingRepository` service is not registered.
-
+    
 ## The 'repoinit' Repository Initialization Language
-The `org.apache.sling.repoinit.parser` implements a mini-language meant to create paths, service users and Access Control Lists in a content repository, as
+The `org.apache.sling.repoinit.parser` implements a mini-language meant to create paths, service users and Access Control Lists in a content repository, as 
 well as registering JCR namespaces and node types.
 
 The language grammar is defined (using the JavaCC compiler-compiler, which has no runtime dependencies) in the `RepoInitGrammar.jjt` file in that module, and the automated tests provide a number of [test cases](https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases) which demonstrate various features.
@@ -33,83 +35,83 @@ The companion `org.apache.sling.jcr.repoinit` module implements those operations
 registered by default with a service ranking of 100. It also provides a `JcrRepoInitOpsProcessor` service to explicitly apply the output
 of the repoinit parser to a JCR repository.
 
-Here's a current example from the test cases mentioned above, that uses all language features as of version 1.0.2 of the parser module.
+Here's a current example from the test cases mentioned above, that uses all language features as of version 1.0.2 of the parser module. 
 
 The language is self-explaining but please refer to the actual test cases for details that are guaranteed to be up to date, assuming the tests pass.
 
-create service user user1, u-ser_2
-set ACL on /libs,/apps
-allow jcr:read for user1,u-ser_2
-
-deny jcr:write for u-ser_2
-deny jcr:lockManagement for user1
-remove jcr:understand,some:other for u3
-end
-
-create service user bob_the_service
-
-set ACL on /tmp
-allow some:otherPrivilege for bob_the_service
-end
-
-# Nodetypes inside the path apply to just that path element
-create path /content/example.com(sling:Folder)
-
-# A nodetype in front is used as the default for all path elements
-create path (nt:unstructured) /var
-
-set ACL for alice, bob,fred
-# remove is currently not supported by the jcr.repoinit module
-remove * on /
-allow jcr:read on /content,/var
-deny jcr:write on /content/example.com
-deny jcr:all on / nodetypes example:Page
-end
-
-set ACL for restrictions_examples
-deny jcr:modifyProperties on /apps, /content nodetypes sling:Folder, nt:unstructured restriction(rep:itemNames,prop1,prop2)
-allow jcr:addChildNodes on /apps restriction(rep:ntNames,sling:Folder,nt:unstructured)
-allow jcr:modifyProperties on /apps restriction(rep:ntNames,sling:Folder,nt:unstructured) restriction(rep:itemNames,prop1,prop2)
-allow jcr:addChildNodes on /apps,/content restriction(rep:glob,/cat/*,*/cat,*cat/*)
-end
-
-# register namespace requires
-# o.a.s.repoinit.parser 1.0.4
-# and o.a.s.jcr.repoinit 1.0.2
-register namespace ( NSprefix ) uri:someURI/v1.42
-
-# register nodetypes in CND format
-# (same bundle requirements as register namespaces)
-#
-# The optional << markers are used when embedding
-# this in a Sling provisioning model, to avoid syntax errors
-#
-# The CND instructions are passed as is to the JCR
-# modules, so the full CND syntax is supported.
-#
-register nodetypes
-<<===
-<<  <slingevent='http://sling.apache.org/jcr/event/1.0'>
-<<
-<<  [slingevent:Event] > nt:unstructured, nt:hierarchyNode
-<<    - slingevent:topic (string)
-<<    - slingevent:properties (binary)
-===>>
-
-create user demoUser with password {SHA-256} dc460da4ad72c482231e28e688e01f2778a88ce31a08826899d54ef7183998b5
-
-create service user the-last-one
+    create service user user1, u-ser_2
+    set ACL on /libs,/apps
+        allow jcr:read for user1,u-ser_2
+
+        deny jcr:write for u-ser_2
+        deny jcr:lockManagement for user1
+        remove jcr:understand,some:other for u3
+    end
+
+    create service user bob_the_service
+
+    set ACL on /tmp
+        allow some:otherPrivilege for bob_the_service
+    end
+
+    # Nodetypes inside the path apply to just that path element
+    create path /content/example.com(sling:Folder)
+	
+	# A nodetype in front is used as the default for all path elements
+    create path (nt:unstructured) /var
+
+    set ACL for alice, bob,fred
+        # remove is currently not supported by the jcr.repoinit module
+        remove * on / 
+        allow jcr:read on /content,/var
+        deny jcr:write on /content/example.com
+        deny jcr:all on / nodetypes example:Page
+    end
+	
+	set ACL for restrictions_examples
+	    deny jcr:modifyProperties on /apps, /content nodetypes sling:Folder, nt:unstructured restriction(rep:itemNames,prop1,prop2)
+	    allow jcr:addChildNodes on /apps restriction(rep:ntNames,sling:Folder,nt:unstructured)
+	    allow jcr:modifyProperties on /apps restriction(rep:ntNames,sling:Folder,nt:unstructured) restriction(rep:itemNames,prop1,prop2)
+	    allow jcr:addChildNodes on /apps,/content restriction(rep:glob,/cat/*,*/cat,*cat/*)
+	end
+	
+	# register namespace requires 
+	# o.a.s.repoinit.parser 1.0.4
+	# and o.a.s.jcr.repoinit 1.0.2
+	register namespace ( NSprefix ) uri:someURI/v1.42
+
+	# register nodetypes in CND format
+	# (same bundle requirements as register namespaces)
+	#
+	# The optional << markers are used when embedding
+	# this in a Sling provisioning model, to avoid syntax errors
+	#
+	# The CND instructions are passed as is to the JCR
+	# modules, so the full CND syntax is supported.
+	#
+	register nodetypes
+	<<===
+	<<  <slingevent='http://sling.apache.org/jcr/event/1.0'>
+	<<
+	<<  [slingevent:Event] > nt:unstructured, nt:hierarchyNode
+	<<    - slingevent:topic (string)
+	<<    - slingevent:properties (binary)
+	===>>
+
+    create user demoUser with password {SHA-256} dc460da4ad72c482231e28e688e01f2778a88ce31a08826899d54ef7183998b5
+
+    create service user the-last-one
 
 ## Providing repoinit statements from the Sling provisioning model or other URLs
 
 All bundles required for this feature need to be active before the `SlingRepository` service starts.
 
-From version 1.0.2 of the `org.apache.sling.jcr.repoinit` bundle, the `o.a.s.jcr.repoinit.RepositoryInitializer` component uses an OSGi
+From version 1.0.2 of the `org.apache.sling.jcr.repoinit` bundle, the `o.a.s.jcr.repoinit.RepositoryInitializer` component uses an OSGi 
 configuration as shown in this example to define where to read repoinit statements:
 
-org.apache.sling.jcr.repoinit.impl.RepositoryInitializer
-references=["model:context:/resources/provisioning/model.txt","model@repoinitTwo:context:/resources/provisioning/model.txt"]
-
+    org.apache.sling.jcr.repoinit.impl.RepositoryInitializer
+      references=["model:context:/resources/provisioning/model.txt","model@repoinitTwo:context:/resources/provisioning/model.txt"]
+    
 This example defines two _references_ to URLs that supply repoinit statements. Their syntax is described below.
 
 By default the `RepositoryInitializer` uses the first URL shown in the above example, which points to the provisioning model that's embedded by default in the Sling Launchpad runnable jar.
@@ -122,30 +124,30 @@ their name with a colon.
 
 At runtime this requires the `org.apache.sling.provisioning.model` bundle, version 1.4.2 or later.
 
-The `o.a.s.jcr.repoinit` bundle can use this feature to execute `repoinit` statements provided by Sling provisioning models, as in this
+The `o.a.s.jcr.repoinit` bundle can use this feature to execute `repoinit` statements provided by Sling provisioning models, as in this 
 provisioning model example fragment:
 
-[:repoinit]
-create path /repoinit/provisioningModelTest
-
-create service user provisioningModelUser
+    [:repoinit]
+    create path /repoinit/provisioningModelTest
 
+    create service user provisioningModelUser
+	
 To read repoinit statements from such an additional provisioning model section, the `RepositoryInitializer` configuration shown above uses references like
 
-model@repoinitTwo:context:/resources/provisioning/model.txt
-
-Where _model_ means "use the provisioning model format", _repoinitTwo_ is the name of the additional section to read statements from in the provisioning
+    model@repoinitTwo:context:/resources/provisioning/model.txt
+	
+Where _model_ means "use the provisioning model format", _repoinitTwo_ is the name of the additional section to read statements from in the provisioning 
 model (without the leading colon) and _context:/resources/..._ is the URL to use to retrieve the provisioning model.
 
 In this example the URL uses the _context_ scheme defined by the Sling Launchpad, but any scheme can be used provided a suitable URL handler is active.
 
 The section name in that reference is optional and defaults to _repoinit_. If it's not specified the `@` should be omitted as well.
-
+	
 ### References to URLs providing raw repoinit statements
 Using a `RepositoryInitializer` reference like in this example, with the _raw_ prefix, means that its content is passed as is to the repoinit parser:
 
-raw:classpath://some-repoinit-file.txt
-
+    raw:classpath://some-repoinit-file.txt
+	
 Which points to a `classpath:` URL to provide the raw repoinit statements in this example, but again any valid URL scheme can be used.
 
-
+   

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/request-analysis.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/request-analysis.md b/content/documentation/bundles/request-analysis.md
index cde35eb..dd0de13 100644
--- a/content/documentation/bundles/request-analysis.md
+++ b/content/documentation/bundles/request-analysis.md
@@ -1,7 +1,10 @@
-title=Request Processing Analyzer (reqanalyzer)		
-type=page
+title=TODO title for request-analysis.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Request Processing Analyzer (reqanalyzer)
 
 [TOC]
 
@@ -44,7 +47,7 @@ that is on the same host as the Sling instance is running.
 
 To analyze the `requesttracker.txt` file the *Request Processing Analyzer* module can also be used as a standalone Java application. Just start the module using the `java` command:
 
-$ java -jar org.apache.sling.reqanalyzer-0.0.1-SNAPSHOT.jar requesttracker.txt
+    $ java -jar org.apache.sling.reqanalyzer-0.0.1-SNAPSHOT.jar requesttracker.txt
 
 The command supports two command line arguments:
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/resource-access-security.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/resource-access-security.md b/content/documentation/bundles/resource-access-security.md
index 7486899..fb5581b 100644
--- a/content/documentation/bundles/resource-access-security.md
+++ b/content/documentation/bundles/resource-access-security.md
@@ -1,34 +1,37 @@
-title=Resource Access Security		
-type=page
+title=TODO title for resource-access-security.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Resource Access Security
 Notice:    Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-.
-http://www.apache.org/licenses/LICENSE-2.0
-.
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
+           or more contributor license agreements.  See the NOTICE file
+           distributed with this work for additional information
+           regarding copyright ownership.  The ASF licenses this file
+           to you under the Apache License, Version 2.0 (the
+           "License"); you may not use this file except in compliance
+           with the License.  You may obtain a copy of the License at
+           .
+             http://www.apache.org/licenses/LICENSE-2.0
+           .
+           Unless required by applicable law or agreed to in writing,
+           software distributed under the License is distributed on an
+           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+           KIND, either express or implied.  See the License for the
+           specific language governing permissions and limitations
+           under the License.
 
 ## Summary
 The ResourceAccessSecurity service allows it to restrict access to resources. The access can be granted or denied for read, create, update and delete actions.
 
-The ResourceAccessSecurity defines a service API which is used in two different context: for securing resource providers which have no own access control and on the application level to further restrict the access to resources in general.
+The ResourceAccessSecurity defines a service API which is used in two different context: for securing resource providers which have no own access control and on the application level to further restrict the access to resources in general. 
 
-A resource access security service is registered with the service property “context”. Allowed values are “application” and “provider”. If the value is missing or invalid, the service will be ignored.
+A resource access security service is registered with the service property “context”. Allowed values are “application” and “provider”. If the value is missing or invalid, the service will be ignored. 
 
-In the context of resource providers, this service might be used for implementations of resource providers where the underlying persistence layer does not implement access control. The goal is to make it easy to implement a lightweight access control for such providers. For example, a JCR resource providers should not use the provider context resource access security - in a JCR context, security is fully delegated to the underlying repository, and mixing security models would be a bad idea.
+In the context of resource providers, this service might be used for implementations of resource providers where the underlying persistence layer does not implement access control. The goal is to make it easy to implement a lightweight access control for such providers. For example, a JCR resource providers should not use the provider context resource access security - in a JCR context, security is fully delegated to the underlying repository, and mixing security models would be a bad idea. 
 
-In the context of the application, this service might be used to add additional or temporary constraints across the whole resource tree.
+In the context of the application, this service might be used to add additional or temporary constraints across the whole resource tree. 
 
 ## How to use ResourceAccessSecurity
 To use the ResourceAccessSecurity service you don’t have to implement the interface ResourceAccessSecurity. Simply add the resourceaccesssecurity bundle to your sling instance. This adds an implementation of the ResourceAccessSecurity service for the provider context (“provider”) and also the application context (“application”).
@@ -40,34 +43,34 @@ The ResourceAccessGate defines a service API which can be used to make some rest
 ### Service properties
 
 Property name     |  description
------------------ | -----------------------
-Path              | regexp to define on which paths the service should be called (default .*)
-operations        | set of operations on which the service should be called ("read,create,update,delete,execute", default all of them)
-finaloperations   | set of operations on which the service answer is final and no further service should be called (default none of them), except the GateResult is GateResult.CANT_DECIDE
+----------------- | ----------------------- 
+Path              | regexp to define on which paths the service should be called (default .*) 
+operations        | set of operations on which the service should be called ("read,create,update,delete,execute", default all of them) 
+finaloperations   | set of operations on which the service answer is final and no further service should be called (default none of them), except the GateResult is GateResult.CANT_DECIDE 
 context           | “provider” or “application”. The resource access gate can either have the context “provider”, in this case the gate is only applied to resource providers requesting the security checks. Or the context can be “application”. In this case the access gate is invoked for the whole resource tree. This is indicated by the required service property “context”. If the property is missing or invalid, the service is ignored.
 
 ### How to implement ResourceAccessGate
 The implementation is straightforward. The easiest way is to extend ` AllowingResourceAccessGate ` which is exported by the resourceaccesssecurity bundle and does not deny any access. So if you wan’t restrict access on resources for read operations you have to implement to following two methods:
 
-::java
-@Override
-public boolean hasReadRestrictions(final ResourceResolver resourceResolver) {
-return true;
-}
-
-@Override
-public GateResult canRead(final Resource resource) {
-GateResult returnValue = GateResult.CANT_DECIDE;
-if( whatever-condition ) {
-returnValue = GateResult.GRANTED;
-}
-else {
-returnValue = GateResult.DENIED;
-}
-
-return returnValue;
-}
-
+	::java
+	@Override
+	public boolean hasReadRestrictions(final ResourceResolver resourceResolver) {
+		return true;
+	}
+	
+	@Override
+	public GateResult canRead(final Resource resource) {
+		GateResult returnValue = GateResult.CANT_DECIDE;
+		if( whatever-condition ) {
+			returnValue = GateResult.GRANTED;
+		}
+		else {
+			returnValue = GateResult.DENIED;
+		}
+	  
+		return returnValue;
+	}
+	
 And you have to register the ResourceAccessGate with the path where you wan’t to restrict access and the operation property set to “read”. Furthermore you have to decide if the ResourceAccessGate should operate on all resource providers (context=”application”) or only on the resourceproviders flagged with the property useResourceAccessSecurity=true (context=”provider”).
 
 Tip: We do not recommend to mix up application and provider context in the same application. This can lead to confusing configurations in the ResourceAccessGate implementations.
@@ -75,9 +78,9 @@ Tip: We do not recommend to mix up application and provider context in the same
 ### GateResult
 GateResult does have three states:
 
-- GateResult.GRANTED
-- GateResult.DENIED
-- GateResult.CANT_DECIDE
+  - GateResult.GRANTED
+  - GateResult.DENIED
+  - GateResult.CANT_DECIDE
 
 The first two of them are self-explanatory. CANT_DECIDE means that the actual gate neither can grant nor deny the access. If no other gate does return GRANTED or DENIED the access to the resource will be denied for security reasons. CANT-DECIDE comes handy if you declare finaloperations (where no other gate will be called after this gate). If such a gate returns CANT_DECIDE, further gates will be called regardless of the setted finaloperations property.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/resource-editor.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/resource-editor.md b/content/documentation/bundles/resource-editor.md
index 2c1d155..476270b 100644
--- a/content/documentation/bundles/resource-editor.md
+++ b/content/documentation/bundles/resource-editor.md
@@ -1,23 +1,26 @@
-title=The Apache Sling Resource Editor		
-type=page
+title=TODO title for resource-editor.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: The Apache Sling Resource Editor
 Notice:    Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-.
-http://www.apache.org/licenses/LICENSE-2.0
-.
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
+           or more contributor license agreements.  See the NOTICE file
+           distributed with this work for additional information
+           regarding copyright ownership.  The ASF licenses this file
+           to you under the Apache License, Version 2.0 (the
+           "License"); you may not use this file except in compliance
+           with the License.  You may obtain a copy of the License at
+           .
+             http://www.apache.org/licenses/LICENSE-2.0
+           .
+           Unless required by applicable law or agreed to in writing,
+           software distributed under the License is distributed on an
+           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+           KIND, either express or implied.  See the License for the
+           specific language governing permissions and limitations
+           under the License.
 
 ![alt text][1]
 
@@ -25,7 +28,7 @@ Features
 ========
 Currently it allows to display the node properties and edit nodes.
 
-* Node editing includes adding, renaming and deleting nodes.
+* Node editing includes adding, renaming and deleting nodes. 
 * Multi selection of nodes, Keyboard controls for navigation and shortcuts are provided. Click on the info icon in the tree to get detailed information.
 * The node names are HTML and URL encoded.
 * The add node dialog provides you with the allowed node name / node type / resource type options and its combinations to prevent errors soon. Click on the info icon in the dialog to discover more.
@@ -42,5 +45,5 @@ Installation
 1. Open `http://localhost:8080/reseditor/.html` in your browser.
 1. Enjoy!
 
-[1]: http://sling.apache.org/documentation/bundles/resource-editor-screenshot.png
-[2]: http://sling.apache.org/documentation/development/getting-and-building-sling.html
+  [1]: http://sling.apache.org/documentation/bundles/resource-editor-screenshot.png
+  [2]: http://sling.apache.org/documentation/development/getting-and-building-sling.html

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/resource-merger.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/resource-merger.md b/content/documentation/bundles/resource-merger.md
index 0d4c805..2878807 100644
--- a/content/documentation/bundles/resource-merger.md
+++ b/content/documentation/bundles/resource-merger.md
@@ -1,7 +1,10 @@
-title=Resource Merger (org.apache.sling.resourcemerger)		
-type=page
+title=TODO title for resource-merger.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Resource Merger (org.apache.sling.resourcemerger)
 [TOC]
 
 
@@ -15,16 +18,16 @@ The Resource Merger bundle provides two resource provider factories
 
 Those providers give access to virtual resources which provide a merged view on multiple other resources.
 
-Each `MergedResourcePicker` service implementation in the system provides one unique mount point/root path (usually starting with `/mnt`) exposing a view on merged resources from at least two different locations.
+Each `MergedResourcePicker` service implementation in the system provides one unique mount point/root path (usually starting with `/mnt`) exposing a view on merged resources from at least two different locations. 
 
-The exact merging mechanism depends on the resource picker implementation (see below). The order of the merging is important as the overlying resource may overwrite properties/child resources from the underlying resource (but not vice-versa).
+The exact merging mechanism depends on the resource picker implementation (see below). The order of the merging is important as the overlying resource may overwrite properties/child resources from the underlying resource (but not vice-versa). 
 It is possible to
 
 * remove existing resource/properties from the underlying resources,
 * modify existing properties/child resources of the underlying resources and
 * add new properties/child resources
 
-You may use any of the merge properties described below to influence the merging behaviour. All those special properties are not exposed below the mount point.
+You may use any of the merge properties described below to influence the merging behaviour. All those special properties are not exposed below the mount point. 
 
 The `CRUDMergingResourceProvider` not only gives read-access to the merged resources but even allows to write. This provider always writes inside the topmost resource path (being returned as last item by the resource picker). Currently both resource pickers shipped with the Sling Resource Merger bundle do not allow to write though. Further details can be found in the description of [SLING-3909](https://issues.apache.org/jira/browse/SLING-3909).
 
@@ -45,18 +48,18 @@ First the ones from the base resource, then the ones from the overlaying resourc
 
 In case the same child is defined in more than one resource, its position is taken from the highest overlaying resource (since version 1.3.2, see also [SLING-4915](https://issues.apache.org/jira/browse/SLING-4915)).
 For example:
-
-base/
-+--child1
-+--child2
-+--child3
-
-overlay/
-+--child4
-+--child2
-+--child3
-
-resulting order: child1, child4, child2, child3
+    
+    base/
+    	+--child1
+    	+--child2
+    	+--child3
+    	
+    overlay/
+        +--child4
+    	+--child2
+    	+--child3
+    	
+    resulting order: child1, child4, child2, child3
 
 You can overwrite that behaviour by leveraging the `sling:orderBefore` property.
 
@@ -64,43 +67,43 @@ You can overwrite that behaviour by leveraging the `sling:orderBefore` property.
 
 ## Merging Resource Picker (Overlay approach)
 
-Description | Merged Resource Path | Merging Order | Read-Only | Related Ticket
+ Description | Merged Resource Path | Merging Order | Read-Only | Related Ticket 
 ------------ | -------------------- | ------------- | --------- | ---------------
-Merging based on the resource resolver's search path | `/mnt/overlay/<relative resource path>` | Last resource resolver search path first (Order = Descending search paths). | `true` |  [SLING-2986](http://issues.apache.org/jira/browse/SLING-2986)
+Merging based on the resource resolver's search path | `/mnt/overlay/<relative resource path>` | Last resource resolver search path first (Order = Descending search paths). | `true` |  [SLING-2986](http://issues.apache.org/jira/browse/SLING-2986) 
 
 This picker is thought for globally overlaying content by placing the diff-resource in "/apps" without actually touching anything in "/libs" (since this is only thought for Sling itself). This should be used whenever some deviation of content is desired which is initially shipped with Sling. The client (i.e. the code using the merged resource) does not have to know if there is an overlay in place.
-
+ 
 
 ### Example
 
-/libs/sling/example (nt:folder)
-+-- sling:resourceType = "some/resource/type"
-+-- child1 (nt:folder)
-|   +-- property1 = "property from /libs/sling/example/child1"
-+-- child2 (nt:folder)
-|   +-- property1 = "property from /libs/sling/example/child2"
-+-- child3 (nt:folder)
-|   +-- property1 = "property from /libs/sling/example/child3"
-
-
-/apps/sling/example (sling:Folder)
-+-- property1 = "property added in apps"
-+-- child1 (nt:folder)
-|   +-- sling:hideResource = true
-+-- child2 (nt:folder)
-|   +-- property1 = "property from /apps/sling/example/child2"
-+-- child3 (nt:folder)
-|   +-- property2 = "property from /apps/sling/example/child3"
-
-
-/mnt/overlay/sling/example (sling:Folder)
-+-- sling:resourceType = "some/resource/type"
-+-- property1 = "property added in apps"
-+-- child2 (nt:folder)
-|   +-- property1 = "property from /apps/sling/example/child2"
-+-- child3 (nt:folder)
-|   +-- property1 = "property from /libs/sling/example/child3"
-|   +-- property2 = "property from /apps/sling/example/child3"
+    /libs/sling/example (nt:folder)
+         +-- sling:resourceType = "some/resource/type"
+         +-- child1 (nt:folder)
+         |   +-- property1 = "property from /libs/sling/example/child1"
+         +-- child2 (nt:folder)
+         |   +-- property1 = "property from /libs/sling/example/child2"
+         +-- child3 (nt:folder)
+         |   +-- property1 = "property from /libs/sling/example/child3"
+         
+    
+    /apps/sling/example (sling:Folder)
+         +-- property1 = "property added in apps"
+         +-- child1 (nt:folder)
+         |   +-- sling:hideResource = true
+         +-- child2 (nt:folder)
+         |   +-- property1 = "property from /apps/sling/example/child2"
+         +-- child3 (nt:folder)
+         |   +-- property2 = "property from /apps/sling/example/child3"
+    
+    
+    /mnt/overlay/sling/example (sling:Folder)
+         +-- sling:resourceType = "some/resource/type"
+         +-- property1 = "property added in apps"
+         +-- child2 (nt:folder)
+         |   +-- property1 = "property from /apps/sling/example/child2"
+         +-- child3 (nt:folder)
+         |   +-- property1 = "property from /libs/sling/example/child3"
+         |   +-- property2 = "property from /apps/sling/example/child3"
 
 
 
@@ -114,33 +117,33 @@ This picker is thought for extending content of another already existing resourc
 
 ### Example
 
-/apps/sling/base (nt:folder)
-+-- child1 (nt:folder)
-|   +-- property1 = "property from /libs/sling/example/child1"
-+-- child2 (nt:folder)
-|   +-- property1 = "property from /libs/sling/example/child2"
-+-- child3 (nt:folder)
-|   +-- property1 = "property from /libs/sling/example/child3"
-
-
-/apps/sling/example (sling:Folder)
-+-- sling:resourceSuperType = "/apps/sling/base"
-+-- property1 = "property added in /apps/sling/example"
-+-- child1 (nt:folder)
-|   +-- sling:hideResource = true
-+-- child2 (nt:folder)
-|   +-- property1 = "property from /apps/sling/example/child2"
-+-- child3 (nt:folder)
-|   +-- property2 = "property from /apps/sling/example/child3"
-
-
-/mnt/override/apps/sling/example (sling:Folder)
-+-- sling:resourceSuperType = "/apps/sling/base"
-+-- property1 = "property added in /apps/sling/example"
-+-- child2 (nt:folder)
-|   +-- property1 = "property from /apps/sling/example/child2"
-+-- child3 (nt:folder)
-|   +-- property1 = "property from /libs/sling/example/child3"
-|   +-- property2 = "property from /apps/sling/example/child3"
+    /apps/sling/base (nt:folder)
+         +-- child1 (nt:folder)
+         |   +-- property1 = "property from /libs/sling/example/child1"
+         +-- child2 (nt:folder)
+         |   +-- property1 = "property from /libs/sling/example/child2"
+         +-- child3 (nt:folder)
+         |   +-- property1 = "property from /libs/sling/example/child3"
+         
+    
+    /apps/sling/example (sling:Folder)
+    	 +-- sling:resourceSuperType = "/apps/sling/base"
+         +-- property1 = "property added in /apps/sling/example"
+         +-- child1 (nt:folder)
+         |   +-- sling:hideResource = true
+         +-- child2 (nt:folder)
+         |   +-- property1 = "property from /apps/sling/example/child2"
+         +-- child3 (nt:folder)
+         |   +-- property2 = "property from /apps/sling/example/child3"
+    
+    
+    /mnt/override/apps/sling/example (sling:Folder)
+         +-- sling:resourceSuperType = "/apps/sling/base"
+         +-- property1 = "property added in /apps/sling/example"
+         +-- child2 (nt:folder)
+         |   +-- property1 = "property from /apps/sling/example/child2"
+         +-- child3 (nt:folder)
+         |   +-- property1 = "property from /libs/sling/example/child3"
+         |   +-- property2 = "property from /apps/sling/example/child3"
 
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/scheduler-service-commons-scheduler.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/scheduler-service-commons-scheduler.md b/content/documentation/bundles/scheduler-service-commons-scheduler.md
index 4755f05..bee6d02 100644
--- a/content/documentation/bundles/scheduler-service-commons-scheduler.md
+++ b/content/documentation/bundles/scheduler-service-commons-scheduler.md
@@ -1,7 +1,10 @@
-title=Scheduler Service (commons scheduler)		
-type=page
+title=TODO title for scheduler-service-commons-scheduler.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Scheduler Service (commons scheduler)
 
 The scheduler is a service for scheduling other services/jobs (it uses the open source Quartz library). The scheduler can be used in two ways, by registering the job through the scheduler API and by leveraging the whiteboard pattern that is supported by the scheduler. In most cases the whiteboard pattern is preferred
 
@@ -9,64 +12,64 @@ The scheduler is a service for scheduling other services/jobs (it uses the open
 The notion of Job used in this context is a different one than the one used for <a href="/documentation/bundles/apache-sling-eventing-and-job-handling.html">Sling Jobs</a>. The main difference is that a scheduler's job is not persisted.
 </div>
 
-## Examples of jobs that are scheduled by leveraging the whiteboard pattern
+## Examples of jobs that are scheduled by leveraging the whiteboard pattern 
 
 The following examples show you how to define and schedule a job by leveraging the whiteboard pattern.
 
-### Scheduling with a cron expression
+### Scheduling with a cron expression 
 
 The following job is executed every minute by setting *scheduler.expression* to the cron expression *"0 * * * * ?"*:
 
 
-package sling.docu.examples;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Service;
-import org.apache.felix.scr.annotations.Property;
-
-@Component
-@Service(value = Runnable.class)
-@Property( name = "scheduler.expression", value = "0 * * * * ?")
-public class ScheduledCronJob implements Runnable {
+    package sling.docu.examples;
+    
+    import org.slf4j.Logger;
+    import org.slf4j.LoggerFactory;
+    import org.apache.felix.scr.annotations.Component;
+    import org.apache.felix.scr.annotations.Service;
+    import org.apache.felix.scr.annotations.Property;
 
-/** Default log. */
-protected final Logger log = LoggerFactory.getLogger(this.getClass());
+    @Component
+    @Service(value = Runnable.class)
+    @Property( name = "scheduler.expression", value = "0 * * * * ?")
+    public class ScheduledCronJob implements Runnable {
+    
+    	/** Default log. */
+        protected final Logger log = LoggerFactory.getLogger(this.getClass());
+        
+        public void run() {
+        	log.info("Executing a cron job (job#1) through the whiteboard pattern");
+        }
+    //
+    }
 
-public void run() {
-log.info("Executing a cron job (job#1) through the whiteboard pattern");
-}
-//
-}
 
-
-### Scheduling at periodic times
+### Scheduling at periodic times 
 
 The following job is executed every ten seconds by setting *scheduler.period* to *10*:
 
 
-package sling.docu.examples;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Service;
-import org.apache.felix.scr.annotations.Property;
-
-@Component
-@Service(value = Runnable.class)
-@Property( name = "scheduler.period", longValue = 10)
-public class ScheduledPeriodicJob implements Runnable {
-
-/** Default log. */
-protected final Logger log = LoggerFactory.getLogger(this.getClass());
-
-public void run() {
-log.info("Executing a perodic job (job#2) through the whiteboard pattern");
-}
-//
-}
+    package sling.docu.examples;
+    
+    import org.slf4j.Logger;
+    import org.slf4j.LoggerFactory;
+    import org.apache.felix.scr.annotations.Component;
+    import org.apache.felix.scr.annotations.Service;
+    import org.apache.felix.scr.annotations.Property;
+    
+    @Component
+    @Service(value = Runnable.class)
+    @Property( name = "scheduler.period", longValue = 10)
+    public class ScheduledPeriodicJob implements Runnable {
+    
+    	/** Default log. */
+        protected final Logger log = LoggerFactory.getLogger(this.getClass());
+        
+        public void run() {
+        	log.info("Executing a perodic job (job#2) through the whiteboard pattern");
+        }
+    //
+    }
 
 
 ### Preventing concurrent execution
@@ -74,17 +77,17 @@ log.info("Executing a perodic job (job#2) through the whiteboard pattern");
 By default, jobs can be concurrently executed. To prevent this, set the *scheduler.concurrent* property to *false*:
 
 
-@Property(name="scheduler.concurrent", boolValue=false)
+    @Property(name="scheduler.concurrent", boolValue=false)
 
 ### Scheduling the job just once in a cluster
 
 If the same code/same services is executed on multiple nodes within a cluster, the same job might be scheduled on each instance. If this is not desired, the job can either be bound to the leader of the topology or a single instance (which one this is, is not further defined):
-
-@Property(name="scheduler.runOn", value="LEADER");
+  
+    @Property(name="scheduler.runOn", value="LEADER");
 
 or
 
-@Property(name="scheduler.runOn", value="SINGLE");
+    @Property(name="scheduler.runOn", value="SINGLE");
 
 Since in contrast to [Sling Jobs](/documentation/bundles/apache-sling-eventing-and-job-handling.html) the scheduler queue is only held in memory, there will be no distribution of jobs. So if job '1' was scheduled on instance 'a' with the option to run on the leader only, but the leader is instance 'b', which hasn't the job in the queue, the job will never be executed by any instance!
 
@@ -101,11 +104,11 @@ The following examples show you how to define and schedule a job that is registe
 The following code sample defines a *job* object that writes a message in the logs:
 
 
-final Runnable job = new Runnable() {
-public void run() {
-log.info("Executing the job");
-}
-};
+    final Runnable job = new Runnable() {
+    	public void run() {
+    		log.info("Executing the job");
+    	}
+    };
 
 
 ### Scheduling with a cron expression
@@ -113,20 +116,20 @@ log.info("Executing the job");
 To execute the job as defined above at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday, you can use the *addJob()* method with the following parameters:
 
 
-String schedulingExpression = "0 15 10 ? * MON-FRI";
-this.scheduler.addJob("myJob", job, null, schedulingExpression, true);
+    String schedulingExpression = "0 15 10 ? * MON-FRI";
+    this.scheduler.addJob("myJob", job, null, schedulingExpression, true);
 
 
 Refer to http://www.docjar.com/docs/api/org/quartz/CronTrigger.html
-to define more scheduling expressions.
+ to define more scheduling expressions.
 
 ### Scheduling at periodic times
 
 To execute the job as defined above every 3 minutes (180 seconds), you can use the *addPeriodicJob()* method with the following parameters:
 
 
-long period = 3*60; //the period is expressed in seconds
-this.scheduler.addPeriodicJob("myJob", job, null, period, true);
+    long period = 3*60; //the period is expressed in seconds
+    this.scheduler.addPeriodicJob("myJob", job, null, period, true);
 
 
 ### Scheduling at a given time
@@ -134,10 +137,10 @@ this.scheduler.addPeriodicJob("myJob", job, null, period, true);
 To execute the job as defined above at a specific date (on January 10th 2020), you can use the *fireJobAt()* method with the following parameters:
 
 
-SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
-String date = "2020/01/10";
-java.util.Date fireDate = formatter.parse(date);
-this.scheduler.fireJobAt("myJob", job, null, fireDate);
+    SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
+    String date = "2020/01/10";
+    java.util.Date fireDate = formatter.parse(date);
+    this.scheduler.fireJobAt("myJob", job, null, fireDate);
 
 
 
@@ -146,90 +149,90 @@ this.scheduler.fireJobAt("myJob", job, null, fireDate);
 The code implementing a service that simultaneously executes the job based on 3 different kinds of scheduling can look as follows:
 
 
-package sling.docu.examples;
-
-import java.io.Serializable;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.sling.commons.scheduler.Scheduler;
-import org.osgi.service.component.ComponentContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Reference;
-
-/**
-*  This service executes scheduled jobs
-*
-*/
-@Component
-public class HelloWorldScheduledService {
-
-/** Default log. */
-protected final Logger log = LoggerFactory.getLogger(this.getClass());
-
-/** The scheduler for rescheduling jobs. */
-@Reference
-private Scheduler scheduler;
-
-
-protected void activate(ComponentContext componentContext) throws Exception {
-//case 1: with addJob() method: executes the job every minute
-String schedulingExpression = "0 * * * * ?";
-String jobName1 = "case1";
-Map<String, Serializable> config1 = new HashMap<String, Serializable>();
-boolean canRunConcurrently = true;
-final Runnable job1 = new Runnable() {
-public void run() {
-log.info("Executing job1");
-}
-};
-try {
-this.scheduler.addJob(jobName1, job1, config1, schedulingExpression, canRunConcurrently);
-} catch (Exception e) {
-job1.run();
-}
-
-//case 2: with addPeriodicJob(): executes the job every 3 minutes
-String jobName2 = "case2";
-long period = 180;
-Map<String, Serializable> config2 = new HashMap<String, Serializable>();
-final Runnable job2 = new Runnable() {
-public void run() {
-log.info("Executing job2");
-}
-};
-try {
-this.scheduler.addPeriodicJob(jobName2, job2, config2, period, canRunConcurrently);
-} catch (Exception e) {
-job2.run();
-}
-
-//case 3: with fireJobAt(): executes the job at a specific date (date of deployment + delay of 30 seconds)
-String jobName3 = "case3";
-final long delay = 30*1000;
-final Date fireDate = new Date();
-fireDate.setTime(System.currentTimeMillis() + delay);
-Map<String, Serializable> config3 = new HashMap<String, Serializable>();
-final Runnable job3 = new Runnable() {
-public void run() {
-log.info("Executing job3 at date: {} with a delay of: {} seconds", fireDate, delay/1000);
-}
-};
-try {
-this.scheduler.fireJobAt(jobName3, job3, config3, fireDate);
-} catch (Exception e) {
-job3.run();
-}
-}
-
-protected void deactivate(ComponentContext componentContext) {
-log.info("Deactivated, goodbye!");
-}
-
-}
+    package sling.docu.examples;
+    
+    import java.io.Serializable;
+    import java.util.Date;
+    import java.util.HashMap;
+    import java.util.Map;
+    
+    import org.apache.sling.commons.scheduler.Scheduler;
+    import org.osgi.service.component.ComponentContext;
+    import org.slf4j.Logger;
+    import org.slf4j.LoggerFactory;
+    import org.apache.felix.scr.annotations.Component;
+    import org.apache.felix.scr.annotations.Reference;
+    
+    /**
+     *  This service executes scheduled jobs
+     *  
+     */
+    @Component
+    public class HelloWorldScheduledService {
+    	
+        /** Default log. */
+        protected final Logger log = LoggerFactory.getLogger(this.getClass());
+        
+        /** The scheduler for rescheduling jobs. */
+        @Reference
+        private Scheduler scheduler;
+        
+    
+        protected void activate(ComponentContext componentContext) throws Exception {
+            //case 1: with addJob() method: executes the job every minute
+        	String schedulingExpression = "0 * * * * ?";
+        	String jobName1 = "case1";
+        	Map<String, Serializable> config1 = new HashMap<String, Serializable>();
+        	boolean canRunConcurrently = true;
+            final Runnable job1 = new Runnable() {
+                public void run() {
+                	log.info("Executing job1");
+                }
+            };
+            try {
+            	this.scheduler.addJob(jobName1, job1, config1, schedulingExpression, canRunConcurrently);
+            } catch (Exception e) {
+                job1.run();
+            }
+        	
+            //case 2: with addPeriodicJob(): executes the job every 3 minutes
+            String jobName2 = "case2";
+        	long period = 180;
+        	Map<String, Serializable> config2 = new HashMap<String, Serializable>();
+            final Runnable job2 = new Runnable() {
+                public void run() {
+                	log.info("Executing job2");
+                }
+            };
+            try {
+            	this.scheduler.addPeriodicJob(jobName2, job2, config2, period, canRunConcurrently);
+            } catch (Exception e) {
+                job2.run();
+            }
+    
+            //case 3: with fireJobAt(): executes the job at a specific date (date of deployment + delay of 30 seconds)
+            String jobName3 = "case3";
+        	final long delay = 30*1000;
+        	final Date fireDate = new Date();
+            fireDate.setTime(System.currentTimeMillis() + delay);
+        	Map<String, Serializable> config3 = new HashMap<String, Serializable>();
+            final Runnable job3 = new Runnable() {
+                public void run() {
+                	log.info("Executing job3 at date: {} with a delay of: {} seconds", fireDate, delay/1000);
+                }
+            };
+            try {
+            	this.scheduler.fireJobAt(jobName3, job3, config3, fireDate);
+            } catch (Exception e) {
+                job3.run();
+            }
+        }
+    
+        protected void deactivate(ComponentContext componentContext) {
+            log.info("Deactivated, goodbye!");
+        }
+    
+    }
 
 
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/scripting.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/scripting.md b/content/documentation/bundles/scripting.md
index 44530c0..8f44d33 100644
--- a/content/documentation/bundles/scripting.md
+++ b/content/documentation/bundles/scripting.md
@@ -1,7 +1,10 @@
-title=Sling Scripting		
-type=page
+title=TODO title for scripting.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Scripting
 
 [TOC]
 
@@ -23,4 +26,4 @@ Sling Scripting allows the easy development and usage of different scripting (ak
 * Velocity *
 * XProc *
 
-* in contrib
+\* in contrib


[04/12] sling-site git commit: Revert 88e80480d5c1dd204ab2cb8a11be9f96caecc899 which ate whitespace at the beginning of lines

Posted by bd...@apache.org.
http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/slingstart.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/slingstart.md b/content/documentation/development/slingstart.md
index 88cd698..ff62e85 100644
--- a/content/documentation/development/slingstart.md
+++ b/content/documentation/development/slingstart.md
@@ -1,7 +1,10 @@
-title=The Apache Sling Provisioning Model and Apache SlingStart		
-type=page
+title=TODO title for slingstart.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: The Apache Sling Provisioning Model and Apache SlingStart
 
 [TOC]
 
@@ -16,14 +19,14 @@ For Apache Maven users, the `slingstart-maven-plugin` uses the model to create a
 
 The model is a simple API consisting of data objects:
 
-* Model: This is the central object. It consists of features.
-* Feature : this is the central object describing a (partial) system. A feature consists of variables and run modes.
-* Variables: These can be used to define artifact versions, settings values or configuration property values.
-* Run Mode : A run mode contains artifacts, configurations, and settings. The artifacts are divided into artifact groups.
-* Artifact Group: A group of artifacts with an associated start level (the artifacts are usually bundles)
-* Artifact: A deployable artifact described by Maven coordinates.
-* Configuration: A OSGi configuration
-* Settings : Framework settings for the OSGi framework
+ * Model: This is the central object. It consists of features.
+ * Feature : this is the central object describing a (partial) system. A feature consists of variables and run modes.
+ * Variables: These can be used to define artifact versions, settings values or configuration property values.
+ * Run Mode : A run mode contains artifacts, configurations, and settings. The artifacts are divided into artifact groups.
+ * Artifact Group: A group of artifacts with an associated start level (the artifacts are usually bundles)
+ * Artifact: A deployable artifact described by Maven coordinates.
+ * Configuration: A OSGi configuration
+ * Settings : Framework settings for the OSGi framework
 
 ### Run Modes
 
@@ -32,10 +35,10 @@ Custom run modes can be used to configure for different situations. Depending on
 Each run mode is associated with a set of run mode names. Only if all listed run modes are active, the definition is used.
 
 The model also supports special run modes, which have special meaning. By default, these pre defined special run modes are available:
-
-* :standalone Artifacts for the standalone application - in contrast to a war.
-* :webapp Artifacts for the webapp only
-
+ 
+ * :standalone Artifacts for the standalone application - in contrast to a war.
+ * :webapp Artifacts for the webapp only
+ 
 Other special run modes can be defined by using a single run mode name which starts with a colon, like :test. These run modes can be used by special tooling.
 
 ### Start Levels
@@ -46,18 +49,18 @@ Each run mode has start levels. These start levels correspond to OSGi start leve
 
 An artifact is defined by Maven coordinates, that is group id, artifact id and version. Type and classifier can be specified, too. Type defaults to "jar". Although the maven way of referring to an artifact is used, the model is in no way tied to Maven and can be used with any tooling. For a plain jar the text definition for an artifact is:
 
-groupId/artifactId/version
-org.apache.sling/api/2.8.0
+                groupId/artifactId/version
+                org.apache.sling/api/2.8.0
 
 If you want to specify the type, it's appended after the version:
 
-groupId/artifactId/version/type
-org.apache.sling/api/2.8.0/jar
-
+                groupId/artifactId/version/type
+                org.apache.sling/api/2.8.0/jar
+                
 If you want to specify the classifier, it gets appended after the type:
-
-groupId/artifactId/version/type/classifier
-org.apache.sling/api/2.8.0/jar/test
+                
+                groupId/artifactId/version/type/classifier
+                org.apache.sling/api/2.8.0/jar/test
 
 ### Configurations
 
@@ -65,22 +68,22 @@ A configuration has a pid, or a factory pid and an alias and of course the prope
 
 Special configurations can be marked with a leading ":" of the pid. Special configurations are not added to the OSGi config admin. There are some predefined special configurations
 
-* :web.xml This configuration must be part of the :webapp runmode and contains a complete web.xml for the web application
-* :bootstrap This configuration must be part of either the :boot, :base, :standalone, or :webapp run mode and define the contents for the bootstrap command file executed by Launchpad.
+ * :web.xml This configuration must be part of the :webapp runmode and contains a complete web.xml for the web application
+ * :bootstrap This configuration must be part of either the :boot, :base, :standalone, or :webapp run mode and define the contents for the bootstrap command file executed by Launchpad. 
 
 #### Bootstrap Command File
 
 The bootstrap configuration is a text block consisting of uninstall directives. This block is only executed on the first startup.
 
-[feature name=:launchpad]
+    [feature name=:launchpad]
 
-[configurations]
-# uninstall obsolete bundles which are neither not required anymore or are
-# replaced with new bundles
-:bootstrap
-uninstall org.apache.sling.fragment.activation 1.2
-uninstall org.apache.sling.installer.api [1.0,2.0)
-uninstall org.apache.sling.tests
+    [configurations]
+       # uninstall obsolete bundles which are neither not required anymore or are
+       # replaced with new bundles
+    :bootstrap
+      uninstall org.apache.sling.fragment.activation 1.2
+      uninstall org.apache.sling.installer.api [1.0,2.0)
+      uninstall org.apache.sling.tests
 
 Each uninstall directive starts with the text "uninstall" followed by the bundle symbolic name. A version range can be specified as well. If no version information is specified, the bundle with that symbolic name is uninstalled on startup. If a version is specified, the bundle is only uninstalled if it's installed with the exact same version. If a range is specified, the bundle is only uninstalled, if the version is within that range.
 
@@ -92,65 +95,65 @@ Settings are key value pairs that are added to the framework properties. For now
 
 Features group run modes and define a special functionality. The model also defines two special features:
 
-* :launchpad This feature contains the dependency to Sling's launchpad artifact to be used. This mode is required if Apache Sling Launchpad should be used to start the application.
-* :boot The artifacts that are installed before the framework is started. They're used to bootstrap the system.
+ * :launchpad This feature contains the dependency to Sling's launchpad artifact to be used. This mode is required if Apache Sling Launchpad should be used to start the application.
+ * :boot The artifacts that are installed before the framework is started. They're used to bootstrap the system.
 
 ## Model Files
 
 The model comes also with a textual description language:
 
-[feature name=my-feature]
-[variables]
-eventadmin.version=1.0.0
-metatype.version=1.2.0
-
-[artifacts]
-org.apache.sling/eventadmin/${eventadmin.version}
-org.apache.sling/metatype/${metatype.version}
-org.apache.sling/coordinator/3.0.0
-
-[configurations]
-org.apache.sling.eventadmin
-useQueue=true
-ignoreTopics=["myTopic"]
+    [feature name=my-feature]
+        [variables]
+            eventadmin.version=1.0.0
+            metatype.version=1.2.0
+
+        [artifacts]
+           org.apache.sling/eventadmin/${eventadmin.version}
+           org.apache.sling/metatype/${metatype.version}
+           org.apache.sling/coordinator/3.0.0
+           
+        [configurations]
+           org.apache.sling.eventadmin
+              useQueue=true
+              ignoreTopics=["myTopic"]
 
 A configuration for a run mode looks like this:
 
-[feature name=my-feature]
-[variables]
-eventadmin.version=1.0.0
-metatype.version=1.2.0
-
-[artifacts runModes=mymode]
-org.apache.sling/metatype/${metatype.version}
-
-[artifacts startLevel=5 runModes=mymode]
-org.apache.sling/eventadmin/${eventadmin.version}
-
-[configurations runModes=mymode]
-org.apache.sling.eventadmin
-useQueue=true
-ignoreTopics=["myTopic"]
+    [feature name=my-feature]
+        [variables]
+            eventadmin.version=1.0.0
+            metatype.version=1.2.0
+
+        [artifacts runModes=mymode]
+           org.apache.sling/metatype/${metatype.version}
+
+        [artifacts startLevel=5 runModes=mymode]
+           org.apache.sling/eventadmin/${eventadmin.version}
+        
+        [configurations runModes=mymode]
+           org.apache.sling.eventadmin
+              useQueue=true
+              ignoreTopics=["myTopic"]
 ### Comments
 
 Each object in the model can be annotated with comments. A comment is a line starting with a '#'. Leading spaces are ignored.
 
 ### Configurations in the Model file
-
+ 	 
 Configuration names are related to the PID and factory PID. The structure of the name is as follows:
+ 	 
 
+    name ::= <pid> ( '-' <subname> )
 
-name ::= <pid> ( '-' <subname> )
-
-
+ 	 
 If the form is just `<pid>`, the configuration contains the properties for a Managed Service. The `<pid>` is then the PID of the Managed Service. See the Configuration Admin service for details.
-
+ 	 
 When a Managed Service Factory is used, the situation is different. The `<pid>` part then describes the PID of the Managed Service Factory. You can pick any `<subname>` which is used as a unique alias. For example:
-
-# Configuration for Managed Service com.acme.xyz
-com.acme.xyz //
-# Managed Service Factory, creates an instance for com.acme.abc
-com.acme.abc-default
+ 	 
+    # Configuration for Managed Service com.acme.xyz
+    com.acme.xyz // 
+    # Managed Service Factory, creates an instance for com.acme.abc
+    com.acme.abc-default
 
 
 ### Default Configuration Format
@@ -161,17 +164,17 @@ The first line of such a file might start with a comment line (a line starting w
 
 The format is:
 
-file ::= (comment) (header) *
-comment ::= '#' <any>
-header ::= prop '=' value
-prop ::= symbolic-name // 1.4.2 of OSGi Core Specification
-symbolic-name ::= token { '.' token }
-token ::= { [ 0..9 ] | [ a..z ] | [ A..Z ] | '_' | '-' }
-value ::= [ type ] ( '[' values ']' | '(' values ')' | simple )
-values ::= simple { ',' simple }
-simple ::= '"' stringsimple '"'
-type ::= <1-char type code>
-stringsimple ::= <quoted string representation of the value> (see below)
+    file ::= (comment) (header) *
+    comment ::= '#' <any>
+    header ::= prop '=' value
+    prop ::= symbolic-name // 1.4.2 of OSGi Core Specification
+    symbolic-name ::= token { '.' token } 
+    token ::= { [ 0..9 ] | [ a..z ] | [ A..Z ] | '_' | '-' }
+    value ::= [ type ] ( '[' values ']' | '(' values ')' | simple ) 
+    values ::= simple { ',' simple } 
+    simple ::= '"' stringsimple '"'
+    type ::= <1-char type code>
+    stringsimple ::= <quoted string representation of the value> (see below)
 
 The 1 character type code is one of:
 
@@ -192,9 +195,9 @@ Apart from the escaping of the usual characters like the quotes, double quotes,
 
 While the default configuration form is very powerful, it might also sometimes be a little bit too heavy to specify a configuration. For these usage cases, the configuration can be described as properties:
 
-com.acme.xyz [format=properties]
-ftp.port = 21
-
+    com.acme.xyz [format=properties] 	 
+        ftp.port = 21
+        
 Notice that this definition only supports string properties. Therefore the service consuming the configuration needs to be able to adapt a string value to the correct type.
 
 ## Slingstart and Slingfeature projects
@@ -206,9 +209,9 @@ The `slingstart-maven-plugin` introduces two new packaging types:
 
 A model can reference other slingstart or slingfeature artifacts. When such an artifact is reference, the type needs to be specified, for example:
 
-[artifacts]
-org.apache.sling/org.apache.sling.launchpad/8-SNAPSHOT/slingstart
-org.apache.sling/org.apache.sling.launchpad.test-bundles/0.0.1-SNAPSHOT/slingfeature
+    [artifacts]
+        org.apache.sling/org.apache.sling.launchpad/8-SNAPSHOT/slingstart
+        org.apache.sling/org.apache.sling.launchpad.test-bundles/0.0.1-SNAPSHOT/slingfeature
 
 The resulting model is a merged model, starting with the dependencies and then merging in the current model.
 
@@ -216,9 +219,9 @@ By default the Maven classpath is extended by the dependencies of the merged mod
 
 ## Model Merging
 
-If two or more models are supplied, they are merged feature by feature, each feature being treated as a separate unit.
+If two or more models are supplied, they are merged feature by feature, each feature being treated as a separate unit. 
 
-Within a feature each run mode is treated separately as well.
+Within a feature each run mode is treated separately as well. 
 
 Within a run mode, a model can overwrite definitions from the base model. For example, it can define a different configuration or a different version and/or start level for an artifact.
 
@@ -230,12 +233,12 @@ In addition, it can also remove artifacts and configurations. For this the speci
 
 Let's look at an example base model
 
-[artifacts]
-my/special/artifact/1.0.0
-commons/library/1.0.0
-
-[artifacts runModes=test]
-another/one/2.1.0
+    [artifacts]
+        my/special/artifact/1.0.0
+        commons/library/1.0.0
+       
+    [artifacts runModes=test]
+        another/one/2.1.0
 
 Another model wants to use the above model as it's base but:
 
@@ -244,14 +247,14 @@ Another model wants to use the above model as it's base but:
 * Remove the "another one"
 
 The changing model would mention the above as one artifact and in addition have:
-[artifacts startLevel=5]
-commons/library/1.1.0
-
-[artifacts runModes=:remove]
-my/special/artifact/0.0.0
-
-[artifacts runModes=:remove,test]
-another/one/0.0.0
+    [artifacts startLevel=5]
+        commons/library/1.1.0
+    
+    [artifacts runModes=:remove]
+        my/special/artifact/0.0.0
+    
+    [artifacts runModes=:remove,test]
+        another/one/0.0.0
 
 Note that the version for removal does not play a role, it's not compared for an exact match. But please keep in mind that the remove directive needs to be specified in the same feature and run mode as the original.
 
@@ -259,28 +262,28 @@ Note that the version for removal does not play a role, it's not compared for an
 
 Configurations can be removed in the same way by just specifying their PID in the :remove run mode. This is the base model:
 
-[configurations]
-my.special.configuration.b
-foo="bar"
-another.special.configuration.a
-x="y"
+    [configurations]
+        my.special.configuration.b
+          foo="bar"
+        another.special.configuration.a
+          x="y"
 
 When this model is merged with the following model, the resulting model has a different configuration for my.special.configuration.b and no configuration for another.special.configuration.a:
 
-[configurations]
-my.special.configuration.b
-a="b"
+    [configurations]
+        my.special.configuration.b
+          a="b"
 
-[configurations runModes=:remove]
-another.special.configuration.a
+    [configurations runModes=:remove]
+        another.special.configuration.a
 
-By default if a model inherits from another and uses the same configuration pid, the configuration is overwritten! In the above example, the configuration my.special.configuration.b contains a single property named "a".
+By default if a model inherits from another and uses the same configuration pid, the configuration is overwritten! In the above example, the configuration my.special.configuration.b contains a single property named "a". 
 
 It is also possible to merge configurations:
 
-[configurations]
-my.special.configuration.b [mode=merge]
-a="b"
+    [configurations]
+        my.special.configuration.b [mode=merge]
+          a="b"
 
 When the merge directive is used, the configurations are merged and the properties are applied as a delta to the base configuration. Therefore the configuration my.special.configuration.b will have two properties "a" and "foo".
 
@@ -316,7 +319,7 @@ stdOutFile | String | The relative filename of the file which receives both the
 Since version 1.2.0 of this plugin it is possible to easily start a Sling server in debug mode ([SLING-4677](https://issues.apache.org/jira/browse/SLING-4677)). For that you either configure the property `debug` inside you server configuration in the pom.xml accordingly or by using the parameter `Dlaunchpad.debug`. Both values can either be `true` (in which case the [JDWP options](http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/conninv.html#Invocation) `-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000` are appended to the VM options) or just some arbitrary string defining debugging options.
 In case both are used the parameter `Dlaunchpad.debug` takes precedence.
 
-## Stopping a server
+## Stopping a server 
 
 Use the goal with name `stop` to stop one or multiple servers. The goal is bound by default to the [`post-integration-test` lifecycle phase](https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference).
 
@@ -330,17 +333,17 @@ Starting with version 1.2.0 of the provisioning model and version 1.2.0 of the s
 
 If you want to stick with the old format from config admin, you can configure the maven plugin as follows:
 
-<plugin>
-<groupId>org.apache.sling</groupId>
-<artifactId>slingstart-maven-plugin</artifactId>
-<extensions>true</extensions>
-<version>1.3.4</version>
-<dependencies>
-<dependency>
-<groupId>org.apache.felix</groupId>
-<artifactId>org.apache.felix.configadmin</artifactId>
-<version>1.8.4</version>
-</dependency>
-</dependencies>
-</plugin>
+    <plugin>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>slingstart-maven-plugin</artifactId>
+        <extensions>true</extensions>
+        <version>1.3.4</version>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>org.apache.felix.configadmin</artifactId>
+                <version>1.8.4</version>
+            </dependency>
+        </dependencies>
+    </plugin>
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/development/version-policy.md
----------------------------------------------------------------------
diff --git a/content/documentation/development/version-policy.md b/content/documentation/development/version-policy.md
index a9e42ad..5c64fbc 100644
--- a/content/documentation/development/version-policy.md
+++ b/content/documentation/development/version-policy.md
@@ -1,7 +1,10 @@
-title=Version Policy		
-type=page
+title=TODO title for version-policy.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Version Policy
 Excerpt: This page is about how we assign versions to exported packages and bundles and defines when to increase which part of the version number.
 
 This page is about how we assign versions to exported packages and bundles and defines when to increase which part of the version number.
@@ -16,7 +19,7 @@ Please note that this page is currently in draft stage and still being discussed
 
 In comments to [SLING-1176](https://issues.apache.org/jira/browse/SLING-2944) Ian Boston wrote:
 
-> The exports in bundle/api/pom.xml look like they might become problematic from a support point of view, although we probably can't avoid this. [...] [The problem is the] manual maintenance of the version numbers. (not a big problem but needs to be done)
+> The exports in bundle/api/pom.xml look like they might become problematic from a support point of view, although we probably can't avoid this. \[...\] \[The problem is the\] manual maintenance of the version numbers. (not a big problem but needs to be done)
 
 I agree, that this is a problem. So let me reasonate on this a bit ;-)
 
@@ -75,12 +78,12 @@ The newest versions of the bnd library also support an `@Export` annotation in t
 Using this syntax something like the following would be easily possible:
 
 
-/**
-* This is the Package Level JavaDoc
-*/
-@Export(version = "1.0")
-package org.apache.sling.api.auth;
-import aQute.bnd.annotation.Export;
+    /**
+     * This is the Package Level JavaDoc
+     */
+    @Export(version = "1.0")
+    package org.apache.sling.api.auth;
+    import aQute.bnd.annotation.Export;
 
 
 See [bnd Versioning](http://bnd.bndtools.org/chapters/170-versioning.html) for details.
@@ -182,7 +185,7 @@ When importing packages a version number will automatically be generated by the
 For example if importing the `api` package exported at version 1.2.3, the `Import-Package` statement is generated as
 
 
-Import-Package: api;version=[1.2.3,2.0.0)
+    Import-Package: api;version=[1.2.3,2.0.0)
 
 
 
@@ -193,7 +196,7 @@ For bundles implementing the API, this default does not work well, since from th
 For example implementing the `api` package exported at version 1.2.3, would require the following manually created `Import-Package` statement:
 
 
-Import-Package: api;version=[1.2.3,1.3.0)
+    Import-Package: api;version=[1.2.3,1.3.0)
 
 
 This allows for the implementation to work correctly with bug fixed package exports but as soon as there are any *externally visible* changes, the implementation bundle has to be adapted -- even if this just means increasing the upper version bound in the `Import-Package` statement thus guaranteeing compliance (again).

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/getting-started.md
----------------------------------------------------------------------
diff --git a/content/documentation/getting-started.md b/content/documentation/getting-started.md
index 5174498..5a8e005 100644
--- a/content/documentation/getting-started.md
+++ b/content/documentation/getting-started.md
@@ -1,7 +1,10 @@
-title=Getting Started		
-type=page
+title=TODO title for getting-started.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Getting Started
 
 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:
 
@@ -10,7 +13,7 @@ We're on the way to update the documentation to make it more easy to get in touc
 
 ## Where to head from here
 
-We recommend you read through following topics to get as fast as possible into Sling:
+We recommend you read through following topics to get as fast as possible into Sling: 
 
 * [Getting and building Sling](/documentation/development/getting-and-building-sling.html)
 * [Architecture](/documentation/the-sling-engine/architecture.html)

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/getting-started/discover-sling-in-15-minutes.md
----------------------------------------------------------------------
diff --git a/content/documentation/getting-started/discover-sling-in-15-minutes.md b/content/documentation/getting-started/discover-sling-in-15-minutes.md
index e2adb7f..7d61744 100644
--- a/content/documentation/getting-started/discover-sling-in-15-minutes.md
+++ b/content/documentation/getting-started/discover-sling-in-15-minutes.md
@@ -1,7 +1,10 @@
-title=Discover Sling in 15 minutes		
-type=page
+title=TODO title for discover-sling-in-15-minutes.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Discover Sling in 15 minutes
 
 The Sling Launchpad is a ready-to-run Sling configuration, providing an embedded JCR content repository and web server, a selection of Sling components, documentation and examples. The Launchpad makes it easy to get started with Sling and to develop script-based applications.
 
@@ -14,10 +17,10 @@ While simple to run and understand, the Launchpad is a full-featured instance of
 ## See Also
 
 
-More Sling samples can be found under
+More Sling samples can be found under 
 [http://svn.apache.org/repos/asf/sling/trunk/samples/](http://svn.apache.org/repos/asf/sling/trunk/samples/)
 
-Once you grok the basic examples of this page, we recommend studying the
+Once you grok the basic examples of this page, we recommend studying the 
 *slingbucks* and *espblog* samples. Both have README files with more info.
 
 ## Prerequisites
@@ -34,7 +37,7 @@ A WebDAV client makes editing server-side scripts much more convenient, but to m
 After downloading the Sling Launchpad self-runnable jar just start it as follows:
 
 
-$ java -jar org.apache.sling.launchpad-8.jar
+    $ java -jar org.apache.sling.launchpad-8.jar
 
 
 This starts the Sling embedded Web Server on port 8080 and writes application files into the `sling` folder found in the current working directory.
@@ -44,7 +47,7 @@ Once started, look at [http://localhost:8080/system/console/bundles](http://loca
 
 On the bundles page, all bundles should be marked *Active*. They're all [OSGi](http://www.osgi.org/) bundles powered by [Apache Felix](http://felix.apache.org), but that doesn't really matter to us right now.
 
-*Log files: If things go wrong, have a look at the `sling/logs/error.log` log file - that's where Sling writes any error messages.*
+*Log files: If things go wrong, have a look at the `sling/logs/error.log` log file \- that's where Sling writes any error messages.*
 
 ## Create some content
 
@@ -53,16 +56,16 @@ Until we have ready-to-test forms, you can create content with cURL, or you can
 To create a content node (nodes are a [JCR](http://jackrabbit.apache.org/) concept, a unit of storage) with cURL, use:
 
 
-curl -u admin:admin -F"sling:resourceType=foo/bar" -F"title=some title" http://localhost:8080/content/mynode
+    curl -u admin:admin -F"sling:resourceType=foo/bar" -F"title=some title" http://localhost:8080/content/mynode
 
 
 The resulting node can be seen at [http://localhost:8080/content/mynode.html](http://localhost:8080/content/mynode.html.path), or as json format under [http://localhost:8080/content/mynode.json](http://localhost:8080/content/mynode.json). Lets try with cURL:
 
-$ curl http://localhost:8080/content/mynode.json
+    $ curl http://localhost:8080/content/mynode.json
 
-This returns the properties of the `/content/mynode` in JSON format as we have created it above.
+This returns the properties of the `/content/mynode` in JSON format as we have created it above. 
 
-{"title":"some title","sling:resourceType":"foo/bar","jcr:primaryType":"nt:unstructured"}
+    {"title":"some title","sling:resourceType":"foo/bar","jcr:primaryType":"nt:unstructured"}
 
 The additional property `jcr:primaryType` is a special JCR property added by the content repository, indicating the JCR primary node type.
 
@@ -78,30 +81,30 @@ To select a script, Sling uses the node's *sling:resourceType* property, if it i
 
 That is the case in our example, so the following script will be used by Sling to render the node in HTML, if the script is found at */apps/foo/bar/html.esp* in the repository.
 
-<html>
-<body>
-<h1><%= currentNode.title %></h1>
-</body>
-</html>
+    <html>
+      <body>
+        <h1><%= currentNode.title %></h1>
+      </body>
+    </html>
 
 
 To select the script, Sling:
 
 * looks under */apps*
-* and appends the *sling:resourceType* value of our node ( which is *foo/bar* )
+* and appends the *sling:resourceType* value of our node ( which is *foo/bar* ) 
 * and appends *html.esp*, as the extension of our URL is *html* and the language of our script is *esp*.
 
 Store this script under */apps/foo/bar/html.esp*, either using a WebDAV client (connected to [http://admin:admin@localhost:8080/](http://admin:admin@localhost:8080/)), or using cURL as shown here, after creating the *html.esp* script in the current directory on your system:
 
 
-curl -X MKCOL -u admin:admin http://localhost:8080/apps/foo
-curl -X MKCOL -u admin:admin http://localhost:8080/apps/foo/bar
+    curl -X MKCOL -u admin:admin http://localhost:8080/apps/foo
+    curl -X MKCOL -u admin:admin http://localhost:8080/apps/foo/bar
 
 
 create a local file *html.esp* and copy above content.
 
 
-curl -u admin:admin -T html.esp http://localhost:8080/apps/foo/bar/html.esp
+    curl -u admin:admin -T html.esp http://localhost:8080/apps/foo/bar/html.esp
 
 
 The HTML rendering of your node, at [http://localhost:8080/content/mynode.html](http://localhost:8080/content/mynode.html), is now created by this ESP script. You should see the node's title alone as an &lt;h1&gt; element in that page.
@@ -113,7 +116,7 @@ Servlets can also be easily "wired" to handle specific resource types, extension
 
 ## What next?
 
-These simple examples show how Sling uses scripts to work with JCR data, based
+These simple examples show how Sling uses scripts to work with JCR data, based 
 on *sling:resourceType* or node types.
 
 There's much more to Sling of course - you'll find some additional simple examples below, as
@@ -130,19 +133,19 @@ In this case, the Sling response redirects to the URL of the created node.
 Start by creating a new */blog* folder:
 
 
-curl -X POST -u admin:admin "http://localhost:8080/content/blog"
+    curl -X POST -u admin:admin "http://localhost:8080/content/blog"
 
 
 And create a node with a Sling-generated name under it:
 
 
-curl -D - -u admin:admin -F"title=Adventures with Sling" "http://localhost:8080/content/blog/"
+    curl -D - -u admin:admin -F"title=Adventures with Sling" "http://localhost:8080/content/blog/"
 
 
 Using cURL's *-D* option shows the full HTTP response, which includes a *Location* header to indicate where the new node was created:
 
 
-Location: /blog/adventures_with_slin
+    Location: /blog/adventures_with_slin
 
 
 The actual node name might not be *adventures_with_slin* - depending on existing content in your repository, Sling will find a unique name for this new node, based on several well-know property values like title, description, etc. which are used for this if provided.
@@ -162,52 +165,52 @@ Start by checking that [http://localhost:8080/content/mynode.html](http://localh
 
 Create this script and name it *header.esp*:
 
-<div>
-<p style="color:blue;">
-<img src="/images/sling.jpg" align="right"/>
-<%= currentNode.headline %>
-</p>
-</div>
+    <div>
+      <p style="color:blue;">
+        <img src="/images/sling.jpg" align="right"/>
+        <%= currentNode.headline %>
+      </p>
+    </div>
 
 
 Upload it so that it is used to render resources having *sling:resourceType=foo/header*:
 
 
-curl -X MKCOL -u admin:admin http://localhost:8080/apps/foo/header/
-curl -u admin:admin -T header.esp http://localhost:8080/apps/foo/header/html.esp
+    curl -X MKCOL -u admin:admin http://localhost:8080/apps/foo/header/
+    curl -u admin:admin -T header.esp http://localhost:8080/apps/foo/header/html.esp
 
 
 Create the header node:
 
 
-curl -u admin:admin -F"sling:resourceType=foo/header" -F"headline=Hello, Sling world" http://localhost:8080/content/header
+    curl -u admin:admin -F"sling:resourceType=foo/header" -F"headline=Hello, Sling world" http://localhost:8080/content/header
 
 
 Upload the logo that the script uses (using sling.jpg or another logo in the current directory):
 
 
-curl -X MKCOL -u admin:admin http://localhost:8080/images/
-curl -u admin:admin -T sling.jpg http://localhost:8080/images/sling.jpg
+    curl -X MKCOL -u admin:admin http://localhost:8080/images/
+    curl -u admin:admin -T sling.jpg http://localhost:8080/images/sling.jpg
 
 
 And check that the header is rendered with the logo at [http://localhost:8080/content/header.html](http://localhost:8080/content/header.html).
 
 Now, update the html.esp script that we created for our first example above, to include the header:
 
-<html>
-<body>
-<div id="header">
-<% sling.include("/content/header"); %>
-</div>
-<h1><%= currentNode.title %></h1>
-</body>
-</html>
+    <html>
+      <body>
+        <div id="header">
+          <% sling.include("/content/header"); %>
+        </div>
+        <h1><%= currentNode.title %></h1>
+      </body>
+    </html>
 
 
 And upload it again to replace the previous version:
 
 
-curl -u admin:admin -T html.esp http://localhost:8080/apps/foo/bar/html.esp
+    curl -u admin:admin -T html.esp http://localhost:8080/apps/foo/bar/html.esp
 
 
 The [http://localhost:8080/content/mynode.html](http://localhost:8080/content/mynode.html), once refreshed, now shows the blue headline and logo, and this layout also applies to any node created with *sling:resourceType=foo/bar*.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/legacy/logging.md
----------------------------------------------------------------------
diff --git a/content/documentation/legacy/logging.md b/content/documentation/legacy/logging.md
index 021fcde..836f256 100644
--- a/content/documentation/legacy/logging.md
+++ b/content/documentation/legacy/logging.md
@@ -1,7 +1,10 @@
-title=Logging		
-type=page
+title=TODO title for logging.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Logging
 
 <div class="note">
 This document is for 3.x release of Sling Commons Log components. Refer to
@@ -13,13 +16,13 @@ to newer version.
 
 Logging in Sling is supported by the `org.apache.sling.commons.log` bundle, which is one of the first bundles installed and started by the Sling Launcher. The `org.apache.sling.commons.log` bundle has the following tasks:
 
-* Implements the OSGi Log Service Specification and registers the `LogService` and `LogReader` services
-* Exports three commonly used logging APIs:
-* [Simple Logging Facade for Java (SLF4J)](http://www.slf4j.org)
-* [Apache Commons Logging](http://jakarta.apache.org/commons/logging)
-* [log4j](http://logging.apache.org/log4j/index.html)
-* [java.util.logging](http://download.oracle.com/javase/6/docs/api/java/util/logging/package-summary.html) (as of r1169918)
-* Configures logging through our own implementation of the SLF4J backend API
+   * Implements the OSGi Log Service Specification and registers the `LogService` and `LogReader` services
+   * Exports three commonly used logging APIs:
+      * [Simple Logging Facade for Java (SLF4J)](http://www.slf4j.org)
+      * [Apache Commons Logging](http://jakarta.apache.org/commons/logging)
+      * [log4j](http://logging.apache.org/log4j/index.html)
+      * [java.util.logging](http://download.oracle.com/javase/6/docs/api/java/util/logging/package-summary.html) (as of r1169918)
+   * Configures logging through our own implementation of the SLF4J backend API
 
 
 ## Initial Configuration
@@ -33,7 +36,7 @@ The `org.apache.sling.commons.log` bundle gets the initial configuration from th
 | `org.apache.sling.commons.log.file` | undefined | Sets the log file to which log messages are written. If this property is empty or missing, log messages are written to `System.out`. |
 | `org.apache.sling.commons.log.file.number` | 5 | The number of rotated files to keep. |
 | `org.apache.sling.commons.log.file.size` | '.'yyyy-MM-dd | Defines how the log file is rotated (by schedule or by size) and when to rotate. See the section *Log File Rotation* below for full details on log file rotation. |
-| `org.apache.sling.commons.log.pattern` | {0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* [{2}]({{ refs.-2.path }}) {3} {5} | The `MessageFormat` pattern to use for formatting log messages with the root logger. |
+| `org.apache.sling.commons.log.pattern` | \{0,date,dd.MM.yyyy HH:mm:ss.SSS\} \*\{4\}\* \[\{2\}\]({{ refs.-2.path }}) \{3\} \{5\} | The `MessageFormat` pattern to use for formatting log messages with the root logger. |
 | `org.apache.sling.commons.log.julenabled` | n/a | Enables the `java.util.logging` support. |
 
 
@@ -52,11 +55,11 @@ The following properties may be set:
 |--|--|--|--|
 | `org.apache.sling.commons.log.level` | `String` | `INFO` | Sets the logging level of the loggers. This may be any of the defined logging levels `DEBUG`, `INFO`, `WARN`, `ERROR` and `FATAL`. |
 | `org.apache.sling.commons.log.file` | `String` | undefined | Sets the log file to which log messages are written. If this property is empty or missing, log messages are written to `System.out`. This property should refer to the file name of a configured Log Writer (see below). If no Log Writer is configured with the same file name an implicit Log Writer configuration with default configuration is created. |
-| `org.apache.sling.commons.log.pattern` | `String` | {0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* [{2}]({{ refs.-2.path }}) {3} {5} | The `java.util.MessageFormat` pattern to use for formatting log messages with the root logger. This is a `java.util.MessageFormat` pattern supporting up to six arguments: {0} The timestamp of type `java.util.Date`, {1} the log marker, {2} the name of the current thread, {3} the name of the logger, {4} the debug level and {5} the actual debug message. If the log call includes a Throwable, the stacktrace is just appended to the message regardless of the pattern. |
-| `org.apache.sling.commons.log.names` | `String[]` | -- | A list of logger names to which this configuration applies. |
+| `org.apache.sling.commons.log.pattern` | `String` | \{0,date,dd.MM.yyyy HH:mm:ss.SSS\} \*\{4\}\* \[\{2\}\]({{ refs.-2.path }}) \{3\} \{5\} | The `java.util.MessageFormat` pattern to use for formatting log messages with the root logger. This is a `java.util.MessageFormat` pattern supporting up to six arguments: \{0\} The timestamp of type `java.util.Date`, \{1\} the log marker, \{2\} the name of the current thread, \{3\} the name of the logger, \{4\} the debug level and \{5\} the actual debug message. If the log call includes a Throwable, the stacktrace is just appended to the message regardless of the pattern. |
+| `org.apache.sling.commons.log.names` | `String\[\]` | -- | A list of logger names to which this configuration applies. |
 
 
-Note that multiple Logger Configurations may refer to the same Log Writer Configuration. If no Log Writer Configuration exists whose file name matches the file name set on the Logger Configuration an implicit Log Writer Configuration with default setup (daily log rotation) is internally created.
+Note that multiple Logger Configurations may refer to the same Log Writer Configuration. If no Log Writer Configuration exists whose file name matches the file name set on the Logger Configuration an implicit Log Writer Configuration with default setup (daily log rotation) is internally created. 
 
 
 ### Log Writer Configuration

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/pax-exam-utils.md
----------------------------------------------------------------------
diff --git a/content/documentation/pax-exam-utils.md b/content/documentation/pax-exam-utils.md
index 49dbad7..a455149 100644
--- a/content/documentation/pax-exam-utils.md
+++ b/content/documentation/pax-exam-utils.md
@@ -1,7 +1,10 @@
-title=Sling Pax Exam Utilities		
-type=page
+title=TODO title for pax-exam-utils.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Pax Exam Utilities
 
 Utilities to help testing Sling components with Pax Exam are available at
 [https://svn.apache.org/repos/asf/sling/trunk/testing/sling-pax-util](https://svn.apache.org/repos/asf/sling/trunk/testing/sling-pax-util)

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine.md b/content/documentation/the-sling-engine.md
index 933937e..109518c 100644
--- a/content/documentation/the-sling-engine.md
+++ b/content/documentation/the-sling-engine.md
@@ -1,7 +1,10 @@
-title=The Sling Engine		
-type=page
+title=TODO title for the-sling-engine.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: The Sling Engine
 
 ## General
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/adapters.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/adapters.md b/content/documentation/the-sling-engine/adapters.md
index c56ba98..e3ebb3b 100644
--- a/content/documentation/the-sling-engine/adapters.md
+++ b/content/documentation/the-sling-engine/adapters.md
@@ -1,7 +1,10 @@
-title=Adapters		
-type=page
+title=TODO title for adapters.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Adapters
 
 [TOC]
 
@@ -15,26 +18,26 @@ To use resources as scripts, the `Resource.adaptTo` method must support being ca
 The `Adaptable` interface defines the API to be implemented by a class providing adaptability to another class. The single method defined by this interface is
 
 
-/**
-* Adapts the adaptable to another type.
-* <p>
-* Please not that it is explicitly left as an implementation detail whether
-* each call to this method with the same <code>type</code> yields the same
-* object or a new object on each call.
-* <p>
-* Implementations of this method should document their adapted types as
-* well as their behaviour with respect to returning newly created or not
-* instance on each call.
-*
-* @param <AdapterType> The generic type to which this resource is adapted
-*            to
-* @param type The Class object of the target type, such as
-*            <code>javax.jcr.Node.class</code> or
-*            <code>java.io.File.class</code>
-* @return The adapter target or <code>null</code> if the resource cannot
-*         adapt to the requested type
-*/
-<AdapterType> AdapterType adaptTo(Class<AdapterType> type);
+    /**
+     * Adapts the adaptable to another type.
+     * <p>
+     * Please not that it is explicitly left as an implementation detail whether
+     * each call to this method with the same <code>type</code> yields the same
+     * object or a new object on each call.
+     * <p>
+     * Implementations of this method should document their adapted types as
+     * well as their behaviour with respect to returning newly created or not
+     * instance on each call.
+     *
+     * @param <AdapterType> The generic type to which this resource is adapted
+     *            to
+     * @param type The Class object of the target type, such as
+     *            <code>javax.jcr.Node.class</code> or
+     *            <code>java.io.File.class</code>
+     * @return The adapter target or <code>null</code> if the resource cannot
+     *         adapt to the requested type
+     */
+    <AdapterType> AdapterType adaptTo(Class<AdapterType> type);
 
 
 This method is called to get a view of the same object in terms of another class. Examples of implementations of this method are the Sling `ResourceResolver` implementation providing adapting to a JCR session and the Sling JCR based `Resource` implementation providing adapting to a JCR node.
@@ -47,30 +50,30 @@ The web console plugin evaluates metadata being provided by any `AdapterFactory`
 
 # Implementing Adaptable
 
-Each adaptable should derive from `SlingAdaptable` to automatically profit from all according `AdapterFactories` registered in the system.
-In case the `adaptTo(...)` method is being overwritten an according `SLING-INF/adapters.json` should be included in the providing bundle
-listing all adaptation possibilities. While this file is not strictly necessary for the actual adaptation to work, it provides useful information to the Web Console plugin.
+Each adaptable should derive from `SlingAdaptable` to automatically profit from all according `AdapterFactories` registered in the system. 
+In case the `adaptTo(...)` method is being overwritten an according `SLING-INF/adapters.json` should be included in the providing bundle 
+listing all adaptation possibilities. While this file is not strictly necessary for the actual adaptation to work, it provides useful information to the Web Console plugin. 
 Otherwise developers will not know which adaptations are supported. The format of this JSON file looks like this ([SLING-2295](https://issues.apache.org/jira/browse/SLING-2295)):
 
-{
-<fully qualified class name of adaptable> : {
-<condition> :  <fully qualified class name of adapter, may be a JSON array>
-}
-}
+    { 
+      <fully qualified class name of adaptable> : {
+        <condition> :  <fully qualified class name of adapter, may be a JSON array>
+      }
+    }
 
 For example
 
-{
-"org.apache.sling.api.resource.Resource" : {
-"If the adaptable is a AuthorizableResource." : [
-"java.util.Map",
-"org.apache.sling.api.resource.ValueMap",
-"org.apache.jackrabbit.api.security.user.Authorizable"
-],
-"If the resource is an AuthorizableResource and represents a JCR User" : "org.apache.jackrabbit.api.security.user.User",
-"If the resource is an AuthorizableResource and represents a JCR Group" : "org.apache.jackrabbit.api.security.user.Group"
-}
-}
+    {
+      "org.apache.sling.api.resource.Resource" : {
+        "If the adaptable is a AuthorizableResource." : [
+          "java.util.Map",
+          "org.apache.sling.api.resource.ValueMap",
+          "org.apache.jackrabbit.api.security.user.Authorizable"
+        ],
+        "If the resource is an AuthorizableResource and represents a JCR User" : "org.apache.jackrabbit.api.security.user.User",
+        "If the resource is an AuthorizableResource and represents a JCR Group" : "org.apache.jackrabbit.api.security.user.Group"
+      }
+    }
 
 Instead of manually creating that JSON file, the annotations from the module [adapter-annotations](https://svn.apache.org/viewvc/sling/trunk/tooling/maven/adapter-annotations/)  can be used together with the goal `generate-adapter-metadata` from the [Maven Sling Plugin](http://sling.apache.org/components/maven-sling-plugin/generate-adapter-metadata-mojo.html) to generate it automatically ([SLING-2313](https://issues.apache.org/jira/browse/SLING-2313)).
 
@@ -79,9 +82,9 @@ Instead of manually creating that JSON file, the annotations from the module [ad
 
 Sometimes an `Adaptable` implementation cannot foresee future uses and requirements. To cope with such extensibility requirements two interfaces and an abstract base class are defined:
 
-* `AdapterManager`
-* `AdapterFactory`
-* `SlingAdaptable`
+  * `AdapterManager`
+  * `AdapterFactory`
+  * `SlingAdaptable`
 
 
 ## AdapterFactory
@@ -89,31 +92,31 @@ Sometimes an `Adaptable` implementation cannot foresee future uses and requireme
 The `AdapterFactory` interface defines the service interface and API for factories supporting extensible adapters for `SlingAdaptable` objects. The interface has a single method:
 
 
-/**
-* Adapt the given object to the adaptable type. The adaptable object is
-* guaranteed to be an instance of one of the classes listed in the
-* {@link #ADAPTABLE_CLASSES} services registration property. The type
-* parameter is one of the classes listed in the {@link #ADAPTER_CLASSES}
-* service registration properties.
-* <p>
-* This method may return <code>null</code> if the adaptable object cannot
-* be adapted to the adapter (target) type for any reason. In this case, the
-* implementation should log a message to the log facility noting the cause
-* for not being able to adapt.
-* <p>
-* Note that the <code>adaptable</code> object is not required to implement
-* the <code>Adaptable</code> interface, though most of the time this method
-* is called by means of calling the {@link Adaptable#adaptTo(Class)}
-* method.
-*
-* @param <AdapterType> The generic type of the adapter (target) type.
-* @param adaptable The object to adapt to the adapter type.
-* @param type The type to which the object is to be adapted.
-* @return The adapted object or <code>null</code> if this factory instance
-*         cannot adapt the object.
-*/
-<AdapterType> AdapterType getAdapter(Object adaptable,
-Class<AdapterType> type);
+    /**
+     * Adapt the given object to the adaptable type. The adaptable object is
+     * guaranteed to be an instance of one of the classes listed in the
+     * {@link #ADAPTABLE_CLASSES} services registration property. The type
+     * parameter is one of the classes listed in the {@link #ADAPTER_CLASSES}
+     * service registration properties.
+     * <p>
+     * This method may return <code>null</code> if the adaptable object cannot
+     * be adapted to the adapter (target) type for any reason. In this case, the
+     * implementation should log a message to the log facility noting the cause
+     * for not being able to adapt.
+     * <p>
+     * Note that the <code>adaptable</code> object is not required to implement
+     * the <code>Adaptable</code> interface, though most of the time this method
+     * is called by means of calling the {@link Adaptable#adaptTo(Class)}
+     * method.
+     *
+     * @param <AdapterType> The generic type of the adapter (target) type.
+     * @param adaptable The object to adapt to the adapter type.
+     * @param type The type to which the object is to be adapted.
+     * @return The adapted object or <code>null</code> if this factory instance
+     *         cannot adapt the object.
+     */
+    <AdapterType> AdapterType getAdapter(Object adaptable,
+            Class<AdapterType> type);
 
 
 Implementations of this interface are registered as OSGi services providing two lists: The list of classes which may be adapted (property named `adaptables`) and the list of classes to which the adapted class may be adapted (property named `adapters`). A good example of an Class implementing `AdapterFactory` is the `SlingScriptAdapterFactory`. In addition a property named `adapter.condition` can be provided which is supposed to contain a string value explaining under which circumstances the adaption will work (if there are any restrictions). This is evaluated by the Web Console Plugin.
@@ -128,23 +131,23 @@ The `AdapterManager` is defines the service interface for the generalized and ex
 The `AdapterManager` interface is defined as follows:
 
 
-/**
-* Returns an adapter object of the requested <code>AdapterType</code> for
-* the given <code>adaptable</code> object.
-* <p>
-* The <code>adaptable</code> object may be any non-<code>null</code> object
-* and is not required to implement the <code>Adaptable</code> interface.
-*
-* @param <AdapterType> The generic type of the adapter (target) type.
-* @param adaptable The object to adapt to the adapter type.
-* @param type The type to which the object is to be adapted.
-* @return The adapted object or <code>null</code> if no factory exists to
-*         adapt the <code>adaptable</code> to the <code>AdapterType</code>
-*         or if the <code>adaptable</code> cannot be adapted for any other
-*         reason.
-*/
-<AdapterType> AdapterType getAdapter(Object adaptable,
-Class<AdapterType> type);
+    /**
+     * Returns an adapter object of the requested <code>AdapterType</code> for
+     * the given <code>adaptable</code> object.
+     * <p>
+     * The <code>adaptable</code> object may be any non-<code>null</code> object
+     * and is not required to implement the <code>Adaptable</code> interface.
+     *
+     * @param <AdapterType> The generic type of the adapter (target) type.
+     * @param adaptable The object to adapt to the adapter type.
+     * @param type The type to which the object is to be adapted.
+     * @return The adapted object or <code>null</code> if no factory exists to
+     *         adapt the <code>adaptable</code> to the <code>AdapterType</code>
+     *         or if the <code>adaptable</code> cannot be adapted for any other
+     *         reason.
+     */
+    <AdapterType> AdapterType getAdapter(Object adaptable,
+            Class<AdapterType> type);
 
 
 Any object can theoretically be adapted to any class even if it does not implement the `Adaptable` interface, if an `AdapterFactory` service delivers a `getAdapter()` method which adapts an object to another one. To check if there's any existing `AdapterFactory` which can adapt a given object to another one the `AdapterManager` service with its `getAdapter()` method does the job. So the `Adaptable` interface merely is an indicator that the object provides built-in support for being adapted.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/architecture.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/architecture.md b/content/documentation/the-sling-engine/architecture.md
index d0cb977..bcf6a9f 100644
--- a/content/documentation/the-sling-engine/architecture.md
+++ b/content/documentation/the-sling-engine/architecture.md
@@ -1,7 +1,10 @@
-title=Architecture		
-type=page
+title=TODO title for architecture.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Architecture
 
 The following is a short list of high-lights of Sling:
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/authentication.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/authentication.md b/content/documentation/the-sling-engine/authentication.md
index f09b223..5630bb0 100644
--- a/content/documentation/the-sling-engine/authentication.md
+++ b/content/documentation/the-sling-engine/authentication.md
@@ -1,7 +1,10 @@
-title=Authentication		
-type=page
+title=TODO title for authentication.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Authentication
 Excerpt:  How requests are authenticated.
 
 
@@ -12,7 +15,7 @@ Let's look at generic request processing of Sling: Sling is linked into the outs
 This method is called by the OSGi HTTP Service implementation after the servlet has been selected to handle the request but before actually calling the servlet's `service` method.
 
 <a href="authentication.png" style="float:left;padding-right:5%">
-<img src="authentication.png" title="Authentication Flow" alt="Authentication Flow" />
+    <img src="authentication.png" title="Authentication Flow" alt="Authentication Flow" />
 </a>
 
 1. First the OSGi HTTP Service implementation is analyzing the request URL to find a match for a servlet or resource registered with the HTTP Service.
@@ -23,7 +26,7 @@ The important thing to note here is, that at the time the `handleSecurity` metho
 
 The following pages describe the full details of request authentication in Sling in full detail:
 
-* [Tasks](/documentation/the-sling-engine/authentication/authentication-tasks.html): {{ refs.authentication-tasks.headers.excerpt }}
-* [Actors](/documentation/the-sling-engine/authentication/authentication-actors.html): {{ refs.authentication-actors.headers.excerpt }}
-* [Framework](/documentation/the-sling-engine/authentication/authentication-framework.html): {{ refs.authentication-framework.headers.excerpt }}
-* [AuthenticationHandler](/documentation/the-sling-engine/authentication/authentication-authenticationhandler.html): {{ refs.authentication-authenticationhandler.headers.excerpt }}
+* [Tasks](/documentation/the-sling-engine/authentication/authentication-tasks.html): {{ refs.authentication-tasks.headers.excerpt }} 
+* [Actors](/documentation/the-sling-engine/authentication/authentication-actors.html): {{ refs.authentication-actors.headers.excerpt }} 
+* [Framework](/documentation/the-sling-engine/authentication/authentication-framework.html): {{ refs.authentication-framework.headers.excerpt }} 
+* [AuthenticationHandler](/documentation/the-sling-engine/authentication/authentication-authenticationhandler.html): {{ refs.authentication-authenticationhandler.headers.excerpt }} 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/authentication/authentication-actors.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/authentication/authentication-actors.md b/content/documentation/the-sling-engine/authentication/authentication-actors.md
index 63a44f9..63ee269 100644
--- a/content/documentation/the-sling-engine/authentication/authentication-actors.md
+++ b/content/documentation/the-sling-engine/authentication/authentication-actors.md
@@ -1,7 +1,10 @@
-title=Authentication - Actors		
-type=page
+title=TODO title for authentication-actors.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Authentication - Actors
 Excerpt: The authentication process involves a number of actors contributing to the concepts, the API and the particular implementations.
 
 The authentication process involves a number of actors contributing to the concepts, the API and the particular implementations.
@@ -29,32 +32,32 @@ That's all there is for the Sling Engine to do with respect to authentication.
 
 The support for authenticating client requests is implemented in the Sling Auth Core bundle. As such this bundle provides three areas of support
 
-* `AuthenticationHandler` service interface. This is implemented by services providing functionality to extract credentials from HTTP requests.
-* `Authenticator` service interface. This is implemented by the `SlingAuthenticator` class in the Sling Auth Core bundle and provides applications with entry points to login and logout.
-* `AuthenticationSupport` service interface. This is implemented by the `SlingAuthenticator` class in the Sling Auth Core bundle and allows applications registering with the OSGi HTTP Service to make use of the Sling authentication infrastructure.
+ * `AuthenticationHandler` service interface. This is implemented by services providing functionality to extract credentials from HTTP requests.
+ * `Authenticator` service interface. This is implemented by the `SlingAuthenticator` class in the Sling Auth Core bundle and provides applications with entry points to login and logout.
+ * `AuthenticationSupport` service interface. This is implemented by the `SlingAuthenticator` class in the Sling Auth Core bundle and allows applications registering with the OSGi HTTP Service to make use of the Sling authentication infrastructure.
 
 
 ## JCR Repository
 
 The actual process of logging into the repository and provided a `Session` is implementation dependent. In the case of Jackrabbit extensibility is provided by configuration of the Jackrabbit repository by means of an interface and two helper classes:
 
-* `LoginModule` -- The interface to be implemented to provide login processing plugins
-* `AbstractLoginModule` -- A an abstract base class implementation of the `LoginModule` interface.
-* `DefaultLoginModule` -- The default implementation of the `AbstractLoginModule` provided by Jackabbit. This login module takes `SimpleCredentials` and uses the repository to lookup the users, validate the credentials and providing the `Principal` representing the user towards the repository.
+  * `LoginModule` -- The interface to be implemented to provide login processing plugins
+  * `AbstractLoginModule` -- A an abstract base class implementation of the `LoginModule` interface.
+  * `DefaultLoginModule` -- The default implementation of the `AbstractLoginModule` provided by Jackabbit. This login module takes `SimpleCredentials` and uses the repository to lookup the users, validate the credentials and providing the `Principal` representing the user towards the repository.
 
 The Sling Jackrabbit Embedded Repository bundle provides additional plugin interfaces to extend the login process dynamically using OSGi services. To this avail the bundle configures a `LoginModule` with the provided default Jackrabbit configuration supporting these plugins:
 
-* `LoginModulePlugin` -- The main service interface. Plugins must implement this interface to be able to extend the login process. See for example the [Sling OpenID authentication handler](http://svn.apache.org/repos/asf/sling/trunk/bundles/auth/openid/), which implements this interface to support OpenID authentication.
-* `AuthenticationPlugin` -- Helper interface for the `LoginModulePlugin`.
+  * `LoginModulePlugin` -- The main service interface. Plugins must implement this interface to be able to extend the login process. See for example the [Sling OpenID authentication handler](http://svn.apache.org/repos/asf/sling/trunk/bundles/auth/openid/), which implements this interface to support OpenID authentication.
+  * `AuthenticationPlugin` -- Helper interface for the `LoginModulePlugin`.
 
 
 ## Sling Applications
 
 Sling Applications requiring authenticated requests should not care about how authentication is implemented. To support such functionality the `Authenticator` service is provided with two methods:
 
-* `login` -- allows the application to ensure requests are authenticated. This involves selecting an `AuthenticationHandler` to request credentials for authentication.
+  * `login` -- allows the application to ensure requests are authenticated. This involves selecting an `AuthenticationHandler` to request credentials for authentication.
 
-* `logout` -- allows the application to forget about any authentication. This involves selecting an `AuthenticationHandler` to forget about credentials in the request.
+  * `logout` -- allows the application to forget about any authentication. This involves selecting an `AuthenticationHandler` to forget about credentials in the request.
 
 Sling Applications should never directly use any knowledge of any authentication handler or directly call into an authentication handler. This will certainly break the application and cause unexpected behaviour.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler.md b/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler.md
index 52fecf9..4235048 100644
--- a/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler.md
+++ b/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler.md
@@ -1,7 +1,10 @@
-title=Authentication - AuthenticationHandler		
-type=page
+title=TODO title for authentication-authenticationhandler.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Authentication - AuthenticationHandler
 Excerpt: The `AuthenticationHandler` interface defines the service API which may be implemented by authentication handlers registered as OSGi services.
 
 The `AuthenticationHandler` interface defines the service API which may be implemented by authentication handlers registered as OSGi services.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler/form-based-authenticationhandler.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler/form-based-authenticationhandler.md b/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler/form-based-authenticationhandler.md
index 8f1ee41..9874c95 100644
--- a/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler/form-based-authenticationhandler.md
+++ b/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler/form-based-authenticationhandler.md
@@ -1,7 +1,10 @@
-title=Form Based AuthenticationHandler		
-type=page
+title=TODO title for form-based-authenticationhandler.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Form Based AuthenticationHandler
 
 [TOC]
 
@@ -74,15 +77,15 @@ The Form Based Authentication Handler contains a [default form servlet](http://s
 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:
 
 
-HmacSHA1(securetoken, <securetokennumber><expirytime>@<userID>)@<securetokennumber><expirytime>@<userID>
+    HmacSHA1(securetoken, <securetokennumber><expirytime>@<userID>)@<securetokennumber><expirytime>@<userID>
 
 
 The `securetoken` and `securetokennumber` are related in that an table of secure tokens is maintained where the `securetoken` is an entry in the table and the `securetokennumber` is the index in of the token in the table.
 
 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:
 
-* 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.
-* 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.
+  * 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.
+  * 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.
 
 The authentication state may be transmitted with a Cookie which is configured as follows:
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler/openid-authenticationhandler.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler/openid-authenticationhandler.md b/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler/openid-authenticationhandler.md
index 09f6dab..463f393 100644
--- a/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler/openid-authenticationhandler.md
+++ b/content/documentation/the-sling-engine/authentication/authentication-authenticationhandler/openid-authenticationhandler.md
@@ -1,7 +1,10 @@
-title=OpenID AuthenticationHandler		
-type=page
+title=TODO title for openid-authenticationhandler.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: OpenID AuthenticationHandler
 
 [TOC]
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/authentication/authentication-framework.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/authentication/authentication-framework.md b/content/documentation/the-sling-engine/authentication/authentication-framework.md
index c5a3b2c..15baf15 100644
--- a/content/documentation/the-sling-engine/authentication/authentication-framework.md
+++ b/content/documentation/the-sling-engine/authentication/authentication-framework.md
@@ -1,16 +1,19 @@
-title=Authentication - Framework		
-type=page
+title=TODO title for authentication-framework.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Authentication - Framework
 Excerpt: The core piece of functionality with respect to authentication in Sling is contained in the Sling Auth Core bundle. This bundle provides the API for Sling and Sling applications to make use of authentication.
 
 The core piece of functionality with respect to authentication in Sling is contained in the Sling Auth Core bundle. This bundle provides the API for Sling and Sling applications to make use of authentication.
 
 This support encompasses three parts:
 
-* The `AuthenticationSupport` service provided by the `SlingAuthenticator` class. This service can be used by implementations of the OSGi `HttpContext` interface to delegate authentication.
-* The `Authenticator` service also provided by the `SlingAuthenticator` class. This service may be used by Sling applications to help clients login and logout.
-* The `AuthenticationHandler` service interface. These services may be implemented by extensions to support various ways for transporting credentials from clients to the Sling server.
+  * The `AuthenticationSupport` service provided by the `SlingAuthenticator` class. This service can be used by implementations of the OSGi `HttpContext` interface to delegate authentication.
+  * The `Authenticator` service also provided by the `SlingAuthenticator` class. This service may be used by Sling applications to help clients login and logout.
+  * The `AuthenticationHandler` service interface. These services may be implemented by extensions to support various ways for transporting credentials from clients to the Sling server.
 
 This page describes how the `SlingAuthenticator` class provides the `AuthenticationSupport` and  `Authenticator` services. For a description of the `AuthenticationHandler` service interface and the interaction between the `SlingAuthenticator` and the `AuthenticationHandler` services refer to the [AuthenticationHandler](/documentation/the-sling-engine/authentication/authentication-authenticationhandler.html) page.
 
@@ -45,7 +48,7 @@ Extracting the credentials and trying to login to the repository may yield the f
 | missing | anonymous forbidden | Select `AuthenticationHandler` and call `requestCredentials` method |
 
 <div class="note">
-Only one <code>AuthenticationHandler</code> is able to provide credentials for a given request. If the credentials provided by the handler cannot be used to login to the repository, authentication fails and no further <code>AuthenticationHandler</code> is consulted.
+    Only one <code>AuthenticationHandler</code> is able to provide credentials for a given request. If the credentials provided by the handler cannot be used to login to the repository, authentication fails and no further <code>AuthenticationHandler</code> is consulted.
 </div>
 
 
@@ -64,7 +67,7 @@ The `handleSecurity` method gets credentials from the `AuthenticationHandler` an
 **NOTE**: Do *NOT* use the `javax.jcr.Session` request attribute in your Sling applications. This attribute must be considered implementation specific to convey the JCR Session to the `SlingMainServlet`. In future versions of the Sling Auth Core bundle, this request attribute will not be present anymore. To get the JCR Session for the current request adapt the request's resource resolver to a JCR Session:
 
 
-Session session = request.getResourceResolver().adaptTo(Session.class);
+    Session session = request.getResourceResolver().adaptTo(Session.class);
 
 
 
@@ -82,13 +85,13 @@ The values set on the *Authentication Requirements* configuration property or th
 **Examples**
 
 * The `LoginServlet` contained in the Sling Auth Core bundle registers itself with the service registration property `sling.auth.requirements = "-/system/sling/login"` to ensure the servlet can be accessed without requiring authentication (checks for `slash` or `dot` or `end of string`). The following request urls would work then without authentication:
-* /system/sling/login
-* /system/sling/login.html
-* /system/sling/login/somesuffix
-
-While the following request will still require authentication
-
-* /system/sling/login-test
+    * /system/sling/login
+    * /system/sling/login.html
+    * /system/sling/login/somesuffix
+    
+  While the following request will still require authentication 
+  
+    * /system/sling/login-test 
 
 * An authentication handler may register itself with the service registration property `sling.auth.requirements = "-/apps/sample/loginform"` to ensure the login form can be rendered without requiring authentication.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/authentication/authentication-tasks.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/authentication/authentication-tasks.md b/content/documentation/the-sling-engine/authentication/authentication-tasks.md
index ebf775e..8af499f 100644
--- a/content/documentation/the-sling-engine/authentication/authentication-tasks.md
+++ b/content/documentation/the-sling-engine/authentication/authentication-tasks.md
@@ -1,24 +1,27 @@
-title=Authentication - Tasks		
-type=page
+title=TODO title for authentication-tasks.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Authentication - Tasks
 Excerpt: Authentication of HTTP Requests is generally a two-step process: First the credentials must be extracted from the request and second the credentials must be validated. In the case of Sling this means acquiring a JCR Session.
 
 Authentication of HTTP Requests is generally a two-step process: First the credentials must be extracted from the request and second the credentials must be validated. In the case of Sling this means acquiring a JCR Session.
 
 ## Extract Credentials from the Request
 
-* Implemented and controlled by the Sling Auth Core bundle
-* Takes `HttpServletRequest`
-* Provides credentials for futher processing (basically JCR `Credentials` and Workspace name)
-* Extensible with the help of `AuthenticationHandler` services
+ * Implemented and controlled by the Sling Auth Core bundle
+ * Takes `HttpServletRequest`
+ * Provides credentials for futher processing (basically JCR `Credentials` and Workspace name)
+ * Extensible with the help of `AuthenticationHandler` services
 
 
 ## Login to the JCR Repository
 
-* Implemented and controlled by the JCR Repository
-* Takes JCR `Credentials` and Workspace name
-* Provides a JCR `Session`
-* Implementation dependent process. Jackrabbit provides extensibility based on `LoginModules`; Sling's Embedded Jackrabbit Repository bundle provides extensibility with `LoginModulePlugin` services.
+ * Implemented and controlled by the JCR Repository
+ * Takes JCR `Credentials` and Workspace name
+ * Provides a JCR `Session`
+ * Implementation dependent process. Jackrabbit provides extensibility based on `LoginModules`; Sling's Embedded Jackrabbit Repository bundle provides extensibility with `LoginModulePlugin` services.
 
 Currently the credentials are always verified by trying to login to the JCR repository. Once an [ResourceResolverFactory](http://cwiki.apache.org/SLING/add-resourceresolverfactory-service-interface.html) API has been added, the process of validating the credentials and logging in is actualy replaced by a process of requesting a `ResourceResolver` from the `ResourceResolverFactory`. Of course, the JCR Repository will still be the main underlying repository and as such be used to validate the credentials and get a JCR Session.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/default-mapping-and-rendering.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/default-mapping-and-rendering.md b/content/documentation/the-sling-engine/default-mapping-and-rendering.md
index fd88767..703b243 100644
--- a/content/documentation/the-sling-engine/default-mapping-and-rendering.md
+++ b/content/documentation/the-sling-engine/default-mapping-and-rendering.md
@@ -1,7 +1,10 @@
-title=Default Mapping and Rendering		
-type=page
+title=TODO title for default-mapping-and-rendering.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
 translation_pending: true
+Title: Default Mapping and Rendering
 
 This page contained obsolete content, moved it to http://cwiki.apache.org/confluence/display/SLING/Default+Mapping+and+Rendering+%28OBSOLETE%29 in case it is useful to someone.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/dispatching-requests.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/dispatching-requests.md b/content/documentation/the-sling-engine/dispatching-requests.md
index 7a9b465..1c0188f 100644
--- a/content/documentation/the-sling-engine/dispatching-requests.md
+++ b/content/documentation/the-sling-engine/dispatching-requests.md
@@ -1,7 +1,10 @@
-title=Dispatching Requests		
-type=page
+title=TODO title for dispatching-requests.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Dispatching Requests
 
 ## Main process
 
@@ -15,23 +18,23 @@ The following steps should give you an overview how a request is processed in Sl
 
 1. OSGi HttpService calls `handleSecurity` of the HttpContext associated with the servlet/resource. In case of Sling this calls into SlingMainServlet.handleSecurity and then into SlingAuthenticator.authenticate
 
-1. SlingAuthenticator selects an authentication handler for the request and forwards the authenticate call. On success a `javax.jcr.Session` is created, the request attributes required by the HTTP Service spec are set (like `org.osgi.service.http.authentication.remote.user` and `org.osgi.service.http.authentication.type`and also the `javax.jcr.Session` which is used later is set in the request attributes.
-On success, continue with step 5.
+    1. SlingAuthenticator selects an authentication handler for the request and forwards the authenticate call. On success a `javax.jcr.Session` is created, the request attributes required by the HTTP Service spec are set (like `org.osgi.service.http.authentication.remote.user` and `org.osgi.service.http.authentication.type`and also the `javax.jcr.Session` which is used later is set in the request attributes.
+    On success, continue with step 5.
 
-1. If authentication fails either an anonymous session is acquired (if anonymous is allowed per configuration) or the login method is called.
-If anonymous is allowed, continue with step 5.
+    1. If authentication fails either an anonymous session is acquired (if anonymous is allowed per configuration) or the login method is called.
+    If anonymous is allowed, continue with step 5.
 
-1. The login method selects an AuthenticationHandler and forwards the login call to the AuthenticationHandler.requestAuthentication method to cause the client to authenticate. Request processing stops here (`SlingMainServlet.handleSecurity` returns false).
+    1. The login method selects an AuthenticationHandler and forwards the login call to the AuthenticationHandler.requestAuthentication method to cause the client to authenticate. Request processing stops here (`SlingMainServlet.handleSecurity` returns false).
 
 1. After getting a response the HttpService either terminates the request (if authentication failed and `SlingMainServlet.handleSecurity` returned false) or continues by either spooling the resource or in the case of Sling calling the `SlingMainServlet.service` method.
 
 1. The `SlingMainServlet.service` method is the entry point into the Sling proper. This method sets up the request:
 
-* Wraps the `HttpServletRequest` and the `HttpServletResponse` into the `SlingHttpServletRequest` and the `SlingHttpServletResponse`
-* Checks if Sling is ready for processing the request (checks at the moment for an existing ResourceResolverFactory service, a ServletResolver service and a MimeTypeService)
-* Create the ResourceResolver based on the Session (by default creates a `JcrResourceResolver2`)
-* Locate the [Resource](/documentation/the-sling-engine/resources.html) on the basis of the request by calling `ResourceResovler.resolve` through `RequestData.initResource` (see also [URL decomposition](/documentation/the-sling-engine/url-decomposition.html))
-* Locate the servlet or script (see [Servlets](/documentation/the-sling-engine/servlets.html)) by calling `ServletResolver.resolveServlet` through `RequestData.initServlet`
+    * Wraps the `HttpServletRequest` and the `HttpServletResponse` into the `SlingHttpServletRequest` and the `SlingHttpServletResponse`
+    * Checks if Sling is ready for processing the request (checks at the moment for an existing ResourceResolverFactory service, a ServletResolver service and a MimeTypeService)
+    * Create the ResourceResolver based on the Session (by default creates a `JcrResourceResolver2`)
+    * Locate the [Resource](/documentation/the-sling-engine/resources.html) on the basis of the request by calling `ResourceResovler.resolve` through `RequestData.initResource` (see also [URL decomposition](/documentation/the-sling-engine/url-decomposition.html))
+    * Locate the servlet or script (see [Servlets](/documentation/the-sling-engine/servlets.html)) by calling `ServletResolver.resolveServlet` through `RequestData.initServlet`
 
 1. After this setup, the request level filters are called (the ones registered as `javax.servlet.Filter` with the property `filter.scope=request`, see [Filters](/documentation/the-sling-engine/filters.html) for details).
 If any called filter doesn't call `FilterChain.doFilter` at the end of the `Filter.doFilter` method request processing stops here.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/errorhandling.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/errorhandling.md b/content/documentation/the-sling-engine/errorhandling.md
index 74e65b9..3e25dee 100644
--- a/content/documentation/the-sling-engine/errorhandling.md
+++ b/content/documentation/the-sling-engine/errorhandling.md
@@ -1,7 +1,10 @@
-title=Errorhandling		
-type=page
+title=TODO title for errorhandling.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Errorhandling
 
 The Sling Engine includes support for handling uncaught `Throwable` as well as rendering custom HTTP status code pages. This is implemented by expecting a (single) `org.apache.sling.engine.servlets.ErrorHandler` service to which handling of uncaught `Throwable` and HTTP status responses are delegated.
 
@@ -9,7 +12,7 @@ The Sling Servlet Resolver bundle implements this interface by providing an elab
 
 This page provides more information on how error handler scripts are selected and what is provided out of the box.
 
-The [ErrorHandlingTest][1] in our integration tests suite provides
+The [ErrorHandlingTest][1] in our integration tests suite provides 
 working examples of various error handling scenarios.
 
 [TOC]
@@ -21,12 +24,12 @@ the status and writing to the response such handlers should do the following:
 
 * Check whether the response has been committed or not
 * If the response has not been committed:
-* Reset the response
-* Set the status code (use `HttpServletResponse.setStatus`)
-* Set the response content type and character encoding (provided text data is sent back)
+    * Reset the response
+    * Set the status code (use `HttpServletResponse.setStatus`)
+    * Set the response content type and character encoding (provided text data is sent back)
 * If the response has already been committed:
-* Do not try to reset since this would cause an `IllegalStateException`. Also the writer may not be available.
-* The best that might be done in this case is just log a message at warning or error level along with information about the failure.
+    * Do not try to reset since this would cause an `IllegalStateException`. Also the writer may not be available.
+    * The best that might be done in this case is just log a message at warning or error level along with information about the failure.
 
 
 ## HTTP Status Codes
@@ -35,13 +38,13 @@ The Sling engine implements the `HttpServletResponse.sendError` methods by calli
 
 The Servlet Resolver bundle implementation looks up a script to handle the status code as follows:
 
-* The status code is converted to a string and used as the request extension. Any request extensions, selectors or suffixes from the actual request are ignored.
-* The same resource type hierarchy is followed to find the script as for regular script resolution. The difference is that for error handler scripts `sling/servlet/errorhandler` is used as the implied base resource type (as opposed to `sling/servlet/default` for regular script resolution.
+  * The status code is converted to a string and used as the request extension. Any request extensions, selectors or suffixes from the actual request are ignored.
+  * The same resource type hierarchy is followed to find the script as for regular script resolution. The difference is that for error handler scripts `sling/servlet/errorhandler` is used as the implied base resource type (as opposed to `sling/servlet/default` for regular script resolution.
 
 **Examples:**
 
-* An application provider my provide a default handler for the 404/NOT FOUND status. This script might be located in `/libs/sling/servlet/errorhandler/404.jsp`.
-* An programmer might provide a handler for the 403/FORBIDDEN status in `/apps/sling/servlet/errorhandler/403.esp`.
+  * An application provider my provide a default handler for the 404/NOT FOUND status. This script might be located in `/libs/sling/servlet/errorhandler/404.jsp`.
+  * An programmer might provide a handler for the 403/FORBIDDEN status in `/apps/sling/servlet/errorhandler/403.esp`.
 
 
 ## Uncaught Throwables
@@ -57,13 +60,13 @@ To register a catch-all handler for any uncaught Throwables you might create a s
 
 The Sling Servlet Resolver bundle provides a default error handler servlet which is used if the algorithms described above do not resolve to a handler script or servlet. The provided error handler servlet does the following:
 
-* Print a descriptive message, which is the `javax.servlet.error.message` request attribute by default
-* Print a stacktrace if the `javax.servlet.error.exception` is set
-* Dump the request progress tracker
+  * Print a descriptive message, which is the `javax.servlet.error.message` request attribute by default
+  * Print a stacktrace if the `javax.servlet.error.exception` is set
+  * Dump the request progress tracker
 
 Starting with Sling Servlet Resolver version 2.0.10 the default error handler servlet is looked up using the string `default` as the request extension and the provided default servlet is registered as `<prefix>/sling/servlet/errorhandler/default.servlet` where <prefix> is the last entry in the resource resolver search path, `/libs` by default.
 
 Thus to overwrite the default error handler servlet provide a servlet or script for the `default` extension, for example `/apps/sling/servlet/errorhandler/default.groovy`.
 
 
-[1]: https://svn.apache.org/repos/asf/sling/trunk/launchpad/integration-tests/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/servlets/resolver/errorhandler/ErrorHandlingTest.java
+  [1]: https://svn.apache.org/repos/asf/sling/trunk/launchpad/integration-tests/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/servlets/resolver/errorhandler/ErrorHandlingTest.java

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/the-sling-engine/featureflags.md
----------------------------------------------------------------------
diff --git a/content/documentation/the-sling-engine/featureflags.md b/content/documentation/the-sling-engine/featureflags.md
index 180368c..38f9dd6 100644
--- a/content/documentation/the-sling-engine/featureflags.md
+++ b/content/documentation/the-sling-engine/featureflags.md
@@ -1,19 +1,22 @@
-title=Feature Flags		
-type=page
+title=TODO title for featureflags.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Feature Flags
 
 Feature Flags are used to select whether a particular feature is enabled or not. This allows to
 continuosly deploy new features of an application without making them globally available yet.
 
 Features may be enabled based on various contextual data:
 
-* Time of Day
-* Segmentation Data (gender, age, etc.), if available
-* Request Parameter
-* Request Header
-* Cookie Value
-* Static Configuration
+  * Time of Day
+  * Segmentation Data (gender, age, etc.), if available
+  * Request Parameter
+  * Request Header
+  * Cookie Value
+  * Static Configuration
 
 Feature flags can be provided by registering `org.apache.sling.featureflags.Feature` services.
 Alternatively feature flags can be provided by factory configuration with factory PID


[08/12] sling-site git commit: Revert 88e80480d5c1dd204ab2cb8a11be9f96caecc899 which ate whitespace at the beginning of lines

Posted by bd...@apache.org.
http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/scripting/scripting-htl.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/scripting/scripting-htl.md b/content/documentation/bundles/scripting/scripting-htl.md
index 2677a67..d2fb980 100644
--- a/content/documentation/bundles/scripting/scripting-htl.md
+++ b/content/documentation/bundles/scripting/scripting-htl.md
@@ -1,7 +1,10 @@
-title=HTL Scripting Engine		
-type=page
+title=TODO title for scripting-htl.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: HTL Scripting Engine
 
 The Apache Sling HTL Scripting Engine, [formerly known as Sightly](https://issues.apache.org/jira/browse/SLING-6028), is the reference implementation of the [HTML Template Language](https://github.com/Adobe-Marketing-Cloud/htl-spec).
 
@@ -25,33 +28,33 @@ The [HTML Template Language Specification](https://github.com/Adobe-Marketing-Cl
 
 1. Java Use-API, through POJOs, that may optionally implement an `init` method:
 
-/**
-* Initialises the Use bean.
-*
-* @param bindings All bindings available to the HTL scripts.
-**/
-public void init(javax.script.Bindings bindings);
+        /**
+         * Initialises the Use bean.
+         *
+         * @param bindings All bindings available to the HTL scripts.
+         **/
+        public void init(javax.script.Bindings bindings);
 
 
 2. JavaScript Use-API, by using a standardised use function
 
-/**
-* In the following example '/libs/dep1.js' and 'dep2.js' are optional
-* dependencies needed for this script's execution. Dependencies can
-* be specified using an absolute path or a relative path to this
-* script's own path.
-*
-* If no dependencies are needed the dependencies array can be omitted.
-*/
-use(['dep1.js', 'dep2.js'], function (Dep1, Dep2) {
-// implement processing
-
-// define this Use object's behaviour
-return {
-propertyName: propertyValue
-functionName: function () {}
-}
-});
+        /**
+         * In the following example '/libs/dep1.js' and 'dep2.js' are optional
+         * dependencies needed for this script's execution. Dependencies can
+         * be specified using an absolute path or a relative path to this
+         * script's own path.
+         *
+         * If no dependencies are needed the dependencies array can be omitted.
+         */
+        use(['dep1.js', 'dep2.js'], function (Dep1, Dep2) {
+            // implement processing
+
+            // define this Use object's behaviour
+            return {
+                propertyName: propertyValue
+                functionName: function () {}
+            }
+        });
 
 The HTL implementation from Sling provides the basic POJO support through the [`org.apache.sling.scripting.sightly.pojo.Use`](https://github.com/apache/sling/blob/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/pojo/Use.java) interface and the [`JavaUseProvider`](https://github.com/apache/sling/blob/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/JavaUseProvider.java), whereas the `use` function is implemented by the `org.apache.sling.scripting.sightly.js.provider` bundle.
 
@@ -75,25 +78,25 @@ The `service.ranking` value of each Use Provider is configurable, allowing for f
 
 The following global objects are available to all Use objects, either as a request attribute or as a property made available in the `javax.script.Bindings` map or attached to the `this` context of the `use` function:
 
-currentNode         // javax.jcr.Node
-currentSession      // javax.jcr.Session
-log                 // org.slf4j.Logger
-out                 // java.io.PrintWriter
-properties          // org.apache.sling.api.resource.ValueMap
-reader              // java.io.BufferedReader
-request             // org.apache.sling.api.SlingHttpServletRequest
-resolver            // org.apache.sling.api.resource.ResourceResolver
-resource            // org.apache.sling.api.resource.Resource
-response            // org.apache.sling.api.SlingHttpServletResponse
-sling               // org.apache.sling.api.scripting.SlingScriptHelper
+        currentNode         // javax.jcr.Node
+        currentSession      // javax.jcr.Session
+        log                 // org.slf4j.Logger
+        out                 // java.io.PrintWriter
+        properties          // org.apache.sling.api.resource.ValueMap
+        reader              // java.io.BufferedReader
+        request             // org.apache.sling.api.SlingHttpServletRequest
+        resolver            // org.apache.sling.api.resource.ResourceResolver
+        resource            // org.apache.sling.api.resource.Resource
+        response            // org.apache.sling.api.SlingHttpServletResponse
+        sling               // org.apache.sling.api.scripting.SlingScriptHelper
 
 
 ### Sling Models Use Provider
 Loading a Sling Model can be done with the following code:
 
-<div data-sly-use.model3="org.example.models.Model3">
-${model3.shine}
-</div>
+        <div data-sly-use.model3="org.example.models.Model3">
+            ${model3.shine}
+        </div>
 
 Depending on the implementation the above code would either load the implementation with the highest service ranking of `Model3` if `org.example.models.Model3` is an interface, or would load the model `org.example.models.Model3` if this is a concrete implementation.
 
@@ -103,21 +106,21 @@ It's important to note that this use provider will only load models that are ada
 
 Passed parameters will be made available to the Sling Model as request attributes. Assuming the following markup:
 
-<div data-sly-use.model3="${'org.example.models.Model3' @ colour='red', path=resource.path}">
-${model3.shine}
-</div>
+        <div data-sly-use.model3="${'org.example.models.Model3' @ colour='red', path=resource.path}">
+            ${model3.shine}
+        </div>
 
 the model would retrieve the parameters using the following constructs:
 
-@Model(adaptables=SlingHttpServletRequest.class)
-public class Model3 {
+        @Model(adaptables=SlingHttpServletRequest.class)
+        public class Model3 {
 
-@Inject
-private String colour;
+            @Inject
+            private String colour;
 
-@Inject
-private String path;
-}
+            @Inject
+            private String path;
+        }
 
 ### Java Use Provider
 The Java Use Provider can be used to load OSGi services, objects exported by bundles or backed by a `Resource`.
@@ -129,99 +132,99 @@ When objects are backed by `Resources` the Java Use Provider will automatically
 **Example:**
 Assuming the following content structure:
 
-└── apps
-└── my-project
-└── components
-└── page
-├── PageBean.java
-└── page.html
+        └── apps
+            └── my-project
+                └── components
+                    └── page
+                        ├── PageBean.java
+                        └── page.html
 
 `page.html` could load `PageBean` either like:
 
-<!DOCTYPE html>
-<html data-sly-use.page="apps.my_project.components.page.PageBean">
-...
-</html>
+        <!DOCTYPE html>
+        <html data-sly-use.page="apps.my_project.components.page.PageBean">
+        ...
+        </html>
 
 or like:
 
-<!DOCTYPE html>
-<html data-sly-use.page="PageBean">
-...
-</html>
+        <!DOCTYPE html>
+        <html data-sly-use.page="PageBean">
+        ...
+        </html>
 
 The advantage of loading a bean using just the simple class name (e.g. `data-sly-use.page="PageBean"`) is that an inheriting component can overlay the `PageBean.java` file and provide a different logic. In this case the package name of the `PageBean` class will automatically be derived from the calling script's parent path (e.g. `apps.my_project.components.page`) - the bean doesn't even have to specify it. However, keep in mind that loading a bean this way is slower than providing the fully qualified class name, since the provider has to check if there is a backing resource. At the same time, loading an object using its fully qualified class name will not allow overriding it by inheriting components.
 
 #### Passing parameters
 Passed parameters will be made available to the Use object as request attributes and, if the object implements the [`org.apache.sling.scripting.sightly.pojo.Use`](https://github.com/apache/sling/blob/trunk/bundles/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/pojo/Use.java) interface, through the `javax.script.Bindings` passed to the `init` method. Assuming the following markup:
 
-<div data-sly-use.useObject="${'org.example.use.MyUseObject' @ colour='red', year=2016}">
-${useObject.shine}
-</div>
+        <div data-sly-use.useObject="${'org.example.use.MyUseObject' @ colour='red', year=2016}">
+            ${useObject.shine}
+        </div>
 
 the object implementing `Use` would be able to retrieve the parameters using the following constructs:
 
-package org.example.use.MyUseObject;
+        package org.example.use.MyUseObject;
 
-import javax.script.Bindings;
+        import javax.script.Bindings;
 
-import org.apache.sling.commons.osgi.PropertiesUtil;
-import org.apache.sling.scripting.sightly.pojo.Use;
+        import org.apache.sling.commons.osgi.PropertiesUtil;
+        import org.apache.sling.scripting.sightly.pojo.Use;
 
-public class MyUseObject implements Use {
+        public class MyUseObject implements Use {
 
-private String colour;
-private Integer year;
+            private String colour;
+            private Integer year;
 
-public void init(Bindings bindings) {
-colour = PropertiesUtil.toString(bindings.get("colour"), "");
-year = PropertiesUtil.toInteger(bindings.get("year"), Calendar.getInstance().get(Calendar.YEAR));
-}
-}
+            public void init(Bindings bindings) {
+                colour = PropertiesUtil.toString(bindings.get("colour"), "");
+                year = PropertiesUtil.toInteger(bindings.get("year"), Calendar.getInstance().get(Calendar.YEAR));
+            }
+        }
 
 or, if the object is adaptable from a `SlingHttpServletRequest`, through its `AdapterFactory`:
 
-package org.example.use;
-
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
-import org.apache.sling.api.SlingHttpServletRequest;
-import org.apache.sling.api.adapter.AdapterFactory;
-
-@Component
-@Service
-@Properties({
-@Property(
-name = AdapterFactory.ADAPTABLE_CLASSES,
-value = {
-"org.apache.sling.api.SlingHttpServletRequest"
-}
-),
-@Property(
-name = AdapterFactory.ADAPTER_CLASSES,
-value = {
-"org.example.use.MyUseObject"
-}
-)
-})
-public class RequestAdapterFactory implements AdapterFactory {
-
-@Override
-public <AdapterType> AdapterType getAdapter(Object adaptable, Class<AdapterType> type) {
-if (type == MyUseObject.class && adaptable instanceof SlingHttpServletRequest) {
-SlingHttpServletRequest request = (SlingHttpServletRequest) adaptable;
-String colour = PropertiesUtil.toString(request.getAttribute("colour"), "");
-Integer year = PropertiesUtil.toInteger(request.getAttribute("year"), Calendar.getInstance().get(Calendar.YEAR));
-/*
-* for the sake of this example we assume that MyUseObject has this constructor
-*/
-return (AdapterType) new MyUseObject(colour, year);
-}
-return null;
-}
-}
+    package org.example.use;
+
+    import org.apache.felix.scr.annotations.Component;
+    import org.apache.felix.scr.annotations.Properties;
+    import org.apache.felix.scr.annotations.Property;
+    import org.apache.felix.scr.annotations.Service;
+    import org.apache.sling.api.SlingHttpServletRequest;
+    import org.apache.sling.api.adapter.AdapterFactory;
+
+    @Component
+    @Service
+    @Properties({
+            @Property(
+                    name = AdapterFactory.ADAPTABLE_CLASSES,
+                    value = {
+                            "org.apache.sling.api.SlingHttpServletRequest"
+                    }
+            ),
+            @Property(
+                    name = AdapterFactory.ADAPTER_CLASSES,
+                    value = {
+                            "org.example.use.MyUseObject"
+                    }
+            )
+    })
+    public class RequestAdapterFactory implements AdapterFactory {
+
+        @Override
+        public <AdapterType> AdapterType getAdapter(Object adaptable, Class<AdapterType> type) {
+            if (type == MyUseObject.class && adaptable instanceof SlingHttpServletRequest) {
+                SlingHttpServletRequest request = (SlingHttpServletRequest) adaptable;
+                String colour = PropertiesUtil.toString(request.getAttribute("colour"), "");
+                Integer year = PropertiesUtil.toInteger(request.getAttribute("year"), Calendar.getInstance().get(Calendar.YEAR));
+                /*
+                 * for the sake of this example we assume that MyUseObject has this constructor
+                 */
+                return (AdapterType) new MyUseObject(colour, year);
+            }
+            return null;
+        }
+    }
 
 ### JavaScript Use Provider
 The JavaScript Use Provider allows loading objects created through the `use` function, by evaluating scripts passed to `data-sly-use`. The JavaScript files are evaluated server-side by the [Rhino](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino) scripting engine, through the `org.apache.sling.scripting.javascript` implementation bundle. This allows you to mix JavaScript API with the Java API exported by the platform. For more details about how you can access Java APIs from within JavaScript please check the [Rhino Java Scripting guide](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Scripting_Java#Accessing_Java_Packages_and_Classes).
@@ -229,63 +232,63 @@ The JavaScript Use Provider allows loading objects created through the `use` fun
 **Example:**
 Assuming the following content structure:
 
-└── apps
-└── my-project
-└── components
-└── page
-├── page.html
-└── page.js
+        └── apps
+            └── my-project
+                └── components
+                    └── page
+                        ├── page.html
+                        └── page.js
 
 `page.html` could load `page.js` either like:
 
-<!DOCTYPE html>
-<html data-sly-use.page="/apps/my-project/components/page/page.js">
-...
-</html>
+        <!DOCTYPE html>
+        <html data-sly-use.page="/apps/my-project/components/page/page.js">
+        ...
+        </html>
 
 or like:
 
-<!DOCTYPE html>
-<html data-sly-use.page="page.js">
-...
-</html>
+        <!DOCTYPE html>
+        <html data-sly-use.page="page.js">
+        ...
+        </html>
 
 Similar to the Java Use Provider, loading the script using a relative path allows inheriting components to overlay just the Use script, without having to also overlay the calling HTL script.
 
 #### Global Objects
 Besides the global objects available to all Use Providers, the JavaScript Use Provider also provides the following global objects available in the context of the `use` function:
 
-console         // basic wrapper on top of log, but without formatting / throwable support
-exports         // basic Java implementation of CommonJS - http://requirejs.org/docs/commonjs.html
-module          // basic Java implementation of CommonJS - http://requirejs.org/docs/commonjs.html
-setImmediate    // Java implementation of the Node.js setImmediate function
-setTimeout      // Java implementation of the Node.js setTimeout function
-sightly         // the namespace object under which the asynchronous Resource-API implemented by
-// org.apache.sling.scripting.sightly.js.provider is made available to consumers
-use             // the use function
+    console         // basic wrapper on top of log, but without formatting / throwable support
+    exports         // basic Java implementation of CommonJS - http://requirejs.org/docs/commonjs.html
+    module          // basic Java implementation of CommonJS - http://requirejs.org/docs/commonjs.html
+    setImmediate    // Java implementation of the Node.js setImmediate function
+    setTimeout      // Java implementation of the Node.js setTimeout function
+    sightly         // the namespace object under which the asynchronous Resource-API implemented by
+                    // org.apache.sling.scripting.sightly.js.provider is made available to consumers
+    use             // the use function
 
 With the exception of the `console` and `use` objects, all the other global objects implemented by the JavaScript Use Provider are present in order to support the asynchronous Resource-API implemented by `org.apache.sling.scripting.sightly.js.provider`. However, this was deprecated starting with version 1.0.8 - see [SLING-4964](https://issues.apache.org/jira/browse/SLING-4964).
 
 #### Passing parameters
 Passed parameters will be made available to the Use object as properties of `this`. Assuming the following markup:
 
-<div data-sly-use.logic="${'logic.js' @ colour='red', year=2017}">
-My colour is ${logic.colour ? logic.colour : 'not important'} and I'm from ${logic.year}
-</div>
+        <div data-sly-use.logic="${'logic.js' @ colour='red', year=2017}">
+            My colour is ${logic.colour ? logic.colour : 'not important'} and I'm from ${logic.year}
+        </div>
 
 the object would be able to access the parameters like:
 
-use(function() {
-'use strict';
+        use(function() {
+            'use strict';
 
-var colour = this.colour || '';
-var year = this.year || new Date().getFullYear();
+            var colour = this.colour || '';
+            var year = this.year || new Date().getFullYear();
 
-return {
-colour: colour,
-year: year
-}
-});
+            return {
+                colour: colour,
+                year: year
+            }
+        });
 
 #### Caveats
 
@@ -293,96 +296,96 @@ Since these scripts are evaluated server-side, by compiling JavaScript to Java,
 
 Assuming the following HTL script:
 
-<ol data-sly-use.obj="logic.js" data-sly-list="${obj}">
-<li>
-Code <code>${item.code}</code> evaluates to <code>${item.result}</code>
-</li>
-</ol>
+        <ol data-sly-use.obj="logic.js" data-sly-list="${obj}">
+            <li>
+               Code <code>${item.code}</code> evaluates to <code>${item.result}</code>
+            </li>
+        </ol>
 
 and the following JavaScript file:
 
-use(function() {
-
-return [
-{
-code: 'new java.lang.String("apples") === "apples"',
-result: new java.lang.String("apples") === "apples"
-},
-{
-code: 'new java.lang.String("apples") == "apples"',
-result: new java.lang.String("apples") == "apples"
-},
-{
-code: 'new java.lang.String("apples") !== "apples"',
-result: new java.lang.String("apples") !== "apples"
-},
-{
-code: 'new java.lang.String("apples") != "apples"',
-result: new java.lang.String("apples") != "apples"
-},
-{
-code: 'new java.lang.Integer(1) === 1',
-result: new java.lang.Integer(1) === 1
-},
-{
-code: 'new java.lang.Integer(1) == 1',
-result: new java.lang.Integer(1) == 1
-},
-{
-code: 'new java.lang.Integer(1) !== 1',
-result: new java.lang.Integer(1) !== 1
-},
-{
-code: 'new java.lang.Integer(1) != 1',
-result: new java.lang.Integer(1) != 1
-},
-{
-code: 'java.lang.Boolean.TRUE === true',
-result: java.lang.Boolean.TRUE === true
-},
-{
-code: 'java.lang.Boolean.TRUE == true',
-result: java.lang.Boolean.TRUE == true
-},
-{
-code: 'java.lang.Boolean.TRUE !== true',
-result: java.lang.Boolean.TRUE !== true
-},
-{
-code: 'java.lang.Boolean.TRUE != true',
-result: java.lang.Boolean.TRUE != true
-}
-];
-});
+        use(function() {
+
+            return [
+                {
+                    code: 'new java.lang.String("apples") === "apples"',
+                    result: new java.lang.String("apples") === "apples"
+                },
+                {
+                    code: 'new java.lang.String("apples") == "apples"',
+                    result: new java.lang.String("apples") == "apples"
+                },
+                {
+                    code: 'new java.lang.String("apples") !== "apples"',
+                    result: new java.lang.String("apples") !== "apples"
+                },
+                {
+                    code: 'new java.lang.String("apples") != "apples"',
+                    result: new java.lang.String("apples") != "apples"
+                },
+                {
+                    code: 'new java.lang.Integer(1) === 1',
+                    result: new java.lang.Integer(1) === 1
+                },
+                {
+                    code: 'new java.lang.Integer(1) == 1',
+                    result: new java.lang.Integer(1) == 1
+                },
+                {
+                    code: 'new java.lang.Integer(1) !== 1',
+                    result: new java.lang.Integer(1) !== 1
+                },
+                {
+                    code: 'new java.lang.Integer(1) != 1',
+                    result: new java.lang.Integer(1) != 1
+                },
+                {
+                    code: 'java.lang.Boolean.TRUE === true',
+                    result: java.lang.Boolean.TRUE === true
+                },
+                {
+                    code: 'java.lang.Boolean.TRUE == true',
+                    result: java.lang.Boolean.TRUE == true
+                },
+                {
+                    code: 'java.lang.Boolean.TRUE !== true',
+                    result: java.lang.Boolean.TRUE !== true
+                },
+                {
+                    code: 'java.lang.Boolean.TRUE != true',
+                    result: java.lang.Boolean.TRUE != true
+                }
+            ];
+        });
 
 the output would be:
 
-1. Code new java.lang.String("apples") === "apples" evaluates to false
-2. Code new java.lang.String("apples") == "apples" evaluates to true
-3. Code new java.lang.String("apples") !== "apples" evaluates to true
-4. Code new java.lang.String("apples") != "apples" evaluates to false
-5. Code new java.lang.Integer(1) === 1 evaluates to false
-6. Code new java.lang.Integer(1) == 1 evaluates to true
-7. Code new java.lang.Integer(1) !== 1 evaluates to true
-8. Code new java.lang.Integer(1) != 1 evaluates to false
-9. Code java.lang.Boolean.TRUE === true evaluates to false
-10. Code java.lang.Boolean.TRUE == true evaluates to true
-11. Code java.lang.Boolean.TRUE !== true evaluates to true
-12. Code java.lang.Boolean.TRUE != true evaluates to false
+         1. Code new java.lang.String("apples") === "apples" evaluates to false
+         2. Code new java.lang.String("apples") == "apples" evaluates to true
+         3. Code new java.lang.String("apples") !== "apples" evaluates to true
+         4. Code new java.lang.String("apples") != "apples" evaluates to false
+         5. Code new java.lang.Integer(1) === 1 evaluates to false
+         6. Code new java.lang.Integer(1) == 1 evaluates to true
+         7. Code new java.lang.Integer(1) !== 1 evaluates to true
+         8. Code new java.lang.Integer(1) != 1 evaluates to false
+         9. Code java.lang.Boolean.TRUE === true evaluates to false
+        10. Code java.lang.Boolean.TRUE == true evaluates to true
+        11. Code java.lang.Boolean.TRUE !== true evaluates to true
+        12. Code java.lang.Boolean.TRUE != true evaluates to false
 
 Evaluations of Java objects in JavaScript constructs where the operand is automatically type coerced will work, but Rhino might complain about the Java objects not correctly calling the Rhino helper function `Context.javaToJS()`. In order to avoid these warnings it's better to explicitly perform your comparisons like in the following example:
 
-if (myObject) {
-...
-}
-// should be replaced by
-if (myObject != null) {
-...
-}
+        if (myObject) {
+            ...
+        }
+        // should be replaced by
+        if (myObject != null) {
+           ...
+        }
 
-myObject ? 'this' : 'that'
-//should be replaced by
-myObject != null ? 'this' : 'that'
+        myObject ? 'this' : 'that'
+        //should be replaced by
+        myObject != null ? 'this' : 'that'
 
 
 ### Script Use Provider
@@ -392,71 +395,71 @@ The Script Use Provider allows loading objects evaluated by other script engines
 The following table summarises the pros and cons for each Use Provider, with the obvious exception of the Render Unit Use Provider.
 
 <table>
-<tr>
-<th>Use Provider</th>
-<th>Advantages</th>
-<th>Disadvantages</th>
-</tr>
-<tr>
-<td>Sling Models Use Provider</td>
-<td><ul><li>convenient injection annotations for data retrieval</li><li>easy to extend from other Sling Models</li><li>simple setup for unit testing</li></ul></td>
-<td><ul><li>lacks flexibility in terms of component overlaying, relying on <code>service.ranking</code> configurations; this was solved for Sling Models 1.3.0 by <a href="https://issues.apache.org/jira/browse/SLING-5992">SLING-5992</a></li></ul></td>
-</tr>
-<tr>
-<td>Java Use Provider</td>
-<td>
-<p>Use-objects provided through bundles:</p>
-<ul>
-<li>faster to initialise and execute than Sling Models for similar code</li>
-<li>easy to extend from other similar Use-objects</li>
-<li>simple setup for unit testing</li>
-</ul>
-<p>Use-objects backed by <code>Resources</code>:</p>
-<ul>
-<li>faster to initialise and execute than Sling Models for similar code</li>
-<li>easy to override from inheriting components through search path overlay or by using the <code>sling:resourceSuperType</code> property, allowing for greater flexibility</li>
-<li>business logic for components sits next to the HTL scripts where the objects are used</li>
-</ul>
-</td>
-<td>
-<p>Use-objects provided through bundles:</p>
-<ul>
-<li>lacks flexibility in terms of component overlaying</li>
-</ul>
-
-<p>Use-objects backed by <code>Resources</code>:</p>
-<ul>
-<li>cannot extend other Java objects</li>
-<li>the Java project might need a different setup to allow running unit tests, since the objects will be deployed like content</li>
-</ul>
-</td>
-</tr>
-<tr>
-<td>JavaScript Use Provider</td>
-<td>
-<ul>
-<li>allows JavaScript developers to develop component logic</li>
-<li>can be reused through the dependency mechanism provided by the <code>use</code> function</li>
-</ul>
-</td>
-<td>
-<ul>
-<li>harder to test and debug, relying mostly on end-to-end testing and console logging</li>
-<li>slower to execute than both Sling Models and Java Use-API objects</li>
-</ul>
-</td>
-</tr>
-<tr>
-<td>Script Use Provider</td>
-<td>
-<ul>
-<li>allows the usage of Use objects evaluated by other Script Engines available in the platform</li>
-</ul>
-</td>
-<td>
-<ul>
-<li>like in the case of the JavaScript Use Provider, the performance is influenced by the Script Engine's implementation</li>
-</ul>
-</td>
-</tr>
+    <tr>
+       <th>Use Provider</th>
+       <th>Advantages</th>
+       <th>Disadvantages</th>
+    </tr>
+    <tr>
+        <td>Sling Models Use Provider</td>
+        <td><ul><li>convenient injection annotations for data retrieval</li><li>easy to extend from other Sling Models</li><li>simple setup for unit testing</li></ul></td>
+        <td><ul><li>lacks flexibility in terms of component overlaying, relying on <code>service.ranking</code> configurations; this was solved for Sling Models 1.3.0 by <a href="https://issues.apache.org/jira/browse/SLING-5992">SLING-5992</a></li></ul></td>
+    </tr>
+    <tr>
+        <td>Java Use Provider</td>
+        <td>
+            <p>Use-objects provided through bundles:</p>
+            <ul>
+                <li>faster to initialise and execute than Sling Models for similar code</li>
+                <li>easy to extend from other similar Use-objects</li>
+                <li>simple setup for unit testing</li>
+            </ul>
+            <p>Use-objects backed by <code>Resources</code>:</p>
+            <ul>
+                <li>faster to initialise and execute than Sling Models for similar code</li>
+                <li>easy to override from inheriting components through search path overlay or by using the <code>sling:resourceSuperType</code> property, allowing for greater flexibility</li>
+                <li>business logic for components sits next to the HTL scripts where the objects are used</li>
+            </ul>
+        </td>
+        <td>
+            <p>Use-objects provided through bundles:</p>
+            <ul>
+                <li>lacks flexibility in terms of component overlaying</li>
+            </ul>
+
+            <p>Use-objects backed by <code>Resources</code>:</p>
+            <ul>
+                <li>cannot extend other Java objects</li>
+                <li>the Java project might need a different setup to allow running unit tests, since the objects will be deployed like content</li>
+            </ul>
+        </td>
+    </tr>
+    <tr>
+        <td>JavaScript Use Provider</td>
+        <td>
+            <ul>
+                <li>allows JavaScript developers to develop component logic</li>
+                <li>can be reused through the dependency mechanism provided by the <code>use</code> function</li>
+            </ul>
+        </td>
+        <td>
+            <ul>
+                <li>harder to test and debug, relying mostly on end-to-end testing and console logging</li>
+                <li>slower to execute than both Sling Models and Java Use-API objects</li>
+            </ul>
+        </td>
+    </tr>
+    <tr>
+        <td>Script Use Provider</td>
+        <td>
+            <ul>
+                <li>allows the usage of Use objects evaluated by other Script Engines available in the platform</li>
+            </ul>
+        </td>
+        <td>
+            <ul>
+                <li>like in the case of the JavaScript Use Provider, the performance is influenced by the Script Engine's implementation</li>
+            </ul>
+        </td>
+    </tr>
 </table>

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/scripting/scripting-jsp.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/scripting/scripting-jsp.md b/content/documentation/bundles/scripting/scripting-jsp.md
index 5c5bc93..3d4e610 100644
--- a/content/documentation/bundles/scripting/scripting-jsp.md
+++ b/content/documentation/bundles/scripting/scripting-jsp.md
@@ -1,24 +1,27 @@
-title=JSP Scripting Engine		
-type=page
+title=TODO title for scripting-jsp.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: JSP Scripting Engine
 
 The Apache Sling JSP Scripting Engine is implemented by the [`org.apache.sling.scripting.jsp`](https://github.com/apache/sling/tree/trunk/bundles/scripting/jsp)
-bundle, based on the Jasper 2 JSP engine.
+ bundle, based on the Jasper 2 JSP engine.
 
 On top of that Apache Sling also provides its own JSP Taglib, implemented by the
-[`org.apache.sling.scripting.jsp.taglib`](https://github.com/apache/sling/tree/trunk/bundles/scripting/jsp-taglib) bundle.
+ [`org.apache.sling.scripting.jsp.taglib`](https://github.com/apache/sling/tree/trunk/bundles/scripting/jsp-taglib) bundle.
 
 The Sling Scripting JSP Taglib supports the use of Sling as an application in JSP pages.  The Sling Taglib provides the
-ability to invoke JSP scripts, include Resources and interact with the Sling Repository, all with JSP tags and
-[Expression Language (EL)](http://docs.oracle.com/javaee/6/tutorial/doc/gjddd.html) functions.
+ ability to invoke JSP scripts, include Resources and interact with the Sling Repository, all with JSP tags and
+ [Expression Language (EL)](http://docs.oracle.com/javaee/6/tutorial/doc/gjddd.html) functions.
 
 ## Use
 
 Using the Sling Taglib in a JSP page is as simple as including the Taglib include in your JSP, with the correct URI for the
 version of the Sling Taglib installed.
 
-<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling" %>
+    <%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling" %>
 
 Generally, the prefix to use is `sling`.  Often applications include a global JSP file which includes the Sling Taglib
 and sets up all of the application variables and methods.
@@ -51,13 +54,13 @@ Adapts an Adaptable to another class.
 
 * Returns: `java.lang.Object`
 * Accepts:
-* `org.apache.sling.api.adapter.Adaptable` - The object to adapt
-* `java.lang.String` - The name of the class to which to adapt the adaptable
+    * `org.apache.sling.api.adapter.Adaptable` - The object to adapt
+    * `java.lang.String` - The name of the class to which to adapt the adaptable
 * Since: 1.3
 
 *Example Usage*
 
-<c:set var="myProperties" value="${sling:adaptTo(resource,'org.apache.sling.api.resource.ValueMap')}" />
+    <c:set var="myProperties" value="${sling:adaptTo(resource,'org.apache.sling.api.resource.ValueMap')}" />
 
 ### encode
 
@@ -65,13 +68,13 @@ Writes properly Cross Site Scripting (XSS) encoded text to the response using th
 
 * Returns: `java.util.String` - An encoded text
 * Accepts:
-* `java.lang.String` - The text to encode
-* `java.lang.String` - The encoding mode, one of HTML, HTML_ATTR, XML, XML_ATTR, JS
+    * `java.lang.String` - The text to encode
+    * `java.lang.String` - The encoding mode, one of HTML, HTML_ATTR, XML, XML_ATTR, JS
 * Since: 1.4
 
 *Example Usage*
 
-${sling:encode('<script>alert("Bad Stuff!");</script>','HTML')}
+    ${sling:encode('<script>alert("Bad Stuff!");</script>','HTML')}
 
 ### findResources
 
@@ -79,16 +82,16 @@ Searches for resources using the given query formulated in the given language.
 
 * Returns: `java.util.Iterator` - An Iterator of Resource objects matching the query.
 * Accepts:
-* `org.apache.sling.api.resource.ResourceResolver` - The Resource Resolver to use for the query.
-* `java.lang.String` - The query string to use to find the resources.
-* `java.lang.String` - The language in which the query is formulated.
+    * `org.apache.sling.api.resource.ResourceResolver` - The Resource Resolver to use for the query.
+    * `java.lang.String` - The query string to use to find the resources.
+    * `java.lang.String` - The language in which the query is formulated.
 * Since: 1.3
 
 *Example Usage*
 
-<c:forEach var="found" items="${sling:findResources(resourceResolver,'/jcr:root//*[jcr:contains(., 'Sling')] order by @jcr:score','xpath')">
-<li>${found.path}</li>
-</c:forEach>
+    <c:forEach var="found" items="${sling:findResources(resourceResolver,'/jcr:root//*[jcr:contains(., 'Sling')] order by @jcr:score','xpath')">
+        <li>${found.path}</li>
+    </c:forEach>
 
 ### getRelativeResource
 
@@ -96,13 +99,13 @@ Gets the resource at the relative path to the provided resource.
 
 * Returns: `org.apache.sling.api.resource.Resource` - The resource at the relative path.
 * Accepts:
-* `org.apache.sling.api.resource.Resource` - The resource relative to which to find the path.
-* `java.lang.String` - The relative path at which to find the resource.
+    * `org.apache.sling.api.resource.Resource` - The resource relative to which to find the path.
+    * `java.lang.String` - The relative path at which to find the resource.
 * Since: 1.3
 
 *Example Usage*
 
-<c:set var="content" value="${sling:getRelativeResource(resource,'jcr:content')}" />
+    <c:set var="content" value="${sling:getRelativeResource(resource,'jcr:content')}" />
 
 ### getResource
 
@@ -110,13 +113,13 @@ Method allow for the retrieval of resources.
 
 * Returns: `org.apache.sling.api.resource.Resource` - The resource at the path.
 * Accepts:
-* `org.apache.sling.api.resource.ResourceResolver` - The current resource resolver.
-* `java.lang.String` - The path at which to find the resource.
+    * `org.apache.sling.api.resource.ResourceResolver` - The current resource resolver.
+    * `java.lang.String` - The path at which to find the resource.
 * Since: 1.3
 
 *Example Usage*
 
-<c:set var="content" value="${sling:getResource(resourceResolver,'/content')}" />
+    <c:set var="content" value="${sling:getResource(resourceResolver,'/content')}" />
 
 ### getValue
 
@@ -130,14 +133,14 @@ otherwise, the third parameter is used as the default when retrieving the value
 
 * Returns: `java.lang.Object` - The value.
 * Accepts:
-* `org.apache.sling.api.resource.ValueMap` - The ValueMap from which to retrieve the value.
-* `java.lang.String` - The key for the value to retrieve
-* `java.lang.Object` - Either the default value or the class to which to coerce the value.
+    * `org.apache.sling.api.resource.ValueMap` - The ValueMap from which to retrieve the value.
+    * `java.lang.String` - The key for the value to retrieve
+    * `java.lang.Object` - Either the default value or the class to which to coerce the value.
 * Since: 1.3
 
 *Example Usage*
 
-<c:set var="content" value="${sling:getValue(properties,'jcr:title',resource.name)}" />
+    <c:set var="content" value="${sling:getValue(properties,'jcr:title',resource.name)}" />
 
 ### listChildren
 
@@ -145,14 +148,14 @@ Method for allowing the invocation of the Sling Resource listChildren method.
 
 * Returns: `java.util.Iterator` - The children of the resource.
 * Accepts:
-* `org.apache.sling.api.resource.Resource` - The resource of which to list the children.
+    * `org.apache.sling.api.resource.Resource` - The resource of which to list the children.
 * Since: 1.3
 
 *Example Usage*
 
-<c:forEach var="child" items="${sling:listChildren(resource)">
-<li>${child.path}</li>
-</c:forEach>
+    <c:forEach var="child" items="${sling:listChildren(resource)">
+        <li>${child.path}</li>
+    </c:forEach>
 
 ## Tags
 
@@ -163,28 +166,28 @@ The Sling Taglib includes a number of Tags which can be used to access the repos
 Adapts adaptables to objects of other types.
 
 * Attributes
-* adaptable - The adaptable object to adapt.
-* adaptTo - The class name to which to adapt the adaptable.
-* var - The name of the variable to which to save the adapted object.
+    * adaptable - The adaptable object to adapt.
+    * adaptTo - The class name to which to adapt the adaptable.
+    * var - The name of the variable to which to save the adapted object.
 * Since: 1.3
 
 *Example Usage*
 
-<sling:adaptTo adaptable="${resource}" adaptTo="org.apache.sling.api.resource.ValueMap" var="myProps" />
+    <sling:adaptTo adaptable="${resource}" adaptTo="org.apache.sling.api.resource.ValueMap" var="myProps" />
 
 ### call
 
 Execute a script.
 
 * Attributes
-* flush - Whether to flush the output before including the target.
-* script - The script to include.
-* ignoreComponentHierarchy - Controls if the component hierarchy should be ignored for script resolution. If true, only the search paths are respected.
+    * flush - Whether to flush the output before including the target.
+    * script - The script to include.
+    * ignoreComponentHierarchy - Controls if the component hierarchy should be ignored for script resolution. If true, only the search paths are respected.
 * Since: 1.2
 
 *Example Usage*
 
-<sling:call script="myscript.jsp" />
+    <sling:call script="myscript.jsp" />
 
 ### defineObjects
 
@@ -204,141 +207,141 @@ See also [Scripting variables in CMS](https://cwiki.apache.org/confluence/displa
 
 
 * Attributes which allow to bind the according variables to other names than the default ones listed above.
-* requestName
-* responseName
-* resourceName
-* nodeName
-* logName
-* resourceResolverName
-* slingName
+    * requestName
+    * responseName
+    * resourceName
+    * nodeName
+    * logName
+    * resourceResolverName
+    * slingName
 * Since: 1.0
 
 *Example Usage*
 
-<sling:defineObjects />
+    <sling:defineObjects />
 
 ### encode
 
 Writes properly Cross Site Scripting (XSS) encoded text to the response using the OWASP ESAPI.   Supports a number of encoding modes.
 
 * Attributes:
-* value - The text to encode
-* default - a default text to use if the value is null or empty
-* mode - The encoding mode, one of HTML, HTML_ATTR, XML, XML_ATTR, JS
+    * value - The text to encode
+    * default - a default text to use if the value is null or empty
+    * mode - The encoding mode, one of HTML, HTML_ATTR, XML, XML_ATTR, JS
 * Since: 1.4
 
 *Example Usage*
 
-<sling:encode value="<script>alert('Bad Stuff!');</script>" mode="HTML" />
+    <sling:encode value="<script>alert('Bad Stuff!');</script>" mode="HTML" />
 
 ### eval
 
 Evaluates a script invocation and includes the result in the current page.
 
 * Attributes
-* flush - Whether to flush the output before including the target.
-* script - The path to the script object to include in the current request processing. By default, the current resource is used for script resolving. This behaviour can be changed by specifying either resource, resourceType or ignoreResourceTypeHierarchy.
-* resource - The resource object to include in the current request processing. This attribute is optional. If it is specified, resourceType should not be used. If both are used, resource takes precedence.
-* resourceType - The resource type of a resource to include. This attribute is optional. If it is specified, resource should not be used. If both are used, resource takes precedence.
-* ignoreResourceTypeHierarchy - Prevents using the resource type hierarchy for searching a script.
+    * flush - Whether to flush the output before including the target.
+    * script - The path to the script object to include in the current request processing. By default, the current resource is used for script resolving. This behaviour can be changed by specifying either resource, resourceType or ignoreResourceTypeHierarchy.
+    * resource - The resource object to include in the current request processing. This attribute is optional. If it is specified, resourceType should not be used. If both are used, resource takes precedence.
+    * resourceType - The resource type of a resource to include. This attribute is optional. If it is specified, resource should not be used. If both are used, resource takes precedence.
+    * ignoreResourceTypeHierarchy - Prevents using the resource type hierarchy for searching a script.
 * Since: 1.1
 
 *Example Usage*
 
-<sling:eval script="myscript.jsp" />
+    <sling:eval script="myscript.jsp" />
 
 ### findResources
 
 Tag for searching for resources using the given query formulated in the given language.
 
 * Attributes
-* query - The query string to find the resources.
-* language - The query language to use.
-* var - The name of the variable to which to save the resources.
+    * query - The query string to find the resources.
+    * language - The query language to use.
+    * var - The name of the variable to which to save the resources.
 * Since: 1.3
 
 *Example Usage*
 
-<sling:findResources query="/jcr:root//*[jcr:contains(., 'Sling')] order by @jcr:score" language="xpath" var="resources" />
+    <sling:findResources query="/jcr:root//*[jcr:contains(., 'Sling')] order by @jcr:score" language="xpath" var="resources" />
 
 ### forward
 
 Forwards a request to a resource rendering the current page
 
 * Attributes
-* resource - The resource object to forward the request to. Either resource or path must be specified. If both are specified, the resource takes precedences.
-* path - The path to the resource object to forward the request to. If this path is relative it is appended to the path of the current resource whose script is forwarding the given resource. Either resource or path must be specified. If both are specified, the resource takes precedences.
-* resourceType - The resource type of a resource to forward. If the resource to be forwarded is specified with the path attribute, which cannot be resolved to a resource, the tag may create a synthetic resource object out of the path and this resource type. If the resource type is set the path must be the exact path to a resource object. That is, adding parameters, selectors and extensions to the path is not supported if the resource type is set.
-* replaceSelectors - When dispatching, replace selectors by the value provided by this option.
-* addSelectors - When dispatching, add the value provided by this option to the selectors.
-* replaceSuffix - When dispatching, replace the suffix by the value provided by this option.
+    * resource - The resource object to forward the request to. Either resource or path must be specified. If both are specified, the resource takes precedences.
+    * path - The path to the resource object to forward the request to. If this path is relative it is appended to the path of the current resource whose script is forwarding the given resource. Either resource or path must be specified. If both are specified, the resource takes precedences.
+    * resourceType - The resource type of a resource to forward. If the resource to be forwarded is specified with the path attribute, which cannot be resolved to a resource, the tag may create a synthetic resource object out of the path and this resource type. If the resource type is set the path must be the exact path to a resource object. That is, adding parameters, selectors and extensions to the path is not supported if the resource type is set.
+    * replaceSelectors - When dispatching, replace selectors by the value provided by this option.
+    * addSelectors - When dispatching, add the value provided by this option to the selectors.
+    * replaceSuffix - When dispatching, replace the suffix by the value provided by this option.
 * Since: 1.0
 
 *Example Usage*
 
-<sling:forward path="/content/aresource" resourceType="myapp/components/display" />
+    <sling:forward path="/content/aresource" resourceType="myapp/components/display" />
 
 ### getProperty
 
 Retrieves the value from the ValueMap, allowing for a default value or coercing the return value.
 
 * Attributes
-* properties - The ValueMap from which to retrieve the value.
-* key - The key to retrieve the value from from the ValueMap.
-* defaultValue - The default value to return if no value exists for the key. If specified, this takes precedence over returnClass.
-* returnClass - The class into which to coerce the returned value.
-* var - The name of the variable to which to save the value.
+    * properties - The ValueMap from which to retrieve the value.
+    * key - The key to retrieve the value from from the ValueMap.
+    * defaultValue - The default value to return if no value exists for the key. If specified, this takes precedence over returnClass.
+    * returnClass - The class into which to coerce the returned value.
+    * var - The name of the variable to which to save the value.
 * Since: 1.3
 
 *Example Usage*
 
-<sling:getProperties properties="${properties}" key="jcr:title" defaultValue="${resource.name}" var="title" />
+    <sling:getProperties properties="${properties}" key="jcr:title" defaultValue="${resource.name}" var="title" />
 
 ### getResource
 
 Retrieves resources based on either an absolute path or a relative path and a base resource.
 
 * Attributes
-* base - The base resource under which to retrieve the child resource, will only be considered if a relative path is specified.
-* path - The path of the resource to retrieve, if relative, the base resource must be specified.
-* defaultValue - The default value to return if no value exists for the key. If specified, this takes precedence over returnClass.
-* returnClass - The class into which to coerce the returned value.
-* var - The name of the variable to which to save the resource.
+    * base - The base resource under which to retrieve the child resource, will only be considered if a relative path is specified.
+    * path - The path of the resource to retrieve, if relative, the base resource must be specified.
+    * defaultValue - The default value to return if no value exists for the key. If specified, this takes precedence over returnClass.
+    * returnClass - The class into which to coerce the returned value.
+    * var - The name of the variable to which to save the resource.
 * Since: 1.3
 
 *Example Usage*
 
-<sling:getResource base="${resource}" path="jcr:content" var="content" />
+    <sling:getResource base="${resource}" path="jcr:content" var="content" />
 
 ### include
 
 Includes a resource rendering into the current page.
 
 * Attributes
-* flush - Whether to flush the output before including the target.
-* resource - The resource object to include in the current request processing. Either resource or path must be specified. If both are specified, the resource takes precedences.
-* path - The path to the resource object to include in the current request processing. If this path is relative it is appended to the path of the current resource whose script is including the given resource. Either resource or path must be specified. If both are specified, the resource takes precedences.
-* resourceType - The resource type of a resource to include. If the resource to be included is specified with the path attribute, which cannot be resolved to a resource, the tag may create a synthetic resource object out of the path and this resource type. If the resource type is set the path must be the exact path to a resource object. That is, adding parameters, selectors and extensions to the path is not supported if the resource type is set.
-* replaceSelectors - When dispatching, replace selectors by the value provided by this option.
-* addSelectors - When dispatching, add the value provided by this option to the selectors.
-* replaceSuffix - When dispatching, replace the suffix by the value provided by this option.
-* scope - If var is specified, what scope to store the variable in. (Since 1.3)
-* var - variable name to store the resulting markup into (Since 1.3)
+    * flush - Whether to flush the output before including the target.
+    * resource - The resource object to include in the current request processing. Either resource or path must be specified. If both are specified, the resource takes precedences.
+    * path - The path to the resource object to include in the current request processing. If this path is relative it is appended to the path of the current resource whose script is including the given resource. Either resource or path must be specified. If both are specified, the resource takes precedences.
+    * resourceType - The resource type of a resource to include. If the resource to be included is specified with the path attribute, which cannot be resolved to a resource, the tag may create a synthetic resource object out of the path and this resource type. If the resource type is set the path must be the exact path to a resource object. That is, adding parameters, selectors and extensions to the path is not supported if the resource type is set.
+    * replaceSelectors - When dispatching, replace selectors by the value provided by this option.
+    * addSelectors - When dispatching, add the value provided by this option to the selectors.
+    * replaceSuffix - When dispatching, replace the suffix by the value provided by this option.
+    * scope - If var is specified, what scope to store the variable in. (Since 1.3)
+    * var - variable name to store the resulting markup into (Since 1.3)
 * Since: 1.0
 
 *Example Usage*
 
-<sling:include path="/content/aresource" resourceType="myapp/components/display" />
+    <sling:include path="/content/aresource" resourceType="myapp/components/display" />
 
 ### listChildren
 
 Lists the children of a Sling Resource.
 
 * Attributes
-* resource - The resource for which to retrieve the children.
-* var - The name of the variable to which to save the child resources.
+    * resource - The resource for which to retrieve the children.
+    * var - The name of the variable to which to save the child resources.
 * Since: 1.3
 
 *Example Usage*
 
-<sling:listChildren resource="${resource}" var="children" />
+    <sling:listChildren resource="${resource}" var="children" />

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/scripting/scripting-thymeleaf.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/scripting/scripting-thymeleaf.md b/content/documentation/bundles/scripting/scripting-thymeleaf.md
index 2ef2280..8074dc9 100644
--- a/content/documentation/bundles/scripting/scripting-thymeleaf.md
+++ b/content/documentation/bundles/scripting/scripting-thymeleaf.md
@@ -1,7 +1,10 @@
-title=Sling Scripting Thymeleaf		
-type=page
+title=TODO title for scripting-thymeleaf.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Scripting Thymeleaf
 
 Sling Scripting Thymeleaf is the scripting engine for [_Thymeleaf_](http://www.thymeleaf.org) (3.0) templates.
 
@@ -20,14 +23,14 @@ Sling Scripting Thymeleaf is the scripting engine for [_Thymeleaf_](http://www.t
 
 For running Sling Scripting Thymeleaf with Sling's Launchpad some dependencies need to be resolved. This can be achieved by installing the following bundles:
 
-mvn:org.attoparser/attoparser/2.0.2.RELEASE
-mvn:org.unbescape/unbescape/1.1.4.RELEASE
-mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ognl/3.2_1
-mvn:org.javassist/javassist/3.20.0-GA
+    mvn:org.attoparser/attoparser/2.0.2.RELEASE
+    mvn:org.unbescape/unbescape/1.1.4.RELEASE
+    mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ognl/3.2_1
+    mvn:org.javassist/javassist/3.20.0-GA
 
 There is a feature for Karaf:
 
-karaf@root()> feature:install sling-scripting-thymeleaf
+    karaf@root()> feature:install sling-scripting-thymeleaf
 
 **Note:** Sling Scripting Thymeleaf requires an implementation of OSGi Declarative Services 1.3 (e.g. [Apache Felix Service Component Runtime](http://felix.apache.org/documentation/subprojects/apache-felix-service-component-runtime.html) 2.0.0 or greater)
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/servlet-helpers.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/servlet-helpers.md b/content/documentation/bundles/servlet-helpers.md
index a731f76..f1e6cb9 100644
--- a/content/documentation/bundles/servlet-helpers.md
+++ b/content/documentation/bundles/servlet-helpers.md
@@ -1,7 +1,10 @@
-title=Sling Servlet Helpers		
-type=page
+title=TODO title for servlet-helpers.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Servlet Helpers
 
 The Sling Servlet Helpers bundle provides mock implementations of the
 `SlingHttpServletRequest`, `SlingHttpServletResponse` and related classes.
@@ -10,7 +13,7 @@ Those mock implementations are meant to be used in tests and also with services
 like the `SlingRequestProcessor` when making requests to that service outside of
 an HTTP request processing context.
 
-See the [automated tests](https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/servlet-helpers)
+See the [automated tests](https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/servlet-helpers) 
 of the `servlet-helpers` module for more info.
 
 
@@ -20,64 +23,64 @@ of the `servlet-helpers` module for more info.
 
 Example for preparing a sling request with custom request data:
 
-#!java
-// prepare sling request
-MockSlingHttpServletRequest request = new MockSlingHttpServletRequest(resourceResolver);
+    #!java
+    // prepare sling request
+    MockSlingHttpServletRequest request = new MockSlingHttpServletRequest(resourceResolver);
 
-// simulate query string
-request.setQueryString("param1=aaa&param2=bbb");
+    // simulate query string
+    request.setQueryString("param1=aaa&param2=bbb");
 
-// alternative - set query parameters as map
-request.setParameterMap(ImmutableMap.<String,Object>builder()
-.put("param1", "aaa")
-.put("param2", "bbb")
-.build());
+    // alternative - set query parameters as map
+    request.setParameterMap(ImmutableMap.<String,Object>builder()
+        .put("param1", "aaa")
+        .put("param2", "bbb")
+        .build());
 
-// set current resource
-request.setResource(resourceResolver.getResource("/content/sample"));
+    // set current resource
+    request.setResource(resourceResolver.getResource("/content/sample"));
 
-// set sling request path info properties
-MockRequestPathInfo requestPathInfo = (MockRequestPathInfo)request.getRequestPathInfo();
-requestPathInfo.setSelectorString("selector1.selector2");
-requestPathInfo.setExtension("html");
+    // set sling request path info properties
+    MockRequestPathInfo requestPathInfo = (MockRequestPathInfo)request.getRequestPathInfo();
+    requestPathInfo.setSelectorString("selector1.selector2");
+    requestPathInfo.setExtension("html");
 
-// set method
-request.setMethod(HttpConstants.METHOD_POST);
+    // set method
+    request.setMethod(HttpConstants.METHOD_POST);
 
-// set attributes
-request.setAttribute("attr1", "value1");
+    // set attributes
+    request.setAttribute("attr1", "value1");
 
-// set headers
-request.addHeader("header1", "value1");
+    // set headers
+    request.addHeader("header1", "value1");
 
-// set cookies
-request.addCookie(new Cookie("cookie1", "value1"));
+    // set cookies
+    request.addCookie(new Cookie("cookie1", "value1"));
 
 
 ### SlingHttpServletResponse
 
 Example for preparing a sling response which can collect the data that was written to it:
 
-#!java
-// prepare sling response
-MockSlingHttpServletResponse response = new MockSlingHttpServletResponse();
+    #!java
+    // prepare sling response
+    MockSlingHttpServletResponse response = new MockSlingHttpServletResponse();
 
-// execute the code that writes to the response...
+    // execute the code that writes to the response...
 
-// validate status code
-assertEquals(HttpServletResponse.SC_OK, response.getStatus());
+    // validate status code
+    assertEquals(HttpServletResponse.SC_OK, response.getStatus());
 
-// validate content type and content length
-assertEquals("text/plain;charset=UTF-8", response.getContentType());
-assertEquals(CharEncoding.UTF_8, response.getCharacterEncoding());
-assertEquals(55, response.getContentLength());
+    // validate content type and content length
+    assertEquals("text/plain;charset=UTF-8", response.getContentType());
+    assertEquals(CharEncoding.UTF_8, response.getCharacterEncoding());
+    assertEquals(55, response.getContentLength());
 
-// validate headers
-assertTrue(response.containsHeader("header1"));
-assertEquals("5", response.getHeader("header2"));
+    // validate headers
+    assertTrue(response.containsHeader("header1"));
+    assertEquals("5", response.getHeader("header2"));
 
-// validate response body as string
-assertEquals(TEST_CONTENT, response.getOutputAsString());
+    // validate response body as string
+    assertEquals(TEST_CONTENT, response.getOutputAsString());
 
-// validate response body as binary data
-assertArrayEquals(TEST_DATA, response.getOutput());
+    // validate response body as binary data
+    assertArrayEquals(TEST_DATA, response.getOutput());

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/sling-health-check-tool.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/sling-health-check-tool.md b/content/documentation/bundles/sling-health-check-tool.md
index 710e937..e86e5d7 100644
--- a/content/documentation/bundles/sling-health-check-tool.md
+++ b/content/documentation/bundles/sling-health-check-tool.md
@@ -1,13 +1,16 @@
-title=Sling Health Check Tools		
-type=page
+title=TODO title for sling-health-check-tool.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Health Check Tools
 
-Based on simple `HealthCheck` OSGi services, the Sling Health Check Tools ("hc" in short form) are used to
-check the health of live Sling systems, based on inputs like JMX MBean attribute values, OSGi framework
+Based on simple `HealthCheck` OSGi services, the Sling Health Check Tools ("hc" in short form) are used to 
+check the health of live Sling systems, based on inputs like JMX MBean attribute values, OSGi framework 
 information, Sling requests status, etc.
 
-Health checks are easily extensible either by configuring the supplied default `HealthCheck` services, or
+Health checks are easily extensible either by configuring the supplied default `HealthCheck` services, or 
 by implementing your own `HealthCheck` services to cater for project specific requirements.
 
 However for simple setups, the out of the box health checks are often sufficient. [Executing Health Checks](#executing-health-checks)
@@ -27,13 +30,13 @@ Generally health checks have two high level use cases:
 The strength of Health Checks are to surface internal Sling state for external use:
 
 * Verify that performance counters are in range
-* Run smoke tests at system startup
+* Run smoke tests at system startup 
 * Check that all OSGi bundles are up and running
 * Check that demo content has been removed from a production system
 * Check that demo accounts are disabled
 * Ping external systems and raise alarms if they are down
 
-The health check subsystem uses tags to select which health checks to execute so you can for example execute just the _performance_ or _security_ health
+The health check subsystem uses tags to select which health checks to execute so you can for example execute just the _performance_ or _security_ health 
 checks once they are configured with the corresponding tags.
 
 The out of the box health check services also allow for using them as JMX aggregators and processors, which take JMX
@@ -43,60 +46,60 @@ attribute values as input and make the results accessible via JMX MBeans.
 
 A `HealthCheck` is just an OSGi service that returns a `Result`.
 
-public interface HealthCheck {
-
-/** Execute this health check and return a {@link Result}
-*  This is meant to execute quickly, access to external
-*  systems, for example, should be managed asynchronously.
-*/
-public Result execute();
-}
-
+    public interface HealthCheck {
+        
+        /** Execute this health check and return a {@link Result} 
+         *  This is meant to execute quickly, access to external
+         *  systems, for example, should be managed asynchronously.
+         */
+        public Result execute();
+    }
+    
 Where `Result` is a simple immutable class that provides a `Status` (OK, WARN, CRITICAL etc.) and one or more log-like messages that
 can provide more info about what, if anything, went wrong.
 
-public class Result implements Iterable <ResultLog.Entry> {
-
-public boolean isOk() {
-return getStatus().equals(Status.OK);
-}
-
-public Status getStatus() {
-return resultLog.getAggregateStatus();
-}
-
-@Override
-public Iterator<ResultLog.Entry> iterator() {
-return resultLog.iterator();
-}
-
-... details omitted
-}
+    public class Result implements Iterable <ResultLog.Entry> {
+
+        public boolean isOk() {
+            return getStatus().equals(Status.OK);
+        }
+    
+        public Status getStatus() {
+            return resultLog.getAggregateStatus();
+        }
+    
+        @Override
+        public Iterator<ResultLog.Entry> iterator() {
+            return resultLog.iterator();
+        }
+        
+        ... details omitted
+    } 
 
 ### SlingHealthCheck annotation
 The `SlingHealthCheck` annotation makes it easier to specify the required `HealthCheck` service properties.
 
 Here's an example from the `samples` module - see the `annotations` module for more details.
 
-@SlingHealthCheck(
-name="Annotated Health Check Sample",
-mbeanName="annotatedHC",
-description="Sample Health Check defined by a java annotation",
-tags={"sample","annotation"})
+    @SlingHealthCheck(
+        name="Annotated Health Check Sample", 
+        mbeanName="annotatedHC",
+        description="Sample Health Check defined by a java annotation",
+        tags={"sample","annotation"})
+    
+    public class AnnotatedHealthCheckSample implements HealthCheck {
 
-public class AnnotatedHealthCheckSample implements HealthCheck {
-
-@Override
-public Result execute() {
-...health check code
-}
-}
+        @Override
+        public Result execute() {
+            ...health check code
+        }
+    }
 
 ## Executing Health Checks
 
-Health Checks can be executed via a [webconsole plugin](#webconsole-plugin), the [health check servlet](#health-check-servlet) or via [JMX](#jmx-access-to-health-checks). `HealthCheck` services can be selected for execution based on their `hc.tags` multi-value service property.
+Health Checks can be executed via a [webconsole plugin](#webconsole-plugin), the [health check servlet](#health-check-servlet) or via [JMX](#jmx-access-to-health-checks). `HealthCheck` services can be selected for execution based on their `hc.tags` multi-value service property. 
 
-The `HealthCheckFilter` utility accepts positive and negative tag parameters, so that `-security,sling`
+The `HealthCheckFilter` utility accepts positive and negative tag parameters, so that `-security,sling` 
 selects all `HealthCheck` having the `sling` tag but not the `security` tag, for example.
 
 For advanced use cases it is also possible to use the API directly by using the interface `org.apache.sling.hc.api.execution.HealthCheckExecutor`.
@@ -109,27 +112,27 @@ The Health Check subsystem consists of the following bundles:
 * `org.apache.sling.hc.webconsole` provides the Webconsole plugin described below.
 * `org.apache.sling.junit.healthcheck` provides a `HealthCheck` service that executes JUnit tests in the server-side OSGi context.
 * `org.apache.sling.hc.samples` provides sample OSGi configurations and `HealthCheck` services. The sample configurations are provided as Sling content, so the Sling Installer is required to activate them.
-* `org.apache.sling.hc.junit.bridge` makes selected Health Checks available as server-side JUnit tests. See below for more info.
+* `org.apache.sling.hc.junit.bridge` makes selected Health Checks available as server-side JUnit tests. See below for more info. 
 
 ## Out-of-the-box `HealthCheck` services
 
-The following default `HealthCheck` services are provided by the `org.apache.sling.hc.core` bundle:
+The following default `HealthCheck` services are provided by the `org.apache.sling.hc.core` bundle: 
 
 The `org.apache.sling.hc.samples` bundle provides OSGi configurations that demonstrate them.
 
-* `JmxAttributeHealthCheck` checks the value of a single JMX attribute and supports ranges like _between 12 and 42_.
-* `ScriptableHealthCheck` evaluates an expression written in any scripting language that Sling supports, and provides bindings to access JMX attributes.
-* `CompositeHealthCheck` executes a set of `HealthCheck` selected by tags, useful for creating higher-level checks.
+ * `JmxAttributeHealthCheck` checks the value of a single JMX attribute and supports ranges like _between 12 and 42_.  
+ * `ScriptableHealthCheck` evaluates an expression written in any scripting language that Sling supports, and provides bindings to access JMX attributes. 
+ * `CompositeHealthCheck` executes a set of `HealthCheck` selected by tags, useful for creating higher-level checks.
 
 A few more Sling-specific ones are provided by the `org.apache.sling.hc.support` bundle:
-
-* `SlingRequestStatusHealthCheck` checks the HTTP status of Sling requests.
-* `DefaultLoginsHealthCheck` can be used to verify that the default Sling logins fail.
-* `ThreadUsageHealthCheck` can be used to monitor for deadlocks using JRE ThreadMXBean (see [SLING-6698](https://issues.apache.org/jira/browse/SLING-6698) )
-
-A bridge to server-side OSGi-aware JUnit tests is provided by the `JUnitHealthCheck`, from
+ 
+ * `SlingRequestStatusHealthCheck` checks the HTTP status of Sling requests.  
+ * `DefaultLoginsHealthCheck` can be used to verify that the default Sling logins fail.  
+ * `ThreadUsageHealthCheck` can be used to monitor for deadlocks using JRE ThreadMXBean (see [SLING-6698](https://issues.apache.org/jira/browse/SLING-6698) )
+ 
+A bridge to server-side OSGi-aware JUnit tests is provided by the `JUnitHealthCheck`, from 
 the `org.apache.sling.junit.healthcheck` bundle.
-
+ 
 The `org.apache.sling.hc.samples` bundle provides an example `OsgiScriptBindingsProvider` for the default `ScriptableHealthCheck`,
 which provides OSGi-related information to health check script expressions.
 
@@ -138,38 +141,38 @@ which provides OSGi-related information to health check script expressions.
 
 The following generic Health Check properties may be used for all checks:
 
-Property    | Type     | Description
+Property    | Type     | Description  
 ----------- | -------- | ------------
 hc.name     | String   | The name of the health check as shown in UI
 hc.tags     | String[] | List of tags: Both Felix Console Plugin and Health Check servlet support selecting relevant checks by providing a list of tags
 hc.mbean.name | String | Makes the HC result available via given MBean name. If not provided no MBean is created for that `HealthCheck`
-hc.async.cronExpression | String | Used to schedule the execution of a `HealthCheck` at regular intervals, using a cron expression as specified by the [Sling Scheduler](/documentation/bundles/scheduler-service-commons-scheduler.html) module.
+hc.async.cronExpression | String | Used to schedule the execution of a `HealthCheck` at regular intervals, using a cron expression as specified by the [Sling Scheduler](/documentation/bundles/scheduler-service-commons-scheduler.html) module. 
 hc.resultCacheTtlInMs | Long | Overrides the global default TTL as configured in health check executor for health check responses (since v1.2.6 of core)
 
 All service properties are optional.
 
 As an example, here's a `ScriptableHealthCheck` configuration provided by the `org.apache.sling.hc.samples` bundle:
 
-Factory PID = org.apache.sling.hc.ScriptableHealthCheck
-"hc.name" : "LoadedClassCount and ManagementSpecVersion are in range"
-"hc.mbean.name" : "LoadedClassCount and ManagementSpecVersion"
-"hc.tags" : [jvm, script]
-"expression" : "jmx.attribute('java.lang:type=ClassLoading', 'LoadedClassCount') > 10 &&  jmx.attribute('java.lang:type=Runtime', 'ManagementSpecVersion') > 1"
-"language.extension" : "ecma"
-
-The service properties starting with the `hc.` prefix in this example should be provided by all `HealthCheck` services.
+    Factory PID = org.apache.sling.hc.ScriptableHealthCheck
+    "hc.name" : "LoadedClassCount and ManagementSpecVersion are in range" 
+    "hc.mbean.name" : "LoadedClassCount and ManagementSpecVersion"
+    "hc.tags" : [jvm, script]
+    "expression" : "jmx.attribute('java.lang:type=ClassLoading', 'LoadedClassCount') > 10 &&  jmx.attribute('java.lang:type=Runtime', 'ManagementSpecVersion') > 1" 
+    "language.extension" : "ecma" 
+  
+The service properties starting with the `hc.` prefix in this example should be provided by all `HealthCheck` services. 
 
 ## Configuring the Health Check Executor
 The health check executor can **optionally** be configured via service PID `org.apache.sling.hc.core.impl.executor.HealthCheckExecutorImpl`:
 
-Property    | Type     | Default | Description
+Property    | Type     | Default | Description  
 ----------- | -------- | ------ | ------------
 timeoutInMs     | Long   | 2000ms | Timeout in ms until a check is marked as timed out
 longRunningFutureThresholdForCriticalMs | Long | 300000ms = 5min | Threshold in ms until a check is marked as 'exceedingly' timed out and will marked CRITICAL instead of WARN only
 resultCacheTtlInMs | Long | 2000ms | Result Cache time to live - results will be cached for the given time
 
 ## Webconsole plugin
-If the `org.apache.sling.hc.webconsole` bundle is active, a webconsole plugin
+If the `org.apache.sling.hc.webconsole` bundle is active, a webconsole plugin 
 at `/system/console/healthcheck` allows for executing health checks, optionally selected
 based on their tags (positive and negative selection, see the `HealthCheckFilter` mention above).
 
@@ -180,11 +183,11 @@ The screenshot below shows an example, as of svn revision 1513462.
 ![Health Check Webconsole Plugin](sling-hc-plugin.jpg)
 
 ## JMX access to health checks
-If the `org.apache.sling.hc.jmx` bundle is active, a JMX MBean is created for each `HealthCheck` which has the
-service property `hc.mbean.name` service property set. All health check MBeans are registered in the
+If the `org.apache.sling.hc.jmx` bundle is active, a JMX MBean is created for each `HealthCheck` which has the 
+service property `hc.mbean.name` service property set. All health check MBeans are registered in the 
 domain `org.apache.sling.healthcheck` with a type of `HealthCheck`.
 
-The MBean gives access to the `Result` and the log, as shown on the screenshot below.
+The MBean gives access to the `Result` and the log, as shown on the screenshot below.   
 
 See the example configurations of the `org.apache.sling.hc.samples` for more details.
 
@@ -196,8 +199,8 @@ similar features to the Web Console plugin described above, with output in HTML,
 
 The Health Checks Servlet is disabled by default, to enable it create an OSGi configuration like
 
-PID = org.apache.sling.hc.core.impl.servlet.HealthCheckExecutorServlet
-servletPath = /system/health
+    PID = org.apache.sling.hc.core.impl.servlet.HealthCheckExecutorServlet
+    servletPath = /system/health
 
 which specifies the servlet's base path. That URL then returns an HTML page, by default with the results of all active health checks and
 with instructions at the end of the page about URL parameters which can be used to select specific Health Checks and control their execution and output format.
@@ -205,20 +208,20 @@ with instructions at the end of the page about URL parameters which can be used
 Note that by design **the Health Checks Servlet doesn't do any access control by itself** to ensure it can detect unhealthy states of the authentication itself. Make sure the configured path is only accessible to relevant infrastructure and operations people. Usually all `/system/*` paths are only accessible from a local network and not routed to the Internet.
 
 ## Health Checks as server-side JUnit tests
-The `org.apache.sling.hc.junit.bridge` bundle makes selected Health Checks available as server-side JUnit tests.
+The `org.apache.sling.hc.junit.bridge` bundle makes selected Health Checks available as server-side JUnit tests. 
 
 It requires the `org.apache.sling.junit.core bundle` which provides the server-side JUnit tests infrastructure.
 
 The idea is to implement the smoke tests of your system, for example, as health checks. You can then run them
-as part of integration testing, using the  [Sling Testing Tools](/documentation/development/sling-testing-tools.html)
+as part of integration testing, using the  [Sling Testing Tools](/documentation/development/sling-testing-tools.html)  
 remote testing utilities, and also as plain Health Checks for monitoring or troubleshooting Sling instances.
 
 To use this module, configure sets of tags at `/system/console/configMgr/org.apache.sling.hc.junitbridge.HealthCheckTestsProvider`
-using the standard `includeThisTag,-omitThatTag` syntax, and JUnit tests will be available at /system/sling/junit/HealthChecks.html
+using the standard `includeThisTag,-omitThatTag` syntax, and JUnit tests will be available at /system/sling/junit/HealthChecks.html 
 to run the corresponding Health Checks.
 
 To run the Health Check tests at build time, see the [testing/samples/integration-tests](http://svn.apache.org/repos/asf/sling/trunk/testing/samples/integration-tests)
 sample module.
-
+  
 
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/sling-oak-restrictions.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/sling-oak-restrictions.md b/content/documentation/bundles/sling-oak-restrictions.md
index 13f6bd7..1363dda 100644
--- a/content/documentation/bundles/sling-oak-restrictions.md
+++ b/content/documentation/bundles/sling-oak-restrictions.md
@@ -1,37 +1,40 @@
-title=Sling Oak Restrictions		
-type=page
+title=TODO title for sling-oak-restrictions.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Sling Oak Restrictions
 [TOC]
 
 
 ## Introduction
 Oak introduced plugability of restrictions as described in [Oak Restriction Management](https://jackrabbit.apache.org/oak/docs/security/authorization/restriction.html#Pluggability). The bundle sling-oak-restrictions provides additional restrictions that generally make sense for sling applications. Currently sling restrictions for exact resource type match and resource type match including all descendants are supplied.
 
-**Important:** Using the sling restrictions (as well as standard oak restrictions) is not as performant as simple path based ACE entries without any restrictions. Permission setups should always mostly work with path based ACEs and only use ACEs with restrictions for special cases.
+**Important:** Using the sling restrictions (as well as standard oak restrictions) is not as performant as simple path based ACE entries without any restrictions. Permission setups should always mostly work with path based ACEs and only use ACEs with restrictions for special cases. 
 
 ## Restriction sling:resourceTypes
-This restriction allows to match against a sling resource type of a node and works much like the oak standard restriction `rep:ntNames`. Only resources that have one of the supplied resource types are matched, child and parent resources with other resource types are not matched.
+This restriction allows to match against a sling resource type of a node and works much like the oak standard restriction `rep:ntNames`. Only resources that have one of the supplied resource types are matched, child and parent resources with other resource types are not matched. 
 
 The following example allows `myAuthorizable` to write to all nodes that have either resource type `myproj/comp1` or `myproj/comp2`:
 
-- /content/myprj/mynode
-- rep:policy (rep:ACL)
-- allow (rep:GrantACE)
-+ principalName (String) = "myAuthorizable"
-+ rep:privileges (Name[]) = "rep:write"
-- rep:restrictions (rep:Restrictions)
-+ sling:resourceTypes (String[]) = [myproj/comp1,myproj/comp2]
+    - /content/myprj/mynode 
+       - rep:policy (rep:ACL)
+         - allow (rep:GrantACE)
+           + principalName (String) = "myAuthorizable"
+           + rep:privileges (Name[]) = "rep:write"
+           - rep:restrictions (rep:Restrictions)
+              + sling:resourceTypes (String[]) = [myproj/comp1,myproj/comp2]
 
 
 Assuming the following structure
 
-- /content/myprj
-+ sling:resourceType (String) = "myproj/siteroot"
-- mynode
-+ sling:resourceType (String) = "myproj/comp1"
-- mysubnode
-+ sling:resourceType (String) = "myproj/comp3"
+    - /content/myprj 
+       + sling:resourceType (String) = "myproj/siteroot"
+       - mynode
+         + sling:resourceType (String) = "myproj/comp1"
+         - mysubnode 
+           + sling:resourceType (String) = "myproj/comp3"
 
 
 the rule from above will match `/content/myprj/mynode` and not `/content/myprj` (parent) nor `/content/myprj/mynode/mysubnode` (child).
@@ -43,53 +46,53 @@ This restriction matches against resource types in the same way as [sling:resour
 
 The following example allows `myAuthorizable` to write to all nodes that have either resource type `myproj/comp1` or `myproj/comp2` **or are a child of a node, that has one of these resource types**:
 
-- /content/myprj/mynode
-- rep:policy (rep:ACL)
-- allow (rep:GrantACE)
-+ principalName (String) = "myAuthorizable"
-+ rep:privileges (Name[]) = "rep:write"
-- rep:restrictions (rep:Restrictions)
-+ sling:resourceTypesWithDescendants (String[]) = [myproj/comp1,myproj/comp2]
+    - /content/myprj/mynode 
+       - rep:policy (rep:ACL)
+         - allow (rep:GrantACE)
+           + principalName (String) = "myAuthorizable"
+           + rep:privileges (Name[]) = "rep:write"
+             - rep:restrictions (rep:Restrictions)
+               + sling:resourceTypesWithDescendants (String[]) = [myproj/comp1,myproj/comp2]
 
 
 Assuming the structure example as mentioned in [sling:resourceTypes](#restriction-slingresourcetypes), the rule from above will match `/content/myprj/mynode` and `/content/myprj/mynode/mysubnode` (and any other subnodes of `/content/myprj/mynode` with arbitrary resource types), but not `/content/myprj`.
 
 ## Advanced Path Matching
-Both [sling:resourceTypes](#restriction-slingresourcetypes) and [sling:resourceTypesWithDescendants](#restriction-slingresourcetypeswithdescendants) support advanced path matching by using `resourcetype@path`. That way instead of checking the resource type of the current node, the resource type of node at the relative path is checked. For instance this is useful for the case where page content is stored in a `jcr:content` subnode of a hierarchy, the permission however is required to become effective on the parent node of `jcr:content`.
+Both [sling:resourceTypes](#restriction-slingresourcetypes) and [sling:resourceTypesWithDescendants](#restriction-slingresourcetypeswithdescendants) support advanced path matching by using `resourcetype@path`. That way instead of checking the resource type of the current node, the resource type of node at the relative path is checked. For instance this is useful for the case where page content is stored in a `jcr:content` subnode of a hierarchy, the permission however is required to become effective on the parent node of `jcr:content`. 
 
 The following example allows `myAuthorizable` to write to all nodes that have a subnode `jcr:content` with resource type `myproj/comp1` or `myproj/comp2` including their descendants:
 
-- /content/myprj/mynode
-- rep:policy (rep:ACL)
-- allow (rep:GrantACE)
-+ principalName (String) = "myAuthorizable"
-+ rep:privileges (Name[]) = "rep:write"
-- rep:restrictions (rep:Restrictions)
-+ sling:resourceTypesWithDescendants (String[]) = [myproj/comp1@jcr:content,myproj/comp2@jcr:content]
+    - /content/myprj/mynode 
+       - rep:policy (rep:ACL)
+         - allow (rep:GrantACE)
+           + principalName (String) = "myAuthorizable"
+           + rep:privileges (Name[]) = "rep:write"
+           - rep:restrictions (rep:Restrictions)
+              + sling:resourceTypesWithDescendants (String[]) = [myproj/comp1@jcr:content,myproj/comp2@jcr:content]
 
 Assuming the following structure
 
-- /content/myprj
-- jcr:content
-+ sling:resourceType (String) = "myproj/siteroot"
-- mynode1
-- jcr:content
-+ sling:resourceType (String) = "myproj/comp1"
-- mysubnode1
-- jcr:content
-+ sling:resourceType (String) = "myproj/comp3"
-- contentsubnode1
-+ sling:resourceType (String) = "myproj/comp4"
-- contentsubnode2
-+ sling:resourceType (String) = "myproj/comp5"
-- mysubnode2
-- jcr:content
-+ sling:resourceType (String) = "myproj/comp3"
-- mynode2
-- jcr:content
-+ sling:resourceType (String) = "myproj/comp7"
-
-the rule from above will match
+    - /content/myprj 
+       - jcr:content 
+          + sling:resourceType (String) = "myproj/siteroot"
+       - mynode1
+         - jcr:content 
+            + sling:resourceType (String) = "myproj/comp1"
+         - mysubnode1 
+           - jcr:content 
+              + sling:resourceType (String) = "myproj/comp3"
+              - contentsubnode1 
+                + sling:resourceType (String) = "myproj/comp4"
+              - contentsubnode2
+                + sling:resourceType (String) = "myproj/comp5"
+         - mysubnode2 
+           - jcr:content 
+              + sling:resourceType (String) = "myproj/comp3"
+       - mynode2
+         - jcr:content 
+            + sling:resourceType (String) = "myproj/comp7"
+
+the rule from above will match 
 
 * `/content/myprj/mynode1` (because of the `@jcr:content` part of `myproj/comp1@jcr:content`)
 * `/content/myprj/mynode1/jcr:content` (it will check for `/content/myprj/mynode1/jcr:content/jcr:content` that does not exist, but since the parent `/content/myprj/mynode1` is already a match this matches because of `sling:resourceTypesWithDescendants`)
@@ -98,6 +101,6 @@ the rule from above will match
 
 and not match
 
-* `/content/myprj`
-* `/content/myprj/mynode2`
+* `/content/myprj` 
+* `/content/myprj/mynode2` 
 


[11/12] sling-site git commit: Revert 88e80480d5c1dd204ab2cb8a11be9f96caecc899 which ate whitespace at the beginning of lines

Posted by bd...@apache.org.
http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/discovery-api-and-impl.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/discovery-api-and-impl.md b/content/documentation/bundles/discovery-api-and-impl.md
index 10abaf9..e2a60b2 100644
--- a/content/documentation/bundles/discovery-api-and-impl.md
+++ b/content/documentation/bundles/discovery-api-and-impl.md
@@ -1,10 +1,13 @@
-title=Discovery API and its implementations		
-type=page
+title=TODO title for discovery-api-and-impl.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Discovery API and its implementations
 
 In many situations a particular Sling-based deployment consists of several Sling instances:
-typically a number of instances would form a `cluster` that share a common content repository -
+typically a number of instances would form a `cluster` that share a common content repository - 
 in other situations, or additionally, instances might be loosely coupled, each with their own repository.
 
 The `discovery-api` bundle introduces an abstraction for such scenarios called `topology`. It provides
@@ -46,7 +49,7 @@ is always part of a cluster (even if the cluster consists of only one instance).
 
 There are no further assumption made on the structure of a topology.
 
-If different clusters in the topology should represent different 'types of clusters' (eg a publish or an author cluster),
+If different clusters in the topology should represent different 'types of clusters' (eg a publish or an author cluster), 
 then that is not explicitly handled by the discovery API. Instead, applications can define properties on each instance
 that model such cluster types or other aspects.
 
@@ -60,13 +63,13 @@ deal with work that must be guaranteed to only execute on one (but any) instance
 
 Additionally each cluster (`ClusterView`) orders its instances in a stable list: each newly joined instances is added
 at the end of the list and retains its order in the list as long as it doesn't leave the cluster. This can be used
-to distribute "singleton" work amongst the cluster to more than just the leader.
+to distribute "singleton" work amongst the cluster to more than just the leader. 
 
 ## Topology Changes
 
-The `DiscoveryService` provides access to the currently valid `TopologyView`. Additionally, applications can
+The `DiscoveryService` provides access to the currently valid `TopologyView`. Additionally, applications can 
 register a `TopologyEventListener` and thus be informed about any changes in the topology. Whenever the discovery
-service detects that an instance is no longer responding or has newly joined, or a new leader has been elected,
+service detects that an instance is no longer responding or has newly joined, or a new leader has been elected, 
 it sends a `TOPOLOGY_CHANGING` event, starts
 settling the change within the topology (i.e. making sure everybody else in the topology agrees with the change) and finally
 sends a `TOPOLOGY_CHANGED` event with the new topology.
@@ -75,23 +78,23 @@ Additionally, when "only" properties have changed, a `PROPERTIES_CHANGED` event
 
 Note that the detection of topology (or properties) changes will incur a delay which is implementation dependent.
 
-The following is an example of a listener. Note that the binding is done automatically by OSGi, as soon as a
+The following is an example of a listener. Note that the binding is done automatically by OSGi, as soon as a 
 `TopologyEventListener` is registered.
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Service;
-import org.apache.sling.discovery.TopologyEvent;
-import org.apache.sling.discovery.TopologyEventListener;
+	import org.apache.felix.scr.annotations.Component;
+	import org.apache.felix.scr.annotations.Service;
+	import org.apache.sling.discovery.TopologyEvent;
+	import org.apache.sling.discovery.TopologyEventListener;
 
-@Component
-@Service(value = { TopologyEventListener.class })
-public class MyTopologyEventListener implements TopologyEventListener {
-
-public void handleTopologyEvent(final TopologyEvent event) {
-// your code here
-}
-
-}
+	@Component
+	@Service(value = { TopologyEventListener.class })
+	public class MyTopologyEventListener implements TopologyEventListener {
+	
+	    public void handleTopologyEvent(final TopologyEvent event) {
+	    	// your code here
+	    }
+	
+	}
 
 
 ## Properties
@@ -108,26 +111,26 @@ meant to be used to announce configuration information for accessing proper mess
 
 The following is an example of a `PropertyProvider` that provides `sample.value1` and `sample.value2` properties:
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Service;
-import org.apache.sling.discovery.PropertyProvider;
-
-@Component
-@Service(value = { PropertyProvider.class })
-@Property(name = PropertyProvider.PROPERTY_PROPERTIES,
-value = {"sample.value1", "sample.value2" })
-public class SamplePropertyProvider implements PropertyProvider {
-
-public String getProperty(final String name) {
-if ("sample.value1".equals(name)) {
-return "foo";
-} else if ("sample.value2".equals(name)) {
-return "bar";
-} else {
-return null;
-}
-}
-}
+	import org.apache.felix.scr.annotations.Component;
+	import org.apache.felix.scr.annotations.Service;
+	import org.apache.sling.discovery.PropertyProvider;
+
+	@Component
+	@Service(value = { PropertyProvider.class })
+	@Property(name = PropertyProvider.PROPERTY_PROPERTIES, 
+	          value = {"sample.value1", "sample.value2" })
+	public class SamplePropertyProvider implements PropertyProvider {
+	
+		public String getProperty(final String name) {
+			if ("sample.value1".equals(name)) {
+				return "foo";
+			} else if ("sample.value2".equals(name)) {
+				return "bar";
+			} else {
+				return null;
+			}
+		}
+	}
 
 ## Deployment and configuration
 
@@ -137,10 +140,10 @@ might choose explicit configuration via a central service etc.
 
 ## discovery.impl: Resource-based, OOTB Implementation
 
-The `discovery.impl` bundle is a resource-based, out of the box implementation of the `discovery.api` using standard Sling.
+The `discovery.impl` bundle is a resource-based, out of the box implementation of the `discovery.api` using standard Sling. 
 
 The discovery within a cluster is done by writing heartbeat information into the (common) repository (there's no other form
-of communication within a cluster). The establishment of a
+of communication within a cluster). The establishment of a 
 clusterview is done by analyzing these heartbeats, initiating a voting within the cluster (such that each instance can agree
 that it sees the same number of instances) and by concluding the voting by promoting it as the new "established" view.
 
@@ -151,7 +154,7 @@ The discovery of instances and clusters outside the local cluster requires expli
 
 Administrative note: All the information about the topology is stored at the following location in the repository:
 
-/var/discovery/impl
+	/var/discovery/impl
 
 #### /var/discovery/impl/clusterInstances/&lt;slingId&gt;
 
@@ -197,7 +200,7 @@ the following properties:
 This area is used for voting. Each instance can initiate a voting when it realizes that the live instances - denominated
 by those instances that have a not-yet-timed-out heartbeat property - does not match with the `establishedView`.
 
-Once a voting gets a yes vote by all instances it is promoted (moved) under `establishedView` by the initiating instance.
+Once a voting gets a yes vote by all instances it is promoted (moved) under `establishedView` by the initiating instance. 
 Each establishedView was once a voting, thus the structure is the same as described above.
 
 #### /var/discovery/impl/previousView
@@ -217,7 +220,7 @@ This is done by setting a corresponding `lastHeartbeat` property to the current
 
 To avoid having each instance make it's own, perhaps differing conclusions as to which instance/heartbeat is dead or not,
 there is an explicit, unanimous voting mechanism that agrees upon a list of alive instances. This list of alive
-instances is called cluster view.
+instances is called cluster view.  
 
 * as soon as any instance notices a change in the list of active instances, it is free to calculate a new
 such list and start a voting in the cluster - each voting carries a unique votingId
@@ -231,15 +234,15 @@ passed on in a TopologyEvent to all registered listeners.
 ### pseudo-network partitioning aka split-brain
 
 `discovery.impl` requires the, eventually consistent, underlying repository to propagate changes within reasonable time:
-in less than the configured heartbeat timeout. If heartbeats for some reason are not becoming visible by peers in
-the cluster within that time, `discovery.impl` will consider that peer instance as dead. At which point it will
+in less than the configured heartbeat timeout. If heartbeats for some reason are not becoming visible by peers in 
+the cluster within that time, `discovery.impl` will consider that peer instance as dead. At which point it will 
 first send a TOPOLOGY_CHANGING event to all listeners to make them aware that something is changing in the topology,
 and then start a new voting. Once the voting concludes a TOPOLOGY_CHANGED event will follow.
 
-Given the voting is happening through the repository as well, one could imagine a situation where the repository delays
+Given the voting is happening through the repository as well, one could imagine a situation where the repository delays 
 can cause a topology to be "pseudo partitioned" into two or more parts, each one agreeing on a set of instances in that
 sub-cluster (one requirement for such a scenario being that the delays must be asymmetric, ie changes from a subset
-of instances propagate slow, while the remaining changes propagate fast - ie. two different sets of delays in the cluster).
+of instances propagate slow, while the remaining changes propagate fast - ie. two different sets of delays in the cluster). 
 Such a situation would only last as long as the repository delays are large (larger than
 the heartbeat timeouts). Exact cases where the repository experiences large delays depend of course on the
 repository configuration and deployment details, known cases include for example long running queries, large set
@@ -268,7 +271,7 @@ such that the delays are well under control and do not exceed the configured hea
 
 From a discovery API's point of view a cluster consists of all instances that are connected to the same repository.
 The above described built-in mechanism of storing a lastHeartbeat property into the (shared) repository, of voting on changes
-and creating an explicit establishedView results in automatic discovery within a cluster. There is therefore
+and creating an explicit establishedView results in automatic discovery within a cluster. There is therefore 
 no further configuration needed for discovering instances in the same cluster.
 
 However, for discovering multiple clusters such an automatic discovery is not possible and the clusters need
@@ -276,11 +279,11 @@ to be explicitly configured using (cross-cluster) topology connectors:
 
 A topology connector is a periodically issued HTTP PUT that announces the part of the topology known to the
 sending instance to the receiving instance and vica-verca the receiving instance announces its part of the
-topology to the sender in the response of the very same HTTP PUT. This way whatever other clusters are connected
+topology to the sender in the response of the very same HTTP PUT. This way whatever other clusters are connected 
 to sender or receiver will be made known to each other. Such a 'topology announcement' will be valid either until
 the same sender sends the announcement again (which it does periodically) - or until it times out (configurable).
-A topology connector is by definition always between clusters, never within the same cluster. Topology connectors
-can be structured in an arbitrary way (chain, star, tree, etc) with the only important point to note here that
+A topology connector is by definition always between clusters, never within the same cluster. Topology connectors 
+can be structured in an arbitrary way (chain, star, tree, etc) with the only important point to note here that 
 since changes in the topology propagate through these topology connectors they have a certain delay (namely
 the configured heartbeatInterval per hop).
 
@@ -295,47 +298,47 @@ A Felix WebConsole plugin at [/system/console/topology][2] provides a (read-only
 
 The following properties can be configured (at [/system/console/configMgr/org.apache.sling.discovery.impl.Config][1]):
 
-* heartbeatInterval: the time in seconds between two heartbeats (both cluster-internal and for HTTP-connectors). Default
-value is 15 seconds.
-
-* heartbeatTimeout: the time in seconds after which an instance is considered dead if no heartbeat was sent since. Default
-value is 20 seconds.
-
-* topologyConnectorUrls: a list of connector URLs to which this instance should connect to. The list can contain multiple
-instances of the same cluster (for fallback configurations). If the list is empty, no connector will be created.
-The default relative URL is /libs/sling/topology/connector. Note that this URL is accessible without authentication -
-to avoid having to configure administrative username/passwords in all instances. Instead, a whitelist approach is used
-(see next item).
-
-* topologyConnectorWhitelist: As mentioned above, the path /libs/sling/topology/connector does not require authentication.
-To assure that only trusted instances can connect to the topology, its hostname or IP address must be in a whitelist.
-By default this whitelist only contains localhost and 127.0.0.1.
-
-* minEventDelay: To reduce the number of events sent during changes, there is a delay (in seconds) before the event is sent.
-If additional changes happen during this delay, the change will be combined in one event.
-
-* leaderElectionRepositoryDescriptor: this is an advanced parameter. It denotes a repository descriptor that is evaluated
-and taken into account for leader Election: the corresponding value of the descriptor is sorted by first.
-
-* hmacEnabled: If this is true, and sharedKey is set to a value on all Sling instances within the same topology, then messages are
-validates using a signature of the content of the message based on the shared key. The signature and the digest of the content
-appear as http headers. When hmac message validation is enabled, whitelisting is disabled. This use useful where the topology
-messages are transported through multiple reverse proxy layers or the topology is dynamic. The Hmac algorithm in use is HmacSHA256.
-The JVM is expected to have a provider implementing this algorithm (The Standard JDKs do).
-
-* sharedKey: If hmacEnabled is true, this must be set to a secret value, shared amongst all Sling instances that are members of the
-same topology.
-
-* enableEncryption: If hmacEnabled is true, and sharedKey is set, setting this to true will encrypt the body of the message using 128 Bit
-AES encryption. The encryption key is derived from the sharedKey using a 9 byte random salt, giving 2^^72 potential salt values.
-
-* hmacSharedKeyTTL: The key used for the signatures is derived from the shared key. Each derived key has a lifetime before the next key
-is generated. This parameter sets the lifetime of each key in ms. The default is 4h. Messages sent using old keys will remain valid for
-2x the TTL, after which time the message will be ignored.
-
-
-[1]: http://localhost:8888/system/console/configMgr/org.apache.sling.discovery.impl.Config
-[2]: http://localhost:8888/system/console/topology
+  * heartbeatInterval: the time in seconds between two heartbeats (both cluster-internal and for HTTP-connectors). Default
+   value is 15 seconds.
+   
+  * heartbeatTimeout: the time in seconds after which an instance is considered dead if no heartbeat was sent since. Default
+   value is 20 seconds.
+   
+  * topologyConnectorUrls: a list of connector URLs to which this instance should connect to. The list can contain multiple
+   instances of the same cluster (for fallback configurations). If the list is empty, no connector will be created.
+   The default relative URL is /libs/sling/topology/connector. Note that this URL is accessible without authentication -
+   to avoid having to configure administrative username/passwords in all instances. Instead, a whitelist approach is used
+   (see next item).
+   
+  * topologyConnectorWhitelist: As mentioned above, the path /libs/sling/topology/connector does not require authentication.
+   To assure that only trusted instances can connect to the topology, its hostname or IP address must be in a whitelist.
+   By default this whitelist only contains localhost and 127.0.0.1.
+   
+  * minEventDelay: To reduce the number of events sent during changes, there is a delay (in seconds) before the event is sent.
+   If additional changes happen during this delay, the change will be combined in one event.
+   
+  * leaderElectionRepositoryDescriptor: this is an advanced parameter. It denotes a repository descriptor that is evaluated
+   and taken into account for leader Election: the corresponding value of the descriptor is sorted by first.
+
+  * hmacEnabled: If this is true, and sharedKey is set to a value on all Sling instances within the same topology, then messages are
+  validates using a signature of the content of the message based on the shared key. The signature and the digest of the content 
+  appear as http headers. When hmac message validation is enabled, whitelisting is disabled. This use useful where the topology
+  messages are transported through multiple reverse proxy layers or the topology is dynamic. The Hmac algorithm in use is HmacSHA256.
+  The JVM is expected to have a provider implementing this algorithm (The Standard JDKs do).
+
+  * sharedKey: If hmacEnabled is true, this must be set to a secret value, shared amongst all Sling instances that are members of the
+   same topology.
+
+  * enableEncryption: If hmacEnabled is true, and sharedKey is set, setting this to true will encrypt the body of the message using 128 Bit
+    AES encryption. The encryption key is derived from the sharedKey using a 9 byte random salt, giving 2^^72 potential salt values.
+
+  * hmacSharedKeyTTL: The key used for the signatures is derived from the shared key. Each derived key has a lifetime before the next key 
+    is generated. This parameter sets the lifetime of each key in ms. The default is 4h. Messages sent using old keys will remain valid for 
+    2x the TTL, after which time the message will be ignored.
+
+
+  [1]: http://localhost:8888/system/console/configMgr/org.apache.sling.discovery.impl.Config
+  [2]: http://localhost:8888/system/console/topology
 
 
 ## discovery.oak: Oak-based, OOTB-implementation
@@ -368,7 +371,7 @@ the current state of the cluster. It contains the following:
 * `inactive`: a list of nodes that are inactive
 * `me`: the id (number) of the local instance (which is always part of the active nodes)
 * `id`: the id (unique, persistent) of the cluster (which thus survives node/cluster restarts)
-* `seq`: a sequence number that is incremented upon each change in this descriptor (to be able to identify a change even if
+* `seq`: a sequence number that is incremented upon each change in this descriptor (to be able to identify a change even if 
 the other values are unchanged) and shared amongst all instances in the cluster, ie all instances see the same sequence number.
 This number can thus be used by upper layers to identify this particular incarnation of clusterview.
 * `final`: when this flag is `false` it indicates that the sequence number has changed (as well as eg `active` and `inactive`),
@@ -380,7 +383,7 @@ should wait until `final==true`, at which point they know oak has finished proce
 
 The `oak.discoverylite.clusterview` descriptor is exposed as a JCR repository descriptor and can be accessed like so:
 
-getRepository().getDescriptor("oak.discoverylite.clusterview")
+	getRepository().getDescriptor("oak.discoverylite.clusterview")
 
 which will return the json-formatted clusterview as described above.
 
@@ -391,7 +394,7 @@ It is merely an internal information exposed by oak and not standardized nor gua
 
 discovery.oak is a implementation of the discovery API that now makes use of this new discovery-lite descriptor in oak.
 It basically delegates the detection of the instances in the local cluster to discovery-lite. To do so, it periodically
-reads this descriptor (which is designed to be read at a high-frequency without problems) and triggers `TopologyEvents`
+reads this descriptor (which is designed to be read at a high-frequency without problems) and triggers `TopologyEvents` 
 when this descriptor changes.
 
 The advantage of using discovery-lite (which uses oak leases) instead of writing heartbeats into the repository

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/dynamic-includes.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/dynamic-includes.md b/content/documentation/bundles/dynamic-includes.md
index 54a4b77..9b9c25c 100644
--- a/content/documentation/bundles/dynamic-includes.md
+++ b/content/documentation/bundles/dynamic-includes.md
@@ -1,27 +1,30 @@
-title=Apache Sling Dynamic Include		
-type=page
+title=TODO title for dynamic-includes.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Apache Sling Dynamic Include
 Notice:    Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-.
-http://www.apache.org/licenses/LICENSE-2.0
-.
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
+           or more contributor license agreements.  See the NOTICE file
+           distributed with this work for additional information
+           regarding copyright ownership.  The ASF licenses this file
+           to you under the Apache License, Version 2.0 (the
+           "License"); you may not use this file except in compliance
+           with the License.  You may obtain a copy of the License at
+           .
+             http://www.apache.org/licenses/LICENSE-2.0
+           .
+           Unless required by applicable law or agreed to in writing,
+           software distributed under the License is distributed on an
+           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+           KIND, either express or implied.  See the License for the
+           specific language governing permissions and limitations
+           under the License.
 
 Sling Dynamic Include (org.apache.sling.dynamic-include)
 ========================================================
 For now the Sling Dynamic Include documentation can be found
 [in the Sling codebase](https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/sling-dynamic-include/README.md)
-or
+or 
 [on our GitHub mirror](https://github.com/apache/sling/tree/trunk/contrib/extensions/sling-dynamic-include) if that's in sync.

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/file-installer-provider.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/file-installer-provider.md b/content/documentation/bundles/file-installer-provider.md
index 9332f83..ccc6127 100644
--- a/content/documentation/bundles/file-installer-provider.md
+++ b/content/documentation/bundles/file-installer-provider.md
@@ -1,15 +1,18 @@
-title=File Installer Provider		
-type=page
+title=TODO title for file-installer-provider.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: File Installer Provider
 
 The file installer provider scans configured directories and provides the found artifacts (files) to the [OSGI installer](/documentation/bundles/osgi-installer.html). The functionality is very similar to Apache Felix FileInstall, with the major difference that this service implements just the task of scanning a file directory. All the management logic is implemented in the OSGi installer and support of various artifact types like bundles, configurations or custom formats is implemented by plugins for the OSGi installer.
 
-
+ 	 
 ## Setup
-
+ 	 
 The file installer can be configured with these framework (system) properties:
-
+ 	 
 |Property|Default|Description|
 |--|--|--|
 |`sling.fileinstall.dir`| |The name/path of the directories to watch. Several directories can be specified by using a comma separated list. Each directory might have arbitrarily many sub directories (even nested ones) which may contain the artifacts|
@@ -26,14 +29,14 @@ Start levels are supported as well by creating a directory with the name of the
 ## Configurations
 
 Configurations are handled by the [Configuration Installer Factory](/documentation/bundles/configuration-installer-factory.html). The different formats are described there.
-
+ 	 
 ## Custom Artifacts
 
 Custom artifacts are handled by the OSGi installer depending on the installed plugins. Have a look at the OSGi installer and its plugins for more information.
 
 ## Runmode Support
 
-The file installer supports run modes for installing artifacts (added with [SLING-4478](https://issues.apache.org/jira/browse/SLING-4478)). Within the scanned directory, a folder prefixed with "install." and followed by one or more run modes (separated by ".") will only be considered if all the respective run modes are active. For example artifacts below a folder named `install.a1.dev` are only taken into account if the run modes `a1` and `dev` are both active.
+The file installer supports run modes for installing artifacts (added with [SLING-4478](https://issues.apache.org/jira/browse/SLING-4478)). Within the scanned directory, a folder prefixed with "install." and followed by one or more run modes (separated by ".") will only be considered if all the respective run modes are active. For example artifacts below a folder named `install.a1.dev` are only taken into account if the run modes `a1` and `dev` are both active. 
 
 You can even combine start level and run mode support. Just pay attention that the run mode foldername must be set on a direct child folder of `sling.fileinstall.dir` while the start level must be set directly on the parent folder of the artifact you want to install. E.g. `<sling.fileinstall.dir>/install.a1.dev/3/mybundle.jar` will only be considered if both run modes `a1` and `dev` are set. If this is the case then the according artifact will be installed in start level 3.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/internationalization-support-i18n.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/internationalization-support-i18n.md b/content/documentation/bundles/internationalization-support-i18n.md
index 49961ca..bbf4709 100644
--- a/content/documentation/bundles/internationalization-support-i18n.md
+++ b/content/documentation/bundles/internationalization-support-i18n.md
@@ -1,14 +1,17 @@
-title=Internationalization Support (i18n)		
-type=page
+title=TODO title for internationalization-support-i18n.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Internationalization Support (i18n)
 
 Internationalization support in Sling consists of four methods in the `SlingHttpServletRequest` interface:
 
-* `getLocale()` -- Returns the primary `Locale` for the current request. This method is inherited from the `javax.servlet.ServletRequest` interface.
-* `getLocales()` -- Returns the `Locale` instances for the current request. This method is inherited from the `javax.servlet.ServletRequest` interface.
-* `getResourceBundle(Locale)` -- Returns a `ResourceBundle` for the given `Locale`. This method is specific to Sling.
-* `getResourceBundle(String, Locale)` -- Returns a `ResourceBundle` of a given base name for the given `Locale`. This method is specific to Sling.
+   * `getLocale()` -- Returns the primary `Locale` for the current request. This method is inherited from the `javax.servlet.ServletRequest` interface.
+   * `getLocales()` -- Returns the `Locale` instances for the current request. This method is inherited from the `javax.servlet.ServletRequest` interface.
+   * `getResourceBundle(Locale)` -- Returns a `ResourceBundle` for the given `Locale`. This method is specific to Sling.
+   * `getResourceBundle(String, Locale)` -- Returns a `ResourceBundle` of a given base name for the given `Locale`. This method is specific to Sling.
 
 
 These methods have a default implementation in the `org.apache.sling.core` bundle and an extended and extensible implementation in the `org.apache.sling.i18n` bundle.
@@ -18,10 +21,10 @@ These methods have a default implementation in the `org.apache.sling.core` bundl
 
 The default implementation of the above mentioned four methods in the Sling Engine bundle is contained in the bundle-private class `org.apache.sling.engine.impl.SlingHttpServletRequestImpl` which is the primary implementation of the `SlingHttpServletRequest` interface:
 
-* `getLocale()` -- Returns the `Locale` from the request object of the servlet container in which Sling is running. As per the Servlet API specification, this is either the primary Locale of the `Accept-Language` request header or the server default locale.
-* `getLocales()` -- Returns the `Enumeration` from the request object of the servlet container in which Sling is running. As per the Servlet API specification, this is either based on the `Accept-Language` request header or just the server default locale.
-* `getResourceBundle(Locale)` -- Returns a `ResourceBundle` whose `getString(String key)` method returns the `key` as the message and whose `getKeys()` method returns an empty `Enumeration`.
-* `getResourceBundle(String, Locale)` -- Returns a `ResourceBundle` whose `getString(String key)` method returns the `key` as the message and whose `getKeys()` method returns an empty `Enumeration`.
+   * `getLocale()` -- Returns the `Locale` from the request object of the servlet container in which Sling is running. As per the Servlet API specification, this is either the primary Locale of the `Accept-Language` request header or the server default locale.
+   * `getLocales()` -- Returns the `Enumeration` from the request object of the servlet container in which Sling is running. As per the Servlet API specification, this is either based on the `Accept-Language` request header or just the server default locale.
+   * `getResourceBundle(Locale)` -- Returns a `ResourceBundle` whose `getString(String key)` method returns the `key` as the message and whose `getKeys()` method returns an empty `Enumeration`.
+   * `getResourceBundle(String, Locale)` -- Returns a `ResourceBundle` whose `getString(String key)` method returns the `key` as the message and whose `getKeys()` method returns an empty `Enumeration`.
 
 
 NOTE: Unlike the default implementations of the `ResourceBundle` abstract class in the Java Runtime -- `PropertyResourceBundle` and `ListResourceBundle` -- the `ResourceBundle` returned by the default implementation of the `getResourceBundle(Locale)` and `getResourceBundle(String, Locale)` always returns a string message for any key, which is the key itself. This prevents throwing `MissingResourceException`.
@@ -32,9 +35,9 @@ NOTE: Unlike the default implementations of the `ResourceBundle` abstract class
 
 The `org.apache.sling.i18n` Bundle implements a request level `Filter` providing extensible implementations of the above mentioned three methods. Extensibility is attained by defining two service interfaces:
 
-* `LocaleResolver` -- The `LocaleResolver` interface defines a method which may be implemented by a service outside of the sling.i18n bundle. If no such service is registered the default behaviour is as described above for the sling.core bundle. The service described by this interface is used to implement the `getLocale()` and `getLocales()` method.
+   * `LocaleResolver` -- The `LocaleResolver` interface defines a method which may be implemented by a service outside of the sling.i18n bundle. If no such service is registered the default behaviour is as described above for the sling.core bundle. The service described by this interface is used to implement the `getLocale()` and `getLocales()` method. 
 
-* `ResourceBundleProvider` -- The `ResourceBundleProvider` interface defines two methods to acquire a `ResourceBundle` for any `Locale` and an optional base name. This service interface is not intended to be implemented outside of the sling.i18n bundle: A JCR Repository based implementation is contained in the sling.i18n bundle. The `ResourceBundleProvider` service is not only used within the sling.i18n bundle to implement the `SlingHttpServletRequest.getResourceBundle(Locale)` and  `SlingHttpServletRequest.getResourceBundle(String, Locale)` methods. The service may also be used by Sling applications to acquire `ResourceBundle` instances without having a request object by getting the service and calling its `getResourceBundle(Locale)` or `getResourceBundle(String, Locale)` method directly.
+   * `ResourceBundleProvider` -- The `ResourceBundleProvider` interface defines two methods to acquire a `ResourceBundle` for any `Locale` and an optional base name. This service interface is not intended to be implemented outside of the sling.i18n bundle: A JCR Repository based implementation is contained in the sling.i18n bundle. The `ResourceBundleProvider` service is not only used within the sling.i18n bundle to implement the `SlingHttpServletRequest.getResourceBundle(Locale)` and  `SlingHttpServletRequest.getResourceBundle(String, Locale)` methods. The service may also be used by Sling applications to acquire `ResourceBundle` instances without having a request object by getting the service and calling its `getResourceBundle(Locale)` or `getResourceBundle(String, Locale)` method directly.
 
 
 
@@ -50,8 +53,8 @@ Two different types of storage formats are supported for the individual dictiona
 
 The (direct) child nodes of the `mix:language` node must have the `jcr:primaryType` set to `sling:MessageEntry` and must contain two special properties naming the key string and the message:
 
-* `sling:key` -- The `sling:key` property is a string property being the key for which the node contains the message(s). This property is optional. If it is not set the key is determined by the name of this `sling:messageEntry` resource.
-* `sling:message` -- The `sling:message` property represents the resource for the key.
+   * `sling:key` -- The `sling:key` property is a string property being the key for which the node contains the message(s). This property is optional. If it is not set the key is determined by the name of this `sling:messageEntry` resource.
+   * `sling:message` -- The `sling:message` property represents the resource for the key.
 
 It is only required that the message nodes are located below `mix:language` nodes. Such structures may also be scattered in the repository to allow storing message resources next to where they are most likely used, such as request scripts.
 
@@ -59,35 +62,35 @@ It is only required that the message nodes are located below `mix:language` node
 
 Content for dictionaries in this format might look like this:
 
-/libs/languages
-+-- English (nt:folder, mix:language)
-|    +-- jcr:language = en
-|    +-- m1 (sling:MessageEntry)
-|    |    +-- sling:key = "msg001"
-|    |    +-- sling:message = "This is a message"
-|    +-- m2 (sling:MessageEntry)
-|         +-- sling:key = "msg002"
-|         +-- sling:message = "Another message"
-+-- Deutsch (nt:folder, mix:language)
-+-- jcr:language = de
-+-- m1 (sling:MessageEntry)
-|    +-- sling:key = "msg001"
-|    +-- sling:message = "Das ist ein Text"
-+-- m2 (sling:MessageEntry)
-+-- sling:key = "msg002"
-+-- sling:message = "Ein anderer Text"
-
-/apps/myApp
-+-- English (nt:folder, mix:language)
-|    +-- jcr:language = en
-|    +-- mx (sling:MessageEntry)
-|         +-- sling:key = "msgXXX"
-|         +-- sling:message = "An Application Text"
-+-- Deutsch (nt:folder, mix:language)
-+-- jcr:language = de
-+-- mx (sling:MessageEntry)
-+-- sling:key = "msgXXX"
-+-- sling:message = "Ein Anwendungstext"
+       /libs/languages
+               +-- English (nt:folder, mix:language)
+               |    +-- jcr:language = en
+               |    +-- m1 (sling:MessageEntry)
+               |    |    +-- sling:key = "msg001"
+               |    |    +-- sling:message = "This is a message"
+               |    +-- m2 (sling:MessageEntry)
+               |         +-- sling:key = "msg002"
+               |         +-- sling:message = "Another message"
+               +-- Deutsch (nt:folder, mix:language)
+                    +-- jcr:language = de
+                    +-- m1 (sling:MessageEntry)
+                    |    +-- sling:key = "msg001"
+                    |    +-- sling:message = "Das ist ein Text"
+                    +-- m2 (sling:MessageEntry)
+                         +-- sling:key = "msg002"
+                         +-- sling:message = "Ein anderer Text"
+    
+       /apps/myApp
+               +-- English (nt:folder, mix:language)
+               |    +-- jcr:language = en
+               |    +-- mx (sling:MessageEntry)
+               |         +-- sling:key = "msgXXX"
+               |         +-- sling:message = "An Application Text"
+               +-- Deutsch (nt:folder, mix:language)
+                    +-- jcr:language = de
+                    +-- mx (sling:MessageEntry)
+                         +-- sling:key = "msgXXX"
+                         +-- sling:message = "Ein Anwendungstext"
 
 This content defines two languages *en* and *de* with three messages *msg001*, *msg002* and *msgXXX* each. The names of the respective resources have no significance (in case the `sling:key` is set).
 
@@ -102,34 +105,34 @@ The parser will take any "key":"value" pair in the JSON file, including those in
 
 Content for this format might look like this:
 
-/libs/languages
-+-- english.json (nt:file, mix:language)
-|    +-- jcr:language = en
-|    +-- jcr:content (nt:resource)
-|         + jcr:data (containing the actual JSON file)
-+-- deutsch.json (nt:file, mix:language)
-+-- jcr:language = de
-+-- jcr:content (nt:resource)
-+ jcr:data (containing the actual JSON file)
+       /libs/languages
+               +-- english.json (nt:file, mix:language)
+               |    +-- jcr:language = en
+               |    +-- jcr:content (nt:resource)
+               |         + jcr:data (containing the actual JSON file)
+               +-- deutsch.json (nt:file, mix:language)
+                    +-- jcr:language = de
+                    +-- jcr:content (nt:resource)
+                        + jcr:data (containing the actual JSON file)
 
 
 #### JCR Node Types supporting the JCR Repository based `ResourceBundleProvider`
 
 The sling.i18n bundle asserts the following node types:
 
-[mix:language]
-mixin
-- jcr:language (string)
+    [mix:language]
+        mixin
+      - jcr:language (string)
 
 
 The `mix:language` mixin node type allows setting the `jcr:language` property required by the `ResourceBundleProvider` implementation to identify the message `Locale`.
 
-[sling:Message]
-mixin
-- sling:key (string)
-- sling:message (undefined)
-
-[sling:MessageEntry] > nt:hierarchyNode, sling:Message
+    [sling:Message]
+        mixin
+      - sling:key (string)
+      - sling:message (undefined)
+    
+    [sling:MessageEntry] > nt:hierarchyNode, sling:Message  
 
 
 The `sling:Message` and `sling:MessageEntry` are helper node types. The latter must be used to create the nodes for the `sling:MessageEntry` based format.
@@ -151,9 +154,9 @@ The `sling:basename` property may be multi-valued, that is the messages of a `mi
 ### `ResourceBundle` hierarchies
 The dictionary entries for one `JcrResourceBundle` are always ordered like the resource resolver search paths, so usually
 
-1. dictionary entries below `/apps`
-2. dictionary entries below `/libs`
-3. dictionary entries anywhere else (outside the search path)
+   1. dictionary entries below `/apps`
+   2. dictionary entries below `/libs`
+   3. dictionary entries anywhere else (outside the search path)
 
 That means that the message for the same key in `/apps` overwrites the one in `/libs` (if both are for the same locale and base name). Within those categories the order is non-deterministic, so if there is more than one entry for the same key in `/apps/...` (for the same locale and base name), any of those entries may be used.
 

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/jcr-installer-provider.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/jcr-installer-provider.md b/content/documentation/bundles/jcr-installer-provider.md
index 73fc668..55877a2 100644
--- a/content/documentation/bundles/jcr-installer-provider.md
+++ b/content/documentation/bundles/jcr-installer-provider.md
@@ -1,7 +1,10 @@
-title=JCR Installer Provider		
-type=page
+title=TODO title for jcr-installer-provider.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: JCR Installer Provider
 
 The JCR installer provider scans the JCR repository for artifacts and provides them to the [OSGI installer](/documentation/bundles/osgi-installer.html).
 
@@ -9,7 +12,7 @@ The JCR installer provider scans the JCR repository for artifacts and provides t
 
 The JCR installer provider can be configured with weighted paths which are scanned. By default, the installer scans in */apps* and */libs* where artifacts found in */apps* get a higher priority. The installer does a deep scan and uses a regular expression to detect folders containing artifacts to be installed. By default, artifacts from within a folder named *install* are provided to the OSGi installer.
 
-If such an install folder contains a binary artifact (e.g. a bundle or a config file as described in [Configuration Installer Factory](/documentation/bundles/configuration-installer-factory.html)) this is provided to the OSGi installer.
+If such an install folder contains a binary artifact (e.g. a bundle or a config file as described in [Configuration Installer Factory](/documentation/bundles/configuration-installer-factory.html)) this is provided to the OSGi installer. 
 
 In addition every node of type *sling:OsgiConfig* is provided as a configuration to the installer. This has the advantage of leveraging the JCR structure better than binary files, but has the known limitations outlined in [SLING-4183](https://issues.apache.org/jira/browse/SLING-4183) and [SLING-2477](https://issues.apache.org/jira/browse/SLING-2477), therefore it is recommended to stick to one of the binary formats described in [Configuration Installer Factory](/documentation/bundles/configuration-installer-factory.html).
 
@@ -17,7 +20,7 @@ The JCR installer provider does not check or scan the artifacts itself, the dete
 
 ### Runmode Support
 
-The JCR installer supports run modes for installing artifacts. By default folders named *install* are checked for artifacts. If Apache Sling is started with one (or more run modes), all folders named *install.[RUNMODE]* are scanned as well. To be precise, the folder name can be followed by any number of run modes separated by comma. For example, if started with run modes *dev*, *a1*, and *public*, folders like *install.dev*, *install.a1*, *install.public* are searched as well as *install.dev.a1*, or *install.a1.dev*.
+The JCR installer supports run modes for installing artifacts. By default folders named *install* are checked for artifacts. If Apache Sling is started with one (or more run modes), all folders named *install.\[RUNMODE\]* are scanned as well. To be precise, the folder name can be followed by any number of run modes separated by comma. For example, if started with run modes *dev*, *a1*, and *public*, folders like *install.dev*, *install.a1*, *install.public* are searched as well as *install.dev.a1*, or *install.a1.dev*.
 
 Artifacts from folders with a run mode get a higher priority. For example by default, an *install* folder underneath */libs* gets the priority *50*. For each run mode in the folder name, this priority is increased by *1*, so *install.dev* has *51* and *install.a1.dev* is *52*.
 
@@ -31,7 +34,7 @@ Write back can be turned off by configuration.
 
 ### Start Level Support
 
-If the parent folder of a bundle has a name which is a number, this is used as the start level (when installing the bundle for the first time, compare with [SLING-2011](https://issues.apache.org/jira/browse/SLING-2011)). So e.g. a bundle in the path `/libs/sling/install/15/somebundle.jar` is having the start level **15**.
+If the parent folder of a bundle has a name which is a number, this is used as the start level (when installing the bundle for the first time, compare with [SLING-2011](https://issues.apache.org/jira/browse/SLING-2011)). So e.g. a bundle in the path `/libs/sling/install/15/somebundle.jar` is having the start level **15**. 
 
 # Example
 Here's a quick walkthrough of the JCR installer functionality.
@@ -53,14 +56,15 @@ We use `curl` to create content, to make it easy to reproduce the example by cop
 By default, JCRInstall picks up bundles found in folders named *install* under `/libs` and `/apps`, so we start by creating such a folder:
 
 
-curl -X MKCOL  http://admin:admin@localhost:8888/apps/jcrtest
-curl -X MKCOL  http://admin:admin@localhost:8888/apps/jcrtest/install
+    curl -X MKCOL  http://admin:admin@localhost:8888/apps/jcrtest
+    curl -X MKCOL  http://admin:admin@localhost:8888/apps/jcrtest/install
 
 
 And we copy the bundle to install in that folder (a backslash in command lines means *continued on next line*):
 
 
-curl -T desktop_awt_all-2.0.0.jar       http://admin:admin@localhost:8888/apps/jcrtest/install/desktop_awt_all-2.0.0.jar
+    curl -T desktop_awt_all-2.0.0.jar \
+      http://admin:admin@localhost:8888/apps/jcrtest/install/desktop_awt_all-2.0.0.jar
 
 
 That's it. After 2-3 seconds, the bundle should be picked up by JCRInstall, installed and started. If this works you'll see a small *Knopflerfish Desktop* window on your desktop, and Sling's OSGi console can of course be used to check the details.
@@ -68,7 +72,8 @@ That's it. After 2-3 seconds, the bundle should be picked up by JCRInstall, inst
 Removing the bundle from the repository will cause it to be uninstalled, so:
 
 
-curl -X DELETE       http://admin:admin@localhost:8888/apps/jcrtest/install/desktop_awt_all-2.0.0.jar
+    curl -X DELETE \
+      http://admin:admin@localhost:8888/apps/jcrtest/install/desktop_awt_all-2.0.0.jar
 
 
 Should cause the *Knopflerfish Desktop* window to disappear as the bundle is uninstalled.
@@ -80,30 +85,34 @@ JCRInstall installs OSGi configurations from nodes having the *sling:OsgiConfig*
 Let's try this feature by creating a configuration with two properties:
 
 
-curl       -F "jcr:primaryType=sling:OsgiConfig"       -F foo=bar -F works=yes       http://admin:admin@localhost:8888/apps/jcrtest/install/some.config.pid
+    curl \
+      -F "jcr:primaryType=sling:OsgiConfig" \
+      -F foo=bar -F works=yes \
+      http://admin:admin@localhost:8888/apps/jcrtest/install/some.config.pid
 
 
 And verify the contents of our config node:
 
-curl       http://admin:admin@localhost:8888/apps/jcrtest/install/some.config.pid.json
+    curl \
+      http://admin:admin@localhost:8888/apps/jcrtest/install/some.config.pid.json
 
 
 Which should display something like
 
-{"foo":"bar",
-"jcr:created":"Wed Aug 26 2009 17:06:40GMT+0200",
-"jcr:primaryType":"sling:OsgiConfig","works":"yes"}
+    {"foo":"bar",
+    "jcr:created":"Wed Aug 26 2009 17:06:40GMT+0200",
+    "jcr:primaryType":"sling:OsgiConfig","works":"yes"}
 
 
 At this point, JCRInstall should have picked up our new config and installed it. The logs would confirm that, but we can also use the OSGi console's config status page (http://localhost:8888/system/console/config) to check it. That page should now contain:
 
 
-PID=some.config.pid
-BundleLocation=Unbound
-_jcr_config_path=jcrinstall:/apps/jcrtest/install/some.config.pid
-foo=bars
-service.pid=some.config.pid
-works=yes
+    PID=some.config.pid
+      BundleLocation=Unbound
+      _jcr_config_path=jcrinstall:/apps/jcrtest/install/some.config.pid
+      foo=bars
+      service.pid=some.config.pid
+      works=yes
 
 
 Indicating that the configuration has been installed.
@@ -111,25 +120,28 @@ Indicating that the configuration has been installed.
 Let's try modifying the configuration parameters:
 
 
-curl       -F works=updated -F even=more       http://admin:admin@localhost:8888/apps/jcrtest/install/some.config.pid
+    curl \
+      -F works=updated -F even=more \
+      http://admin:admin@localhost:8888/apps/jcrtest/install/some.config.pid
 
 
 And check the changes in the console page:
 
 
-PID=some.config.pid
-BundleLocation=Unbound
-_jcr_config_path=jcrinstall:/apps/jcrtest/install/some.config.pid
-even=more
-foo=bars
-service.pid=some.config.pid
-works=updated
+    PID=some.config.pid
+      BundleLocation=Unbound
+      _jcr_config_path=jcrinstall:/apps/jcrtest/install/some.config.pid
+      even=more
+      foo=bars
+      service.pid=some.config.pid
+      works=updated
 
 
 We can now delete the configuration node:
 
 
-curl -X DELETE       http://admin:admin@localhost:8888/apps/jcrtest/install/some.config.pid
+    curl -X DELETE \
+      http://admin:admin@localhost:8888/apps/jcrtest/install/some.config.pid
 
 
 And verify that the corresponding configuration is gone in the console page (after 1-2 seconds, like for all other JCRInstall operations).

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/log-tracers.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/log-tracers.md b/content/documentation/bundles/log-tracers.md
index b6630a5..e021b2a 100644
--- a/content/documentation/bundles/log-tracers.md
+++ b/content/documentation/bundles/log-tracers.md
@@ -1,9 +1,12 @@
-title=Log Tracer		
-type=page
+title=TODO title for log-tracers.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Log Tracer
 
-[Log Tracer][SLING-4739] provides support for enabling the logs for specific category at specific
+[Log Tracer][SLING-4739] provides support for enabling the logs for specific category at specific 
 level and only for specific request. It provides a very fine level of control via config provided
 as part of HTTP request around how the logging should be performed for given category.
 
@@ -14,49 +17,55 @@ Using Tracer one can enable log for that request which is required to be probed.
 For e.g. determining what nodes are written for a given POST request can be simply done by including
 an extra request parameters.
 
-curl -D - -u admin:admin      -d "./jcr:content/jcr:title=Summer Collection"      -d ":name=summer-collection"      -d "./jcr:primaryType=sling:Folder"      -d "./jcr:content/jcr:primaryType=nt:unstructured"      -d "tracers=oak-writes"      http://localhost:4502/content/dam/
+    curl -D - -u admin:admin \
+     -d "./jcr:content/jcr:title=Summer Collection" \
+     -d ":name=summer-collection" \
+     -d "./jcr:primaryType=sling:Folder" \
+     -d "./jcr:content/jcr:primaryType=nt:unstructured" \
+     -d "tracers=oak-writes" \
+     http://localhost:4502/content/dam/
 
 ## Configuration
 
 ![Tracer Config](/documentation/bundles/tracer-config.png)
 
-**Note that by default Tracer would not be enabled and you would need to save the OSGi config to
+**Note that by default Tracer would not be enabled and you would need to save the OSGi config to 
 get it activated**
 
 Tracer support two ways to enable logging.
 
 ### Tracer Sets
 
-Tracer sets are collection of predefined logging categories matching specific area of an application.
+Tracer sets are collection of predefined logging categories matching specific area of an application. 
 These can for now be configured as part of OSGi config
 
-oak-query : org.apache.jackrabbit.oak.query.QueryEngineImpl;level=debug
-auth : org.apache.sling.auth;level=trace,org.apache.jackrabbit.oak.security
+    oak-query : org.apache.jackrabbit.oak.query.QueryEngineImpl;level=debug
+    auth : org.apache.sling.auth;level=trace,org.apache.jackrabbit.oak.security
 
 The config is of following format
 
-< set name > : <tracer config>
+    < set name > : <tracer config>
 
 Where the config is of following format
 
-tracerConfig := loggerConfig ( ',' loggerConfig) *
-loggerConfig := loggerName (; attributes)*
-attributes := attributeName '=' attributeValue
+    tracerConfig := loggerConfig ( ',' loggerConfig) *
+    loggerConfig := loggerName (; attributes)*
+    attributes := attributeName '=' attributeValue
 
 Currently following attributes are support
 
 * `level` - Either of TRACE, DEBUG, INFO, WARN, ERROR
 * `caller` - Used to dump stacktrace of caller. It can have following value (_since 1.0.0_, [SLING-5505][SLING-5505])
-* `true` - Complete call stack for that logger would be included
-* `<depth>` - Call stack upto depth (integer) would be included e.g. caller=5
-* `caller-exclude-filter` - (optional) - '|' separated package prefixes which should not be
-included in the output. e.g. _org.apache.jackrabbit.oak.query.QueryImpl;caller=28;caller-exclude-filter="org.eclipse|org.felix"_
-this would exclude eclipse and felix packages from the resulting stack
+    * `true` - Complete call stack for that logger would be included
+    * `<depth>` - Call stack upto depth (integer) would be included e.g. caller=5
+* `caller-exclude-filter` - (optional) - '|' separated package prefixes which should not be 
+   included in the output. e.g. _org.apache.jackrabbit.oak.query.QueryImpl;caller=28;caller-exclude-filter="org.eclipse|org.felix"_ 
+   this would exclude eclipse and felix packages from the resulting stack
 
 ### Performance Impact
 
-Tracer makes use of [Logback TuboFilter][1] to intercept the logging calls and only enable them for
-those which are enabled via tracer config for the request. The filter is only registered for the
+Tracer makes use of [Logback TuboFilter][1] to intercept the logging calls and only enable them for 
+those which are enabled via tracer config for the request. The filter is only registered for the 
 duration of that request hence would avoid adding the cost for normal run.
 
 You can also disable the Tracer completely via OSGi config.
@@ -67,30 +76,30 @@ The logs captured are logged at two places
 
 ### RequestProgressTracker
 
-Sling provides support for recording recent requests which can be accessed via [Recent Requests
-Plugin][2]. It would list down the list of recent request and then on clicking them you can see the
+Sling provides support for recording recent requests which can be accessed via [Recent Requests 
+Plugin][2]. It would list down the list of recent request and then on clicking them you can see the 
 logs showed on the UI.
 
-The logging there is done via [RequestProgressTracker][3] ([intro][4]). By default recent request
-plugin gets overflown as it captures request even for css, js files. To avoid that you can modify
+The logging there is done via [RequestProgressTracker][3] ([intro][4]). By default recent request 
+plugin gets overflown as it captures request even for css, js files. To avoid that you can modify 
 the config as part of _Sling Main Servlet_ config
 
 ![Sling Main Servlet Config](/documentation/bundles/sling-main-servlet-config.png)
 
-Using a regex like ```^.*.(?!jpg$|png$|js$|css$|woff$)[^.]+$``` would avoid noise
+Using a regex like ```^.*\.(?!jpg$|png$|js$|css$|woff$)[^.]+$``` would avoid noise
 
 With that you can see log entries like below at http://localhost:8080/system/console/requests?index=xxx
 
-132 (2015-05-11 17:39:55) LOG [JCR]  Query SELECT * FROM [granite:InboxItem] AS s where  status='ACTIVE' ORDER BY s.startTime DESC
-134 (2015-05-11 17:39:55) TIMER_END{53,/libs/cq/gui/components/endor/badge/badge.jsp#18}
-...
-1316 (2015-05-11 17:39:56) LOG JCR Query Count 3
-1320 (2015-05-11 17:39:56) TIMER_END{1320,Request Processing} Request Processing
+    132 (2015-05-11 17:39:55) LOG [JCR]  Query SELECT * FROM [granite:InboxItem] AS s where  status='ACTIVE' ORDER BY s.startTime DESC
+    134 (2015-05-11 17:39:55) TIMER_END{53,/libs/cq/gui/components/endor/badge/badge.jsp#18}
+    ...
+    1316 (2015-05-11 17:39:56) LOG JCR Query Count 3
+    1320 (2015-05-11 17:39:56) TIMER_END{1320,Request Processing} Request Processing
 
 ### Server Logs
 
-Further the logs also go to normal server side logs. By default they would go to the error.log. If
-you have routed the logs of specific categories to different files then normal Logback logging rules
+Further the logs also go to normal server side logs. By default they would go to the error.log. If 
+you have routed the logs of specific categories to different files then normal Logback logging rules 
 would apply
 
 ## Usage
@@ -107,27 +116,33 @@ Param names
 * `tracers`  - Tracer set names
 * `tracerConfig` - Tracer config like org.apache.sling.auth;level=trace`
 
-curl -u admin:admin http://localhost:4802/projects.html?tracerConfig=org.apache.sling
+    curl -u admin:admin http://localhost:4802/projects.html?tracerConfig=org.apache.sling
 
 Above request would turn on debug level logging (default level for tracer) for `org.apache.sling` category.
 
-curl -D - -u admin:admin      -d "./jcr:content/jcr:title=Summer Collection"      -d ":name=summer-collection"      -d "./jcr:primaryType=sling:Folder"      -d "./jcr:content/jcr:primaryType=nt:unstructured"      -d "tracers=oak-writes"      http://localhost:4502/content/dam/
-
-Above request would create a folder in Assets and for that we have enabled the `oak-writes` tracer. This would result in following output
-
-2015-05-11 17:30:42,840 INFO  admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] c.a.acs.acs-aem-tools-bundle - Service [4858] ServiceEvent REGISTERED
-2015-05-11 17:30:42,846 TRACE admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] o.a.j.o.jcr.operations.writes session-12895- [session-12895] Adding node [/content/dam/summer-collection]
-2015-05-11 17:30:42,849 TRACE admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] o.a.j.o.jcr.operations.writes session-12895- [session-12895] setPrimaryType
-2015-05-11 17:30:42,849 TRACE admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] o.a.j.o.jcr.operations.writes session-12895- [session-12895] Adding node [/content/dam/summer-collection/jcr:content]
-2015-05-11 17:30:42,849 TRACE admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] o.a.j.o.jcr.operations.writes session-12895- [session-12895] Setting property [/content/dam/summer-collection/jcr:content/jcr:title]
-2015-05-11 17:30:42,850 TRACE admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] o.a.j.o.jcr.operations.writes session-12895- [session-12895] setPrimaryType
-2015-05-11 17:30:42,850 TRACE admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] o.a.j.o.jcr.operations.writes session-12895- [session-12895] setPrimaryType
-2015-05-11 17:30:42,856 TRACE admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] o.a.j.o.jcr.operations.writes session-12895- [session-12895] save
+    curl -D - -u admin:admin \
+     -d "./jcr:content/jcr:title=Summer Collection" \
+     -d ":name=summer-collection" \
+     -d "./jcr:primaryType=sling:Folder" \
+     -d "./jcr:content/jcr:primaryType=nt:unstructured" \
+     -d "tracers=oak-writes" \
+     http://localhost:4502/content/dam/
+
+Above request would create a folder in Assets and for that we have enabled the `oak-writes` tracer. This would result in following output 
+
+    2015-05-11 17:30:42,840 INFO  admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] c.a.acs.acs-aem-tools-bundle - Service [4858] ServiceEvent REGISTERED 
+    2015-05-11 17:30:42,846 TRACE admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] o.a.j.o.jcr.operations.writes session-12895- [session-12895] Adding node [/content/dam/summer-collection] 
+    2015-05-11 17:30:42,849 TRACE admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] o.a.j.o.jcr.operations.writes session-12895- [session-12895] setPrimaryType 
+    2015-05-11 17:30:42,849 TRACE admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] o.a.j.o.jcr.operations.writes session-12895- [session-12895] Adding node [/content/dam/summer-collection/jcr:content] 
+    2015-05-11 17:30:42,849 TRACE admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] o.a.j.o.jcr.operations.writes session-12895- [session-12895] Setting property [/content/dam/summer-collection/jcr:content/jcr:title] 
+    2015-05-11 17:30:42,850 TRACE admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] o.a.j.o.jcr.operations.writes session-12895- [session-12895] setPrimaryType 
+    2015-05-11 17:30:42,850 TRACE admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] o.a.j.o.jcr.operations.writes session-12895- [session-12895] setPrimaryType 
+    2015-05-11 17:30:42,856 TRACE admin [127.0.0.1 [1431345642836] POST /content/dam/ HTTP/1.1] o.a.j.o.jcr.operations.writes session-12895- [session-12895] save 
 
 ### Request Headers
 
-Some request like initial authentication processing does not involve Sling MainServlet and hence for
-those request logging cannot be done to RequestProgressTracker. Instead we can just get logs enabled
+Some request like initial authentication processing does not involve Sling MainServlet and hence for 
+those request logging cannot be done to RequestProgressTracker. Instead we can just get logs enabled 
 and route them to normal logging on server side. For that you need to use HTTP header
 
 * `Sling-Tracers` - Set of tracer set names
@@ -135,16 +150,20 @@ and route them to normal logging on server side. For that you need to use HTTP h
 
 So to enable authentication related logging following request can be sent
 
-curl -D - -d "j_username=admin"         -d "j_password=admin"         -d "j_validate=true"          -H "Sling-Tracer-Config : org.apache.sling.auth;level=trace,org.apache.jackrabbit.oak.security;level=trace"         http://localhost:8080/libs/content/login.html/j_security_check
+    curl -D - -d "j_username=admin" \
+        -d "j_password=admin" \
+        -d "j_validate=true"  \
+        -H "Sling-Tracer-Config : org.apache.sling.auth;level=trace,org.apache.jackrabbit.oak.security;level=trace" \
+        http://localhost:8080/libs/content/login.html/j_security_check
 
 This would result in following server side logs
 
-2015-05-11 17:34:56,531 INFO  NA [qtp1395423247-193] c.a.acs.acs-aem-tools-bundle - Service [4859] ServiceEvent REGISTERED
-2015-05-11 17:34:56,532 DEBUG NA [qtp1395423247-193] o.a.s.a.c.i.SlingAuthenticator - doHandleSecurity: Trying to get a session for null
-2015-05-11 17:34:56,532 DEBUG NA [qtp1395423247-193] o.a.j.o.s.a.LoginContextProviderImpl - Found pre-authenticated subject: No further login actions required.
-2015-05-11 17:34:56,532 DEBUG NA [qtp1395423247-193] o.a.j.o.s.a.LoginContextProviderImpl - Found pre-authenticated subject: No further login actions required.
-2015-05-11 17:34:56,548 DEBUG NA [qtp1395423247-193] o.a.j.o.s.a.u.LoginModuleImpl - Adding Credentials to shared state.
-2015-05-11 17:34:56,548 DEBUG NA [qtp1395423247-193] o.a.j.o.s.a.u.LoginModuleImpl - Adding login name to shared state.
+    2015-05-11 17:34:56,531 INFO  NA [qtp1395423247-193] c.a.acs.acs-aem-tools-bundle - Service [4859] ServiceEvent REGISTERED 
+    2015-05-11 17:34:56,532 DEBUG NA [qtp1395423247-193] o.a.s.a.c.i.SlingAuthenticator - doHandleSecurity: Trying to get a session for null 
+    2015-05-11 17:34:56,532 DEBUG NA [qtp1395423247-193] o.a.j.o.s.a.LoginContextProviderImpl - Found pre-authenticated subject: No further login actions required. 
+    2015-05-11 17:34:56,532 DEBUG NA [qtp1395423247-193] o.a.j.o.s.a.LoginContextProviderImpl - Found pre-authenticated subject: No further login actions required. 
+    2015-05-11 17:34:56,548 DEBUG NA [qtp1395423247-193] o.a.j.o.s.a.u.LoginModuleImpl - Adding Credentials to shared state. 
+    2015-05-11 17:34:56,548 DEBUG NA [qtp1395423247-193] o.a.j.o.s.a.u.LoginModuleImpl - Adding login name to shared state. 
 
 ## Tracer Recording
 
@@ -158,56 +177,65 @@ Recording features works as explained below
 
 1. Client sends an HTTP request with header `Sling-Tracer-Record`​ set to `true`
 
-curl -D - -u admin:admin           -H "Sling-Tracer-Record : true"          -d "./jcr:content/jcr:title=Summer Collection"          -d ":name=summer-collection"          -d "./jcr:primaryType=sling:Folder"          -d "./jcr:content/jcr:primaryType=nt:unstructured"          -d "tracers=oak-writes"          http://localhost:4802/content/dam/
-
-2. Server includes a request id as part of `Sling-Tracer-Request-Id` response headers
-
-HTTP/1.1 201 Created
-Date: Wed, 27 Jan 2016 07:30:22 GMT
-Sling-Tracer-Request-Id: 9b5b01f6-f269-47c3-a889-2dc8d4d7938f
-X-Content-Type-Options: nosniff
-X-Frame-Options: SAMEORIGIN
-Location: /content/dam/summer-collection
-Content-Type: text/html; charset=UTF-8
-Transfer-Encoding: chunked
-
-3. The logs in json format can then be fetched from server at `/system/console/tracer` like
-http://localhost:8080/system/console/tracer/9b5b01f6-f269-47c3-a889-2dc8d4d7938f.json.
-
-curl -s -D - -H "Sling-Tracer-Record : true" -H "Sling-Tracers : oak-query"         -H "Sling-Tracer-Config : org.apache.jackrabbit.oak.query"         -u admin:admin http://localhost:4512/assets.html/content/dam -o /dev/null
-
-Below is a json output for GET request
-
-:::javascript
-{
-"method": "GET",
-"time": 15140,
-"timestamp": 1461574009024,
-"requestProgressLogs": [
-"0 TIMER_START{Request Processing}",
-"0 COMMENT timer_end format is {<elapsed msec>,<timer name>} <optional message>",
-...
-],
-"queries": [{
-"query": "/jcr:root/etc/workflow/instances//element(*,app:Workflow)[@status='RUNNING'] order by @startTime descending",
-"plan": "[app:Workflow] as [a] /* property status = RUNNING where ([a].[status] = 'RUNNING') and (isdescendantnode([a], [/etc/workflow/instances])) */",
-"caller": "com.example.WorkflowManager.getWorkflowInstances(WorkflowManager.java:902)"
-}
-],
-"logs": [{
-"timestamp": 1461574022401,
-"level": "DEBUG",
-"logger": "org.apache.jackrabbit.oak.query.QueryEngineImpl",
-"message": "Parsing xpath statement: /jcr:root/etc/workflow/instances//element(*,cq:Workflow)[@status='RUNNING'] order by @startTime descending",
-"params": [
-"xpath",
-"/jcr:root/etc/workflow/instances//element(*,cq:Workflow)[@status='RUNNING'] order by @startTime descending"
-]
-}
-...
-]
-}
-
+        curl -D - -u admin:admin \
+          -H "Sling-Tracer-Record : true" \
+         -d "./jcr:content/jcr:title=Summer Collection" \
+         -d ":name=summer-collection" \
+         -d "./jcr:primaryType=sling:Folder" \
+         -d "./jcr:content/jcr:primaryType=nt:unstructured" \
+         -d "tracers=oak-writes" \
+         http://localhost:4802/content/dam/
+
+2. Server includes a request id as part of `Sling-Tracer-Request-Id` response headers  
+
+        HTTP/1.1 201 Created
+        Date: Wed, 27 Jan 2016 07:30:22 GMT
+        Sling-Tracer-Request-Id: 9b5b01f6-f269-47c3-a889-2dc8d4d7938f
+        X-Content-Type-Options: nosniff
+        X-Frame-Options: SAMEORIGIN
+        Location: /content/dam/summer-collection
+        Content-Type: text/html; charset=UTF-8
+        Transfer-Encoding: chunked
+
+3. The logs in json format can then be fetched from server at `/system/console/tracer` like 
+   http://localhost:8080/system/console/tracer/9b5b01f6-f269-47c3-a889-2dc8d4d7938f.json. 
+
+        curl -s -D - -H "Sling-Tracer-Record : true" -H "Sling-Tracers : oak-query" \
+        -H "Sling-Tracer-Config : org.apache.jackrabbit.oak.query" \
+        -u admin:admin http://localhost:4512/assets.html/content/dam -o /dev/null
+
+    Below is a json output for GET request
+
+        :::javascript
+        {
+          "method": "GET",
+          "time": 15140,
+          "timestamp": 1461574009024,
+          "requestProgressLogs": [
+            "0 TIMER_START{Request Processing}",
+            "0 COMMENT timer_end format is {<elapsed msec>,<timer name>} <optional message>",
+            ...
+          ],
+          "queries": [{
+            "query": "/jcr:root/etc/workflow/instances//element(*,app:Workflow)[@status='RUNNING'] order by @startTime descending",
+            "plan": "[app:Workflow] as [a] /* property status = RUNNING where ([a].[status] = 'RUNNING') and (isdescendantnode([a], [/etc/workflow/instances])) */",
+            "caller": "com.example.WorkflowManager.getWorkflowInstances(WorkflowManager.java:902)"
+          }
+          ],
+          "logs": [{
+            "timestamp": 1461574022401,
+            "level": "DEBUG",
+            "logger": "org.apache.jackrabbit.oak.query.QueryEngineImpl",
+            "message": "Parsing xpath statement: /jcr:root/etc/workflow/instances//element(*,cq:Workflow)[@status='RUNNING'] order by @startTime descending",
+            "params": [
+              "xpath",
+              "/jcr:root/etc/workflow/instances//element(*,cq:Workflow)[@status='RUNNING'] order by @startTime descending"
+            ]
+          }
+            ...
+          ]
+        }
+        
 JSON output consist of following sections
 
 1. `method` - Request method
@@ -215,7 +243,7 @@ JSON output consist of following sections
 3. `timestamp` - Request start time
 4. `requestProgressLogs` - Sling Request Progress Tracker log for the given request
 5. `queries` - List of queries fired along with details around `query`, `plan` and `caller` i.e. from where
-the query is invoked
+    the query is invoked
 6. `logs` - List of log entries captured (as enabled by tracer config) for current request
 
 The recordings are held in memory for 15 mins (per default setting) and can be seen listed at http://localhost:8080/system/console/tracer. Look into the OSGi config for more config options
@@ -225,12 +253,12 @@ around this.
 
 Download the bundle from [here][5] or use following Maven dependency
 
-::xml
-<dependency>
-<groupId>org.apache.sling</groupId>
-<artifactId>org.apache.sling.tracer</artifactId>
-<version>1.0.0</version>
-</dependency>
+    ::xml
+    <dependency>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>org.apache.sling.tracer</artifactId>
+        <version>1.0.0</version>
+    </dependency>
 
 
 [1]: http://logback.qos.ch/manual/filters.html#TurboFilter

http://git-wip-us.apache.org/repos/asf/sling-site/blob/53c84cf9/content/documentation/bundles/managing-permissions-jackrabbit-accessmanager.md
----------------------------------------------------------------------
diff --git a/content/documentation/bundles/managing-permissions-jackrabbit-accessmanager.md b/content/documentation/bundles/managing-permissions-jackrabbit-accessmanager.md
index 99b4c24..add943e 100644
--- a/content/documentation/bundles/managing-permissions-jackrabbit-accessmanager.md
+++ b/content/documentation/bundles/managing-permissions-jackrabbit-accessmanager.md
@@ -1,7 +1,10 @@
-title=Managing permissions (jackrabbit.accessmanager)		
-type=page
+title=TODO title for managing-permissions-jackrabbit-accessmanager.md 
+date=1900-01-01
+type=post
+tags=blog
 status=published
 ~~~~~~
+Title: Managing permissions (jackrabbit.accessmanager)
 
 
 The `jackrabbit-accessmanager` bundle delivers a REST interface to manipulate users permissions in the JCR. After installing the `jackrabbit-accessmanager` bundle the REST services are exposed under the path of the node where you will manipulate the permissions for a user with a specific selector like `modifyAce`, `acl` and `deleteAce`.
@@ -19,38 +22,38 @@ The `jackrabbit-accessmanager` bundle delivers a REST interface to manipulate us
 | jcr:removeNode | the privilege to remove a node |
 | jcr:write | an aggregate privilege that contains: jcr:modifyProperties  jcr:addChildNodes  jcr:removeNode  jcr:removeChildNodes |
 | jcr:modifyAccessControl | the privilege to modify the access control policies of a node |
-| jcr:lockManagement | the privilege to lock and unlock a node |
-| jcr:versionManagement | the privilege to perform versioning operations on a node |
-| jcr:nodeTypeManagement | the privilege to add and remove mixin node types and change the primary node type of a node |
-| jcr:retentionManagement | the privilege to perform retention management operations on a node |
-| jcr:lifecycleManagement | the privilege to perform lifecycle operations on a node |
+| jcr:lockManagement | the privilege to lock and unlock a node | 
+| jcr:versionManagement | the privilege to perform versioning operations on a node | 
+| jcr:nodeTypeManagement | the privilege to add and remove mixin node types and change the primary node type of a node | 
+| jcr:retentionManagement | the privilege to perform retention management operations on a node | 
+| jcr:lifecycleManagement | the privilege to perform lifecycle operations on a node | 
 | jcr:all | an aggregate privilege that contains all predefined privileges |
 
 ## Add or modify permissions
 
 To modify the permissions for a node POST a request to `/<path-to-the-node>.modifyAce.<html or json>`. The following parameters are available:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
 * *numeric* - Place the target ACE at the specified numeric index. |
 
 
@@ -59,44 +62,44 @@ Responses:
 | 500  | Failure, HTML (or JSON) explains failure. |
 Example with curl:
 
-curl -FprincipalId=myuser -Fprivilege@jcr:read=granted http://localhost:8080/test/node.modifyAce.html
+    curl -FprincipalId=myuser -Fprivilege@jcr:read=granted http://localhost:8080/test/node.modifyAce.html
 
 
 
 ## Delete permissions
 
 To delete permissions for a node POST a request to `/<path-to-the-node>.deleteAce.<html or json>`. The following parameters are available:
-
-
-
-
+  
+  
+  
+  
 
 Responses:
 | 200 | Success |
 | 500  | Failure, HTML (or JSON) explains failure. |
 Example with curl:
 
-curl -F:applyTo=myuser http://localhost:8080/test/node.deleteAce.html
+    curl -F:applyTo=myuser http://localhost:8080/test/node.deleteAce.html
 
 
 ## Get permissions
 
 ### Bound Permissions
 
-To get the permissions bound to a particular node in a json format for a node send a GET request to `/<path-to-the-node>.acl.json`.
+To get the permissions bound to a particular node in a json format for a node send a GET request to `/<path-to-the-node>.acl.json`. 
 
 Example:
 
-http://localhost:8080/test/node.acl.json
+    http://localhost:8080/test/node.acl.json
 
 
 ### Effective Permissions
 
-To get the permissions which are effective for a particular node in a json format for a node send a GET request to `/<path-to-the-node>.eacl.json`.
+To get the permissions which are effective for a particular node in a json format for a node send a GET request to `/<path-to-the-node>.eacl.json`. 
 
 Example:
 
-http://localhost:8080/test/node.eacl.json
+    http://localhost:8080/test/node.eacl.json
 
 
 <div class="note">