clerezza-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r...@apache.org
Subject svn commit: r1679996 [3/7] - in /clerezza/site/production: ./ architecture/images/ clerezza-uima/ clerezza-uima/index-content-el/ content-el/ content-el/2-content-el/ content-el/3-content-el/ contributing/ contributing/index-content-el/ contributing/in...
Date Mon, 18 May 2015 11:48:00 GMT
Modified: clerezza/site/production/documentation/index.html
URL: http://svn.apache.org/viewvc/clerezza/site/production/documentation/index.html?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/documentation/index.html (original)
+++ clerezza/site/production/documentation/index.html Mon May 18 11:47:57 2015
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
           <head>
             <link type="text/css" href="/style/style.css" rel="stylesheet"/>
-            <title>http://clerezza.apache.org/documentation/title
+            <title>Documentation
 </title>
           </head>
           <body>
@@ -46,9 +46,615 @@
             </div>
 
             <div class="zz-content">
-              <h1>http://clerezza.apache.org/documentation/title
+              <h1>Documentation
 </h1>
-<div class="tx-content">http://clerezza.apache.org/documentation/content
+<div class='tx-content'>
+
+	<div><h2>Platform Content Module
+</h2>
+<div class='tx-content'>
+
+	<div>The Platform Content Module (Bundle-ID: org.apache.clerezza.platform.content) provides tools to upload, view and edit structured and binary content. It provides basic templates for displaying content as well as an editor (<a xmlns="http://www.w3.org/1999/xhtml" bitly="BITLY_PROCESSED" href="http://clerezza.apache.org/bundle-doc/org.apache.clerezza.platform.content/discobits-editor">the Discobits Editor</a>) to edit content. It also allows putting binary content using tools that support HTTP PUT (such as curl).
+</div>
+
+	<div><h3>Uploading Binary Content
+</h3>
+<div class='tx-content'>
+
+	<div>The attribute "binary" may sound a bit confusing when referring to content as all content stored on a computer is binary. We use the term here for arbitrary content which can be stored on the platform and retrieved as binary identical copy. For example if an RDF/XML file is uploaded as binary content one will be able to retrieve a copy that is identical to the original file, i.e. including comments and possible syntax error, would the same file be uploaded as graph (rather than binary content) the file would be parsed on upload (producing an exception in the case of syntax error) and one will be able to access a serialization of that graph in any supported RDF format, the downloaded documents will describe the same graph but not (necessarily) be binary identical to the uploaded document.
+</div>
+
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h2>The Discobits Editor
+</h2>
+<div class='tx-content'>
+
+	<div>The discobits editor allow editing stuctured content. The overall structure is stored in RDF the actual bits of rich text are stored in the XHTML format. The editor refects this by providing widgets for editing the structure and an XHTML editor (mozile) for editing bits of XHTML.
+</div>
+
+</div>
+</div>
+
+	<div><h2>SCB Web
+</h2>
+<div class='tx-content'>
+
+	<div>The bundle SCB Web allows access to SCB graphs over HTTP with JAX-RS.
+</div>
+
+	<div><h3>Upload Triples with a POST Request
+</h3>
+<div class='tx-content'>To upload triples with a POST request, a client can use the URI path "/graph" and place the triples and other required information into the body as multipart/form-data which consists of
+<ul xmlns="http://www.w3.org/1999/xhtml">
+<li>a file labeled "graph" containing the triples and specifying the mime-type.</li>
+<li>a text field labeled "name" specifying the name of the MGraph. If an MGraph with this name does not already exist, a new one will be created.</li>
+<li>an optional text field labeled "mode" specifying the mode. If the mode is "replace", existing triples of the MGraph will be deleted before new triples are added. If the mode is not specified or is "append", posted triples will be added to the MGraph.</li>
+<li>an optional text field labeled "redirection" specifying an URI which the client should be redirected to in case of success.</li>
+</ul>
+A response with the status code BAD REQUEST (400) is returned if the required data are missing. If the request can be satisfied, one of the following responses is returned:
+<ul xmlns="http://www.w3.org/1999/xhtml">
+<li>SEE OTHER (303), if redirection is specified.</li>
+<li>CREATED (201), if redirection is not specified and a new MGraph is created.</li>
+<li>NO CONTENT (204), if redirection is not specified and no new MGraph is created.</li>
+</ul>
+<p xmlns="http://www.w3.org/1999/xhtml">
+For your convenience you may access a web-form at the Uri-Path <code>/graph/upload-form</code>.</p>
+
+</div>
+</div>
+
+	<div><h3>Backup of Triple Collections
+</h3>
+<div class='tx-content'>The platform allows the current user to download all triple collections that he has access to through the URI path "/admin/backup/download". The resulted file is a compressed archive in zip format. All triple collections in this file are serialized in N-Triples format. Furthermore, a file called "triplecollections.nt" is contained in backup.zip, which describes the mapping of file names to triple collection names.
+
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h2>Platform Documentation Aggregator
+</h2>
+<div class='tx-content'>
+
+	<div>Any bundle may provide some user documentation. This documentation is provided by a file named "documentation.nt" in the META-INF directory of the bundle-jar. This file can provide multiple documentation resources described using the discobits ontology. The resources have UriRefs starting with "bundle:///", this will be replaced with http://&lt;hostname&gt;/bundle-doc/&lt;Bundle-SymbolicName&gt; by the documentation aggregator which provides the graph urn:x-localinstance:/documentation.graph containing the documentation of all installed bundles. To reference a documentation entry from another bundle the bundle-uri can contain a Borundle-SymbolicName after the second slash, e.g. bundle://org.apache.clerezza.platform.content/intro.
+</div>
+
+	<div>By convention any bundle documentation provides a resource named bundle:///intro introducing the functionality of the bundle.
+</div>
+
+	<div><h3>Writing Documentation
+</h3>
+<div class='tx-content'>
+
+	<div>The recommended way to create and edit the documentation of a bundle is as follows:<ul xmlns="http://www.w3.org/1999/xhtml"><li>Launch clerezza (in the following we assume its running on localhost:8080)</li><li>Install and start the stable n-triples serialization provider (to make the stored files more suitable for version control) by entering on the commmand line: <code>start("mvn:org.apache.clerezza/rdf.stable.serializer")</code></li>
+<li>Install and start the file storage provider(to access local rdf files as named graphs)  by entering on the commmand line: <code>start("mvn:org.apache.clerezza/rdf.file.storage")</code><code></code></li><li>If it doesn't exist yet create an empty file src/main/resources/META-INF/documentation.nt in the project to be documented and </li><li>Open http://clerezza.apache.org/tools/editor/, enter the file-uri of the previously created file as Graph and a bundle-uri (such as bundle:///intro) as resource</li><li>edit, save, ship your bundle</li></ul>
+</div>
+
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h2>Documentation Viewer
+</h2>
+<div class='tx-content'>
+
+	<div>The documentation viewer provides access to the documentation (provided by the different modules) at <a xmlns="http://www.w3.org/1999/xhtml" href="/documentation">/documentation</a>.
+</div>
+
+	<div>The documentation is ordered so that the after properties http://clerezza.org/2009/08/documentation#after are satisfied. When the documentation is written with the discobits editor such a property is typically set by adding something like the folleowing in the RDF editing mode to the xml element representing the resource: &lt;after xmlns="http://clerezza.org/2009/08/documentation#" rdf:resource="bundle://org.apache.clerezza.platform.content/discobits-editor"/ /&gt;
+</div>
+
+</div>
+</div>
+
+	<div><h2>Default 404 Response Provider 
+</h2>
+<div class='tx-content'>
+
+	<div>The default 404 Response Provider budle with id org.apache.clerezza.platform.content.default404 provides an implementation of the PageNotFoundService (package/bundle: org.apache.clerezza.platform.content) that the delivers the response retrieved from the uri with the same protocol and host and the /page-not-found. For example if 404 is to be generated for http://example.org/foo/bar the entity obtained by dereferencing http://example.org/page-not-found will be returned.
+</div>
+
+	<div><h3>Uploading 404 response page with curl
+</h3>
+<div class='tx-content'>example: curl -u admin:admin -H "Content-type: text/html" -T tmp.html http://127.0.0.1:8080/page-not-found
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h2>overview
+</h2>
+<div class='tx-content'><h3>Introduction
+</h3>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
+			Smart Content Binding (SCB) is an open source framework developed by 
+			clerezza.org aiming primarily at providing a java implementation of the 
+			graph data model specified by W3C RDF  and 
+			functionalities to operate on that data model. SCB offers a service 
+			interface to access multiple named graphs and it can use various 
+			providers to manage RDF graphs in a technology specific manner, e.g., 
+			using Jena <a href="#ref2"> </a> (TBD) or Sesame<a href="#ref3"> </a>. 
+			It also provides façades that allow an application to use Jena or Sesame (TBD) 
+			APIs to process RDF graphs (note that the choice of a façade is independent of
+                        the chosen backend; you can for example use the Jena façade to write
+                        your code against the Jena API while using the Sesame provider to store
+                        your data in a Sesame store). 
+			Furthermore, SCB offers a serialization and a parsing service to convert 
+			a ImmutableGraph into a certain representation (format) and vice versa. In order 
+			to support ontologies usage, SCB provides a tool to convert ontologies 
+			defined in various formats including RDF/XML into Java classes.
+		</p>
+
+</div>
+</div>
+</div>
+
+	<div><h2>ScalaServerPages
+</h2>
+<div class='tx-content'>
+
+	<div>ScalaServerPages allow using scala to render a response resource to a particular output format.
+</div>
+
+	<div><h3>Example
+</h3>
+<div class='tx-content'>
+
+	<div><div xmlns="http://www.w3.org/1999/xhtml">The following shows a simple ScalaServerPage:</div>
+		<div xmlns="http://www.w3.org/1999/xhtml" class="tx-blockcode">
+//a ScalaServePage to render a http://clerezza.org/2009/05/usermanager#UserPermissionPage
+def um(s: Any) = new UriRef("http://clerezza.org/2009/05/usermanager#"+s)
+def perm(s: Any) = new UriRef("http://clerezza.org/2008/10/permission#"+s)
+&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
+	&lt;head&gt;
+    	&lt;title&gt;Permissions for user {res/um("user")/FOAF.name}&lt;/title&gt;
+	&lt;/head&gt;
+	&lt;body&gt;
+	{for (permission &lt;- res/um("permission")) yield
+		&lt;div id="permission"&gt;
+			{permission/perm("javaPermissionEntry")*}
+		&lt;/div&gt;
+	}
+	&lt;/body&gt;
+
+&lt;/html&gt;
+		</div>
+
+</div>
+
+	<div>The following iterates over an rdf:List represented by the root-resource
+<div xmlns="http://www.w3.org/1999/xhtml" class="tx-blockcode">
+//a ScalaServePage to render a http://clerezza.org/2009/05/renderletmanager#RenderletManagerPage
+def typerendering(s: Any) = new UriRef("http://clerezza.org/2009/04/typerendering#"+s)
+&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
+	&lt;head&gt;
+    	&lt;title&gt;Listing renderlets&lt;/title&gt;
+	&lt;/head&gt;
+	&lt;body&gt;
+	{for (renderlet &lt;- res!!) yield
+		&lt;div id="renderlet"&gt;
+			type: {renderlet*}
+		&lt;/div&gt;
+	}
+	&lt;/body&gt;
+&lt;/html&gt;
+</div>
+</div>
+
+	<div>You can sort rdf:List using the sort-method:
+<div xmlns="http://www.w3.org/1999/xhtml" class="tx-blockcode">
+//sorting the URIs of a http://clerezza.org/2009/05/renderletmanager#RenderletManagerPage
+&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
+	&lt;head&gt;
+    	&lt;title&gt;Listing renderlets&lt;/title&gt;
+	&lt;/head&gt;
+	&lt;body&gt;
+	{for (renderlet &lt;- (res!!).sort((a,b) =&gt; ((a*) &lt; (b*)))) yield
+		&lt;div id="renderlet"&gt;
+			type: {renderlet*}
+		&lt;/div&gt;
+	}
+	&lt;/body&gt;
+&lt;/html&gt;
+</div>
+</div>
+
+	<div>same for properties:
+<div xmlns="http://www.w3.org/1999/xhtml" class="tx-blockcode">
+//a ScalaServePage to render a http://clerezza.org/2009/05/usermanager#UserPermissionPage
+//sorting by java-permission-entry
+def um(s: Any) = new UriRef("http://clerezza.org/2009/05/usermanager#"+s)
+def perm(s: Any) = new UriRef("http://clerezza.org/2008/10/permission#"+s)
+&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
+	&lt;head&gt;
+    	&lt;title&gt;Permissions for user {res/um("user")/FOAF.name}&lt;/title&gt;
+	&lt;/head&gt;
+	&lt;body&gt;
+	{for (permission &lt;- (res/um("permission"))
+	    .sort((a,b) =&gt; (a/perm("javaPermissionEntry")*) &lt; 
+                    (b/perm("javaPermissionEntry")*))) yield
+		&lt;div id="permission"&gt;
+			{permission/perm("javaPermissionEntry")*}
+		&lt;/div&gt;
+	}
+	&lt;/body&gt;
+
+&lt;/html&gt;
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h3>How does it work
+</h3>
+<div class='tx-content'>
+
+	<div>A ScalaServerPages is transformed into a Scala Source file and	compiled. The content of the ScalaServerPage becomes the content of	a method returning AnyRef, the returned Object will be transformed	to a String and the to a byte-array to be written to the response stream
+</div>
+
+</div>
+</div>
+
+	<div><h3>Avialable values
+</h3>
+<div class='tx-content'>
+
+	<div><ul xmlns="http://www.w3.org/1999/xhtml">
+<li>renderer: CallbackRenderer, used to delegate to another Renderlet usally not used directly but wia the render method</li>
+<li>res: GraphNode, the main response resource, as a GraphNode it is dynamically converted to a RichGraphNode allowing the functions provided by org.apache.clerezza.utils.scala</li>
+<li>val context:GraphNode, a GraphNode with contextual information not specifically related to the current request, such as description on the current user </li>
+<li>val mode: String, the rendering mode</li>
+<li>val uriInfo: UriInfo, the UriRinf of the request, allows access to the request URI and query parameters</li>
+<li>val sharedRenderingValues: java.util.Map[String, Object], a map used to share values across the different renderlets and ScalaServerPages involved in the creation of a representation, typically used to prevent repeated computation of the same values. Typically this map is not accessed directly, instead values are retrived with $("key") and set with $("key") = newvalue</li>
+</ul>
+</div>
+
+</div>
+</div>
+
+	<div><h3>Accessing OSGi services
+</h3>
+<div class='tx-content'>
+
+	<div>ScalaServerPages are used for rendering information, therefore services are typically accessed when producing the RDF and not from the ScalaServePage. Still you can access designated services from the ScalaServerPages, you get an instance with $[serviceInterface], eg.:
+<div xmlns="http://www.w3.org/1999/xhtml" class="tx-blockcode">
+$[AdvertisingService].getBanner
+</div>
+
+You can only access services that are annotated with @org.apache.clerezza.platform.typerendering.WebRenderingService
+</div>
+
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h2>Clerezza - Platform Type Rendering Utilities for Scala
+</h2>
+<div class='tx-content'>
+
+	<div>The Type-Rendering Utilities for Scala allow to write Renderlets in Scala more easily. Apart from a having to add a bit of code to produce complete Scala classes they provide the same functionality as available in ScalaServerPages, additionally the Renderlet can register itself for a specified RDF type and rendering mode.
+</div>
+
+	<div>See the ScalaDoc for PageRenderlet and its superclass AbstractRenderlet for usage instrcutions. Note that the resulting rendelerlets need to be registered as service, in serviceComponents.xml the respective section would look like this: 
+<pre xmlns="http://www.w3.org/1999/xhtml">
+&lt;scr:component enabled="true" name="org.example.html.BookFormRenderlet"&gt;
+	&lt;implementation class="org.example.html.BookFormRenderlet"/&gt;
+	&lt;service servicefactory="false"&gt;
+		&lt;provide interface="org.apache.clerezza.platform.typerendering.Renderlet"/&gt;
+	&lt;/service&gt;
+	&lt;property name="service.pid" value="org.example.html.BookFormRenderlet"/&gt;
+	&lt;reference name="renderletManager"
+	interface="org.apache.clerezza.platform.typerendering.RenderletManager"
+	cardinality="1..1" policy="static" bind="bindRenderletManager" unbind="unbindRenderletManager"/&gt;
+&lt;/scr:component&gt;
+</pre>
+</div>
+
+</div>
+</div>
+
+	<div><h2>Smart Content Binding
+</h2>
+<div class='tx-content'>
+
+	<div>Smart Content Binding is just the name for the RDFsupport in clerezza.
+</div>
+
+	<div>The RDF support in Apache Clerezza
+</div>
+
+	<div><h3>Overview
+</h3>
+<div class='tx-content'>
+
+	<div><h4>Introduction
+</h4>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
+			Smart Content Binding (SCB) is an open source framework developed by 
+			clerezza.org aiming primarily at providing a java implementation of the 
+			graph data model specified by W3C RDF  and 
+			functionalities to operate on that data model. SCB offers a service 
+			interface to access multiple named graphs and it can use various 
+			providers to manage RDF graphs in a technology specific manner, e.g., 
+			using Jena <a href="#ref2"> </a> (TBD) or Sesame<a href="#ref3"> </a>. 
+			It also provides façades that allow an application to use Jena or Sesame (TBD) 
+			APIs to process RDF graphs (note that the choice of a façade is independent of
+                        the chosen backend; you can for example use the Jena façade to write
+                        your code against the Jena API while using the Sesame provider to store
+                        your data in a Sesame store). 
+			Furthermore, SCB offers a serialization and a parsing service to convert 
+			a ImmutableGraph into a certain representation (format) and vice versa. In order 
+			to support ontologies usage, SCB provides a tool to convert ontologies 
+			defined in various formats including RDF/XML into Java classes.
+		</p>
+
+</div>
+</div>
+
+	<div><h4>Architecture
+</h4>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
+			SCB comprises the following architectural components as depicted in Fig. 1:
+		</p>
+		<ul xmlns="http://www.w3.org/1999/xhtml">
+			<li>Core</li>
+			<li>Facades</li>
+			<li>Utilities</li>
+			<li>Storage Providers</li>
+			<li>Parsing Providers</li>
+			<li>Serializing Providers</li>
+			<li>Ontologies Tool</li>
+		</ul>
+
+		<p xmlns="http://www.w3.org/1999/xhtml">
+			<img alt="SCB Architecture" src="images/scb_architecture.png"/>
+			<br/><i>Figure 1: SCB Architecture</i>
+		</p>
+		<p xmlns="http://www.w3.org/1999/xhtml">
+			The Core contains interface definitions of the RDF ImmutableGraph data model and its 
+			implementation. The three main classes are <code>ImmutableGraph</code>, <code>Graph</code>, 
+			and <code>Graph</code>. The class <code>ImmutableGraph</code> represents an 
+			immutable RDF ImmutableGraph, as such its identity criterion is defined in terms of 
+			graph-isomorphism. The class <code>Graph</code> represents a mutable RDF ImmutableGraph, 
+			which enables triples to be added to or removed from a ImmutableGraph. The class 
+			<code>Graph</code> is the super class of both the class <code>ImmutableGraph</code> 
+			and <code>M</code><code></code><code></code><code></code><code></code><code></code><code></code><code></code><code>ImmutableGraph</code>. 
+			SCB Core provides three services: <code>TcManager</code> [<a href="#ref4">4</a>] allows access to 
+			the various <code>Graph</code>s, <code>Parser</code> [<a href="#ref5">5</a>] and 
+			<code>Serializer</code> [<a href="#ref6">6</a>] to allow reading and writing graphs from and to 
+			various formats. In an OSGi environment these services are accessed using the 
+			service registry or injected using OSGi Declarative Services. In a non OSGi environment 
+			static factory methods are used to return an instance. 
+			The <code>TcManager</code> delegates actual processing tasks to a specific Storage Provider 
+			chosen from a set of Storage Providers based on their priority number (weight). 
+			Storage Providers can be dynamically bound to or unbound from the Core. 
+			The functionality required by the Parser and Serializer is delegated to registered 
+			Parsing and Serializing Providers respectively, according to their capability 
+			(supported formats). Later registered providers shadow previous ones for the same format.
+		</p>
+
+		<p xmlns="http://www.w3.org/1999/xhtml">
+			The current implementation of SCB includes a Jena Façade. The Jena Façade allows an 
+			application to use Jena API to manipulate a TC. 
+		</p>
+		<p xmlns="http://www.w3.org/1999/xhtml">
+			In order to ease operations on a resource in a TC, the Utilities component provides 
+			a class with a set of useful methods, e.g., to delete all triples (statements) with 
+			the resource as subject and a specified predicate. 
+		</p>
+		<p xmlns="http://www.w3.org/1999/xhtml">
+			Finally, the Ontologies Tool contains a standalone application called SchemaGen to 
+			generate the Java source code with constants from an ontology description.
+		</p>
+
+</div>
+</div>
+
+	<div><h4>Artifacts
+</h4>
+<div class='tx-content'>		<p xmlns="http://www.w3.org/1999/xhtml">
+			Each architectural component described above comprises one or more artifacts as 
+			listed in Table 1.
+			<br/><br/><i>Table 1: Artifacts of each architectural components</i><br/>
+		</p>
+		<table xmlns="http://www.w3.org/1999/xhtml" border="1" cellpadding="4">
+			<tr>
+				<th>Architectural Component</th>
+				<th>Artifact</th>
+
+				<th>Artifact Type</th>
+			</tr>
+			<tr>
+				<td rowspan="2">Core</td>
+				<td>org.apache.clerezza.rdf.core</td>
+				<td>Jar and OSGi bundle</td>
+			</tr>
+
+			<tr>
+				<td>org.apache.clerezza.rdf.core.test</td>
+				<td>Jar and OSGi bundle</td>
+			</tr>
+			<tr>
+				<td>Façades</td>
+				<td>org.apache.clerezza.rdf.jena.facade</td>
+
+				<td>Jar and OSGi bundle</td>
+			</tr>
+			<tr>
+				<td>Utilities</td>
+				<td>org.apache.clerezza.rdf.utils</td>
+				<td>Jar and OSGi bundle</td>
+			</tr>
+
+			<tr>
+				<td rowspan="2">Storage Providers</td>
+				<td>org.apache.clerezza.rdf.sesame.storage</td>
+				<td>Jar and OSGi bundle</td>
+			</tr>
+			<tr>
+				<td>org.apache.clerezza.rdf.jena.storage</td>
+
+				<td>Jar and OSGi bundle</td>
+			</tr>
+			<tr>
+				<td>Parsing Providers</td>
+				<td>org.apache.clerezza.rdf.jena.parser</td>
+				<td>Jar and OSGi bundle</td>
+			</tr>
+
+			<tr>
+				<td>Serializing Providers</td>
+				<td>org.apache.clerezza.rdf.jena.serializer</td>
+				<td>Jar and OSGi bundle</td>
+			</tr>
+			<tr>
+				<td>Ontologies Tool</td>
+
+				<td>org.apache.clerezza.rdf.tool.schemagen</td>
+				<td>Executable jar</td>
+			</tr>
+		</table>
+
+</div>
+</div>
+
+	<div><h4>Building SCB
+</h4>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
+			If you want to build SCB from its sources, you need JDK version 1.6 to compile. 
+			Maven version 2.0.9 has been used to build SCB.
+		</p>
+
+</div>
+</div>
+
+	<div><h4>Developing Applications using SCB
+</h4>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
+			To develop an application on top of SCB, you need to have the Core and optionally 
+			Utilities and Façades.
+		</p>
+
+</div>
+</div>
+
+	<div><h4>Deploying an Application Requiring SCB
+</h4>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
+			To deploy an application which uses SCB, Java(TM) SE Runtime Environment 6 or 
+			higher is needed. If the application does not use OSGi, then the SCB Core, 
+			the jars required for compilation, as well as the needed implementations 
+			(typically one provider for storage, serialization, and parsing) must be in 
+			the classpath. If the application uses OSGi, these jars are loaded as bundles, 
+			and to run in OSGi, Declarative Services must be enabled (see the documentation 
+			of your OSGi container). 
+		</p>
+		<p xmlns="http://www.w3.org/1999/xhtml">
+
+			The use of SCB in an OSGi environment has been tested with Apache Felix [<a href="#ref7">7</a>]
+			and Eclipse Equinox [<a href="#ref8">8</a>].
+		</p>
+</div>
+</div>
+
+	<div><h4>Extending and Customizing SCB
+</h4>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
+			Since SCB applies a Service Oriented Architecture approach, following components 
+			can be easily extended: Storage Providers, Parsing Providers, and Serializing 
+			Providers. Using OSGi, new bundles just need to implement the required service 
+			interfaces. To be located outside an OSGi environment, they should also provide 
+			files in "META-INF/services" for the services they expose. Consult the SCB JavaDoc 
+			for more information [<a href="#ref9">9</a>].
+		</p>
+
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h3>Developing with SCB
+</h3>
+<div class='tx-content'>
+
+	<div>Once you have an overview over SCB the best resource is the javadoc API documentation. The following gives hints and describes best prectices on particular toopics.
+</div>
+
+	<div><h4>When to use locks?
+</h4>
+<div class='tx-content'>
+
+	<div>The MGraphs returned by the TcManager are lockable. A LockableMGraph has a getLock()-Method returning a ReadWriteLock. Write-Locks can be used if the applications logic requires it, i.e. when it wants to ensure that the Graph isn't modified by another thread while some triples are being added or removed bading on the presence or absence of other triples (note that its a violation of the open world assumption if the absence of some triples causes some actions to be done).
+</div>
+
+	<div>Readlocks must be used when multiple threads access an Graph and a method returning an Iterator is used. In this case a read-lock must be obtained before calling the method on Graph and released only after the last usage of the returned iterator. Failing to do so may result in ConcurrentModification when another threads modifies the Graph while we are iterating over it.
+</div>
+
+	<div>Currently (this might change infuture versions), it is also necessary to lock on the MGraphs against which a sparql select queries is directed. The lock on the MGraphs should be kept till iteration over the resultset is compleeted.
+</div>
+
+	<div><h5>How do I create deadlock-safe locks?
+</h5>
+<div class='tx-content'>There is no such thing, if you try to get a write-lock withing a read-locked section you'll have a deadlock.
+</div>
+</div>
+
+	<div><h5>What is the best way to Lock a ImmutableGraph in a service? (the developers, wich use the service know nothing about the lock and set own locks - so the service needs to check something) 
+</h5>
+<div class='tx-content'>The service documentation should be clear about which MGarphs the service might be writing to, so the caller can make sure it holds no read-lock on one of these Graph.
+</div>
+</div>
+
+	<div><h5>Where do I find additional documenation and source-code examples?
+</h5>
+<div class='tx-content'>See the documentation and tutorials for the java.util.concurrent.locks package.
+</div>
+</div>
+
+</div>
+</div>
+
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h2>Offline-Site generator
+</h2>
+<div class='tx-content'>
+
+	<div>The offline-site generator allows to generate representations of the resources described in the content graph for offline usage of for deployment on a traditional file-based webserver.
+</div>
+
+	<div>An offline site can be retrieved at /admin/offline/download with the following query parameters:
+	 <ul xmlns="http://www.w3.org/1999/xhtml"> <li> 1 baseUri: for all resources with a URI starting with this Uri
+	 creation of the specified target fomats is attempted</li>
+<li> 1 targetUri: where base-uri appears in the representations it is replaces with target-uri</li>
+<li>0 or 1 rootLinkPrefix: prefix to be prepended to links with Uri reference starting with a slash</li>
+<li>1 - n formatExtension: the file- extensions represing the different formats to be produced, the extensions are added to the generated files where the file would not otherwise end with the extension.</li>
+</ul>
+</div>
+
+	<div>Example: http://clerezza.apache.org/admin/offline/download?baseUri=http://clerezza.apache.org/&amp;targetUri=http://incubator.apache.org/clerezza/test&amp;formatExtension=xhtml&amp;formatExtension=rdf&amp;formatExtension=png&amp;formatExtension=html&amp;formatExtension=js&amp;rootLinkPrefix=/clerezza/test
+</div>
+
+</div>
+</div>
+
 </div>
 
             </div>

Modified: clerezza/site/production/documentation/index.rdf
URL: http://svn.apache.org/viewvc/clerezza/site/production/documentation/index.rdf?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/documentation/index.rdf (original)
+++ clerezza/site/production/documentation/index.rdf Mon May 18 11:47:57 2015
@@ -2,18 +2,80 @@
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:j.0="http://discobits.org/ontology#" > 
   <rdf:Description rdf:nodeID="A0">
-    <j.0:pos>1</j.0:pos>
-    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
-    <j.0:holds rdf:resource="http://clerezza.apache.org/documentation/content"/>
+    <j.0:infoBit rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Documentation</j.0:infoBit>
+    <rdf:type rdf:resource="http://discobits.org/ontology#XHTMLInfoDiscoBit"/>
   </rdf:Description>
   <rdf:Description rdf:nodeID="A1">
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0</j.0:pos>
+    <j.0:holds rdf:nodeID="A0"/>
     <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
-    <j.0:pos>0</j.0:pos>
-    <j.0:holds rdf:resource="http://clerezza.apache.org/documentation/title"/>
   </rdf:Description>
-  <rdf:Description rdf:about="http://clerezza.apache.org/documentation/">
-    <j.0:contains rdf:nodeID="A1"/>
+  <rdf:Description rdf:nodeID="A2">
+    <j.0:holds rdf:resource="http://clerezza.apache.org/bundle-doc/org.apache.clerezza.tools.offline/intro"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">9</j.0:pos>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A3">
+    <j.0:holds rdf:resource="http://clerezza.apache.org/bundle-doc/org.apache.clerezza.rdf.core/smart-content-binding"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">8</j.0:pos>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A4">
+    <j.0:contains rdf:nodeID="A3"/>
+    <j.0:contains rdf:nodeID="A5"/>
+    <j.0:contains rdf:nodeID="A6"/>
+    <j.0:contains rdf:nodeID="A7"/>
+    <j.0:contains rdf:nodeID="A8"/>
+    <j.0:contains rdf:nodeID="A9"/>
+    <j.0:contains rdf:nodeID="A10"/>
+    <j.0:contains rdf:nodeID="A2"/>
+    <j.0:contains rdf:nodeID="A11"/>
+    <j.0:contains rdf:nodeID="A12"/>
+    <rdf:type rdf:resource="http://discobits.org/ontology#OrderedContent"/>
+    <j.0:contains rdf:nodeID="A13"/>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A12">
+    <j.0:holds rdf:resource="http://clerezza.apache.org/bundle-doc/org.apache.clerezza.platform.typerendering.scalaserverpages/intro"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">6</j.0:pos>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A13">
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">1</j.0:pos>
+    <j.0:holds rdf:resource="http://clerezza.apache.org/bundle-doc/org.apache.clerezza.platform.content/discobits-editor"/>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A10">
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">7</j.0:pos>
+    <j.0:holds rdf:resource="http://clerezza.apache.org/bundle-doc/org.apache.clerezza.platform.typerendering.scala/intro"/>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A9">
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0</j.0:pos>
+    <j.0:holds rdf:resource="http://clerezza.apache.org/bundle-doc/org.apache.clerezza.platform.content/platform-content"/>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A7">
+    <j.0:holds rdf:resource="http://clerezza.apache.org/bundle-doc/org.apache.clerezza.rdf.core/smart-content-binding-content-content-el/8"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">5</j.0:pos>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A8">
+    <j.0:holds rdf:resource="http://clerezza.apache.org/bundle-doc/org.apache.clerezza.rdf.web.core/scb-web"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">10</j.0:pos>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A6">
+    <j.0:holds rdf:resource="http://clerezza.apache.org/bundle-doc/org.apache.clerezza.platform.documentation/intro"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">2</j.0:pos>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A14">
     <rdf:type rdf:resource="http://discobits.org/ontology#TitledContent"/>
-    <j.0:contains rdf:nodeID="A0"/>
+    <j.0:contains rdf:nodeID="A1"/>
+    <j.0:contains rdf:nodeID="A15"/>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A5">
+    <j.0:holds rdf:resource="http://clerezza.apache.org/bundle-doc/org.apache.clerezza.platform.documentation.viewer/intro"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">3</j.0:pos>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A15">
+    <j.0:holds rdf:nodeID="A4"/>
+    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">1</j.0:pos>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A11">
+    <j.0:holds rdf:resource="http://clerezza.apache.org/bundle-doc/org.apache.clerezza.platform.content.default404/intro"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">4</j.0:pos>
   </rdf:Description>
 </rdf:RDF>

Modified: clerezza/site/production/documentation/index.xhtml
URL: http://svn.apache.org/viewvc/clerezza/site/production/documentation/index.xhtml?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/documentation/index.xhtml (original)
+++ clerezza/site/production/documentation/index.xhtml Mon May 18 11:47:57 2015
@@ -1,7 +1,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
           <head>
             <link type="text/css" href="/style/style.css" rel="stylesheet"/>
-            <title>http://clerezza.apache.org/documentation/title
+            <title>Documentation
 </title>
           </head>
           <body>
@@ -46,9 +46,615 @@
             </div>
 
             <div class="zz-content">
-              <h1>http://clerezza.apache.org/documentation/title
+              <h1>Documentation
 </h1>
-<div class="tx-content">http://clerezza.apache.org/documentation/content
+<div class='tx-content'>
+
+	<div><h2>Platform Content Module
+</h2>
+<div class='tx-content'>
+
+	<div>The Platform Content Module (Bundle-ID: org.apache.clerezza.platform.content) provides tools to upload, view and edit structured and binary content. It provides basic templates for displaying content as well as an editor (<a xmlns="http://www.w3.org/1999/xhtml" bitly="BITLY_PROCESSED" href="http://clerezza.apache.org/bundle-doc/org.apache.clerezza.platform.content/discobits-editor">the Discobits Editor</a>) to edit content. It also allows putting binary content using tools that support HTTP PUT (such as curl).
+</div>
+
+	<div><h3>Uploading Binary Content
+</h3>
+<div class='tx-content'>
+
+	<div>The attribute "binary" may sound a bit confusing when referring to content as all content stored on a computer is binary. We use the term here for arbitrary content which can be stored on the platform and retrieved as binary identical copy. For example if an RDF/XML file is uploaded as binary content one will be able to retrieve a copy that is identical to the original file, i.e. including comments and possible syntax error, would the same file be uploaded as graph (rather than binary content) the file would be parsed on upload (producing an exception in the case of syntax error) and one will be able to access a serialization of that graph in any supported RDF format, the downloaded documents will describe the same graph but not (necessarily) be binary identical to the uploaded document.
+</div>
+
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h2>The Discobits Editor
+</h2>
+<div class='tx-content'>
+
+	<div>The discobits editor allow editing stuctured content. The overall structure is stored in RDF the actual bits of rich text are stored in the XHTML format. The editor refects this by providing widgets for editing the structure and an XHTML editor (mozile) for editing bits of XHTML.
+</div>
+
+</div>
+</div>
+
+	<div><h2>SCB Web
+</h2>
+<div class='tx-content'>
+
+	<div>The bundle SCB Web allows access to SCB graphs over HTTP with JAX-RS.
+</div>
+
+	<div><h3>Upload Triples with a POST Request
+</h3>
+<div class='tx-content'>To upload triples with a POST request, a client can use the URI path "/graph" and place the triples and other required information into the body as multipart/form-data which consists of
+<ul xmlns="http://www.w3.org/1999/xhtml">
+<li>a file labeled "graph" containing the triples and specifying the mime-type.</li>
+<li>a text field labeled "name" specifying the name of the MGraph. If an MGraph with this name does not already exist, a new one will be created.</li>
+<li>an optional text field labeled "mode" specifying the mode. If the mode is "replace", existing triples of the MGraph will be deleted before new triples are added. If the mode is not specified or is "append", posted triples will be added to the MGraph.</li>
+<li>an optional text field labeled "redirection" specifying an URI which the client should be redirected to in case of success.</li>
+</ul>
+A response with the status code BAD REQUEST (400) is returned if the required data are missing. If the request can be satisfied, one of the following responses is returned:
+<ul xmlns="http://www.w3.org/1999/xhtml">
+<li>SEE OTHER (303), if redirection is specified.</li>
+<li>CREATED (201), if redirection is not specified and a new MGraph is created.</li>
+<li>NO CONTENT (204), if redirection is not specified and no new MGraph is created.</li>
+</ul>
+<p xmlns="http://www.w3.org/1999/xhtml">
+For your convenience you may access a web-form at the Uri-Path <code>/graph/upload-form</code>.</p>
+
+</div>
+</div>
+
+	<div><h3>Backup of Triple Collections
+</h3>
+<div class='tx-content'>The platform allows the current user to download all triple collections that he has access to through the URI path "/admin/backup/download". The resulted file is a compressed archive in zip format. All triple collections in this file are serialized in N-Triples format. Furthermore, a file called "triplecollections.nt" is contained in backup.zip, which describes the mapping of file names to triple collection names.
+
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h2>Platform Documentation Aggregator
+</h2>
+<div class='tx-content'>
+
+	<div>Any bundle may provide some user documentation. This documentation is provided by a file named "documentation.nt" in the META-INF directory of the bundle-jar. This file can provide multiple documentation resources described using the discobits ontology. The resources have UriRefs starting with "bundle:///", this will be replaced with http://&lt;hostname&gt;/bundle-doc/&lt;Bundle-SymbolicName&gt; by the documentation aggregator which provides the graph urn:x-localinstance:/documentation.graph containing the documentation of all installed bundles. To reference a documentation entry from another bundle the bundle-uri can contain a Borundle-SymbolicName after the second slash, e.g. bundle://org.apache.clerezza.platform.content/intro.
+</div>
+
+	<div>By convention any bundle documentation provides a resource named bundle:///intro introducing the functionality of the bundle.
+</div>
+
+	<div><h3>Writing Documentation
+</h3>
+<div class='tx-content'>
+
+	<div>The recommended way to create and edit the documentation of a bundle is as follows:<ul xmlns="http://www.w3.org/1999/xhtml"><li>Launch clerezza (in the following we assume its running on localhost:8080)</li><li>Install and start the stable n-triples serialization provider (to make the stored files more suitable for version control) by entering on the commmand line: <code>start("mvn:org.apache.clerezza/rdf.stable.serializer")</code></li>
+<li>Install and start the file storage provider(to access local rdf files as named graphs)  by entering on the commmand line: <code>start("mvn:org.apache.clerezza/rdf.file.storage")</code><code/></li><li>If it doesn't exist yet create an empty file src/main/resources/META-INF/documentation.nt in the project to be documented and </li><li>Open http://clerezza.apache.org/tools/editor/, enter the file-uri of the previously created file as Graph and a bundle-uri (such as bundle:///intro) as resource</li><li>edit, save, ship your bundle</li></ul>
+</div>
+
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h2>Documentation Viewer
+</h2>
+<div class='tx-content'>
+
+	<div>The documentation viewer provides access to the documentation (provided by the different modules) at <a xmlns="http://www.w3.org/1999/xhtml" href="/documentation">/documentation</a>.
+</div>
+
+	<div>The documentation is ordered so that the after properties http://clerezza.org/2009/08/documentation#after are satisfied. When the documentation is written with the discobits editor such a property is typically set by adding something like the folleowing in the RDF editing mode to the xml element representing the resource: &lt;after xmlns="http://clerezza.org/2009/08/documentation#" rdf:resource="bundle://org.apache.clerezza.platform.content/discobits-editor"/ /&gt;
+</div>
+
+</div>
+</div>
+
+	<div><h2>Default 404 Response Provider 
+</h2>
+<div class='tx-content'>
+
+	<div>The default 404 Response Provider budle with id org.apache.clerezza.platform.content.default404 provides an implementation of the PageNotFoundService (package/bundle: org.apache.clerezza.platform.content) that the delivers the response retrieved from the uri with the same protocol and host and the /page-not-found. For example if 404 is to be generated for http://example.org/foo/bar the entity obtained by dereferencing http://example.org/page-not-found will be returned.
+</div>
+
+	<div><h3>Uploading 404 response page with curl
+</h3>
+<div class='tx-content'>example: curl -u admin:admin -H "Content-type: text/html" -T tmp.html http://127.0.0.1:8080/page-not-found
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h2>overview
+</h2>
+<div class='tx-content'><h3>Introduction
+</h3>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
+			Smart Content Binding (SCB) is an open source framework developed by 
+			clerezza.org aiming primarily at providing a java implementation of the 
+			graph data model specified by W3C RDF  and 
+			functionalities to operate on that data model. SCB offers a service 
+			interface to access multiple named graphs and it can use various 
+			providers to manage RDF graphs in a technology specific manner, e.g., 
+			using Jena <a href="#ref2"> </a> (TBD) or Sesame<a href="#ref3"> </a>. 
+			It also provides façades that allow an application to use Jena or Sesame (TBD) 
+			APIs to process RDF graphs (note that the choice of a façade is independent of
+                        the chosen backend; you can for example use the Jena façade to write
+                        your code against the Jena API while using the Sesame provider to store
+                        your data in a Sesame store). 
+			Furthermore, SCB offers a serialization and a parsing service to convert 
+			a ImmutableGraph into a certain representation (format) and vice versa. In order 
+			to support ontologies usage, SCB provides a tool to convert ontologies 
+			defined in various formats including RDF/XML into Java classes.
+		</p>
+
+</div>
+</div>
+</div>
+
+	<div><h2>ScalaServerPages
+</h2>
+<div class='tx-content'>
+
+	<div>ScalaServerPages allow using scala to render a response resource to a particular output format.
+</div>
+
+	<div><h3>Example
+</h3>
+<div class='tx-content'>
+
+	<div><div xmlns="http://www.w3.org/1999/xhtml">The following shows a simple ScalaServerPage:</div>
+		<div xmlns="http://www.w3.org/1999/xhtml" class="tx-blockcode">
+//a ScalaServePage to render a http://clerezza.org/2009/05/usermanager#UserPermissionPage
+def um(s: Any) = new UriRef("http://clerezza.org/2009/05/usermanager#"+s)
+def perm(s: Any) = new UriRef("http://clerezza.org/2008/10/permission#"+s)
+&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
+	&lt;head&gt;
+    	&lt;title&gt;Permissions for user {res/um("user")/FOAF.name}&lt;/title&gt;
+	&lt;/head&gt;
+	&lt;body&gt;
+	{for (permission &lt;- res/um("permission")) yield
+		&lt;div id="permission"&gt;
+			{permission/perm("javaPermissionEntry")*}
+		&lt;/div&gt;
+	}
+	&lt;/body&gt;
+
+&lt;/html&gt;
+		</div>
+
+</div>
+
+	<div>The following iterates over an rdf:List represented by the root-resource
+<div xmlns="http://www.w3.org/1999/xhtml" class="tx-blockcode">
+//a ScalaServePage to render a http://clerezza.org/2009/05/renderletmanager#RenderletManagerPage
+def typerendering(s: Any) = new UriRef("http://clerezza.org/2009/04/typerendering#"+s)
+&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
+	&lt;head&gt;
+    	&lt;title&gt;Listing renderlets&lt;/title&gt;
+	&lt;/head&gt;
+	&lt;body&gt;
+	{for (renderlet &lt;- res!!) yield
+		&lt;div id="renderlet"&gt;
+			type: {renderlet*}
+		&lt;/div&gt;
+	}
+	&lt;/body&gt;
+&lt;/html&gt;
+</div>
+</div>
+
+	<div>You can sort rdf:List using the sort-method:
+<div xmlns="http://www.w3.org/1999/xhtml" class="tx-blockcode">
+//sorting the URIs of a http://clerezza.org/2009/05/renderletmanager#RenderletManagerPage
+&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
+	&lt;head&gt;
+    	&lt;title&gt;Listing renderlets&lt;/title&gt;
+	&lt;/head&gt;
+	&lt;body&gt;
+	{for (renderlet &lt;- (res!!).sort((a,b) =&gt; ((a*) &lt; (b*)))) yield
+		&lt;div id="renderlet"&gt;
+			type: {renderlet*}
+		&lt;/div&gt;
+	}
+	&lt;/body&gt;
+&lt;/html&gt;
+</div>
+</div>
+
+	<div>same for properties:
+<div xmlns="http://www.w3.org/1999/xhtml" class="tx-blockcode">
+//a ScalaServePage to render a http://clerezza.org/2009/05/usermanager#UserPermissionPage
+//sorting by java-permission-entry
+def um(s: Any) = new UriRef("http://clerezza.org/2009/05/usermanager#"+s)
+def perm(s: Any) = new UriRef("http://clerezza.org/2008/10/permission#"+s)
+&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
+	&lt;head&gt;
+    	&lt;title&gt;Permissions for user {res/um("user")/FOAF.name}&lt;/title&gt;
+	&lt;/head&gt;
+	&lt;body&gt;
+	{for (permission &lt;- (res/um("permission"))
+	    .sort((a,b) =&gt; (a/perm("javaPermissionEntry")*) &lt; 
+                    (b/perm("javaPermissionEntry")*))) yield
+		&lt;div id="permission"&gt;
+			{permission/perm("javaPermissionEntry")*}
+		&lt;/div&gt;
+	}
+	&lt;/body&gt;
+
+&lt;/html&gt;
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h3>How does it work
+</h3>
+<div class='tx-content'>
+
+	<div>A ScalaServerPages is transformed into a Scala Source file and	compiled. The content of the ScalaServerPage becomes the content of	a method returning AnyRef, the returned Object will be transformed	to a String and the to a byte-array to be written to the response stream
+</div>
+
+</div>
+</div>
+
+	<div><h3>Avialable values
+</h3>
+<div class='tx-content'>
+
+	<div><ul xmlns="http://www.w3.org/1999/xhtml">
+<li>renderer: CallbackRenderer, used to delegate to another Renderlet usally not used directly but wia the render method</li>
+<li>res: GraphNode, the main response resource, as a GraphNode it is dynamically converted to a RichGraphNode allowing the functions provided by org.apache.clerezza.utils.scala</li>
+<li>val context:GraphNode, a GraphNode with contextual information not specifically related to the current request, such as description on the current user </li>
+<li>val mode: String, the rendering mode</li>
+<li>val uriInfo: UriInfo, the UriRinf of the request, allows access to the request URI and query parameters</li>
+<li>val sharedRenderingValues: java.util.Map[String, Object], a map used to share values across the different renderlets and ScalaServerPages involved in the creation of a representation, typically used to prevent repeated computation of the same values. Typically this map is not accessed directly, instead values are retrived with $("key") and set with $("key") = newvalue</li>
+</ul>
+</div>
+
+</div>
+</div>
+
+	<div><h3>Accessing OSGi services
+</h3>
+<div class='tx-content'>
+
+	<div>ScalaServerPages are used for rendering information, therefore services are typically accessed when producing the RDF and not from the ScalaServePage. Still you can access designated services from the ScalaServerPages, you get an instance with $[serviceInterface], eg.:
+<div xmlns="http://www.w3.org/1999/xhtml" class="tx-blockcode">
+$[AdvertisingService].getBanner
+</div>
+
+You can only access services that are annotated with @org.apache.clerezza.platform.typerendering.WebRenderingService
+</div>
+
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h2>Clerezza - Platform Type Rendering Utilities for Scala
+</h2>
+<div class='tx-content'>
+
+	<div>The Type-Rendering Utilities for Scala allow to write Renderlets in Scala more easily. Apart from a having to add a bit of code to produce complete Scala classes they provide the same functionality as available in ScalaServerPages, additionally the Renderlet can register itself for a specified RDF type and rendering mode.
+</div>
+
+	<div>See the ScalaDoc for PageRenderlet and its superclass AbstractRenderlet for usage instrcutions. Note that the resulting rendelerlets need to be registered as service, in serviceComponents.xml the respective section would look like this: 
+<pre xmlns="http://www.w3.org/1999/xhtml">
+&lt;scr:component enabled="true" name="org.example.html.BookFormRenderlet"&gt;
+	&lt;implementation class="org.example.html.BookFormRenderlet"/&gt;
+	&lt;service servicefactory="false"&gt;
+		&lt;provide interface="org.apache.clerezza.platform.typerendering.Renderlet"/&gt;
+	&lt;/service&gt;
+	&lt;property name="service.pid" value="org.example.html.BookFormRenderlet"/&gt;
+	&lt;reference name="renderletManager"
+	interface="org.apache.clerezza.platform.typerendering.RenderletManager"
+	cardinality="1..1" policy="static" bind="bindRenderletManager" unbind="unbindRenderletManager"/&gt;
+&lt;/scr:component&gt;
+</pre>
+</div>
+
+</div>
+</div>
+
+	<div><h2>Smart Content Binding
+</h2>
+<div class='tx-content'>
+
+	<div>Smart Content Binding is just the name for the RDFsupport in clerezza.
+</div>
+
+	<div>The RDF support in Apache Clerezza
+</div>
+
+	<div><h3>Overview
+</h3>
+<div class='tx-content'>
+
+	<div><h4>Introduction
+</h4>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
+			Smart Content Binding (SCB) is an open source framework developed by 
+			clerezza.org aiming primarily at providing a java implementation of the 
+			graph data model specified by W3C RDF  and 
+			functionalities to operate on that data model. SCB offers a service 
+			interface to access multiple named graphs and it can use various 
+			providers to manage RDF graphs in a technology specific manner, e.g., 
+			using Jena <a href="#ref2"> </a> (TBD) or Sesame<a href="#ref3"> </a>. 
+			It also provides façades that allow an application to use Jena or Sesame (TBD) 
+			APIs to process RDF graphs (note that the choice of a façade is independent of
+                        the chosen backend; you can for example use the Jena façade to write
+                        your code against the Jena API while using the Sesame provider to store
+                        your data in a Sesame store). 
+			Furthermore, SCB offers a serialization and a parsing service to convert 
+			a ImmutableGraph into a certain representation (format) and vice versa. In order 
+			to support ontologies usage, SCB provides a tool to convert ontologies 
+			defined in various formats including RDF/XML into Java classes.
+		</p>
+
+</div>
+</div>
+
+	<div><h4>Architecture
+</h4>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
+			SCB comprises the following architectural components as depicted in Fig. 1:
+		</p>
+		<ul xmlns="http://www.w3.org/1999/xhtml">
+			<li>Core</li>
+			<li>Facades</li>
+			<li>Utilities</li>
+			<li>Storage Providers</li>
+			<li>Parsing Providers</li>
+			<li>Serializing Providers</li>
+			<li>Ontologies Tool</li>
+		</ul>
+
+		<p xmlns="http://www.w3.org/1999/xhtml">
+			<img alt="SCB Architecture" src="images/scb_architecture.png"/>
+			<br/><i>Figure 1: SCB Architecture</i>
+		</p>
+		<p xmlns="http://www.w3.org/1999/xhtml">
+			The Core contains interface definitions of the RDF ImmutableGraph data model and its 
+			implementation. The three main classes are <code>ImmutableGraph</code>, <code>Graph</code>, 
+			and <code>Graph</code>. The class <code>ImmutableGraph</code> represents an 
+			immutable RDF ImmutableGraph, as such its identity criterion is defined in terms of 
+			graph-isomorphism. The class <code>Graph</code> represents a mutable RDF ImmutableGraph, 
+			which enables triples to be added to or removed from a ImmutableGraph. The class 
+			<code>Graph</code> is the super class of both the class <code>ImmutableGraph</code> 
+			and <code>M</code><code/><code/><code/><code/><code/><code/><code/><code>ImmutableGraph</code>. 
+			SCB Core provides three services: <code>TcManager</code> [<a href="#ref4">4</a>] allows access to 
+			the various <code>Graph</code>s, <code>Parser</code> [<a href="#ref5">5</a>] and 
+			<code>Serializer</code> [<a href="#ref6">6</a>] to allow reading and writing graphs from and to 
+			various formats. In an OSGi environment these services are accessed using the 
+			service registry or injected using OSGi Declarative Services. In a non OSGi environment 
+			static factory methods are used to return an instance. 
+			The <code>TcManager</code> delegates actual processing tasks to a specific Storage Provider 
+			chosen from a set of Storage Providers based on their priority number (weight). 
+			Storage Providers can be dynamically bound to or unbound from the Core. 
+			The functionality required by the Parser and Serializer is delegated to registered 
+			Parsing and Serializing Providers respectively, according to their capability 
+			(supported formats). Later registered providers shadow previous ones for the same format.
+		</p>
+
+		<p xmlns="http://www.w3.org/1999/xhtml">
+			The current implementation of SCB includes a Jena Façade. The Jena Façade allows an 
+			application to use Jena API to manipulate a TC. 
+		</p>
+		<p xmlns="http://www.w3.org/1999/xhtml">
+			In order to ease operations on a resource in a TC, the Utilities component provides 
+			a class with a set of useful methods, e.g., to delete all triples (statements) with 
+			the resource as subject and a specified predicate. 
+		</p>
+		<p xmlns="http://www.w3.org/1999/xhtml">
+			Finally, the Ontologies Tool contains a standalone application called SchemaGen to 
+			generate the Java source code with constants from an ontology description.
+		</p>
+
+</div>
+</div>
+
+	<div><h4>Artifacts
+</h4>
+<div class='tx-content'>		<p xmlns="http://www.w3.org/1999/xhtml">
+			Each architectural component described above comprises one or more artifacts as 
+			listed in Table 1.
+			<br/><br/><i>Table 1: Artifacts of each architectural components</i><br/>
+		</p>
+		<table xmlns="http://www.w3.org/1999/xhtml" border="1" cellpadding="4">
+			<tr>
+				<th>Architectural Component</th>
+				<th>Artifact</th>
+
+				<th>Artifact Type</th>
+			</tr>
+			<tr>
+				<td rowspan="2">Core</td>
+				<td>org.apache.clerezza.rdf.core</td>
+				<td>Jar and OSGi bundle</td>
+			</tr>
+
+			<tr>
+				<td>org.apache.clerezza.rdf.core.test</td>
+				<td>Jar and OSGi bundle</td>
+			</tr>
+			<tr>
+				<td>Façades</td>
+				<td>org.apache.clerezza.rdf.jena.facade</td>
+
+				<td>Jar and OSGi bundle</td>
+			</tr>
+			<tr>
+				<td>Utilities</td>
+				<td>org.apache.clerezza.rdf.utils</td>
+				<td>Jar and OSGi bundle</td>
+			</tr>
+
+			<tr>
+				<td rowspan="2">Storage Providers</td>
+				<td>org.apache.clerezza.rdf.sesame.storage</td>
+				<td>Jar and OSGi bundle</td>
+			</tr>
+			<tr>
+				<td>org.apache.clerezza.rdf.jena.storage</td>
+
+				<td>Jar and OSGi bundle</td>
+			</tr>
+			<tr>
+				<td>Parsing Providers</td>
+				<td>org.apache.clerezza.rdf.jena.parser</td>
+				<td>Jar and OSGi bundle</td>
+			</tr>
+
+			<tr>
+				<td>Serializing Providers</td>
+				<td>org.apache.clerezza.rdf.jena.serializer</td>
+				<td>Jar and OSGi bundle</td>
+			</tr>
+			<tr>
+				<td>Ontologies Tool</td>
+
+				<td>org.apache.clerezza.rdf.tool.schemagen</td>
+				<td>Executable jar</td>
+			</tr>
+		</table>
+
+</div>
+</div>
+
+	<div><h4>Building SCB
+</h4>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
+			If you want to build SCB from its sources, you need JDK version 1.6 to compile. 
+			Maven version 2.0.9 has been used to build SCB.
+		</p>
+
+</div>
+</div>
+
+	<div><h4>Developing Applications using SCB
+</h4>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
+			To develop an application on top of SCB, you need to have the Core and optionally 
+			Utilities and Façades.
+		</p>
+
+</div>
+</div>
+
+	<div><h4>Deploying an Application Requiring SCB
+</h4>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
+			To deploy an application which uses SCB, Java(TM) SE Runtime Environment 6 or 
+			higher is needed. If the application does not use OSGi, then the SCB Core, 
+			the jars required for compilation, as well as the needed implementations 
+			(typically one provider for storage, serialization, and parsing) must be in 
+			the classpath. If the application uses OSGi, these jars are loaded as bundles, 
+			and to run in OSGi, Declarative Services must be enabled (see the documentation 
+			of your OSGi container). 
+		</p>
+		<p xmlns="http://www.w3.org/1999/xhtml">
+
+			The use of SCB in an OSGi environment has been tested with Apache Felix [<a href="#ref7">7</a>]
+			and Eclipse Equinox [<a href="#ref8">8</a>].
+		</p>
+</div>
+</div>
+
+	<div><h4>Extending and Customizing SCB
+</h4>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
+			Since SCB applies a Service Oriented Architecture approach, following components 
+			can be easily extended: Storage Providers, Parsing Providers, and Serializing 
+			Providers. Using OSGi, new bundles just need to implement the required service 
+			interfaces. To be located outside an OSGi environment, they should also provide 
+			files in "META-INF/services" for the services they expose. Consult the SCB JavaDoc 
+			for more information [<a href="#ref9">9</a>].
+		</p>
+
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h3>Developing with SCB
+</h3>
+<div class='tx-content'>
+
+	<div>Once you have an overview over SCB the best resource is the javadoc API documentation. The following gives hints and describes best prectices on particular toopics.
+</div>
+
+	<div><h4>When to use locks?
+</h4>
+<div class='tx-content'>
+
+	<div>The MGraphs returned by the TcManager are lockable. A LockableMGraph has a getLock()-Method returning a ReadWriteLock. Write-Locks can be used if the applications logic requires it, i.e. when it wants to ensure that the Graph isn't modified by another thread while some triples are being added or removed bading on the presence or absence of other triples (note that its a violation of the open world assumption if the absence of some triples causes some actions to be done).
+</div>
+
+	<div>Readlocks must be used when multiple threads access an Graph and a method returning an Iterator is used. In this case a read-lock must be obtained before calling the method on Graph and released only after the last usage of the returned iterator. Failing to do so may result in ConcurrentModification when another threads modifies the Graph while we are iterating over it.
+</div>
+
+	<div>Currently (this might change infuture versions), it is also necessary to lock on the MGraphs against which a sparql select queries is directed. The lock on the MGraphs should be kept till iteration over the resultset is compleeted.
+</div>
+
+	<div><h5>How do I create deadlock-safe locks?
+</h5>
+<div class='tx-content'>There is no such thing, if you try to get a write-lock withing a read-locked section you'll have a deadlock.
+</div>
+</div>
+
+	<div><h5>What is the best way to Lock a ImmutableGraph in a service? (the developers, wich use the service know nothing about the lock and set own locks - so the service needs to check something) 
+</h5>
+<div class='tx-content'>The service documentation should be clear about which MGarphs the service might be writing to, so the caller can make sure it holds no read-lock on one of these Graph.
+</div>
+</div>
+
+	<div><h5>Where do I find additional documenation and source-code examples?
+</h5>
+<div class='tx-content'>See the documentation and tutorials for the java.util.concurrent.locks package.
+</div>
+</div>
+
+</div>
+</div>
+
+</div>
+</div>
+
+</div>
+</div>
+
+	<div><h2>Offline-Site generator
+</h2>
+<div class='tx-content'>
+
+	<div>The offline-site generator allows to generate representations of the resources described in the content graph for offline usage of for deployment on a traditional file-based webserver.
+</div>
+
+	<div>An offline site can be retrieved at /admin/offline/download with the following query parameters:
+	 <ul xmlns="http://www.w3.org/1999/xhtml"> <li> 1 baseUri: for all resources with a URI starting with this Uri
+	 creation of the specified target fomats is attempted</li>
+<li> 1 targetUri: where base-uri appears in the representations it is replaces with target-uri</li>
+<li>0 or 1 rootLinkPrefix: prefix to be prepended to links with Uri reference starting with a slash</li>
+<li>1 - n formatExtension: the file- extensions represing the different formats to be produced, the extensions are added to the generated files where the file would not otherwise end with the extension.</li>
+</ul>
+</div>
+
+	<div>Example: http://clerezza.apache.org/admin/offline/download?baseUri=http://clerezza.apache.org/&amp;targetUri=http://incubator.apache.org/clerezza/test&amp;formatExtension=xhtml&amp;formatExtension=rdf&amp;formatExtension=png&amp;formatExtension=html&amp;formatExtension=js&amp;rootLinkPrefix=/clerezza/test
+</div>
+
+</div>
+</div>
+
 </div>
 
             </div>

Modified: clerezza/site/production/downloads/index-content-el/0.rdf
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/0.rdf?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/0.rdf (original)
+++ clerezza/site/production/downloads/index-content-el/0.rdf Mon May 18 11:47:57 2015
@@ -1,16 +1,7 @@
 <rdf:RDF
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:j.0="http://discobits.org/ontology#" > 
-  <rdf:Description rdf:nodeID="A0">
-    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/0"/>
-    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
-    <j.0:pos>0</j.0:pos>
-  </rdf:Description>
-  <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content">
-    <j.0:contains rdf:nodeID="A0"/>
-  </rdf:Description>
   <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/0">
-    <rdf:type rdf:resource="http://discobits.org/ontology#XHTMLInfoDiscoBit"/>
     <j.0:infoBit rdf:parseType="Literal"><h2 xmlns="http://www.w3.org/1999/xhtml">Releases</h2>
 <p xmlns="http://www.w3.org/1999/xhtml">
 <strong>0.2-incubating:</strong>
@@ -38,5 +29,14 @@ All Apache Clerezza releases are signed.
 </p>
 
 </j.0:infoBit>
+    <rdf:type rdf:resource="http://discobits.org/ontology#XHTMLInfoDiscoBit"/>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A0">
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0</j.0:pos>
+    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/0"/>
+    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
+  </rdf:Description>
+  <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content">
+    <j.0:contains rdf:nodeID="A0"/>
   </rdf:Description>
 </rdf:RDF>

Modified: clerezza/site/production/downloads/index-content-el/1-content.rdf
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/1-content.rdf?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/1-content.rdf (original)
+++ clerezza/site/production/downloads/index-content-el/1-content.rdf Mon May 18 11:47:57 2015
@@ -1,19 +1,19 @@
 <rdf:RDF
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:j.0="http://discobits.org/ontology#" > 
+  <rdf:Description rdf:nodeID="A0">
+    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
+    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/1-content"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">1</j.0:pos>
+  </rdf:Description>
   <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/1">
     <j.0:contains rdf:nodeID="A0"/>
   </rdf:Description>
   <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/1-content">
+    <rdf:type rdf:resource="http://discobits.org/ontology#XHTMLInfoDiscoBit"/>
     <j.0:infoBit rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">&lt;p xmlns="http://www.w3.org/1999/xhtml"&gt;
 &lt;/p&gt;
 &lt;p xmlns="http://www.w3.org/1999/xhtml"&gt;
 See the source code repository section below.&lt;br /&gt;&lt;/p&gt;</j.0:infoBit>
-    <rdf:type rdf:resource="http://discobits.org/ontology#XHTMLInfoDiscoBit"/>
-  </rdf:Description>
-  <rdf:Description rdf:nodeID="A0">
-    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/1-content"/>
-    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
-    <j.0:pos>1</j.0:pos>
   </rdf:Description>
 </rdf:RDF>

Modified: clerezza/site/production/downloads/index-content-el/1-title.rdf
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/1-title.rdf?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/1-title.rdf (original)
+++ clerezza/site/production/downloads/index-content-el/1-title.rdf Mon May 18 11:47:57 2015
@@ -2,9 +2,9 @@
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:j.0="http://discobits.org/ontology#" > 
   <rdf:Description rdf:nodeID="A0">
-    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/1-title"/>
     <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
-    <j.0:pos>0</j.0:pos>
+    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/1-title"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0</j.0:pos>
   </rdf:Description>
   <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/1">
     <j.0:contains rdf:nodeID="A0"/>

Modified: clerezza/site/production/downloads/index-content-el/1.html
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/1.html?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/1.html (original)
+++ clerezza/site/production/downloads/index-content-el/1.html Mon May 18 11:47:57 2015
@@ -48,10 +48,10 @@
             <div class="zz-content">
               <h1>Development Version
 </h1>
-<div class="tx-content"><p xmlns="http://www.w3.org/1999/xhtml">
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
 </p>
 <p xmlns="http://www.w3.org/1999/xhtml">
-See the source code repository section below.<br/></p>
+See the source code repository section below.<br /></p>
 </div>
 
             </div>

Modified: clerezza/site/production/downloads/index-content-el/1.rdf
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/1.rdf?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/1.rdf (original)
+++ clerezza/site/production/downloads/index-content-el/1.rdf Mon May 18 11:47:57 2015
@@ -2,26 +2,26 @@
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:j.0="http://discobits.org/ontology#" > 
   <rdf:Description rdf:nodeID="A0">
-    <j.0:pos>0</j.0:pos>
-    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/1-title"/>
     <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
+    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/1-content"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">1</j.0:pos>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A1">
+    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
+    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/1-title"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0</j.0:pos>
   </rdf:Description>
   <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/1">
     <j.0:contains rdf:nodeID="A1"/>
-    <rdf:type rdf:resource="http://discobits.org/ontology#TitledContent"/>
     <j.0:contains rdf:nodeID="A0"/>
-  </rdf:Description>
-  <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content">
-    <j.0:contains rdf:nodeID="A2"/>
+    <rdf:type rdf:resource="http://discobits.org/ontology#TitledContent"/>
   </rdf:Description>
   <rdf:Description rdf:nodeID="A2">
     <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
-    <j.0:pos>1</j.0:pos>
     <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/1"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">1</j.0:pos>
   </rdf:Description>
-  <rdf:Description rdf:nodeID="A1">
-    <j.0:pos>1</j.0:pos>
-    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/1-content"/>
-    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
+  <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content">
+    <j.0:contains rdf:nodeID="A2"/>
   </rdf:Description>
 </rdf:RDF>

Modified: clerezza/site/production/downloads/index-content-el/1.xhtml
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/1.xhtml?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/1.xhtml (original)
+++ clerezza/site/production/downloads/index-content-el/1.xhtml Mon May 18 11:47:57 2015
@@ -48,10 +48,10 @@
             <div class="zz-content">
               <h1>Development Version
 </h1>
-<div class="tx-content"><p xmlns="http://www.w3.org/1999/xhtml">
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">
 </p>
 <p xmlns="http://www.w3.org/1999/xhtml">
-See the source code repository section below.<br/></p>
+See the source code repository section below.<br /></p>
 </div>
 
             </div>

Modified: clerezza/site/production/downloads/index-content-el/2-content.rdf
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/2-content.rdf?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/2-content.rdf (original)
+++ clerezza/site/production/downloads/index-content-el/2-content.rdf Mon May 18 11:47:57 2015
@@ -1,16 +1,16 @@
 <rdf:RDF
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:j.0="http://discobits.org/ontology#" > 
+  <rdf:Description rdf:nodeID="A0">
+    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/2-content"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">1</j.0:pos>
+    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
+  </rdf:Description>
   <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/2-content">
-    <rdf:type rdf:resource="http://discobits.org/ontology#XHTMLInfoDiscoBit"/>
     <j.0:infoBit rdf:parseType="Literal">Refer to <a xmlns="http://www.w3.org/1999/xhtml" href="http://incubator.apache.org/clerezza/getting-started/launching-clerezza/" target="_blank">Launching Clerezza</a> for instructions on how to run Apache Clerezza.</j.0:infoBit>
+    <rdf:type rdf:resource="http://discobits.org/ontology#XHTMLInfoDiscoBit"/>
   </rdf:Description>
   <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/2">
     <j.0:contains rdf:nodeID="A0"/>
   </rdf:Description>
-  <rdf:Description rdf:nodeID="A0">
-    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
-    <j.0:pos>1</j.0:pos>
-    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/2-content"/>
-  </rdf:Description>
 </rdf:RDF>

Modified: clerezza/site/production/downloads/index-content-el/2-title.rdf
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/2-title.rdf?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/2-title.rdf (original)
+++ clerezza/site/production/downloads/index-content-el/2-title.rdf Mon May 18 11:47:57 2015
@@ -2,9 +2,9 @@
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:j.0="http://discobits.org/ontology#" > 
   <rdf:Description rdf:nodeID="A0">
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0</j.0:pos>
     <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/2-title"/>
     <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
-    <j.0:pos>0</j.0:pos>
   </rdf:Description>
   <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/2-title">
     <j.0:infoBit rdf:parseType="Literal">Running Apache Clerezza</j.0:infoBit>

Modified: clerezza/site/production/downloads/index-content-el/2.html
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/2.html?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/2.html (original)
+++ clerezza/site/production/downloads/index-content-el/2.html Mon May 18 11:47:57 2015
@@ -48,7 +48,7 @@
             <div class="zz-content">
               <h1>Running Apache Clerezza
 </h1>
-<div class="tx-content">Refer to <a target="_blank" href="http://incubator.apache.org/clerezza/getting-started/launching-clerezza/" xmlns="http://www.w3.org/1999/xhtml">Launching Clerezza</a> for instructions on how to run Apache Clerezza.
+<div class='tx-content'>Refer to <a xmlns="http://www.w3.org/1999/xhtml" href="http://incubator.apache.org/clerezza/getting-started/launching-clerezza/" target="_blank">Launching Clerezza</a> for instructions on how to run Apache Clerezza.
 </div>
 
             </div>

Modified: clerezza/site/production/downloads/index-content-el/2.rdf
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/2.rdf?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/2.rdf (original)
+++ clerezza/site/production/downloads/index-content-el/2.rdf Mon May 18 11:47:57 2015
@@ -2,26 +2,26 @@
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:j.0="http://discobits.org/ontology#" > 
   <rdf:Description rdf:nodeID="A0">
+    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/2-content"/>
+    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">1</j.0:pos>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A1">
+    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
     <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/2-title"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0</j.0:pos>
+  </rdf:Description>
+  <rdf:Description rdf:nodeID="A2">
+    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/2"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">2</j.0:pos>
     <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
-    <j.0:pos>0</j.0:pos>
   </rdf:Description>
   <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/2">
-    <j.0:contains rdf:nodeID="A1"/>
-    <j.0:contains rdf:nodeID="A0"/>
     <rdf:type rdf:resource="http://discobits.org/ontology#TitledContent"/>
+    <j.0:contains rdf:nodeID="A0"/>
+    <j.0:contains rdf:nodeID="A1"/>
   </rdf:Description>
   <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content">
     <j.0:contains rdf:nodeID="A2"/>
   </rdf:Description>
-  <rdf:Description rdf:nodeID="A2">
-    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/2"/>
-    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
-    <j.0:pos>2</j.0:pos>
-  </rdf:Description>
-  <rdf:Description rdf:nodeID="A1">
-    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
-    <j.0:pos>1</j.0:pos>
-    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/2-content"/>
-  </rdf:Description>
 </rdf:RDF>

Modified: clerezza/site/production/downloads/index-content-el/2.xhtml
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/2.xhtml?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/2.xhtml (original)
+++ clerezza/site/production/downloads/index-content-el/2.xhtml Mon May 18 11:47:57 2015
@@ -48,7 +48,7 @@
             <div class="zz-content">
               <h1>Running Apache Clerezza
 </h1>
-<div class="tx-content">Refer to <a target="_blank" href="http://incubator.apache.org/clerezza/getting-started/launching-clerezza/" xmlns="http://www.w3.org/1999/xhtml">Launching Clerezza</a> for instructions on how to run Apache Clerezza.
+<div class='tx-content'>Refer to <a xmlns="http://www.w3.org/1999/xhtml" href="http://incubator.apache.org/clerezza/getting-started/launching-clerezza/" target="_blank">Launching Clerezza</a> for instructions on how to run Apache Clerezza.
 </div>
 
             </div>

Modified: clerezza/site/production/downloads/index-content-el/3-content.rdf
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/3-content.rdf?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/3-content.rdf (original)
+++ clerezza/site/production/downloads/index-content-el/3-content.rdf Mon May 18 11:47:57 2015
@@ -1,20 +1,20 @@
 <rdf:RDF
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:j.0="http://discobits.org/ontology#" > 
-  <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/3">
-    <j.0:contains rdf:nodeID="A0"/>
-  </rdf:Description>
   <rdf:Description rdf:nodeID="A0">
-    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/3-content"/>
-    <j.0:pos>1</j.0:pos>
     <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
+    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/3-content"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">1</j.0:pos>
+  </rdf:Description>
+  <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/3">
+    <j.0:contains rdf:nodeID="A0"/>
   </rdf:Description>
   <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/3-content">
-    <rdf:type rdf:resource="http://discobits.org/ontology#XHTMLInfoDiscoBit"/>
     <j.0:infoBit rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">&lt;p xmlns="http://www.w3.org/1999/xhtml"&gt;The Apache Clerezza source code Repository can be viewed &lt;a target="_blank" href="https://git-wip-us.apache.org/repos/asf?p=clerezza.git"&gt;here&lt;/a&gt;.&lt;/p&gt;
 
 &lt;p xmlns="http://www.w3.org/1999/xhtml"&gt;To obtain a local working copy execute this command:&lt;/p&gt;
 
 &lt;pre xmlns="http://www.w3.org/1999/xhtml"&gt;git clone https://git-wip-us.apache.org/repos/asf/clerezza.git&lt;/pre&gt;</j.0:infoBit>
+    <rdf:type rdf:resource="http://discobits.org/ontology#XHTMLInfoDiscoBit"/>
   </rdf:Description>
 </rdf:RDF>

Modified: clerezza/site/production/downloads/index-content-el/3-title.rdf
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/3-title.rdf?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/3-title.rdf (original)
+++ clerezza/site/production/downloads/index-content-el/3-title.rdf Mon May 18 11:47:57 2015
@@ -5,12 +5,12 @@
     <j.0:contains rdf:nodeID="A0"/>
   </rdf:Description>
   <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/3-title">
-    <rdf:type rdf:resource="http://discobits.org/ontology#XHTMLInfoDiscoBit"/>
     <j.0:infoBit rdf:parseType="Literal">Source Code Repository</j.0:infoBit>
+    <rdf:type rdf:resource="http://discobits.org/ontology#XHTMLInfoDiscoBit"/>
   </rdf:Description>
   <rdf:Description rdf:nodeID="A0">
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0</j.0:pos>
     <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
-    <j.0:pos>0</j.0:pos>
     <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/3-title"/>
   </rdf:Description>
 </rdf:RDF>

Modified: clerezza/site/production/downloads/index-content-el/3.html
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/3.html?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/3.html (original)
+++ clerezza/site/production/downloads/index-content-el/3.html Mon May 18 11:47:57 2015
@@ -48,7 +48,7 @@
             <div class="zz-content">
               <h1>Source Code Repository
 </h1>
-<div class="tx-content"><p xmlns="http://www.w3.org/1999/xhtml">The Apache Clerezza source code Repository can be viewed <a href="https://git-wip-us.apache.org/repos/asf?p=clerezza.git" target="_blank">here</a>.</p>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">The Apache Clerezza source code Repository can be viewed <a target="_blank" href="https://git-wip-us.apache.org/repos/asf?p=clerezza.git">here</a>.</p>
 
 <p xmlns="http://www.w3.org/1999/xhtml">To obtain a local working copy execute this command:</p>
 

Modified: clerezza/site/production/downloads/index-content-el/3.rdf
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/3.rdf?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/3.rdf (original)
+++ clerezza/site/production/downloads/index-content-el/3.rdf Mon May 18 11:47:57 2015
@@ -1,27 +1,27 @@
 <rdf:RDF
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:j.0="http://discobits.org/ontology#" > 
-  <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/3">
-    <j.0:contains rdf:nodeID="A0"/>
-    <rdf:type rdf:resource="http://discobits.org/ontology#TitledContent"/>
-    <j.0:contains rdf:nodeID="A1"/>
+  <rdf:Description rdf:nodeID="A0">
+    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
+    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/3-content"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">1</j.0:pos>
   </rdf:Description>
-  <rdf:Description rdf:nodeID="A2">
-    <j.0:pos>3</j.0:pos>
+  <rdf:Description rdf:nodeID="A1">
     <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/3"/>
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">3</j.0:pos>
     <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
   </rdf:Description>
-  <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content">
+  <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content-el/3">
+    <j.0:contains rdf:nodeID="A0"/>
+    <rdf:type rdf:resource="http://discobits.org/ontology#TitledContent"/>
     <j.0:contains rdf:nodeID="A2"/>
   </rdf:Description>
-  <rdf:Description rdf:nodeID="A1">
-    <j.0:pos>0</j.0:pos>
-    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/3-title"/>
-    <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
+  <rdf:Description rdf:about="http://clerezza.apache.org/downloads/index-content">
+    <j.0:contains rdf:nodeID="A1"/>
   </rdf:Description>
-  <rdf:Description rdf:nodeID="A0">
-    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/3-content"/>
-    <j.0:pos>1</j.0:pos>
+  <rdf:Description rdf:nodeID="A2">
+    <j.0:pos rdf:datatype="http://www.w3.org/2001/XMLSchema#string">0</j.0:pos>
     <rdf:type rdf:resource="http://discobits.org/ontology#Entry"/>
+    <j.0:holds rdf:resource="http://clerezza.apache.org/downloads/index-content-el/3-title"/>
   </rdf:Description>
 </rdf:RDF>

Modified: clerezza/site/production/downloads/index-content-el/3.xhtml
URL: http://svn.apache.org/viewvc/clerezza/site/production/downloads/index-content-el/3.xhtml?rev=1679996&r1=1679995&r2=1679996&view=diff
==============================================================================
--- clerezza/site/production/downloads/index-content-el/3.xhtml (original)
+++ clerezza/site/production/downloads/index-content-el/3.xhtml Mon May 18 11:47:57 2015
@@ -48,7 +48,7 @@
             <div class="zz-content">
               <h1>Source Code Repository
 </h1>
-<div class="tx-content"><p xmlns="http://www.w3.org/1999/xhtml">The Apache Clerezza source code Repository can be viewed <a href="https://git-wip-us.apache.org/repos/asf?p=clerezza.git" target="_blank">here</a>.</p>
+<div class='tx-content'><p xmlns="http://www.w3.org/1999/xhtml">The Apache Clerezza source code Repository can be viewed <a target="_blank" href="https://git-wip-us.apache.org/repos/asf?p=clerezza.git">here</a>.</p>
 
 <p xmlns="http://www.w3.org/1999/xhtml">To obtain a local working copy execute this command:</p>
 



Mime
View raw message