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

svn commit: r1420577 [1/30] - in /sling/site/trunk/content/site: ./ 46-line-blog.data/ authentication.data/ documentation.data/ first-steps.data/ getting-and-building-sling.data/ how-to-manage-events-in-sling.data/ index.data/ links.data/ manipulating-...

Author: cziegeler
Date: Wed Dec 12 09:13:50 2012
New Revision: 1420577

URL: http://svn.apache.org/viewvc?rev=1420577&view=rev
Log:
Adding current web site

Added:
    sling/site/trunk/content/site/
    sling/site/trunk/content/site/46-line-blog.data/
    sling/site/trunk/content/site/46-line-blog.data/blog.esp
    sling/site/trunk/content/site/46-line-blog.html   (with props)
    sling/site/trunk/content/site/accessing-filesystem-resources-extensionsfsresource.html   (with props)
    sling/site/trunk/content/site/adapters.html   (with props)
    sling/site/trunk/content/site/advanced-topics.html   (with props)
    sling/site/trunk/content/site/apache-sling-commons-thread-pool.html   (with props)
    sling/site/trunk/content/site/apache-sling-community-roles-and-processes.html   (with props)
    sling/site/trunk/content/site/apache-sling-eventing-and-job-handling.html   (with props)
    sling/site/trunk/content/site/apache-sling.html   (with props)
    sling/site/trunk/content/site/architecture.html   (with props)
    sling/site/trunk/content/site/assembly.html   (with props)
    sling/site/trunk/content/site/authentication-actors.html   (with props)
    sling/site/trunk/content/site/authentication-authenticationhandler.html   (with props)
    sling/site/trunk/content/site/authentication-framework.html   (with props)
    sling/site/trunk/content/site/authentication-tasks.html   (with props)
    sling/site/trunk/content/site/authentication.data/
    sling/site/trunk/content/site/authentication.data/authentication.png   (with props)
    sling/site/trunk/content/site/authentication.data/authentication.png.jpeg   (with props)
    sling/site/trunk/content/site/authentication.html   (with props)
    sling/site/trunk/content/site/bundle-resources-extensionsbundleresource.html   (with props)
    sling/site/trunk/content/site/bundles.html   (with props)
    sling/site/trunk/content/site/client-request-logging.html   (with props)
    sling/site/trunk/content/site/commons-html-utilities.html   (with props)
    sling/site/trunk/content/site/component-api.html   (with props)
    sling/site/trunk/content/site/concepts-and-ideas.html   (with props)
    sling/site/trunk/content/site/configuration.html   (with props)
    sling/site/trunk/content/site/content-loading-and-nodetype-support-jcrcontentloader.html   (with props)
    sling/site/trunk/content/site/content-loading-and-nodetype-support.html   (with props)
    sling/site/trunk/content/site/content-loading-jcrcontentloader.html   (with props)
    sling/site/trunk/content/site/content-loading.html   (with props)
    sling/site/trunk/content/site/contributing.html   (with props)
    sling/site/trunk/content/site/default-mapping-and-rendering.html   (with props)
    sling/site/trunk/content/site/dependency-management.html   (with props)
    sling/site/trunk/content/site/development.html   (with props)
    sling/site/trunk/content/site/discover-sling-in-15-minutes.html   (with props)
    sling/site/trunk/content/site/dispatching-requests.html   (with props)
    sling/site/trunk/content/site/documentation.data/
    sling/site/trunk/content/site/documentation.data/sling.sh   (with props)
    sling/site/trunk/content/site/documentation.html   (with props)
    sling/site/trunk/content/site/downloads.cgi   (with props)
    sling/site/trunk/content/site/downloads.html   (with props)
    sling/site/trunk/content/site/effective-exceptions.html   (with props)
    sling/site/trunk/content/site/embedding-sling.html   (with props)
    sling/site/trunk/content/site/errorhandling.html   (with props)
    sling/site/trunk/content/site/eventing-and-jobs.html   (with props)
    sling/site/trunk/content/site/everything-is-a-resource.html   (with props)
    sling/site/trunk/content/site/faq.html   (with props)
    sling/site/trunk/content/site/filters.html   (with props)
    sling/site/trunk/content/site/first-steps.data/
    sling/site/trunk/content/site/first-steps.data/test.sh   (with props)
    sling/site/trunk/content/site/first-steps.html   (with props)
    sling/site/trunk/content/site/form-based-authenticationhandler.html   (with props)
    sling/site/trunk/content/site/getting-and-building-sling.data/
    sling/site/trunk/content/site/getting-and-building-sling.data/test.sh   (with props)
    sling/site/trunk/content/site/getting-and-building-sling.html   (with props)
    sling/site/trunk/content/site/getting-resources-and-properties-in-sling.html   (with props)
    sling/site/trunk/content/site/getting-started.html   (with props)
    sling/site/trunk/content/site/groovy-support.html   (with props)
    sling/site/trunk/content/site/guides.html   (with props)
    sling/site/trunk/content/site/how-to-manage-events-in-sling.data/
    sling/site/trunk/content/site/how-to-manage-events-in-sling.data/DropBoxEventHandler.java   (with props)
    sling/site/trunk/content/site/how-to-manage-events-in-sling.data/DropBoxService.java   (with props)
    sling/site/trunk/content/site/how-to-manage-events-in-sling.html   (with props)
    sling/site/trunk/content/site/incubator-status-report-february-2008.html   (with props)
    sling/site/trunk/content/site/incubator-status-report-may-2008.html   (with props)
    sling/site/trunk/content/site/incubator-status-report-november-2007.html   (with props)
    sling/site/trunk/content/site/incubator-status-report-october-2007.html   (with props)
    sling/site/trunk/content/site/index.data/
    sling/site/trunk/content/site/index.data/ApacheConUS07_FFT_Sling.pdf   (with props)
    sling/site/trunk/content/site/index.html   (with props)
    sling/site/trunk/content/site/installing-and-upgrading-bundles.html   (with props)
    sling/site/trunk/content/site/internationalization-support-i18n.html   (with props)
    sling/site/trunk/content/site/internationalization-support.html   (with props)
    sling/site/trunk/content/site/issue-tracker.html   (with props)
    sling/site/trunk/content/site/jackrabbit-persistence.html   (with props)
    sling/site/trunk/content/site/jcr-installer-jcrjcrinstall-and-osgiinstaller.html   (with props)
    sling/site/trunk/content/site/jcr-installer-provider.html   (with props)
    sling/site/trunk/content/site/jspc.html   (with props)
    sling/site/trunk/content/site/launch-sling.html   (with props)
    sling/site/trunk/content/site/links.data/
    sling/site/trunk/content/site/links.data/ApacheConEU08_FFT_Sling.pdf   (with props)
    sling/site/trunk/content/site/links.data/ApacheConEU08_JCR_Meetup_Sling_Architecture.pdf   (with props)
    sling/site/trunk/content/site/links.data/ApacheConUS07_FFT_Sling.pdf   (with props)
    sling/site/trunk/content/site/links.html   (with props)
    sling/site/trunk/content/site/logging.html   (with props)
    sling/site/trunk/content/site/managing-events.html   (with props)
    sling/site/trunk/content/site/managing-permissions-jackrabbitaccessmanager.html   (with props)
    sling/site/trunk/content/site/managing-users-and-groups-jackrabbitusermanager.html   (with props)
    sling/site/trunk/content/site/manipulating-content-the-slingpostservlet-servletspost.data/
    sling/site/trunk/content/site/manipulating-content-the-slingpostservlet-servletspost.data/2010-07-01_1036.png   (with props)
    sling/site/trunk/content/site/manipulating-content-the-slingpostservlet-servletspost.data/2010-07-01_1036.png.jpeg   (with props)
    sling/site/trunk/content/site/manipulating-content-the-slingpostservlet-servletspost.html   (with props)
    sling/site/trunk/content/site/manipulating-content-the-slingpostservlet.html   (with props)
    sling/site/trunk/content/site/mappings-for-resource-resolution.html   (with props)
    sling/site/trunk/content/site/maven-archetypes.html   (with props)
    sling/site/trunk/content/site/maven-launchpad-plugin.html   (with props)
    sling/site/trunk/content/site/maventipsandtricks.html   (with props)
    sling/site/trunk/content/site/media.data/
    sling/site/trunk/content/site/media.data/apache.png   (with props)
    sling/site/trunk/content/site/media.data/apache.png.jpeg   (with props)
    sling/site/trunk/content/site/media.data/favicon.ico   (with props)
    sling/site/trunk/content/site/media.data/gradient.png   (with props)
    sling/site/trunk/content/site/media.data/gradient.png.jpeg   (with props)
    sling/site/trunk/content/site/media.data/logo.png   (with props)
    sling/site/trunk/content/site/media.data/logo.png.jpeg   (with props)
    sling/site/trunk/content/site/media.data/site.css   (with props)
    sling/site/trunk/content/site/media.html   (with props)
    sling/site/trunk/content/site/mime-type-support-commonsmime.data/
    sling/site/trunk/content/site/mime-type-support-commonsmime.data/mimetypes.png   (with props)
    sling/site/trunk/content/site/mime-type-support-commonsmime.data/mimetypes.png.jpeg   (with props)
    sling/site/trunk/content/site/mime-type-support-commonsmime.html   (with props)
    sling/site/trunk/content/site/mime-type-support.data/
    sling/site/trunk/content/site/mime-type-support.data/mimetypes.png   (with props)
    sling/site/trunk/content/site/mime-type-support.data/mimetypes.png.jpeg   (with props)
    sling/site/trunk/content/site/mime-type-support.html   (with props)
    sling/site/trunk/content/site/modifying-content-the-slingpostservlet.html   (with props)
    sling/site/trunk/content/site/module-reorganization-proposal.html   (with props)
    sling/site/trunk/content/site/monitoring-requests.data/
    sling/site/trunk/content/site/monitoring-requests.data/sling-requests-plugin.jpg   (with props)
    sling/site/trunk/content/site/monitoring-requests.data/sling-requests-plugin.jpg.jpeg   (with props)
    sling/site/trunk/content/site/monitoring-requests.html   (with props)
    sling/site/trunk/content/site/navigation.html   (with props)
    sling/site/trunk/content/site/news.html   (with props)
    sling/site/trunk/content/site/object-content-mapping.html   (with props)
    sling/site/trunk/content/site/old-documentation.html   (with props)
    sling/site/trunk/content/site/old-stuff.html   (with props)
    sling/site/trunk/content/site/openid-authenticationhandler.html   (with props)
    sling/site/trunk/content/site/osgi-installer.data/
    sling/site/trunk/content/site/osgi-installer.data/Slide14.jpg   (with props)
    sling/site/trunk/content/site/osgi-installer.data/Slide14.jpg.jpeg   (with props)
    sling/site/trunk/content/site/osgi-installer.data/Slide14.png   (with props)
    sling/site/trunk/content/site/osgi-installer.data/Slide14.png.jpeg   (with props)
    sling/site/trunk/content/site/osgi-installer.html   (with props)
    sling/site/trunk/content/site/output-rewriting-pipelines-orgapacheslingrewriter.html   (with props)
    sling/site/trunk/content/site/plugins.html   (with props)
    sling/site/trunk/content/site/project-information.html   (with props)
    sling/site/trunk/content/site/project-license.html   (with props)
    sling/site/trunk/content/site/project-team.html   (with props)
    sling/site/trunk/content/site/provisioning-and-startup.html   (with props)
    sling/site/trunk/content/site/release-management.html   (with props)
    sling/site/trunk/content/site/reports.html   (with props)
    sling/site/trunk/content/site/repository-based-development.html   (with props)
    sling/site/trunk/content/site/request-listeners.html   (with props)
    sling/site/trunk/content/site/request-parameters.html   (with props)
    sling/site/trunk/content/site/request-processing.html   (with props)
    sling/site/trunk/content/site/resources/
    sling/site/trunk/content/site/resources.html   (with props)
    sling/site/trunk/content/site/resources/space.css   (with props)
    sling/site/trunk/content/site/rewriting-the-output-through-pipelines.html   (with props)
    sling/site/trunk/content/site/run-modes-orgapacheslingrunmode.html   (with props)
    sling/site/trunk/content/site/scheduler-service-commons-scheduler.html   (with props)
    sling/site/trunk/content/site/scriptengineintegration.html   (with props)
    sling/site/trunk/content/site/security.html   (with props)
    sling/site/trunk/content/site/servlet-resolution.html   (with props)
    sling/site/trunk/content/site/servlets.html   (with props)
    sling/site/trunk/content/site/sling-api-redesign.html   (with props)
    sling/site/trunk/content/site/sling-api.html   (with props)
    sling/site/trunk/content/site/sling-settings-orgapacheslingsettings.html   (with props)
    sling/site/trunk/content/site/sling-testing-tools.html   (with props)
    sling/site/trunk/content/site/sling.html   (with props)
    sling/site/trunk/content/site/slingdoc.data/
    sling/site/trunk/content/site/slingdoc.data/sling.sh   (with props)
    sling/site/trunk/content/site/slingdoc.html   (with props)
    sling/site/trunk/content/site/testing-sling-based-applications.html   (with props)
    sling/site/trunk/content/site/the-sling-engine.html   (with props)
    sling/site/trunk/content/site/the-sling-launchpad.html   (with props)
    sling/site/trunk/content/site/thoughts-on-release-management.html   (with props)
    sling/site/trunk/content/site/thread-handling.html   (with props)
    sling/site/trunk/content/site/tutorials-how-tos.html   (with props)
    sling/site/trunk/content/site/url-decomposition.html   (with props)
    sling/site/trunk/content/site/usecases.html   (with props)
    sling/site/trunk/content/site/version-policy.html   (with props)
    sling/site/trunk/content/site/web-console-extensions.html   (with props)
    sling/site/trunk/content/site/webdav.html   (with props)
    sling/site/trunk/content/site/wiki.html   (with props)
    sling/site/trunk/content/site/wrap-or-decorate-resources.html   (with props)
    sling/site/trunk/content/site/xslt-processing-pipeline.html   (with props)
    sling/site/trunk/content/site/xstl-processing-pipeline.html   (with props)

Added: sling/site/trunk/content/site/46-line-blog.data/blog.esp
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/site/46-line-blog.data/blog.esp?rev=1420577&view=auto
==============================================================================
--- sling/site/trunk/content/site/46-line-blog.data/blog.esp (added)
+++ sling/site/trunk/content/site/46-line-blog.data/blog.esp Wed Dec 12 09:13:50 2012
@@ -0,0 +1,60 @@
+<html>
+<!--
+  Single page Sling blog demo, shows how content is defined
+  by form fields, and the use of Sling.wizard and Sling.getContent.
+
+  To test this, run the Sling launchpad/testing module with "mvn jetty:run",
+  copy this script to /apps/blog/blog.esp (via the WebDAV mount at
+  http://localhost:8888/) and open 
+  http://localhost:8888/content/blog/*.html  
+-->
+
+<%
+var title = currentNode.title ? currentNode.title : "";
+%>
+
+<head>
+  <title><%= title %></title>
+  <script src="/system/sling.js"></script>
+  <link rel="stylesheet" type="text/css" href="/sling.css"/>
+</head>
+
+<body>
+  <h1>Sling microblog</h1>
+  
+  <div class="editor" style="float:right; width:69%">
+	  <h2><%= title %></h2>
+	  <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"/>
+	  </form>
+  </div>
+  
+  <div class="nav" style="float:left; width:30%;">
+    <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>
+  </div>
+  
+  
+  <script>Sling.wizard();</script>
+</body>
+</html>

Added: sling/site/trunk/content/site/46-line-blog.html
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/site/46-line-blog.html?rev=1420577&view=auto
==============================================================================
--- sling/site/trunk/content/site/46-line-blog.html (added)
+++ sling/site/trunk/content/site/46-line-blog.html Wed Dec 12 09:13:50 2012
@@ -0,0 +1,341 @@
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<HTML>
+  <HEAD>
+    <TITLE>Apache Sling - 46 Line Blog</TITLE>
+    <LINK rel="stylesheet" href="http://sling.apache.org/site/media.data/site.css" type="text/css" media="all">
+    <LINK rel="icon" href="http://sling.apache.org/site/media.data/favicon.ico">
+    <META http-equiv="Content-Type" content="text/html;charset=UTF-8">
+  </HEAD>
+  <BODY>
+    <DIV class="title">
+      <DIV class="logo">
+        <A href="http://sling.apache.org/site/index.html">
+          <IMG border="0" alt="Apache Sling" src="http://sling.apache.org/site/media.data/logo.png">
+        </A>
+      </DIV>
+      <DIV class="header">
+        <A href="http://www.apache.org/">
+          <IMG border="0" alt="Apache" src="http://sling.apache.org/site/media.data/apache.png">
+        </A>
+      </DIV>
+    </DIV>
+    <DIV class="menu">
+<P><B>Documentation</B><BR class="atl-forced-newline">
+<A href="getting-started.html" title="Getting Started">Getting Started</A><BR class="atl-forced-newline">
+<A href="the-sling-engine.html" title="The Sling Engine">The Sling Engine</A><BR class="atl-forced-newline">
+<A href="development.html" title="Development">Development</A><BR class="atl-forced-newline">
+<A href="bundles.html" title="Bundles">Bundles</A><BR class="atl-forced-newline">
+<A href="tutorials-how-tos.html" title="Tutorials & How-Tos">Tutorials &amp; How&#45;Tos</A><BR class="atl-forced-newline">
+<A href="configuration.html" title="Configuration">Configuration</A><BR class="atl-forced-newline">
+<A href="http://sling.apache.org/apidocs/sling6/index.html" class="external-link" rel="nofollow">API docs</A><BR class="atl-forced-newline">
+<A href="http://s.apache.org/sling.wiki" class="external-link" rel="nofollow">Wiki</A><BR class="atl-forced-newline">
+<A href="http://s.apache.org/sling.faq" class="external-link" rel="nofollow">FAQ</A><BR class="atl-forced-newline"></P>
+
+<P><B>Project info</B><BR class="atl-forced-newline">
+<A href="http://sling.apache.org/site/downloads.cgi" class="external-link" rel="nofollow">Downloads</A><BR class="atl-forced-newline">
+<A href="http://www.apache.org/licenses/" class="external-link" rel="nofollow">License</A><BR class="atl-forced-newline">
+<A href="contributing.html" title="Contributing">Contributing</A><BR class="atl-forced-newline">
+<A href="news.html" title="News">News</A><BR class="atl-forced-newline">
+<A href="links.html" title="Links">Links</A><BR class="atl-forced-newline">
+<A href="project-information.html" title="Project Information">Project Information</A><BR class="atl-forced-newline">
+<A href="https://issues.apache.org/jira/browse/SLING" class="external-link" rel="nofollow">Issue Tracker</A><BR class="atl-forced-newline">
+<A href="http://svn.apache.org/viewvc/sling/trunk" class="external-link" rel="nofollow">Browse Source Repository</A><BR class="atl-forced-newline">
+<A href="security.html" title="Security">Security</A><BR class="atl-forced-newline"></P>
+
+<P><B>Sponsorship</B><BR class="atl-forced-newline">
+<A href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</A><BR class="atl-forced-newline">
+<A href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">Become a Sponsor</A><BR>
+<A href="http://www.apache.org/foundation/buy_stuff.html" class="external-link" rel="nofollow">Buy Stuff</A></P>
+
+
+  <IFRAME src="http://www.apache.org/ads/button.html" style="border-width:0; float: left" frameborder="0" scrolling="no" width="135" height="135"></IFRAME>
+  <P style="height: 135px"></P>
+    </DIV>
+    <DIV class="main">
+        <DIV class="breadcrump" style="font-size: 80%;">
+<A href="apache-sling.html" title="Apache Sling Website">Apache Sling Website</A>&nbsp;&gt;&nbsp;<A href="apache-sling.html" title="Apache Sling">Apache Sling</A>&nbsp;&gt;&nbsp;<A href="documentation.html" title="Documentation">Documentation</A>&nbsp;&gt;&nbsp;<A href="tutorials-how-tos.html" title="Tutorials & How-Tos">Tutorials &amp; How-Tos</A>&nbsp;&gt;&nbsp;<A href="" title="46 Line Blog">46 Line Blog</A>
+        </DIV>
+<P>This tutorial is based on the first <EM>Sling Gems</EM> on dev.day.com: The <A href="http://dev.day.com/microsling/content/blogs/main/sling-46-lines-blog.html" class="external-link" rel="nofollow">Sling gems: a blog in 46 lines of code</A>. It has slightly been adapted to fit here.</P>
+
+<P>In this tutorial, the SlingPostServlet and the sling.js library are brought together using 46 (no kidding: <EM>fourty-six</EM>) lines of code to create a simple blog (or let's say <EM>bloggish</EM>) application.</P>
+
+<P>I used this example in my <A href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=SLINGxSITE&title=Rapid%20JCR%20applications%20development%20with%20Sling&linkCreation=true&fromPageId=5963888" class="createlink">http://us.apachecon.com/c/acus2009/sessions/284</A> presentation at ApacheCon US 09 in Oakland (slides will be available soon), and I think it's a good testimony to the power and simplicity of Sling.</P>
+
+<H2><A name="46LineBlog-Audience"></A>Audience</H2>
+<P>Although this is a simple sample, it requires some custom settings to work. If you're just starting with Sling, <A href="discover-sling-in-15-minutes.html" title="Discover Sling in 15 minutes">Discover Sling in 15 minutes</A> might be a better choice.</P>
+
+<H2><A name="46LineBlog-Step0%3AStart%2CconfigureandlogintoSling"></A>Step 0: Start, configure and login to Sling</H2>
+<P>See <A href="getting-and-building-sling.html" title="Getting and Building Sling">Getting and Building Sling</A> for how to start Sling. Start it on port 8888 for the below links to work.</P>
+
+<P>For this sample we need the optional <EM>org.apache.sling.samples.path-based.rtp</EM> bundle, if it's not present in the <A href="http://localhost:8888/system/console/bundles" class="external-link" rel="nofollow">OSGi console</A>, install and start it. That bundle is not released yet so you might need to build it yourself, from its <A href="http://svn.apache.org/repos/asf/sling/trunk/samples/path-based-rtp" class="external-link" rel="nofollow">source</A>. The bundle must then appear in the <A href="http://localhost:8888/system/console/bundles" class="external-link" rel="nofollow">OSGI console's list of bundles</A>, with name = <EM>org.apache.sling.samples.path-based.rtp</EM> and status = <EM>Active</EM>.</P>
+
+<P>Then, login using <A href="http://localhost:8888/?sling:authRequestLogin=1" class="external-link" rel="nofollow">http://localhost:8888/?sling:authRequestLogin=1</A> which should prompt you for a username and password, use <EM>admin</EM> and <EM>admin</EM>. Once that's done, <A href="http://localhost:8888/index.html" class="external-link" rel="nofollow">http://localhost:8888/index.html</A> should say <EM>You are currently logged in as user <B>admin</B> to workspace <B>default</B></EM>.</P>
+
+<H2><A name="46LineBlog-Step1%3ACreatingcontent"></A>Step 1: Creating content</H2>
+
+<P>The easiest way to create content in Sling is to use an HTTP POST request, let's use a simple HTML form:</P>
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-html">
+<SPAN class="code-tag">&lt;html&gt;</SPAN>
+  <SPAN class="code-tag">&lt;body&gt;</SPAN>
+    <SPAN class="code-tag">&lt;h1&gt;</SPAN>Sling microblog<SPAN class="code-tag">&lt;/h1&gt;</SPAN>
+  
+    <SPAN class="code-tag">&lt;div&gt;</SPAN>
+      <SPAN class="code-tag">&lt;form method=<SPAN class="code-quote">&quot;POST&quot;</SPAN>&gt;</SPAN>
+        Title:<SPAN class="code-tag">&lt;br/&gt;</SPAN>
+        <SPAN class="code-tag">&lt;input type=<SPAN class="code-quote">&quot;text&quot;</SPAN> name=<SPAN class="code-quote">&quot;title&quot;</SPAN> style=<SPAN class="code-quote">&quot;width:100%&quot;</SPAN>/&gt;</SPAN>
+        
+        <SPAN class="code-tag">&lt;br/&gt;</SPAN>Text:<SPAN class="code-tag">&lt;br/&gt;</SPAN>
+        <SPAN class="code-tag">&lt;textarea style=<SPAN class="code-quote">&quot;width:100%&quot;</SPAN> name=<SPAN class="code-quote">&quot;text&quot;</SPAN>&gt;</SPAN><SPAN class="code-tag">&lt;/textarea&gt;</SPAN>
+        
+        <SPAN class="code-tag">&lt;br/&gt;</SPAN>
+        <SPAN class="code-tag">&lt;input type=<SPAN class="code-quote">&quot;submit&quot;</SPAN> value=<SPAN class="code-quote">&quot;save&quot;</SPAN>/&gt;</SPAN>
+        <SPAN class="code-tag">&lt;input type=<SPAN class="code-quote">&quot;hidden&quot;</SPAN> name=<SPAN class="code-quote">&quot;:redirect&quot;</SPAN> value=<SPAN class="code-quote">&quot;*.html&quot;</SPAN>/&gt;</SPAN>
+      <SPAN class="code-tag">&lt;/form&gt;</SPAN>
+    <SPAN class="code-tag">&lt;/div&gt;</SPAN>
+  
+    <SPAN class="code-tag"><SPAN class="code-comment">&lt;!-- code of step 2 comes here --&gt;</SPAN></SPAN>
+  <SPAN class="code-tag">&lt;/body&gt;</SPAN>
+<SPAN class="code-tag">&lt;/html&gt;</SPAN>
+</PRE>
+</DIV></DIV>
+
+<P>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).</P>
+
+<P>To test the form, start Sling and save the above script as <TT>/apps/blog/blog.esp</TT> <STYLE type="text/css">
+.FootnoteMarker, .FootnoteNum a {
+  background: transparent url(/confluence/download/resources/com.adaptavist.confluence.footnoteMacros:footnote/gfx/footnote.png) no-repeat top right;
+  padding: 1px 2px 0px 1px;
+  border-left: 1px solid #8898B8;
+  border-bottom: 1px solid #6B7C9B;
+  margin: 1px;
+  text-decoration: none;
+}
+.FootnoteNum a {
+  margin-top: 2px;
+  margin-right: 0px;
+}
+.FootnoteNum {
+  font-size: x-small;
+  text-align: right;
+  padding-bottom: 4px;
+}
+.footnote-th1 {
+  text-align: right;
+}
+.Footnote {
+  padding-left: 7px;
+  margin-bottom: 4px;
+  border: 1px none #DDDDDD;
+  writingMode: tb-rl;
+}
+.accessibility {
+     display: none;
+     visibility: hidden;
+}
+@media aural,braille,embossed {
+        .FootnoteMarker, .FootnoteNum a {
+         border: 1px solid #000000;
+         background: #ffffff none;
+    }
+    .accessibility {
+         display: run-in;
+         visibility: visible;
+    }
+}
+</STYLE>
+<SCRIPT type="text/javascript" language="JavaScript">
+//<!--\n
+var effectInProgress = {};
+var despamEffect = function (id,effectType,duration) {
+  if ((effectInProgress[id]) || (typeof(Effect)=="undefined") || (typeof(Effect[effectType])=="undefined")) return;
+  new Effect[effectType](id);
+  effectInProgress[id]=true;
+  setTimeout('effectInProgress[\"'+id+'\"]=false;',duration*1000);
+};
+var oldFootnoteId = '';
+var footnoteHighlight = function(id,pulsateNum) {
+  if (oldFootnoteId!='') document.getElementById('Footnote'+oldFootnoteId).style['borderStyle'] = 'none';
+  oldFootnoteId = id;
+  document.getElementById('Footnote'+id).style['borderStyle'] = 'solid';
+  despamEffect('Footnote'+id,'Highlight',1)
+  if (pulsateNum) despamEffect('FootnoteNum'+id,'Pulsate',3)
+}
+var footnoteMarkerHighlight = function(id) {
+  if (oldFootnoteId!='') document.getElementById('Footnote'+oldFootnoteId).style['borderStyle'] = 'none';
+  oldFootnoteId = '';
+  despamEffect('FootnoteMarker'+id,'Pulsate',3)
+}
+//-->
+</SCRIPT>
+
+<SUP id="FootnoteMarker1">
+    <A name="FootnoteMarker1" href="#Footnote1" onclick="footnoteHighlight(&quot;1&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote" class="FootnoteMarker">
+            1
+    </A>
+</SUP>
+ in the Sling repository - a WebDAV mount is the easiest way to do that. Browsing to <TT><A href="http://localhost:8888/content/blog/*.html" class="external-link" rel="nofollow">http://localhost:8888/content/blog/*.html</A></TT> 
+<SUP id="FootnoteMarker2">
+    <A name="FootnoteMarker2" href="#Footnote2" onclick="footnoteHighlight(&quot;2&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote" class="FootnoteMarker">
+            2
+    </A>
+</SUP>
+ should display the above form.</P>
+
+<P>Input some data (using &quot;foo&quot; for the title, for the sake of our examples below), save the form, and Sling<BR>
+should display the form again, using the URL of the node that was just created.</P>
+
+<DIV class="panelMacro"><TABLE class="noteMacro"><COLGROUP><COL width="24"><COL></COLGROUP><TR><TD valign="top"><IMG src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></TD><TD><B>AccessDeniedException?</B><BR>If you get an error saying <EM>javax.jcr.AccessDeniedException: ...not allowed to add or modify item</EM> it means that you are not logged in as user <EM>admin</EM>. See instructions above for logging in.</TD></TR></TABLE></DIV>
+
+<P>At this point you're probably looking at an empty form with an URL ending in <EM>foo</EM>, if you used that for the title. Or <EM>foo_0</EM> or <EM>foo_1</EM> if other _foo_s already existed. Don't worry about not seeing your content, we'll fix that right away.</P>
+
+
+<H2><A name="46LineBlog-Step2%3AWhere%27smycontent%3F"></A>Step 2: Where's my content?</H2>
+
+<P>To verify that our content has been created, we can have a look at the JSON data at <TT><A href="http://localhost:8888/content/blog/foo.tidy.json" class="external-link" rel="nofollow">http://localhost:8888/content/blog/foo.tidy.json</A></TT>, which should display our new node's values:</P>
+
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-javascript">
+{
+  &quot;jcr:primaryType&quot;: &quot;nt:unstructured&quot;,
+  &quot;text&quot;: &quot;This is the foo text&quot;,
+  &quot;title&quot;: &quot;foo&quot;
+}
+</PRE>
+</DIV></DIV>
+
+<P>That's reassuring, but what we really want is for these values to be displayed on the editing form for our post.</P>
+
+<P>Thanks to the <EM>sling.js</EM> client library, we just need to add a <TT>Sling.wizard()</TT> call to our form to display those values. Let's first add a <TT>&lt;head&gt;</TT> element to our form to load the <EM>sling.js</EM> library, before the existing <TT>&lt;body&gt;</TT> of course:</P>
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-html">
+<SPAN class="code-tag">&lt;head&gt;</SPAN>
+  <SPAN class="code-tag">&lt;script src=<SPAN class="code-quote">&quot;/system/sling.js&quot;</SPAN>&gt;</SPAN><SPAN class="code-tag">&lt;/script&gt;</SPAN>
+<SPAN class="code-tag">&lt;/head&gt;</SPAN>
+</PRE>
+</DIV></DIV>
+
+<P>And add the <TT>Sling.wizard()</TT> after the form, where we had the <EM>code of step 2 comes here</EM> comment:</P>
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-html">
+<SPAN class="code-tag"><SPAN class="code-comment">&lt;!-- code of step 2 comes here --&gt;</SPAN></SPAN>
+<SPAN class="code-tag">&lt;script&gt;</SPAN>Sling.wizard();<SPAN class="code-tag">&lt;/script&gt;</SPAN>
+</PRE>
+</DIV></DIV>
+
+<P>Reloading the form at <TT><A href="http://localhost:8888/content/blog/*.html" class="external-link" rel="nofollow">http://localhost:8888/content/blog/*.html</A></TT> and creating a new post should now redirect to an editable version of the post, with the form fields correctly initialized.</P>
+
+<P>We can now create and edit posts; let's add some navigation, using more of the <EM>sling.js</EM> functionality. </P>
+
+<H2><A name="46LineBlog-Step3%3ANavigation"></A>Step 3: Navigation</H2>
+
+<P>The <EM>sling.js</EM> library provides utilities to access and manipulate content. For our blog, we'll use the <TT>getContent(path)</TT> method to list the siblings of the current node.</P>
+
+<P>Add the following code to your script, after the <TT>Sling.wizard()</TT> call that was added in step 2:</P>
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-html">
+<SPAN class="code-tag">&lt;h3&gt;</SPAN>Navigation<SPAN class="code-tag">&lt;/h3&gt;</SPAN>
+<SPAN class="code-tag">&lt;ul&gt;</SPAN>
+    <SPAN class="code-tag">&lt;li&gt;</SPAN><SPAN class="code-tag">&lt;em&gt;</SPAN><SPAN class="code-tag">&lt;a href=<SPAN class="code-quote">&quot;/content/blog/*.html&quot;</SPAN>&gt;</SPAN>[Create new post]<SPAN class="code-tag">&lt;/a&gt;</SPAN><SPAN class="code-tag">&lt;/em&gt;</SPAN><SPAN class="code-tag">&lt;/li&gt;</SPAN>
+    <SPAN class="code-tag">&lt;script&gt;</SPAN>
+      var posts = Sling.getContent(<SPAN class="code-quote">&quot;/content/blog&quot;</SPAN>, 2);
+      for(var i in posts) {
+        document.write(<SPAN class="code-quote">&quot;<SPAN class="code-tag">&lt;li&gt;</SPAN>&quot;</SPAN>
+          + <SPAN class="code-quote">&quot;<SPAN class="code-tag">&lt;a href='/content/blog/&quot;</SPAN> + i + <SPAN class="code-quote">&quot;.html'&gt;</SPAN>&quot;</SPAN>    
+          + posts[i].title
+          + <SPAN class="code-quote">&quot;<SPAN class="code-tag">&lt;/a&gt;</SPAN><SPAN class="code-tag">&lt;/li&gt;</SPAN>&quot;</SPAN>);
+      }
+    <SPAN class="code-tag">&lt;/script&gt;</SPAN>
+<SPAN class="code-tag">&lt;/ul&gt;</SPAN>
+</PRE>
+</DIV></DIV>
+
+<P>The first link to <TT>/content/blog/*</TT> brings us back to our content creating form, which is nothing else than the editing form reading empty values and posting to the &quot;magic star&quot; URL. </P>
+
+<P>The rest of the javascript runs client-side, as it is not embedded in <TT>&lt;% %&gt;</TT> code markers, calls the <TT>sling.getContent</TT> method to get two levels of node data below <TT>/content/blog</TT>, and displays links to nodes that it finds.</P>
+
+<P>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.</P>
+
+<P>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.</P>
+
+
+<H2><A name="46LineBlog-Step4%3ADatafirst%2Cstructurelater"></A>Step 4: Data first, structure later</H2>
+
+<P>You might have heard this mantra, which we apply in many areas of Sling.</P>
+
+<P>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.</P>
+
+<P>Adding this inside our script's <TT>&lt;form&gt;</TT> element, for example:</P>
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-html">
+<SPAN class="code-tag">&lt;br/&gt;</SPAN>Author:<SPAN class="code-tag">&lt;br/&gt;</SPAN>
+<SPAN class="code-tag">&lt;input type=<SPAN class="code-quote">&quot;author&quot;</SPAN> name=<SPAN class="code-quote">&quot;author&quot;</SPAN> style=<SPAN class="code-quote">&quot;width:100%&quot;</SPAN>/&gt;</SPAN>
+</PRE>
+</DIV></DIV>
+
+<P>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.</P>
+
+
+<H2><A name="46LineBlog-IwantmyESP%21"></A>I want my ESP!</H2>
+
+<P>Now wait...we said we were going to create an ESP script, but our &quot;application&quot; is just static HTML and some client javascript at this point.</P>
+
+<P>That's correct - as we are using only Sling client-facing features at this point (HTTP POST and <TT>sling.js</TT>), we do not necessarily need to use ESP code.</P>
+
+<P>To keep things simple, we'll refrain from adding ESP-based features at this point, but you can of course use any ESP code in the <EM>blog.esp</EM> &quot;script&quot;.</P>
+
+
+<H2><A name="46LineBlog-That%27sthepowerofSling"></A>That's the power of Sling</H2>
+
+<P>The 46-line blog is a good example of the power of Sling. It leverages the <A href="manipulating-content-the-slingpostservlet-servletspost.html" title="SlingPostServlet">SlingPostServlet</A>, which handles POST requests in a form-friendly way, and the <TT><A href="http://svn.apache.org/repos/asf/sling/trunk/bundles/servlets/post/src/main/resources/system/sling.js" class="external-link" rel="nofollow">sling.js</A></TT> client library, which provides high-level functionality on the client side.</P>
+
+<HR>
+<P><TABLE class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page.">
+  <CAPTION class="accessibility">Footnotes</CAPTION>
+  <THEAD class="accessibility">
+    <TR class="accessibility">
+      <TH class="accessibility" id="footnote-th1">Reference</TH>
+      <TH class="accessibility" id="footnote-th2">Notes</TH>
+    </TR>
+  </THEAD>
+  <TBODY>
+    <TR name="Footnote1">
+      <TD valign="top" class="FootnoteNum" headings="footnote-th1">
+        <A href="#FootnoteMarker1" onclick="footnoteMarkerHighlight(&quot;1&quot;);" onmouseover="footnoteHighlight(&quot;1&quot;,false);" alt="Footnote: Click to return to reference in text" title="Footnote: Click to return to reference in text" id="FootnoteNum1">
+            1
+        </A>
+      </TD>
+      <TD id="Footnote1" valign="top" width="100%" class="Footnote" headings="footnote-th2">
+          ESP is Sling's server-side javascript language
+      </TD>
+    </TR>
+    <TR name="Footnote2">
+      <TD valign="top" class="FootnoteNum" headings="footnote-th1">
+        <A href="#FootnoteMarker2" onclick="footnoteMarkerHighlight(&quot;2&quot;);" onmouseover="footnoteHighlight(&quot;2&quot;,false);" alt="Footnote: Click to return to reference in text" title="Footnote: Click to return to reference in text" id="FootnoteNum2">
+            2
+        </A>
+      </TD>
+      <TD id="Footnote2" valign="top" width="100%" class="Footnote" headings="footnote-th2">
+           This assumes your instance of Sling is running on port 8888. If that's not the case, adjust the example URLs accordingly. 
+      </TD>
+    </TR>
+  </TBODY>
+</TABLE></P>
+
+        <DIV class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
+Last modified by bdelacretaz on 2010-02-22 14:05:04.0
+        </DIV>
+        <DIV class="trademarkFooter">
+Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
+        </DIV>
+    </DIV>
+  </BODY>
+</HTML>
+

Propchange: sling/site/trunk/content/site/46-line-blog.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sling/site/trunk/content/site/46-line-blog.html
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: sling/site/trunk/content/site/46-line-blog.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: sling/site/trunk/content/site/accessing-filesystem-resources-extensionsfsresource.html
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/site/accessing-filesystem-resources-extensionsfsresource.html?rev=1420577&view=auto
==============================================================================
--- sling/site/trunk/content/site/accessing-filesystem-resources-extensionsfsresource.html (added)
+++ sling/site/trunk/content/site/accessing-filesystem-resources-extensionsfsresource.html Wed Dec 12 09:13:50 2012
@@ -0,0 +1,134 @@
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<HTML>
+  <HEAD>
+    <TITLE>Apache Sling - Accessing Filesystem Resources (extensions.fsresource)</TITLE>
+    <LINK rel="stylesheet" href="http://sling.apache.org/site/media.data/site.css" type="text/css" media="all">
+    <LINK rel="icon" href="http://sling.apache.org/site/media.data/favicon.ico">
+    <META http-equiv="Content-Type" content="text/html;charset=UTF-8">
+  </HEAD>
+  <BODY>
+    <DIV class="title">
+      <DIV class="logo">
+        <A href="http://sling.apache.org/site/index.html">
+          <IMG border="0" alt="Apache Sling" src="http://sling.apache.org/site/media.data/logo.png">
+        </A>
+      </DIV>
+      <DIV class="header">
+        <A href="http://www.apache.org/">
+          <IMG border="0" alt="Apache" src="http://sling.apache.org/site/media.data/apache.png">
+        </A>
+      </DIV>
+    </DIV>
+    <DIV class="menu">
+<P><B>Documentation</B><BR class="atl-forced-newline">
+<A href="getting-started.html" title="Getting Started">Getting Started</A><BR class="atl-forced-newline">
+<A href="the-sling-engine.html" title="The Sling Engine">The Sling Engine</A><BR class="atl-forced-newline">
+<A href="development.html" title="Development">Development</A><BR class="atl-forced-newline">
+<A href="bundles.html" title="Bundles">Bundles</A><BR class="atl-forced-newline">
+<A href="tutorials-how-tos.html" title="Tutorials & How-Tos">Tutorials &amp; How&#45;Tos</A><BR class="atl-forced-newline">
+<A href="configuration.html" title="Configuration">Configuration</A><BR class="atl-forced-newline">
+<A href="http://sling.apache.org/apidocs/sling6/index.html" class="external-link" rel="nofollow">API docs</A><BR class="atl-forced-newline">
+<A href="http://s.apache.org/sling.wiki" class="external-link" rel="nofollow">Wiki</A><BR class="atl-forced-newline">
+<A href="http://s.apache.org/sling.faq" class="external-link" rel="nofollow">FAQ</A><BR class="atl-forced-newline"></P>
+
+<P><B>Project info</B><BR class="atl-forced-newline">
+<A href="http://sling.apache.org/site/downloads.cgi" class="external-link" rel="nofollow">Downloads</A><BR class="atl-forced-newline">
+<A href="http://www.apache.org/licenses/" class="external-link" rel="nofollow">License</A><BR class="atl-forced-newline">
+<A href="contributing.html" title="Contributing">Contributing</A><BR class="atl-forced-newline">
+<A href="news.html" title="News">News</A><BR class="atl-forced-newline">
+<A href="links.html" title="Links">Links</A><BR class="atl-forced-newline">
+<A href="project-information.html" title="Project Information">Project Information</A><BR class="atl-forced-newline">
+<A href="https://issues.apache.org/jira/browse/SLING" class="external-link" rel="nofollow">Issue Tracker</A><BR class="atl-forced-newline">
+<A href="http://svn.apache.org/viewvc/sling/trunk" class="external-link" rel="nofollow">Browse Source Repository</A><BR class="atl-forced-newline">
+<A href="security.html" title="Security">Security</A><BR class="atl-forced-newline"></P>
+
+<P><B>Sponsorship</B><BR class="atl-forced-newline">
+<A href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</A><BR class="atl-forced-newline">
+<A href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">Become a Sponsor</A><BR>
+<A href="http://www.apache.org/foundation/buy_stuff.html" class="external-link" rel="nofollow">Buy Stuff</A></P>
+
+
+  <IFRAME src="http://www.apache.org/ads/button.html" style="border-width:0; float: left" frameborder="0" scrolling="no" width="135" height="135"></IFRAME>
+  <P style="height: 135px"></P>
+    </DIV>
+    <DIV class="main">
+        <DIV class="breadcrump" style="font-size: 80%;">
+<A href="apache-sling.html" title="Apache Sling Website">Apache Sling Website</A>&nbsp;&gt;&nbsp;<A href="apache-sling.html" title="Apache Sling">Apache Sling</A>&nbsp;&gt;&nbsp;<A href="documentation.html" title="Documentation">Documentation</A>&nbsp;&gt;&nbsp;<A href="bundles.html" title="Bundles">Bundles</A>&nbsp;&gt;&nbsp;<A href="" title="Accessing Filesystem Resources (extensions.fsresource)">Accessing Filesystem Resources (extensions.fsresource)</A>
+        </DIV>
+<H1><A name="AccessingFilesystemResources%28extensions.fsresource%29-AccessingFilesystemResources"></A>Accessing Filesystem Resources</H1>
+
+<DIV>
+<UL>
+    <LI><A href="#AccessingFilesystemResources%2528extensions.fsresource%2529-Introduction">Introduction</A></LI>
+    <LI><A href="#AccessingFilesystemResources%2528extensions.fsresource%2529-ResourceTypes">Resource Types</A></LI>
+    <LI><A href="#AccessingFilesystemResources%2528extensions.fsresource%2529-Adapters">Adapters</A></LI>
+    <LI><A href="#AccessingFilesystemResources%2528extensions.fsresource%2529-Configuration">Configuration</A></LI>
+</UL></DIV>
+
+
+<H2><A name="AccessingFilesystemResources%28extensions.fsresource%29-Introduction"></A>Introduction</H2>
+
+<P>The Filesystem Resource Provider provides access to the operating system's filesystem through the Sling <TT>ResourceResolver</TT>. 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.</P>
+
+
+<H2><A name="AccessingFilesystemResources%28extensions.fsresource%29-ResourceTypes"></A>Resource Types</H2>
+
+<P>Files and directories are mapped into the resource tree as regular <TT>Resource</TT> instances whose resource type depends on the actual nature of the mapped filesystem resource:</P>
+
+<UL>
+	<LI>Regular files are assigned the <TT>nt:file</TT> resource type</LI>
+	<LI>Directories are assigned the <TT>nt:folder</TT> resource type</LI>
+</UL>
+
+
+
+<H2><A name="AccessingFilesystemResources%28extensions.fsresource%29-Adapters"></A>Adapters</H2>
+
+<P>Filesystem resources extend from Sling's <TT>AbstractResource</TT> class and thus are adaptable to any type for which an <TT>AdapterFactory</TT> is registered supporting file system resources. In addition Filesystem Resources support the following adapters natively:</P>
+
+<UL>
+	<LI><TT>java.io.File</TT> &ndash; The Java file object providing access to the filesystem file</LI>
+	<LI><TT>java.net.URL</TT> &ndash; A valid <TT><A href="file:%2F/" class="external-link" rel="nofollow">file://</A></TT> URL to the file. This URL is derived from the <TT>java.io.File</TT> object by calling the <TT>File.toURI().toURL()</TT> sequence.</LI>
+	<LI><TT>java.io.InputStream</TT> &ndash; If the <TT>java.io.File</TT> can be read from (as per <TT>File.canRead()</TT> an <TT>InputStream</TT> to read from the file is returned.</LI>
+</UL>
+
+
+
+
+<H2><A name="AccessingFilesystemResources%28extensions.fsresource%29-Configuration"></A>Configuration</H2>
+
+<P>The Filesystem Resource Provider is configured with OSGi Configuration Admin factory configurtions whose factory PID is <TT>org.apache.sling.fsprovider.internal.FsResourceProvider</TT>. Configuration can be managed using the OSGi Configuration Admin API, through the Web Console or by any other means supporting Configuration Admin configurations.</P>
+
+<P>The following configuration properties must be specified:</P>
+
+<DIV class="table-wrap">
+<TABLE class="confluenceTable"><TBODY>
+<TR>
+<TD class="confluenceTd"> Parameter </TD>
+<TD class="confluenceTd"> Name </TD>
+<TD class="confluenceTd"> Description </TD>
+</TR>
+<TR>
+<TD class="confluenceTd"> Provider Root	</TD>
+<TD class="confluenceTd"> <TT>provider.roots</TT> </TD>
+<TD class="confluenceTd"> Location in the virtual resource tree where the filesystem resources are mapped in. This property must not be an empty string. </TD>
+</TR>
+<TR>
+<TD class="confluenceTd"> Filesystem Root </TD>
+<TD class="confluenceTd"> <TT>provider.file</TT> </TD>
+<TD class="confluenceTd"> Filesystem directory mapped to the virtual resource tree. This property must not be an empty string. If the path is relative it is resolved against <TT>sling.home</TT> or the current working directory. The path may be a file or folder. If the path does not address an existing file or folder, an empty folder is created. </TD>
+</TR>
+</TBODY></TABLE>
+</DIV>
+
+        <DIV class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
+Last modified by mykee on 2010-08-23 03:00:43.0
+        </DIV>
+        <DIV class="trademarkFooter">
+Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
+        </DIV>
+    </DIV>
+  </BODY>
+</HTML>
+

Propchange: sling/site/trunk/content/site/accessing-filesystem-resources-extensionsfsresource.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sling/site/trunk/content/site/accessing-filesystem-resources-extensionsfsresource.html
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: sling/site/trunk/content/site/accessing-filesystem-resources-extensionsfsresource.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: sling/site/trunk/content/site/adapters.html
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/site/adapters.html?rev=1420577&view=auto
==============================================================================
--- sling/site/trunk/content/site/adapters.html (added)
+++ sling/site/trunk/content/site/adapters.html Wed Dec 12 09:13:50 2012
@@ -0,0 +1,194 @@
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<HTML>
+  <HEAD>
+    <TITLE>Apache Sling - Adapters</TITLE>
+    <LINK rel="stylesheet" href="http://sling.apache.org/site/media.data/site.css" type="text/css" media="all">
+    <LINK rel="icon" href="http://sling.apache.org/site/media.data/favicon.ico">
+    <META http-equiv="Content-Type" content="text/html;charset=UTF-8">
+  </HEAD>
+  <BODY>
+    <DIV class="title">
+      <DIV class="logo">
+        <A href="http://sling.apache.org/site/index.html">
+          <IMG border="0" alt="Apache Sling" src="http://sling.apache.org/site/media.data/logo.png">
+        </A>
+      </DIV>
+      <DIV class="header">
+        <A href="http://www.apache.org/">
+          <IMG border="0" alt="Apache" src="http://sling.apache.org/site/media.data/apache.png">
+        </A>
+      </DIV>
+    </DIV>
+    <DIV class="menu">
+<P><B>Documentation</B><BR class="atl-forced-newline">
+<A href="getting-started.html" title="Getting Started">Getting Started</A><BR class="atl-forced-newline">
+<A href="the-sling-engine.html" title="The Sling Engine">The Sling Engine</A><BR class="atl-forced-newline">
+<A href="development.html" title="Development">Development</A><BR class="atl-forced-newline">
+<A href="bundles.html" title="Bundles">Bundles</A><BR class="atl-forced-newline">
+<A href="tutorials-how-tos.html" title="Tutorials & How-Tos">Tutorials &amp; How&#45;Tos</A><BR class="atl-forced-newline">
+<A href="configuration.html" title="Configuration">Configuration</A><BR class="atl-forced-newline">
+<A href="http://sling.apache.org/apidocs/sling6/index.html" class="external-link" rel="nofollow">API docs</A><BR class="atl-forced-newline">
+<A href="http://s.apache.org/sling.wiki" class="external-link" rel="nofollow">Wiki</A><BR class="atl-forced-newline">
+<A href="http://s.apache.org/sling.faq" class="external-link" rel="nofollow">FAQ</A><BR class="atl-forced-newline"></P>
+
+<P><B>Project info</B><BR class="atl-forced-newline">
+<A href="http://sling.apache.org/site/downloads.cgi" class="external-link" rel="nofollow">Downloads</A><BR class="atl-forced-newline">
+<A href="http://www.apache.org/licenses/" class="external-link" rel="nofollow">License</A><BR class="atl-forced-newline">
+<A href="contributing.html" title="Contributing">Contributing</A><BR class="atl-forced-newline">
+<A href="news.html" title="News">News</A><BR class="atl-forced-newline">
+<A href="links.html" title="Links">Links</A><BR class="atl-forced-newline">
+<A href="project-information.html" title="Project Information">Project Information</A><BR class="atl-forced-newline">
+<A href="https://issues.apache.org/jira/browse/SLING" class="external-link" rel="nofollow">Issue Tracker</A><BR class="atl-forced-newline">
+<A href="http://svn.apache.org/viewvc/sling/trunk" class="external-link" rel="nofollow">Browse Source Repository</A><BR class="atl-forced-newline">
+<A href="security.html" title="Security">Security</A><BR class="atl-forced-newline"></P>
+
+<P><B>Sponsorship</B><BR class="atl-forced-newline">
+<A href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</A><BR class="atl-forced-newline">
+<A href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">Become a Sponsor</A><BR>
+<A href="http://www.apache.org/foundation/buy_stuff.html" class="external-link" rel="nofollow">Buy Stuff</A></P>
+
+
+  <IFRAME src="http://www.apache.org/ads/button.html" style="border-width:0; float: left" frameborder="0" scrolling="no" width="135" height="135"></IFRAME>
+  <P style="height: 135px"></P>
+    </DIV>
+    <DIV class="main">
+        <DIV class="breadcrump" style="font-size: 80%;">
+<A href="apache-sling.html" title="Apache Sling Website">Apache Sling Website</A>&nbsp;&gt;&nbsp;<A href="apache-sling.html" title="Apache Sling">Apache Sling</A>&nbsp;&gt;&nbsp;<A href="documentation.html" title="Documentation">Documentation</A>&nbsp;&gt;&nbsp;<A href="the-sling-engine.html" title="The Sling Engine">The Sling Engine</A>&nbsp;&gt;&nbsp;<A href="" title="Adapters">Adapters</A>
+        </DIV>
+<H1><A name="Adapters-Adapters"></A>Adapters</H1>
+
+<P>The <TT>Resource</TT> and <TT>ResourceResolver</TT> interfaces are defined with a method <TT>adaptTo</TT>, which adapts the object to other classes. Using this mechanism the JCR session of the resource resolver calling the <TT>adaptTo</TT> method with the <TT>javax.jcr.Session</TT> class object. Likewise the JCR node on which a resource is based can be retrieved by calling the <TT>Resource.adaptTo</TT> method with the <TT>javax.jcr.Node</TT> class object.</P>
+
+<P>To use resources as scripts, the <TT>Resource.adaptTo</TT> method must support being called with the <TT>org.apache.sling.api.script.SlingScript</TT> class object. But of course, we do not want to integrate the script manager with the resource resolver. To enable adapting objects to classes which are not foreseen by the original implementation, a factory mechanism is used. This way, the script manager can provide an adapter factory to adapt <TT>Resource</TT> to <TT>SlingScript</TT> objects.</P>
+
+
+<H2><A name="Adapters-Adaptable"></A>Adaptable</H2>
+
+<P>The <TT>Adaptable</TT> interface defines the API to be implemented by a class providing adaptability to another class. The single method defined by this interface is</P>
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-java">
+/**
+ * Adapts the adaptable to another type.
+ * &lt;p&gt;
+ * Please not that it is explicitly left as an implementation detail whether
+ * each call to <SPAN class="code-keyword">this</SPAN> method with the same &lt;code&gt;type&lt;/code&gt; yields the same
+ * object or a <SPAN class="code-keyword">new</SPAN> object on each call.
+ * &lt;p&gt;
+ * Implementations of <SPAN class="code-keyword">this</SPAN> method should document their adapted types as
+ * well as their behaviour with respect to returning newly created or not
+ * instance on each call.
+ *
+ * @param &lt;AdapterType&gt; The <SPAN class="code-keyword">generic</SPAN> type to which <SPAN class="code-keyword">this</SPAN> resource is adapted
+ *            to
+ * @param type The <SPAN class="code-object">Class</SPAN> object of the target type, such as
+ *            &lt;code&gt;javax.jcr.Node.class&lt;/code&gt; or
+ *            &lt;code&gt;java.io.File.class&lt;/code&gt;
+ * @<SPAN class="code-keyword">return</SPAN> The adapter target or &lt;code&gt;<SPAN class="code-keyword">null</SPAN>&lt;/code&gt; <SPAN class="code-keyword">if</SPAN> the resource cannot
+ *         adapt to the requested type
+ */
+&lt;AdapterType&gt; AdapterType adaptTo(<SPAN class="code-object">Class</SPAN>&lt;AdapterType&gt; type);
+</PRE>
+</DIV></DIV>
+
+<P>This method is called to get a view of the same object in terms of another class. Examples of implementations of this method is the Sling <TT>ResourceResolver</TT> implementation providing adapting to a JCR session and the Sling JCR based <TT>Resource</TT> implementation providing adapting to a JCR node.</P>
+
+
+<H2><A name="Adapters-ExtendingAdapters"></A>Extending Adapters</H2>
+
+<P>Sometimes an <TT>Adaptable</TT> implementation cannot foresee future uses and requirements. To cope with such extensibility requirements two interfaces and an abstract base class are defined:</P>
+
+<UL>
+	<LI><TT>AdapterManager</TT></LI>
+	<LI><TT>AdapterFactory</TT></LI>
+	<LI><TT>SlingAdaptable</TT></LI>
+</UL>
+
+
+
+<H2><A name="Adapters-AdapterFactory"></A>AdapterFactory</H2>
+
+<P>The <TT>AdapterFactory</TT> interface defines the service interface and API for factories supporting extensible adapters for <TT>SlingAdaptable</TT> objects. The interface has a single method:</P>
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-java">
+/**
+ * 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.
+ * &lt;p&gt;
+ * This method may <SPAN class="code-keyword">return</SPAN> &lt;code&gt;<SPAN class="code-keyword">null</SPAN>&lt;/code&gt; <SPAN class="code-keyword">if</SPAN> the adaptable object cannot
+ * be adapted to the adapter (target) type <SPAN class="code-keyword">for</SPAN> any reason. In <SPAN class="code-keyword">this</SPAN> <SPAN class="code-keyword">case</SPAN>, the
+ * implementation should log a message to the log facility noting the cause
+ * <SPAN class="code-keyword">for</SPAN> not being able to adapt.
+ * &lt;p&gt;
+ * Note that the &lt;code&gt;adaptable&lt;/code&gt; object is not required to implement
+ * the &lt;code&gt;Adaptable&lt;/code&gt; <SPAN class="code-keyword">interface</SPAN>, though most of the time <SPAN class="code-keyword">this</SPAN> method
+ * is called by means of calling the {@link Adaptable#adaptTo(<SPAN class="code-object">Class</SPAN>)}
+ * method.
+ *
+ * @param &lt;AdapterType&gt; The <SPAN class="code-keyword">generic</SPAN> 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.
+ * @<SPAN class="code-keyword">return</SPAN> The adapted object or &lt;code&gt;<SPAN class="code-keyword">null</SPAN>&lt;/code&gt; <SPAN class="code-keyword">if</SPAN> <SPAN class="code-keyword">this</SPAN> factory instance
+ *         cannot adapt the object.
+ */
+&lt;AdapterType&gt; AdapterType getAdapter(<SPAN class="code-object">Object</SPAN> adaptable,
+        <SPAN class="code-object">Class</SPAN>&lt;AdapterType&gt; type);
+</PRE>
+</DIV></DIV>
+
+<P>Implementations of this interface are registered as OSGi services providing two lists: The list of classes wich may be adapted (property named <EM>adaptables</EM>) and the list of classes to which the adapted class may be adapted (property named <EM>adapters</EM>). A good example of an Class implementing <TT>AdapterFactory</TT> is the <TT>SlingScriptAdapterFactory</TT>.</P>
+
+<P><TT>AdapterFactory</TT> services are gathered by a <TT>AdapterManager</TT> implementation for use by consumers. Consumers should not care for <TT>AdapterFactory</TT> services.</P>
+
+
+<H2><A name="Adapters-AdapterManager"></A>AdapterManager</H2>
+
+<P>The <TT>AdapterManager</TT> is defines the service interface for the genralized and extensible use of <TT>AdapterFactory</TT> services. Thus the adapter manager may be retrieved from the service registry to try to adapt whatever object that needs to be adapted - provided appropriate adapters exist.</P>
+
+<P>The <TT>AdapterManager</TT> interface is defined as follows:</P>
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent panelContent">
+<PRE class="code-java">
+/**
+ * Returns an adapter object of the requested &lt;code&gt;AdapterType&lt;/code&gt; <SPAN class="code-keyword">for</SPAN>
+ * the given &lt;code&gt;adaptable&lt;/code&gt; object.
+ * &lt;p&gt;
+ * The &lt;code&gt;adaptable&lt;/code&gt; object may be any non-&lt;code&gt;<SPAN class="code-keyword">null</SPAN>&lt;/code&gt; object
+ * and is not required to implement the &lt;code&gt;Adaptable&lt;/code&gt; <SPAN class="code-keyword">interface</SPAN>.
+ *
+ * @param &lt;AdapterType&gt; The <SPAN class="code-keyword">generic</SPAN> 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.
+ * @<SPAN class="code-keyword">return</SPAN> The adapted object or &lt;code&gt;<SPAN class="code-keyword">null</SPAN>&lt;/code&gt; <SPAN class="code-keyword">if</SPAN> no factory exists to
+ *         adapt the &lt;code&gt;adaptable&lt;/code&gt; to the &lt;code&gt;AdapterType&lt;/code&gt;
+ *         or <SPAN class="code-keyword">if</SPAN> the &lt;code&gt;adaptable&lt;/code&gt; cannot be adapted <SPAN class="code-keyword">for</SPAN> any other
+ *         reason.
+ */
+&lt;AdapterType&gt; AdapterType getAdapter(<SPAN class="code-object">Object</SPAN> adaptable,
+        <SPAN class="code-object">Class</SPAN>&lt;AdapterType&gt; type);
+</PRE>
+</DIV></DIV>
+
+<P>Any object can theoretically be adapted to any class even if it does not implement the <TT>Adaptable</TT> interface, if an <TT>AdapterFactory</TT> service delivers a <TT>getAdapter()</TT> method which adapts an object to another one. To check if there's any existing <TT>AdapterFactory</TT> which can adapt a given object to another one the <TT>AdapterManager</TT> service with it's <TT>getAdapter()</TT> method does the job. So the <TT>Adaptable</TT> interface merely is an indicator that the object provides built-in support for beeing adapted.</P>
+
+
+<H2><A name="Adapters-SlingAdaptable"></A>SlingAdaptable</H2>
+
+<P>The <TT>SlingAdaptable</TT> class is an implementation of the <TT>Adaptable</TT> interface which provides built-in support to call the <TT>AdapterManager</TT> to provide an adapter from the <TT>Adaptable</TT> object to the requested class.</P>
+
+<P>An example of extending the <TT>SlingAdaptable</TT> class will be the Sling JCR based <TT>Resource</TT> implementation. This way, such a resource may be adapted to a <TT>SlingScript</TT> by means of an appropriatley programmed <TT>AdapterFactory</TT> (see below).</P>
+        <DIV class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
+Last modified by fmeschbe on 2011-02-06 12:19:59.0
+        </DIV>
+        <DIV class="trademarkFooter">
+Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
+        </DIV>
+    </DIV>
+  </BODY>
+</HTML>
+

Propchange: sling/site/trunk/content/site/adapters.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sling/site/trunk/content/site/adapters.html
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: sling/site/trunk/content/site/adapters.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: sling/site/trunk/content/site/advanced-topics.html
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/site/advanced-topics.html?rev=1420577&view=auto
==============================================================================
--- sling/site/trunk/content/site/advanced-topics.html (added)
+++ sling/site/trunk/content/site/advanced-topics.html Wed Dec 12 09:13:50 2012
@@ -0,0 +1,87 @@
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<HTML>
+  <HEAD>
+    <TITLE>Apache Sling - Advanced Topics</TITLE>
+    <LINK rel="stylesheet" href="http://sling.apache.org/site/media.data/site.css" type="text/css" media="all">
+    <LINK rel="icon" href="http://sling.apache.org/site/media.data/favicon.ico">
+    <META http-equiv="Content-Type" content="text/html;charset=UTF-8">
+  </HEAD>
+  <BODY>
+    <DIV class="title">
+      <DIV class="logo">
+        <A href="http://sling.apache.org/site/index.html">
+          <IMG border="0" alt="Apache Sling" src="http://sling.apache.org/site/media.data/logo.png">
+        </A>
+      </DIV>
+    </DIV>
+    <DIV class="menu">
+<P><B>Documentation</B><BR clear="all">
+<A href="getting-started.html" title="Getting Started">Getting Started</A><BR clear="all">
+<A href="the-sling-engine.html" title="The Sling Engine">The Sling Engine</A><BR clear="all">
+<A href="development.html" title="Development">Development</A><BR clear="all">
+<A href="bundles.html" title="Bundles">Bundles</A><BR clear="all">
+<A href="tutorials-how-tos.html" title="Tutorials & How-Tos">Tutorials &amp; How&#45;Tos</A><BR clear="all">
+<A href="configuration.html" title="Configuration">Configuration</A><BR clear="all">
+<A href="http://sling.apache.org/apidocs/sling5/index.html" rel="nofollow">API docs</A><BR clear="all">
+<A href="http://cwiki.apache.org/SLING/" rel="nofollow">Wiki</A><BR clear="all">
+<A href="http://cwiki.apache.org/SLING/faq.html" rel="nofollow">FAQ</A><BR clear="all"></P>
+
+<P><B>Project info</B><BR clear="all">
+<A href="http://sling.apache.org/site/downloads.cgi" rel="nofollow">Downloads</A><BR clear="all">
+<A href="contributing.html" title="Contributing">Contributing</A><BR clear="all">
+<A href="news.html" title="News">News</A><BR clear="all">
+<A href="links.html" title="Links">Links</A><BR clear="all">
+<A href="project-information.html" title="Project Information">Project Information</A><BR clear="all"></P>
+
+<P><B>Sponsorship</B><BR clear="all">
+<A href="http://www.apache.org/foundation/thanks.html" rel="nofollow">Thanks</A><BR clear="all">
+<A href="http://www.apache.org/foundation/sponsorship.html" rel="nofollow">Become a Sponsor</A><BR>
+<A href="http://www.apache.org/foundation/buy_stuff.html" rel="nofollow">Buy Stuff</A></P>
+
+
+<IFRAME src="http://www.apache.org/ads/button.html" style="border-width:0; float: left" frameborder="0" scrolling="no" width="135" height="135"></IFRAME>
+<P style="height: 100px"></P>
+
+    </DIV>
+    <DIV class="main">
+        <DIV class="breadcrump" style="font-size: 80%;">
+<A href="apache-sling.html" title="Apache Sling Website">Apache Sling Website</A>&nbsp;&gt;&nbsp;<A href="http://cwiki.apache.org/confluence/pages/viewpage.action?spaceKey=SLINGxSITE&title=Advanced%20Topics" title="Advanced Topics">Advanced Topics</A>
+        </DIV>
+<H1><A name="AdvancedTopics-AdvancedTopics"></A>Advanced Topics</H1>
+
+<P>These pages contain in-depth information on select advanced topics which may help you in certain situations where you want to explore more functionality of Sling.</P>
+
+<UL>
+	<LI><A href="logging.html" title="Logging">Logging</A></LI>
+	<LI><A href="authentication.html" title="Authentication">Authentication</A></LI>
+	<LI><A href="mime-type-support-commonsmime.html" title="MIME Type Support (commons.mime)">MIME Type Support &#40;commons.mime&#41;</A></LI>
+	<LI><A href="configuration.html" title="Configuration">Configuration</A></LI>
+	<LI><A href="content-loading-jcrcontentloader.html" title="Content Loading (jcr.contentloader)">Content Loading &#40;jcr.contentloader&#41;</A></LI>
+	<LI><A href="manipulating-content-the-slingpostservlet-servletspost.html" title="Manipulating Content - The SlingPostServlet (servlets.post)">Manipulating Content &#45; The SlingPostServlet &#40;servlets.post&#41;</A></LI>
+	<LI><A href="internationalization-support-i18n.html" title="Internationalization Support (i18n)">Internationalization Support &#40;i18n&#41;</A></LI>
+	<LI><A href="installing-and-upgrading-bundles.html" title="Installing and Upgrading Bundles">Installing and Upgrading Bundles</A></LI>
+	<LI><A href="assembly.html" title="Assembly">Assembly</A></LI>
+	<LI>Implementing a ResourceProvider</LI>
+	<LI>Using ScriptEngines from scripting.dev.java.net</LI>
+	<LI><A href="http://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=SLINGxSITE&title=Output%20Rewriting%20Pipelines%20(org.apache.sling.rewriter)&linkCreation=true&fromPageId=76393" class="createlink">Rewriter</A></LI>
+</UL>
+
+
+<P>The following pages are outdated or provide outdated information:</P>
+
+<UL>
+	<LI><A href="sling-api.html" title="Sling API">Sling API</A></LI>
+	<LI><A href="launch-sling.html" title="Launch Sling">Launch Sling</A></LI>
+	<LI><A href="http://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=SLINGxSITE&title=Object%20Content%20Mapping&linkCreation=true&fromPageId=76393" class="createlink">Object Content Mapping</A></LI>
+	<LI><A href="dispatching-requests.html" title="Dispatching Requests">Dispatching Requests</A></LI>
+	<LI><A href="default-mapping-and-rendering.html" title="Default Mapping and Rendering">Default Mapping and Rendering</A></LI>
+</UL>
+
+        <DIV class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
+Last modified by bdelacretaz on Fri Sep 04 02:24:18 PDT 2009
+        </DIV>
+    </DIV>
+  </BODY>
+</HTML>
+

Propchange: sling/site/trunk/content/site/advanced-topics.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sling/site/trunk/content/site/advanced-topics.html
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: sling/site/trunk/content/site/advanced-topics.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: sling/site/trunk/content/site/apache-sling-commons-thread-pool.html
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/site/apache-sling-commons-thread-pool.html?rev=1420577&view=auto
==============================================================================
--- sling/site/trunk/content/site/apache-sling-commons-thread-pool.html (added)
+++ sling/site/trunk/content/site/apache-sling-commons-thread-pool.html Wed Dec 12 09:13:50 2012
@@ -0,0 +1,75 @@
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<HTML>
+  <HEAD>
+    <TITLE>Apache Sling - Apache Sling Commons Thread Pool</TITLE>
+    <LINK rel="stylesheet" href="http://sling.apache.org/site/media.data/site.css" type="text/css" media="all">
+    <LINK rel="icon" href="http://sling.apache.org/site/media.data/favicon.ico">
+    <META http-equiv="Content-Type" content="text/html;charset=UTF-8">
+  </HEAD>
+  <BODY>
+    <DIV class="title">
+      <DIV class="logo">
+        <A href="http://sling.apache.org/site/index.html">
+          <IMG border="0" alt="Apache Sling" src="http://sling.apache.org/site/media.data/logo.png">
+        </A>
+      </DIV>
+      <DIV class="header">
+        <A href="http://www.apache.org/">
+          <IMG border="0" alt="Apache" src="http://sling.apache.org/site/media.data/apache.png">
+        </A>
+      </DIV>
+    </DIV>
+    <DIV class="menu">
+<P><B>Documentation</B><BR class="atl-forced-newline">
+<A href="getting-started.html" title="Getting Started">Getting Started</A><BR class="atl-forced-newline">
+<A href="the-sling-engine.html" title="The Sling Engine">The Sling Engine</A><BR class="atl-forced-newline">
+<A href="development.html" title="Development">Development</A><BR class="atl-forced-newline">
+<A href="bundles.html" title="Bundles">Bundles</A><BR class="atl-forced-newline">
+<A href="tutorials-how-tos.html" title="Tutorials & How-Tos">Tutorials &amp; How&#45;Tos</A><BR class="atl-forced-newline">
+<A href="configuration.html" title="Configuration">Configuration</A><BR class="atl-forced-newline">
+<A href="http://sling.apache.org/apidocs/sling6/index.html" class="external-link" rel="nofollow">API docs</A><BR class="atl-forced-newline">
+<A href="http://s.apache.org/sling.wiki" class="external-link" rel="nofollow">Wiki</A><BR class="atl-forced-newline">
+<A href="http://s.apache.org/sling.faq" class="external-link" rel="nofollow">FAQ</A><BR class="atl-forced-newline"></P>
+
+<P><B>Project info</B><BR class="atl-forced-newline">
+<A href="http://sling.apache.org/site/downloads.cgi" class="external-link" rel="nofollow">Downloads</A><BR class="atl-forced-newline">
+<A href="http://www.apache.org/licenses/" class="external-link" rel="nofollow">License</A><BR class="atl-forced-newline">
+<A href="contributing.html" title="Contributing">Contributing</A><BR class="atl-forced-newline">
+<A href="news.html" title="News">News</A><BR class="atl-forced-newline">
+<A href="links.html" title="Links">Links</A><BR class="atl-forced-newline">
+<A href="project-information.html" title="Project Information">Project Information</A><BR class="atl-forced-newline">
+<A href="https://issues.apache.org/jira/browse/SLING" class="external-link" rel="nofollow">Issue Tracker</A><BR class="atl-forced-newline">
+<A href="http://svn.apache.org/viewvc/sling/trunk" class="external-link" rel="nofollow">Browse Source Repository</A><BR class="atl-forced-newline">
+<A href="security.html" title="Security">Security</A><BR class="atl-forced-newline"></P>
+
+<P><B>Sponsorship</B><BR class="atl-forced-newline">
+<A href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</A><BR class="atl-forced-newline">
+<A href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">Become a Sponsor</A><BR>
+<A href="http://www.apache.org/foundation/buy_stuff.html" class="external-link" rel="nofollow">Buy Stuff</A></P>
+
+
+  <IFRAME src="http://www.apache.org/ads/button.html" style="border-width:0; float: left" frameborder="0" scrolling="no" width="135" height="135"></IFRAME>
+  <P style="height: 135px"></P>
+    </DIV>
+    <DIV class="main">
+        <DIV class="breadcrump" style="font-size: 80%;">
+<A href="apache-sling.html" title="Apache Sling Website">Apache Sling Website</A>&nbsp;&gt;&nbsp;<A href="apache-sling.html" title="Apache Sling">Apache Sling</A>&nbsp;&gt;&nbsp;<A href="documentation.html" title="Documentation">Documentation</A>&nbsp;&gt;&nbsp;<A href="bundles.html" title="Bundles">Bundles</A>&nbsp;&gt;&nbsp;<A href="" title="Apache Sling Commons Thread Pool">Apache Sling Commons Thread Pool</A>
+        </DIV>
+<P>The Apache Sling Commons Thread Pool bundle provides a thread pool services. All thread pools are managed by the <EM>org.apache.sling.commons.threads.ThreadPoolManager</EM>. This service can be used to get a thread pool.</P>
+
+<P>Thread pools are managed by name - there is a default thread pool and custom thread pools can be generated on demand using a unique name.</P>
+
+<P>The thread pools are actually wrappers around the thread pool support (executer) from the Java library. The advantage of using this thread pool service is, that the pools can be configured and managed through OSGi configurations. In addition the bundle contains a plugin for the Apache Felix Web Console.</P>
+
+<P>When using the ThreadPoolMananger it is important to release a thread pool using the manager after it has been used.</P>
+        <DIV class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
+Last modified by cziegeler@apache.org on 2011-08-03 03:56:31.0
+        </DIV>
+        <DIV class="trademarkFooter">
+Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
+        </DIV>
+    </DIV>
+  </BODY>
+</HTML>
+

Propchange: sling/site/trunk/content/site/apache-sling-commons-thread-pool.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sling/site/trunk/content/site/apache-sling-commons-thread-pool.html
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: sling/site/trunk/content/site/apache-sling-commons-thread-pool.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: sling/site/trunk/content/site/apache-sling-community-roles-and-processes.html
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/site/apache-sling-community-roles-and-processes.html?rev=1420577&view=auto
==============================================================================
--- sling/site/trunk/content/site/apache-sling-community-roles-and-processes.html (added)
+++ sling/site/trunk/content/site/apache-sling-community-roles-and-processes.html Wed Dec 12 09:13:50 2012
@@ -0,0 +1,121 @@
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<HTML>
+  <HEAD>
+    <TITLE>Apache Sling - Apache Sling Community Roles and Processes</TITLE>
+    <LINK rel="stylesheet" href="http://sling.apache.org/site/media.data/site.css" type="text/css" media="all">
+    <LINK rel="icon" href="http://sling.apache.org/site/media.data/favicon.ico">
+    <META http-equiv="Content-Type" content="text/html;charset=UTF-8">
+  </HEAD>
+  <BODY>
+    <DIV class="title">
+      <DIV class="logo">
+        <A href="http://sling.apache.org/site/index.html">
+          <IMG border="0" alt="Apache Sling" src="http://sling.apache.org/site/media.data/logo.png">
+        </A>
+      </DIV>
+      <DIV class="header">
+        <A href="http://www.apache.org/">
+          <IMG border="0" alt="Apache" src="http://sling.apache.org/site/media.data/apache.png">
+        </A>
+      </DIV>
+    </DIV>
+    <DIV class="menu">
+<P><B>Documentation</B><BR class="atl-forced-newline">
+<A href="getting-started.html" title="Getting Started">Getting Started</A><BR class="atl-forced-newline">
+<A href="the-sling-engine.html" title="The Sling Engine">The Sling Engine</A><BR class="atl-forced-newline">
+<A href="development.html" title="Development">Development</A><BR class="atl-forced-newline">
+<A href="bundles.html" title="Bundles">Bundles</A><BR class="atl-forced-newline">
+<A href="tutorials-how-tos.html" title="Tutorials & How-Tos">Tutorials &amp; How&#45;Tos</A><BR class="atl-forced-newline">
+<A href="configuration.html" title="Configuration">Configuration</A><BR class="atl-forced-newline">
+<A href="http://sling.apache.org/apidocs/sling6/index.html" class="external-link" rel="nofollow">API docs</A><BR class="atl-forced-newline">
+<A href="http://s.apache.org/sling.wiki" class="external-link" rel="nofollow">Wiki</A><BR class="atl-forced-newline">
+<A href="http://s.apache.org/sling.faq" class="external-link" rel="nofollow">FAQ</A><BR class="atl-forced-newline"></P>
+
+<P><B>Project info</B><BR class="atl-forced-newline">
+<A href="http://sling.apache.org/site/downloads.cgi" class="external-link" rel="nofollow">Downloads</A><BR class="atl-forced-newline">
+<A href="http://www.apache.org/licenses/" class="external-link" rel="nofollow">License</A><BR class="atl-forced-newline">
+<A href="contributing.html" title="Contributing">Contributing</A><BR class="atl-forced-newline">
+<A href="news.html" title="News">News</A><BR class="atl-forced-newline">
+<A href="links.html" title="Links">Links</A><BR class="atl-forced-newline">
+<A href="project-information.html" title="Project Information">Project Information</A><BR class="atl-forced-newline">
+<A href="https://issues.apache.org/jira/browse/SLING" class="external-link" rel="nofollow">Issue Tracker</A><BR class="atl-forced-newline">
+<A href="http://svn.apache.org/viewvc/sling/trunk" class="external-link" rel="nofollow">Browse Source Repository</A><BR class="atl-forced-newline">
+<A href="security.html" title="Security">Security</A><BR class="atl-forced-newline"></P>
+
+<P><B>Sponsorship</B><BR class="atl-forced-newline">
+<A href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</A><BR class="atl-forced-newline">
+<A href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">Become a Sponsor</A><BR>
+<A href="http://www.apache.org/foundation/buy_stuff.html" class="external-link" rel="nofollow">Buy Stuff</A></P>
+
+
+  <IFRAME src="http://www.apache.org/ads/button.html" style="border-width:0; float: left" frameborder="0" scrolling="no" width="135" height="135"></IFRAME>
+  <P style="height: 135px"></P>
+    </DIV>
+    <DIV class="main">
+        <DIV class="breadcrump" style="font-size: 80%;">
+<A href="apache-sling.html" title="Apache Sling Website">Apache Sling Website</A>&nbsp;&gt;&nbsp;<A href="apache-sling.html" title="Apache Sling">Apache Sling</A>&nbsp;&gt;&nbsp;<A href="project-information.html" title="Project Information">Project Information</A>&nbsp;&gt;&nbsp;<A href="" title="Apache Sling Community Roles and Processes">Apache Sling Community Roles and Processes</A>
+        </DIV>
+<H1><A name="ApacheSlingCommunityRolesandProcesses-CommunityRolesandProcesses"></A>Community Roles and Processes</H1>
+
+<P>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.</P>
+
+<H2><A name="ApacheSlingCommunityRolesandProcesses-Roles"></A>Roles</H2>
+
+<P>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. </P>
+
+<P>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.</P>
+
+<P>The roles defined here conform to the ASF's <A href="http://www.apache.org/foundation/how-it-works.html#roles" class="external-link" rel="nofollow">definition of roles</A>.</P>
+
+<H3><A name="ApacheSlingCommunityRolesandProcesses-Users"></A>Users</H3>
+
+<P>Users are the people who use any of the products of the Sling project. People in this role are not contributing code, but they are using the products, reporting bugs, making feature requests, testing code, and such. This is by far the most important category of people, since without users there is no reason for Sling. When a user starts to contribute code or documentation patches, they become a <EM>Contributor</EM>.</P>
+
+<H3><A name="ApacheSlingCommunityRolesandProcesses-Contributors"></A>Contributors</H3>
+
+<P>Contributors are the people who write code or documentation patches or contribute positively to the project in other ways. A volunteer's contribution is always recognized.</P>
+
+<H3><A name="ApacheSlingCommunityRolesandProcesses-Committers"></A>Committers</H3>
+
+<P>Contributors who give frequent and valuable contributions to a subproject of Sling can have their status promoted to that of a <EM><A href="http://www.apache.org/dev/committers.html" class="external-link" rel="nofollow">Committer</A></EM>. A Committer has write access to Sling's source code repository. Contributors of documentation are eligible as committers in the same way as contributors of pure code.</P>
+
+<H3><A name="ApacheSlingCommunityRolesandProcesses-PMCMembers"></A>PMC Members</H3>
+
+<P>Committers showing continued interest in the project and taking an active part in the evolution of the project may be elected as  <EM><A href="http://www.apache.org/dev/pmc.html" class="external-link" rel="nofollow">PMC</A> members</EM>. The PMC (Project Management Committee) is the official managing body of project and is responsible for setting its overall direction.</P>
+
+<H2><A name="ApacheSlingCommunityRolesandProcesses-Processes"></A>Processes</H2>
+
+<H3><A name="ApacheSlingCommunityRolesandProcesses-BecomingaUserorContributor"></A>Becoming a User or Contributor</H3>
+
+<P>There is no requirement for becoming a User or Contributor; these roles are open to everyone.</P>
+
+
+<H3><A name="ApacheSlingCommunityRolesandProcesses-BecomingaCommitter"></A>Becoming a Committer</H3>
+
+<P>In order for a Contributor to become a Committer, a member of the PMC can nominate that Contributor to the PMC. Once a Contributor is nominated, the PMC calls a vote on the PMC private mailing list.</P>
+
+<P>If there are at least three positive votes and no negative votes after three days (72 hours), the results are posted to the PMC private mailing list.</P>
+
+<P>Upon a positive vote result, the Contributor will be emailed by the PMC to invite him/her to become a Committer. If the invitation is accepted, an announcement about the new Committer is made to the developer mailing list and he/she is given write access to the source code repository. A Contributor will not officially become a Committer member until the appropriate legal paperwork is submitted.</P>
+
+
+<H3><A name="ApacheSlingCommunityRolesandProcesses-BecomingaPMCMember"></A>Becoming a PMC Member</H3>
+
+<P>In order for a Committer to become a member of the PMC, a member of the PMC can nominate that Committer to the PMC. Once a Committer is nominated, the PMC calls a vote on the PMC private mailing list.</P>
+
+<P>If there are at least three positive votes and no negative votes after three days (72 hours), the results are posted to the PMC private mailing list.</P>
+
+<P>To have the Committer being accepted as a PMC member, the ASF Board has acknowledge the addition to the PMC. The Committer should not be consulted about his/her desire to become a PMC member before the board acknowledgement, or be informed that they are being considered, since this could create hard feelings if the vote does not pass.</P>
+
+<P>Upon a positive vote result, the PMC member will be emailed by the PMC to invite him/her to become a PMC member. If the invitation is accepted, an announcement about the new PMC member is made to the developer mailing list.</P>
+        <DIV class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
+Last modified by fmeschbe on 2009-12-07 08:14:36.0
+        </DIV>
+        <DIV class="trademarkFooter">
+Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
+        </DIV>
+    </DIV>
+  </BODY>
+</HTML>
+

Propchange: sling/site/trunk/content/site/apache-sling-community-roles-and-processes.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sling/site/trunk/content/site/apache-sling-community-roles-and-processes.html
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: sling/site/trunk/content/site/apache-sling-community-roles-and-processes.html
------------------------------------------------------------------------------
    svn:mime-type = text/plain