Prepare site for 1.0 release. This is not final yet, so don't upload this version to a real site. Especially unless the 1.0 is officially released and site is tested.

git-svn-id: https://svn.apache.org/repos/asf/incubator/wink/site/trunk@834791 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/site/apt/documentation.apt b/src/site/apt/documentation.apt
index 6645de4..b86557f 100644
--- a/src/site/apt/documentation.apt
+++ b/src/site/apt/documentation.apt
@@ -27,7 +27,7 @@
 
 * Wink 1.0 
 
-  * User Guide {{{./1.0/Apache_Wink_User_Guide.htm}HTML}} / {{{./1.0/Apache_Wink_User_Guide.pdf}PDF}} 
+  * User Guide {{{./1.0/html/Apache Wink Developer Guide.html}HTML}} / {{{./1.0/Apache_Wink_User_Guide.pdf}PDF}} 
   
   * {{{./1.0/api/index.html}API}} (Javadoc)
   
diff --git a/src/site/resources/1.0/html/1 Introduction to Apache Wink.html b/src/site/resources/1.0/html/1 Introduction to Apache Wink.html
new file mode 100644
index 0000000..757c4fc
--- /dev/null
+++ b/src/site/resources/1.0/html/1 Introduction to Apache Wink.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 1 Introduction to Apache Wink</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 1 Introduction to Apache Wink
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Sep 12, 2009 by <font color="#0050B2">bluk</font>.
+				    </div>
+
+				    <h1><a name="1IntroductiontoApacheWink-IntroductiontoApacheWink"></a>Introduction to Apache Wink</h1>
+
+<p>Apache Wink 1.0 is a complete Java based solution for implementing and consuming REST based Web Services. The goal of the Wink framework is to provide a reusable and extendable set of classes and interfaces that will serve as a foundation on which a developer can efficiently construct applications.
+<br clear="all" /></p>
+
+<p>Wink consists of a Server module for developing REST services, and of a Client module for consuming REST services. It cleanly separates the low-level protocol aspects from the application aspects. Therefore, in order to implement and consume REST Web Services the developer only needs to focus on the application business logic and not on the low-level technical details.
+<br clear="all" /></p>
+
+<p>The Wink Developer Guide provides the developer with a rudimentary understanding of the Wink framework and the building blocks that comprise it.
+<br clear="all" /></p>
+
+<h2><a name="1IntroductiontoApacheWink-WelcometoApacheWink"></a>Welcome to Apache Wink</h2>
+
+<p>Wink is a framework for the simple implementation and consumption of REST web services. REST is an acronym that stands for REpresentational State Transfer. REST web services are "Resources" that are identified by unique URIs. These resources are accessed and manipulated using a set of "Uniform methods". Each resource has one or more "Representations" that are transferred between the client and the service during a web service invocation.
+<br clear="all" /></p>
+
+<p>The central features that distinguish the REST architectural style from other network-based styles is its emphasis on a uniform interface, multi representations and services introspection.
+<br clear="all" /></p>
+
+<p>Wink facilitates the development and consumption of REST web services by providing the means for modeling the service according to the REST architectural style. Wink provides the necessary infrastructure for defining and implementing the resources, representations and uniform methods that comprise a service.
+<br clear="all" /></p>
+
+<h3><a name="1IntroductiontoApacheWink-RESTArchitecture"></a>REST Architecture</h3>
+
+<p>For a detailed understanding of the REST architecture refer to the description by Roy Fielding in his dissertation, <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm">The Design of Network-based Software Architectures</a>.  In particular, <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm">Chapter 5 Representational State Transfer (REST)</a> describes the principles of the architecture.</p>
+
+<h4><a name="1IntroductiontoApacheWink-RESTWebService"></a>REST Web Service</h4>
+
+
+<p>Figure 1: REST Web service design structure</p>
+
+<p><br clear="all" />  <img src="attachments/2328642/2523181.jpg" align="absmiddle" border="0"/><br clear="all" /></p>
+
+
+<p><br clear="all" />
+Figure 1 demonstrates the design principles and components that comprise a REST web service. Wink reflects these design principles in the implementation of web services.
+<br clear="all" /></p>
+
+
+
+<h2><a name="1IntroductiontoApacheWink-ApacheWinkOpenDevelopment"></a>Apache Wink Open Development</h2>
+
+<p>The purpose of this document is to provide detailed information about Wink 1.0 and describe the additional features that the Apache Wink 1.0 runtime provides in addition to the JAX-RS Java API for REST Web Service specification.
+<br clear="all" /></p>
+
+<p>In addition to the features description, this document also provides information regarding implementation specific issues.
+<br clear="all" /></p>
+
+<p>This document provides the developer with a rudimentary understanding of the Wink 1.0 framework in order to highlight the underlying concepts and precepts that make up the framework in order to create a basis for understanding, cooperation and open development of Wink.</p>
+
+<div class='panelMacro'><table class='tipMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>JAX-RS Specification Document</b><br /> For more information on the JAX-RS functionality, refer to the JAX-RS specification document, available at the following location:<br/>
+<a href="http://jcp.org/aboutJava/communityprocess/final/jsr311/index.html">http://jcp.org/aboutJava/communityprocess/final/jsr311/index.html</a> </td></tr></table></div>
+
+
+<h2><a name="1IntroductiontoApacheWink-JAXRSCompliancy"></a>JAX-RS Compliancy</h2>
+
+
+<p>Apache Wink 1.0 is a complete implementation of the JAX-RS v1.0 specification.
+<br clear="all" /></p>
+
+<p>JAX-RS is a Java based API for RESTful Web Services is a Java programming language API that provides support in creating web services according to the Representational State Transfer (REST) architectural style. JAX-RS uses annotations, introduced in Java SE 5, to simplify the development and deployment of web service clients and endpoints. </p>
+
+				    					    <br/>
+                        <div class="tabletitle">
+                            <a name="attachments">Attachments:</a>
+                        </div>
+
+                        <div class="greybox" align="left">
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2328642/2523182.jpg">REST Web Service.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2328642/2523181.jpg">REST Web Service.jpg</a> (image/jpeg)
+                                <br/>
+                                                    </div>
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/2 Apache Wink Building Blocks.html b/src/site/resources/1.0/html/2 Apache Wink Building Blocks.html
new file mode 100644
index 0000000..ae567f5
--- /dev/null
+++ b/src/site/resources/1.0/html/2 Apache Wink Building Blocks.html
@@ -0,0 +1,672 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 2 Apache Wink Building Blocks</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 2 Apache Wink Building Blocks
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 18, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="2ApacheWinkBuildingBlocks-ApacheWinkBuildingBlocks"></a>Apache Wink Building Blocks</h1>
+
+<p>In order to take full advantage of Apache Wink, a basic understanding of the building blocks that comprise it and their functional integration is required. The following section provides an introduction to the&nbsp; basic concepts and building blocks of Apache Wink, version 1.0. In order to gain in-depth understandings of the building blocks refer to the table of contents where these concepts are expanded and addtional example are used to further illustrate the Apache Wink and JAX-RS SDK technologies.</p>
+
+
+<h2><a name="2ApacheWinkBuildingBlocks-Thissectioncontainsthefollowingtopics%3A"></a>This section contains the following topics:</h2>
+
+
+<h4><a name="2ApacheWinkBuildingBlocks-ServiceImplementationBuildingBlocks"></a>Service Implementation Building Blocks</h4>
+
+<ul>
+	<li><a href="#2ApacheWinkBuildingBlocks-Resource">Resource</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-Providers">Providers</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-URIDispatching">URI Dispatching</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-Assets">Assets</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-Annotations">Annotations</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-URLHandling">URL Handling</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-HTTPMethodsGET%2CPOST%2CPUT%2CDELETEandOPTIONS">HTTP Methods - GET, POST, PUT, DELETE and OPTIONS</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-BasicURLQueryParameters">Basic URL Query Parameters</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-ApacheWinkBuildingBlocksSummary">Apache Wink Building Blocks Summary</a></li>
+</ul>
+
+
+<h4><a name="2ApacheWinkBuildingBlocks-ClientComponentsBuildingBlocks"></a>Client Components Building Blocks</h4>
+
+
+
+<ul>
+	<li><a href="#2ApacheWinkBuildingBlocks-RestClientClass">RestClient Class</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-ResourceInterface">Resource Interface</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-ClientRequestInterface">ClientRequest Interface</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-ClientResponseInterface">ClientResponse Interface</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-ClientConfigClass">ClientConfig Class</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-ClientHandlerInterface">ClientHandler Interface</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-InputStreamAdapterInterface">InputStreamAdapter Interface</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-OutputStreamAdapterInterface">OutputStreamAdapter Interface</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-EntityTypeClass">EntityType Class</a></li>
+</ul>
+
+
+
+<h4><a name="2ApacheWinkBuildingBlocks-TheApacheWinkRuntime"></a>The Apache Wink Runtime</h4>
+
+<ul>
+	<li><a href="#2ApacheWinkBuildingBlocks-RequestProcessor">Request Processor</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-DeploymentConfiguration">Deployment Configuration</a></li>
+	<li><a href="#2ApacheWinkBuildingBlocks-HandlerChains">Handler Chains</a></li>
+</ul>
+
+
+<p><br clear="all" /></p>
+<hr />
+<h1><a name="2ApacheWinkBuildingBlocks-ServiceImplementationBuildingBlockOverview"></a>Service Implementation Building Block Overview</h1>
+
+<p>As mentioned in the "<b>Apache Wink Introduction</b>" section, Apache Wink 1.0 reflects the design principles of a REST web service. It does so by providing the developer with a set of java classes that enable the implementation of "<b>Resources</b>", "<b>Representations</b>" and the association between them. Wink 1.0 also enables the developer to define the resource URI and the "<b>Uniform methods</b>" that are applicable to the resource.</p>
+
+<p><br clear="all" /></p>
+<hr />
+<h2><a name="2ApacheWinkBuildingBlocks-Resource"></a>Resource</h2>
+
+<p>A "<b>resource</b>" represents a serviceable component that enables for the retrieval and manipulation of data. A "<b>resource class</b>" is used to implement a resource by defining the "<b>resource methods</b>" that handle requests by implementing the business logic. A resource is bound or anchored to a URI space by annotating the resource class with the @Path annotation.</p>
+
+<p><br clear="all" /></p>
+<hr />
+<h2><a name="2ApacheWinkBuildingBlocks-Providers"></a>Providers</h2>
+
+<p>A provider is a class that is annotated with the @Provider annotation and implements one or more interfaces defined by the JAX-RS specification. Providers are not bound to any specific resource. The appropriate provider is automatically selected by the Apache Wink runtime according to the JAX-RS specification.  Apache Wink supplies many providers, however, application developers may supply their own which take precedence over any provider in the default runtime.</p>
+
+<p>There are three types of providers defined by the JAX-RS specification:</p>
+<ul>
+	<li>Entry Providers</li>
+	<li>Context Providers</li>
+	<li>Exception Mapping Provider</li>
+</ul>
+
+
+<h3><a name="2ApacheWinkBuildingBlocks-EntityProvider"></a>Entity Provider</h3>
+
+<p>An "<b>Entity Provider</b>" is a class that converts server data into a specific format requested by the client and/or converts a request transmitted by the client into server data. For instance, a String entity provider can turn request entities (message bodies) over the wire into a Java type (java.lang.String).  Entity providers can also turn native Java types such as a java.lang.String into an appropriate response entity.  An entity provider can be restricted to support a limited set of media types using the @javax.ws.rs.Produces and @javax.ws.rs.Consumes annotations. An entity provider is configured to handle a specific server data type by implementing the javax.ws.rs.ext.MessageBodyWriter and/or javax.ws.rs.ext.MessageBodyReader interfaces.</p>
+
+<p><b>Figure 2: Entity Provider Diagram</b></p>
+
+<p>&nbsp; <img src="attachments/2329360/2523203.jpg" align="absmiddle" border="0"/></p>
+
+<h3><a name="2ApacheWinkBuildingBlocks-ContextProvider"></a>Context Provider</h3>
+
+<p>Context providers are used to supply contexts to resource classes and other providers by implementing the javax.ws.rs.ext.ContextResolver interface. For example, if a custom JAXBContext is required to serialize or deserialize JAXB objects, an application can provide a ContextResolver that will return a specific instance of a JAXBContext.  Context providers may restrict the media types that they support using the @javax.ws.rs.Produces annotation.</p>
+
+<p><b>Figure 3: Context Provider Diagram</b></p>
+
+<p> <img src="attachments/2329360/3113002.jpg" align="absmiddle" border="0"/></p>
+
+
+<h3><a name="2ApacheWinkBuildingBlocks-ExceptionMappingProvider"></a>Exception Mapping Provider</h3>
+
+<p>Exception mapping providers map exceptions into an instance of a javax.ws.rs.core.Response by implementing the javax.ws.rs.ext.ExceptionMapper interface. The Response objects can contain response information such as status codes, HTTP headers, and a response entity (message body).  When a resource method throws an exception, the runtime will try to find a suitable ExceptionMapper to "translate" the exception to an appropriate Response object.</p>
+
+<p><b>Figure 4: Exception Mapping Provider Diagram</b></p>
+
+<p> <img src="attachments/2329360/3113003.jpg" align="absmiddle" border="0"/></p>
+
+<p><br clear="all" /></p>
+<hr />
+<h2><a name="2ApacheWinkBuildingBlocks-URIDispatching"></a>URI Dispatching</h2>
+
+<p>Designing an efficient REST web service requires that the application developer understands the resources that comprise the service, how to best identify the resources, and how they relate to one another.</p>
+
+<p>RESTful resources are identified by URIs in most cases related resources have URIs that share common path elements.</p>
+
+<p><b>Figure 5: Apache Wink Logic Flow</b></p>
+
+<p> <img src="attachments/2329360/2523204.jpg" align="absmiddle" border="0" height="406" width="492"/></p>
+
+
+<h4><a name="2ApacheWinkBuildingBlocks-ApacheWinkLogicFlow"></a>Apache Wink Logic Flow</h4>
+
+<p>Figure 5 illustrates the Apache Wink logic flow. The HTTP request sent by the client invokes the "<b>Apache Wink REST Servlet</b>". The REST servlet uses the "<b>Request Processor</b>" and the request URI in order to find, match and invoke the correct resource method.</p>
+
+<h3><a name="2ApacheWinkBuildingBlocks-BookmarksExample"></a>Bookmarks Example</h3>
+
+<p>Throughout this document, various project examples are used in order to describe the functionality and processes that comprise the Apache Wink.<br/>
+In order to explain the REST design principles used in the Apache Wink this developer guide refers to the "<b>Bookmark</b>" example project found in the examples folder located in the Apache Wink distribution.</p>
+
+<p>Refer to the code (using an IDE application) in the example in conjunction with the following explanations and illustrations in this developer guide.</p>
+
+<h4><a name="2ApacheWinkBuildingBlocks-ApacheWinkServletandRequestProcessor"></a>Apache Wink Servlet and Request Processor</h4>
+
+<p><b>Figure 6:&nbsp; Apache Wink REST Servlet and Request Processor for the Bookmark Services</b></p>
+
+<p> <img src="attachments/2329360/2523205.jpg" align="absmiddle" border="0" height="421" width="500"/></p>
+
+
+
+<h4><a name="2ApacheWinkBuildingBlocks-ServerandRequestProcessor"></a>Server and Request Processor</h4>
+
+<p>Figure 6 shows the Apache Wink servlet and request Processor concept in the context of the application server. In the "<b>Bookmarks</b>" example in Figure 6 there are two Resources, the first Resource is associated with the <b>/mybookmarks</b> URI and manages the bookmarks collection, the second resource is associated with the <b>/mybookmarks/{bookmark}</b> Resources and manages an individual bookmark within the collection.</p>
+
+<p>The Resources' defined by the web service and managed by Apache Wink are referred to as <b>"URI space"</b>. The Resources space is the collection of all URI's that exist in the same context. Figure 6 shows the URI space that contains <b>/mybookmarks</b> and <b>/mybookmarks/{bookmarks}</b>.</p>
+
+<h4><a name="2ApacheWinkBuildingBlocks-URISpace"></a>URI Space</h4>
+
+<p>The Bookmarks service URI space consists of the following URI space items and detailed descriptions about their context and functionality.<br/>
+<b>Table 1: URI Management</b></p>
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> URI space Item <br clear="all" /> </th>
+<th class='confluenceTh'> Description <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>/Bookmark/rest</b> <br clear="all" /> </td>
+<td class='confluenceTd'> This URI is the root context of the bookmark service and the entry point of the URI space of the service. An HTTP GET request to this URI returns a "Service Document" which is automatically generated by Apache Wink. The service document provides information about all available collections in the URI space. <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>/Bookmark/rest /mybookmarks</b> <br clear="all" /> </td>
+<td class='confluenceTd'> This URI is associated with a collection of bookmarks resources.&nbsp; Clients use the HTTP GET method in order to retrieve a representation of the collection and HTTP POST method in order to create a new item in the collection. <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>/Bookmark/rest /mybookmarks/{bookmark}</b> </td>
+<td class='confluenceTd'> This URI template is associated with a single bookmark resource. Clients use the HTTP GET method in order to retrieve a representation of the resource, HTTP PUT method is used in order to update the resource and HTTP DELETE method is used in order to delete the resource. <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+<p><br clear="all" /></p>
+<hr />
+<h2><a name="2ApacheWinkBuildingBlocks-Assets"></a>Assets</h2>
+
+<p>Assets are classes that contain "<b>web service business logic</b>" implemented by the developer. Each Asset is associated with one or more URI. The Apache Wink dispatcher invokes the Asset, which is associated with the URI found in the HTTP request.</p>
+
+<p>An Asset class can implement one or more methods, each method is associated with a single HTTP method (GET, HEAD, POST, PUT, DELETE etc).&nbsp; The methods can be associated with a MIME type of a produced representation. Methods that handle HTTP verbs of requests with a body (such as PUT, POST) are also associated with the MIME type of the HTTP request.<br/>
+The Asset class can be registered to the Apache Wink using the "Spring context xml" or by using a registration API.</p>
+
+
+
+<p><div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Spring Context Configuration</b><br />For further information regarding the Spring Context, refer to <a href="5.5 Spring Integration.html" title="5.5 Spring Integration">5.5 Spring Integration</a> in section 5 Apache Wink Server.</td></tr></table></div><br clear="all" /></p>
+<hr />
+<h2><a name="2ApacheWinkBuildingBlocks-Annotations"></a>Annotations</h2>
+
+<p>Annotations are a special text notations, or metadata, added to Java version 1.5. Annotations in Java source code can affect both compilation and runtime behavior of the resulting Java classes.<br/>
+JAX-RS is implemented by the use of annotations that are defined in the JAX-RS specification. Apache Wink provides a set of additional annotations that enrich the functionality of the JAX-RS enabled application.</p>
+
+<p>The following table describes the additional Apache Wink annotations:</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Annotation <br clear="all" /> </th>
+<th class='confluenceTh'> Precedes <br clear="all" /> </th>
+<th class='confluenceTh'> Description <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> @Workspace <br clear="all" /> </td>
+<td class='confluenceTd'> Resource <br clear="all" /> </td>
+<td class='confluenceTd'> Associate a "Collection Resource" with a workspace element and collection elements in an APP Service Document <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> @Scope <br clear="all" /> </td>
+<td class='confluenceTd'> Resource /Provider <br clear="all" /> </td>
+<td class='confluenceTd'> Defines the default lifecycle behavior for resources and providers, and the option for controlling the lifecycle through the javax.ws.rs.core.Application class <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> @Parent <br clear="all" /> </td>
+<td class='confluenceTd'> Resource <br clear="all" /> </td>
+<td class='confluenceTd'> Provides the ability to define a base template URI for the URI specified in a resources @Path annotation <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> @Asset <br clear="all" /> </td>
+<td class='confluenceTd'> Class <br clear="all" /> </td>
+<td class='confluenceTd'> Used by the Apache Wink runtime in order to identify an entity as an Asset <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+<p><br clear="all" /></p>
+<hr />
+<h2><a name="2ApacheWinkBuildingBlocks-URLHandling"></a>URL Handling</h2>
+
+<p>The Apache Wink receives HTTP requests and then dispatches a wrapped HTTP request to the appropriate Resource method.<br/>
+The HTTP request is match to the Resource method based on the HTTP request parameters, the Resource method definitions and the MIME type.</p>
+
+<p><b>Figure 7: URL Request Handling</b></p>
+
+<p> <img src="attachments/2329360/2523210.jpg" align="absmiddle" border="0" height="431" width="425"/></p>
+
+
+<h4><a name="2ApacheWinkBuildingBlocks-RequestHandling"></a>Request Handling</h4>
+
+<p>Figure 7 demonstrates the HTTP Client request path to the URI dispatcher, once the dispatcher receives the request it is then matched according to the HTTP method, URL and MIME type and finally the Resource registry definition.</p>
+
+<p><br clear="all" /></p>
+<hr />
+<h2><a name="2ApacheWinkBuildingBlocks-HTTPMethodsGET%2CPOST%2CPUT%2CDELETEandOPTIONS"></a>HTTP Methods - GET, POST, PUT, DELETE and OPTIONS</h2>
+
+<p>The common HTTP 1.1 methods for the Apache Wink are defined in the following section. This set of methods can be expanded.</p>
+
+<h3><a name="2ApacheWinkBuildingBlocks-MethodUsage"></a>Method Usage</h3>
+
+<p><b>Table 3: HTTP Methods</b></p>
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Method <br clear="all" /> </th>
+<th class='confluenceTh'> Safe <br clear="all" /> </th>
+<th class='confluenceTh'> Idempotent <br clear="all" /> </th>
+<th class='confluenceTh'> Cacheable <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> GET <br clear="all" /> </td>
+<td class='confluenceTd'> X <br clear="all" /> </td>
+<td class='confluenceTd'> X <br clear="all" /> </td>
+<td class='confluenceTd'> X <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> HEAD <br clear="all" /> </td>
+<td class='confluenceTd'> X <br clear="all" /> </td>
+<td class='confluenceTd'> X <br clear="all" /> </td>
+<td class='confluenceTd'> X <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> PUT <br clear="all" /> </td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> X <br clear="all" /> </td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'> POST <br clear="all" /> </td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> &#42; <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> DELETE <br clear="all" /> </td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> X <br clear="all" /> </td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'> OPTIONS <br clear="all" /> </td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+</tbody></table>
+
+<h4><a name="2ApacheWinkBuildingBlocks-KeyX"></a>Key - X</h4>
+
+
+<ul>
+	<li><b>Safe</b> &#45; does not affect the server state</li>
+	<li><b>Idempotent</b> &#45; a repeated application of the same method has the same effect as a single application</li>
+	<li><b>Cacheable</b> &#45; a response to a method is cacheable if it meets the requirements for HTTP caching</li>
+	<li><b>&#42;</b> &#45;&nbsp;&nbsp; Responses to this method are not cacheable, unless the response includes an appropriate Cache-Control or Expires header fields. However, the 303 response can be used to direct the user agent to retrieve a cacheable resource.</li>
+</ul>
+
+
+<h3><a name="2ApacheWinkBuildingBlocks-GET"></a>GET</h3>
+
+<p>The GET method is used to retrieve information from a specified URI and is assumed to be a safe and repeatable operation by browsers, caches and other HTTP aware components. This means that the operation must have no side effects and GET method requests can be re-issued.</p>
+
+<h3><a name="2ApacheWinkBuildingBlocks-HEAD"></a>HEAD</h3>
+
+<p>The HEAD method is the same as the GET method except for the fact that the HEAD does not contain message body.</p>
+
+<h3><a name="2ApacheWinkBuildingBlocks-POST"></a>POST</h3>
+
+<p>The POST method is used for operations that have side effects and cannot be safely repeated. For example, transferring money from one bank account to another has side effects and should not be repeated without explicit approval by the user.</p>
+
+<p>The POST method submits data to be processed, for example, from an HTML form, to the identified resource. The data is included in the body of the request. This may result in the creation of a new resource or the updates of existing resources or both.</p>
+
+<h3><a name="2ApacheWinkBuildingBlocks-PUT"></a>PUT</h3>
+
+<p>The PUT method requests that the enclosed entity be stored under the supplied Request-URI. If the Request-URI refers to an already existing resource, the enclosed entity should be considered as a modified version of the one residing on the origin server.</p>
+
+<p>If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new resource by the requesting user agent, the origin server can create the resource with that URI.</p>
+
+
+<h3><a name="2ApacheWinkBuildingBlocks-DELETE"></a>DELETE</h3>
+
+<p>The DELETE method requests that the origin server delete the resource identified by the Request-URI. This method can be overridden on the origin server.<br/>
+The client cannot be guaranteed that the operation has been carried out, even if the status code returned from the origin server indicates that the action has been completed successfully.</p>
+
+
+<h3><a name="2ApacheWinkBuildingBlocks-OPTIONS"></a>OPTIONS</h3>
+
+<p>The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI.<br/>
+This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval.</p>
+
+
+<h3><a name="2ApacheWinkBuildingBlocks-BasicURLQueryParameters"></a>Basic URL Query Parameters</h3>
+
+<p>A URL parameter is a name and value pair appended to a URL. The parameter begins with a question mark "<b>?</b>" and takes the form of name=value.<br/>
+If more than one URL parameter exists, each parameter is separated by an ampersand "<b>&amp;</b>" symbol. URL parameters enable the client to send data as part of the URL to the server.</p>
+
+<p>When a server receives a request and parameters are appended to the URL of the request, the server uses these parameters as if they were sent as part of the request body. There are several predefined URL parameters recognized by Apache Wink when using Wink providers. The following table lists the parameters commonly used in web service URLs. These special URL parameters are defined in the "<b>RestConstants</b>" class.</p>
+
+<h4><a name="2ApacheWinkBuildingBlocks-QueryParameters"></a>Query Parameters</h4>
+
+<p><b>Table 4: URL Parameters</b></p>
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Parameter <br clear="all" /> </th>
+<th class='confluenceTh'> Description <br clear="all" /> </th>
+<th class='confluenceTh'> Value <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> alt <br clear="all" /> </td>
+<td class='confluenceTd'> Provides an alternative representation of the specified MIME type. Apache Wink recognizes this as a representation request of the highest priority. <br clear="all" /> </td>
+<td class='confluenceTd'> MIME type, e.g. <br clear="all" />
+"text%2Fplain" <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> absolute-urls <br clear="all" /> </td>
+<td class='confluenceTd'> Indicates to Apache Wink that the generated&nbsp; links in the response should be absolute, mutual exclusive with the relative-urls parameter <br clear="all" /> </td>
+<td class='confluenceTd'> NONE <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> relative-urls <br clear="all" /> </td>
+<td class='confluenceTd'> Indicates to Apache Wink that the generated&nbsp; links in the response should be relative, mutual exclusive with the absolute-urls parameter <br clear="all" /> </td>
+<td class='confluenceTd'> NONE <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> callback <br clear="all" /> </td>
+<td class='confluenceTd'> Wrap javascript representation in callback function, is relevant when requested with an application/json MIME type. <br clear="all" /> </td>
+<td class='confluenceTd'> name of callback function. <br clear="all" />
+For example, "myfunc" <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+<h5><a name="2ApacheWinkBuildingBlocks-CombiningURLParameters"></a>Combining URL Parameters</h5>
+
+<p>A single URL can contain more than one URL parameter, example <b>"?alt=text%2Fjavascript &amp;callback=myfunc"</b>(where "%2F" represents escaped "/").</p>
+
+<p><br clear="all" /></p>
+<hr />
+<h2><a name="2ApacheWinkBuildingBlocks-ApacheWinkBuildingBlocksSummary"></a>Apache Wink Building Blocks Summary</h2>
+
+<p>The previous section "<b>Service Implementation Building Blocks</b>" outlines the basic precepts and building blocks that comprise the service side of Apache Wink.<br/>
+In order to understand the relationship between the building blocks that comprise Apache Wink a set of example applications have been designed and built that provide a reference point that demonstrate a rudimentary understanding about the functionality of Apache Wink.</p>
+
+<h3><a name="2ApacheWinkBuildingBlocks-ApacheWinkExamples"></a>Apache Wink Examples</h3>
+
+<p>The following examples applications are used in this "<b>Apache Wink Developer Guide</b>".</p>
+
+<ul>
+	<li>Bookmarks</li>
+	<li>HelloWorld</li>
+	<li>QADefects</li>
+</ul>
+
+
+<h4><a name="2ApacheWinkBuildingBlocks-BookmarksProject"></a>Bookmarks Project</h4>
+
+<p>This developer guide uses the bookmarks example application in order to describe the logic flow process within Apache Wink.<br/>
+Refer to the comments located in the "<b>Bookmarks</b>" example application code for in-depth explanations about the methods used to build the bookmarks application.</p>
+
+<h4><a name="2ApacheWinkBuildingBlocks-HelloWorldProject"></a>HelloWorld Project</h4>
+
+<p>Complete the step-by-step "<b>HelloWorld</b>" tutorial in chapter 3 "<b>Getting Started with Apache Wink</b>" and then follow the installation instructions on page xx, in order to view the "<b>Bookmarks</b>" example application from within the Eclipse IDE.</p>
+
+<h4><a name="2ApacheWinkBuildingBlocks-QADefects"></a>QADefects</h4>
+
+<p>The QADefects example application illustrates the advanced functionality of Apache Wink by implementing most of the features provided by the Apache Wink (Runtime) framework.</p>
+
+<p><br clear="all" /></p>
+<hr />
+<h1><a name="2ApacheWinkBuildingBlocks-ApacheWinkClientComponentBasicsOverview"></a>Apache Wink Client Component Basics Overview</h1>
+
+<p>The Apache Wink Client interacts with REST Web-Services. It maps REST concepts to Java classes and encapsulates underlying REST related standards and protocols, as well as providing a plug-in mechanism for raw HTTP streaming data manipulation. This mechanism also provides the ability to embed cross application functionality on the client side, such as security, compression and caching.</p>
+
+
+<p><b>Figure 8: Apache Wink Client Simplified Breakdown</b></p>
+
+<p><img src="attachments/2329360/3113001.jpg" align="absmiddle" border="0"/></p>
+
+
+
+
+
+<p><b>Figure 8</b>: The illustration shows the basic elements that comprise the Apache Wink Client. The Apache Wink Client utilizes the providers mechanism defined by the JAX-RS specification to perform reading and writing of java objects. The Apache Wink Client is pre-initialized with the same providers that are predefined by the Apache Wink JAX-RS server implementation.</p>
+
+<p><br clear="all" /></p>
+<hr />
+<h1><a name="2ApacheWinkBuildingBlocks-ApacheWinkClientComponents"></a>Apache Wink Client Components</h1>
+
+<p>The Apache Wink Client is comprised of several key elements that together create a simple and convenient framework for the consumption of REST based web services. The client is an abstraction of REST concepts modeled into simple java classes that encapsulate the underlying HTTP protocol, used for the service invocation.</p>
+
+<p>The Apache Wink Client uses the java HttpURLConnection class for the HTTP invocation. The Apache Wink Client also provides a module that utilizes the Apache HTTP Client instead of the default HttpURLConnection class.</p>
+
+<p>The following section provides an overview of the key elements and classes that comprise the Apache Wink Client.</p>
+
+<h2><a name="2ApacheWinkBuildingBlocks-RestClientClass"></a>RestClient Class</h2>
+
+<p>The RestClient class is the central access point to Apache Wink Client. It provides the user with functionality that enables the creation of new Resource instances. The RestClient provides the user with the ability to set different configuration parameters and custom JAX-RS providers and propagates them to the created resources.</p>
+
+<h2><a name="2ApacheWinkBuildingBlocks-ResourceInterface"></a>Resource Interface</h2>
+
+<p>The Resource interface represents a single web resource located at a specific URL, enabling for the manipulation and retrieval of the resource by the invocation of different HTTP methods on the resource instance. The resource interface is implemented following the Builder design pattern so method calls can be easily aggregated and in order to enable easy construction of requests and setting of the resource properties prior to invocation.</p>
+
+<h2><a name="2ApacheWinkBuildingBlocks-ClientRequestInterface"></a>ClientRequest Interface</h2>
+
+<p>The ClientRequest interface represents a request issued by invoking any one of the invocation methods on a Resource. An instance of a ClientRequest is created at the beginning of an invocation and passed to all the client handlers defined on the client that was used for the invocation.</p>
+
+<h2><a name="2ApacheWinkBuildingBlocks-ClientResponseInterface"></a>ClientResponse Interface</h2>
+
+<p>The ClientResponse interface represents an HTTP response that is received after invoking any one of the invocation methods on a Resource. An instance of a ClientResponse is created by the ConnectionHandler at the end of the handler chain, and is returned from every handler on the chain.</p>
+
+<h2><a name="2ApacheWinkBuildingBlocks-ClientConfigClass"></a>ClientConfig Class</h2>
+
+<p>The ClientConfig class provides client configuration when instantiating a new RestClient. The ClientConfig is implemented using the Builder design pattern so method calls can be easily aggregated. Custom Providers and client Handlers are set on the ClientConfig instance prior to the creation of the RestClient.</p>
+
+<h2><a name="2ApacheWinkBuildingBlocks-ClientHandlerInterface"></a>ClientHandler Interface</h2>
+
+<p>Client handlers are used to incorporate cross invocation functionality. The ClientHandler interface is implemented by client handlers, and the handle() method is invoked for every request invocation in order to allow the handler to perform custom actions during the request invocation.</p>
+
+
+<h2><a name="2ApacheWinkBuildingBlocks-InputStreamAdapterInterface"></a>InputStreamAdapter Interface</h2>
+
+<p>The InputStreamAdapter interface is used to wrap the response input stream with another input stream in order to allow the manipulation of the response entity stream. The adapt() method is called after reading the response status code and response headers, and before returning to the ClientResponse to the handlers on the chain.</p>
+
+<h2><a name="2ApacheWinkBuildingBlocks-OutputStreamAdapterInterface"></a>OutputStreamAdapter Interface</h2>
+
+<p>The OutputStreamAdapter interface is used to wrap the request output stream with another output stream to allow the manipulation of the request entity stream. The adapt() method is called before writing the request headers to allow the adapter to manipulate the request.</p>
+
+<h2><a name="2ApacheWinkBuildingBlocks-EntityTypeClass"></a>EntityType Class</h2>
+
+<p>The EntityType is used to specify the class type and the generic type of responses. Typically, an anonymous "<b>EntityType</b>" instance is created in order to specify the response type, as is shown in the following code example:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">Resource resource = client.resource(uri);
+List&lt;<span class="code-object">String</span>&gt; list = resource.get(<span class="code-keyword">new</span> EntityType&lt;List&lt;<span class="code-object">String</span>&gt;&gt;() {});
+</pre>
+</div></div>
+
+<h2><a name="2ApacheWinkBuildingBlocks-ApacheHttpClientConfigClass"></a>ApacheHttpClientConfig Class</h2>
+
+<p>The "<b>ApacheHttpClientConfig</b>" Configuration object configures the Apache Wink Client to use the Apache HttpClient as the underlying HTTP client. The following code snippet, demonstrates the typical usage:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java"><span class="code-comment">// creates the client that uses Apache DefaultHttpClient as the underlying Http client.
+</span>RestClient client = <span class="code-keyword">new</span> RestClient(<span class="code-keyword">new</span> ApacheHttpClientConfig(<span class="code-keyword">new</span> DefaultHttpClient()));
+
+<span class="code-comment">// creates the resource
+</span>Resource resource = client.resource(<span class="code-quote">"http:<span class="code-comment">//myhost:80/my/service"</span>);
+</span>
+<span class="code-comment">// invokes a GET method on the resource and receives the response entity as a string
+</span><span class="code-object">String</span> entity = resource.get(<span class="code-object">String</span>.class);
+...
+</pre>
+</div></div>
+<p><br clear="all" /></p>
+<hr />
+<h1><a name="2ApacheWinkBuildingBlocks-TheApacheWinkRuntime"></a>The Apache Wink Runtime</h1>
+
+<p>The Apache Wink runtime is deployed on a JEE environment and is configured by defining the RestServlet in the web.xml file of the application. This servlet is the entry point of all the HTTP requests targeted for web services, and passes the request and response instances to the Wink engine for processing.</p>
+
+<p><b>Figure 9: Apache Wink Request Processor</b> <b>Architecture</b><br/>
+<img src="attachments/2329360/2523215.jpg" align="absmiddle" border="0" height="312" width="490"/></p>
+
+<p>The diagram illustrates the core components of the Apache Wink runtime. The Wink engine is the RequestProcessor. It builds an instance of a MessageContext with all of the required information for the request and passes it through the engine handler chains. The handler chains are responsible for serving the request, invoking the required resource method and finally generating a response.<br/>
+In case of an error, the RequestProcessor invokes the Error chain with the generated exception for producing the appropriate response.<br/>
+The Apache Wink runtime maintains providers and resources in two registries, the "<b>providers registry</b>" and the "resource registry" utilizing them during request processing.</p>
+
+<p><br clear="all" /></p>
+<hr />
+<h2><a name="2ApacheWinkBuildingBlocks-RequestProcessor"></a>Request Processor</h2>
+
+<p>The RequestProcessor is the Apache Wink engine, that is initialized by the RestServlet and is populated with an instance of a DeploymentConfiguration.<br/>
+When a request is passed to the handleRequest() method of the RequestProcessor, a new instance of a&nbsp; MessageContext is created.<br/>
+The MessageContext contains all of the information that is required for the Wink runtime to handle the request. The RequestProcessor first invokes the Request Handler Chain and then the Response Handler Chain.</p>
+
+<p>If an exception occurs during any stage of the request processing, the RequestProcessor invokes the Error Handler Chain for processing the exception.</p>
+
+<p><br clear="all" /></p>
+<hr />
+<h2><a name="2ApacheWinkBuildingBlocks-DeploymentConfiguration"></a>Deployment Configuration</h2>
+
+<p>The Apache Wink runtime is initialized with an instance of a Deployment Configuration. The Deployment Configuration holds the runtime configuration, including the handler chains, registries, configuration properties.<br/>
+The Deployment Configuration is initialized with an instance of a JAX-RS Application used for obtaining user resources and providers.</p>
+
+<p><br clear="all" /></p>
+<hr />
+<h3><a name="2ApacheWinkBuildingBlocks-CustomizationoftheHandlersChain"></a>Customization of the Handlers Chain</h3>
+
+<p>The handler chain is customized by extending the org.apache.wink.server.handlers.HandlersFactory class, overriding specific methods and specifying the new class in the web.xml file of the application.<br/>
+In order to specify a different HandlersFactory class instead of the default handlers, specify an init parameter for a custom properties file to be loaded by the RestServlet.  Then, the value of the wink.handlersFactoryClass property must be set as the fully qualified name of the customized handlers class in the properties file.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;servlet&gt;</span>
+ <span class="code-tag">&lt;servlet-name&gt;</span>restSdkService<span class="code-tag">&lt;/servlet-name&gt;</span>
+ <span class="code-tag">&lt;servlet-class&gt;</span>
+ org.apache.wink.server.internal.servlet.RestServlet
+ <span class="code-tag">&lt;/servlet-class&gt;</span>
+ <span class="code-tag">&lt;init-param&gt;</span>
+ <span class="code-tag">&lt;param-name&gt;</span>propertiesLocation<span class="code-tag">&lt;/param-name&gt;</span>
+ <span class="code-tag">&lt;param-value&gt;</span>path/to/my-wink-properties.properties<span class="code-tag">&lt;/param-value&gt;</span>
+ <span class="code-tag">&lt;/init-param&gt;</span>
+<span class="code-tag">&lt;/servlet&gt;</span>
+</pre>
+</div></div>
+<p>In the my-wink-properties properties file:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">wink.handlersFactoryClass=org.apache.wink.MyCustomHandlersFactory
+</pre>
+</div></div>
+<p>See the JavaDoc for the HandlersFactory API.</p>
+
+<p><br clear="all" /></p>
+<hr />
+<h2><a name="2ApacheWinkBuildingBlocks-HandlerChains"></a>Handler Chains</h2>
+
+<p>The handler chain pattern is used by the Wink runtime for implementing the core functionalities.<br/>
+There are three handler chains utilized by the Wink runtime:</p>
+
+<ul>
+	<li>RequestHandlersChain</li>
+	<li>ResponseHandlersChain</li>
+	<li>ErrorHandlersChain</li>
+</ul>
+
+
+
+<p><div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Handler Chains</b><br />For further information regarding the "<b>Handler Chains</b>", refer to section 5 <b>Apache Wink Server</b>, <a href="5.7 Handler Chain - Runtime Extension.html" title="5.7 Handler Chain - Runtime Extension">5.7 Handler Chain - Runtime Extension</a> </td></tr></table></div><br clear="all" /></p>
+<hr />
+<h2><a name="2ApacheWinkBuildingBlocks-Registries"></a>Registries</h2>
+
+<p>The Apache Wink runtime utilizes two registries for maintaining the JAX-RS resources and providers. Both registries maintain their elements in a sorted state according to the JAX-RS specification for increasing performance during request processing. In addition to the JAX-RS specification sorting, Wink supports the prioritization of resources and providers.</p>
+
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Resources and Providers Prioritization</b><br />For further information regarding &#42;"<b>Resources and Providers Prioritization</b>", refer to the section <a href="5.1 Registration and Configuration.html#5.1RegistrationandConfiguration-Priorities">5.1 Registration and Configuration</a>. </td></tr></table></div>
+
+<h3><a name="2ApacheWinkBuildingBlocks-ResourceRegistry"></a>Resource Registry</h3>
+
+<p><b>Firgure 10: Resource Registry Architecture</b><br/>
+<img src="attachments/2329360/2523216.jpg" align="absmiddle" border="0"/></p>
+
+<p>The resources registry maintains all of the root resources in the form of Resource Records.<br/>
+A Resource Record holds the following:</p>
+<ul>
+	<li><b>URI Template Processor</b> &#45; represents a URI template associated with a resource. Used during the resource matching process.</li>
+	<li><b>Resource Metadata</b> &#45; holds the resource metadata collected from the resource annotations.</li>
+	<li><b>Sub-Resource Records</b> &#45; records of all the sub-resources (methods and locators) collected from the sub-resource annotations.</li>
+	<li><b>Resource Factory</b> &#45; a factory that retrieves an instance of the resource in accordance to the creation method defined for the resource.<br/>
+Possible creation methods include:
+	<ul>
+		<li>
+		<ul>
+			<li>singleton</li>
+			<li>prototype</li>
+			<li>spring configuration</li>
+			<li>user customizable</li>
+		</ul>
+		</li>
+	</ul>
+	</li>
+</ul>
+
+
+				    					    <br/>
+                        <div class="tabletitle">
+                            <a name="attachments">Attachments:</a>
+                        </div>
+
+                        <div class="greybox" align="left">
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2329360/2523203.jpg">Entity Provider.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2329360/2523204.jpg">Apache Wink Logic Workflow.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2329360/2523205.jpg">Servlet Dispatcher Concept 2.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2329360/2523210.jpg">URL Handling.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2329360/2523213.jpg">Simplified Client.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2329360/2523212.jpg">Simplified Client.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2329360/2523214.jpg">Simplified Client2.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2329360/2523215.jpg">Winky Spanky Diagram.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2329360/2523216.jpg">Resource Registry.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2329360/3113001.jpg">Wink Client Diagram.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2329360/3113002.jpg">Context Provider.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2329360/3113003.jpg">Exception Mapping Provider.jpg</a> (image/jpeg)
+                                <br/>
+                                                    </div>
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/3 Getting Started with Apache Wink.html b/src/site/resources/1.0/html/3 Getting Started with Apache Wink.html
new file mode 100644
index 0000000..a26dad1
--- /dev/null
+++ b/src/site/resources/1.0/html/3 Getting Started with Apache Wink.html
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 3 Getting Started with Apache Wink</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 3 Getting Started with Apache Wink
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Sep 23, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="3GettingStartedwithApacheWink-GettingStartedwithApacheWink"></a>Getting Started with Apache Wink</h1>
+
+
+<p>Apache Wink consists of a main library and an additional set of dependant libraries. The Apache Wink distribution also includes an "<b>examples</b>" folder that contains all of the "<b>example projects</b>" referred to in this developer guide.</p>
+
+<h3><a name="3GettingStartedwithApacheWink-Thissectioncontainsthefollowing%3A"></a>This section contains the following:</h3>
+
+<ul>
+	<li><a href="#3GettingStartedwithApacheWink-ApacheWinkDistributionFiles">Apache Wink Distribution Files</a></li>
+	<li><a href="#3GettingStartedwithApacheWink-CreatingaProjectusingtheApacheWink">Creating a Project using the Apache Wink</a></li>
+	<li><a href="#3GettingStartedwithApacheWink-TestingtheProjectDeployment">Testing the Project Deployment</a></li>
+	<li><a href="#3GettingStartedwithApacheWink-HelloWorldDetailedDescription">HelloWorld Detailed Description</a></li>
+	<li><a href="#3GettingStartedwithApacheWink-HelloWorldJ2EEDeploymentDescriptorweb.xml">HelloWorld J2EE Deployment Descriptor - web.xml</a></li>
+	<li><a href="#3GettingStartedwithApacheWink-HelloWorldSpringDeploymentDescriptorHelloWorldContextserver.xml">HelloWorld Spring Deployment Descriptor HelloWorldContext-server.xml</a></li>
+	<li><a href="#3GettingStartedwithApacheWink-BookmarkExampleApplication">Bookmark Example Application</a></li>
+	<li><a href="#3GettingStartedwithApacheWink-ApacheWinkGettingStartedSummary">Apache Wink Getting Started Summary</a></li>
+</ul>
+
+
+<h1><a name="3GettingStartedwithApacheWink-GettingStartedwithApacheWinkOverview"></a>Getting Started with Apache Wink Overview</h1>
+
+<p>In order to gain an in-depth understanding of the Apache Wink SDK a series of example projects have been designed to help the developer clarify the underlying principles and usage of the Apache Wink.<br/>
+The following sections provide a detailed step-by-step implementation and deployment of the HelloWorld example application using the Eclipse IDE as the default development environment.</p>
+
+<h2><a name="3GettingStartedwithApacheWink-ApacheWinkDistributionFiles"></a>Apache Wink Distribution Files</h2>
+
+<p>TBD</p>
+
+<h2><a name="3GettingStartedwithApacheWink-CreatingaProjectusingtheApacheWink"></a>Creating a Project using the Apache Wink</h2>
+
+<p>TBD</p>
+
+<h2><a name="3GettingStartedwithApacheWink-TestingtheProjectDeployment"></a>Testing the Project Deployment</h2>
+
+<p>TBD</p>
+
+<h2><a name="3GettingStartedwithApacheWink-HelloWorldDetailedDescription"></a>HelloWorld Detailed Description</h2>
+
+<p>TBD</p>
+
+<h2><a name="3GettingStartedwithApacheWink-HelloWorldJ2EEDeploymentDescriptorweb.xml"></a>HelloWorld J2EE Deployment Descriptor - web.xml</h2>
+
+<p>TBD</p>
+
+<h3><a name="3GettingStartedwithApacheWink-HelloWorldSpringDeploymentDescriptorHelloWorldContextserver.xml"></a>HelloWorld Spring Deployment Descriptor HelloWorldContext-server.xml</h3>
+
+<p>TBD</p>
+
+<h2><a name="3GettingStartedwithApacheWink-BookmarkExampleApplication"></a>Bookmark Example Application</h2>
+
+<p>TBD</p>
+
+
+<h2><a name="3GettingStartedwithApacheWink-ApacheWinkGettingStartedSummary"></a>Apache Wink Getting Started Summary</h2>
+
+<p>TBD</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/4 JAX-RS Concepts.html b/src/site/resources/1.0/html/4 JAX-RS Concepts.html
new file mode 100644
index 0000000..e74bcb6
--- /dev/null
+++ b/src/site/resources/1.0/html/4 JAX-RS Concepts.html
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 4 JAX-RS Concepts</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 4 JAX-RS Concepts
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Sep 16, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="4JAX-RSConcepts-JAXRSConcepts"></a>JAX-RS Concepts</h1>
+
+<p>JAX-RS (JSR 311) is the latest JCP specification that provides a Java based API for REST Web services over the HTTP protocol. The JAX-RS specification is an annotation based server side API.</p>
+
+<h2><a name="4JAX-RSConcepts-ApplyingJAXRStoApacheWink"></a>Applying JAX-RS to Apache Wink</h2>
+
+<p><a href="http://incubator.apache.org/wink/">Apache Wink</a> is a full implementation of the JAX-RS 1.0 specification, providing a rich set of features and expansions that extend and supplement the JAX-RS specification. Apache Wink is designed to be an easy to use, production quality and efficient implementation.</p>
+
+<p>The Apache Wink architecture enables the incorporation of custom functionality via the use of handlers that provide for the manipulation of requests, Apache Wink also provides a powerful client module for the consumption of REST web services and is bundled with a range of built-in Providers that enable the developer to quickly implement applications that make use of industry standard formats such as XML, ATOM, APP, RSS, JSON, CSV, HTML.</p>
+
+<h3><a name="4JAX-RSConcepts-DevelopingRESTApplications"></a>Developing REST Applications</h3>
+
+<p>For those new to JAX-RS or developing REST applications, follow this in-progress developer guide.  If you have comments or questions, send an e-mail to the appropriate <a href="http://cwiki.apache.org/confluence/display/WINK/Index" title="Index">Apache Wink mailing lists</a>.</p>
+
+<p>While this developer guide covers common scenarios, it is not intended to detail the JAX-RS specification itself.  Please read the (brief yet understandable) specification if it is available to you.</p>
+
+<h2><a name="4JAX-RSConcepts-GettingStartedASimpleJAXRSApplicationJAXRSGettingStarted"></a><a href="JAX-RS Getting Started.html" title="JAX-RS Getting Started">Getting Started - A Simple JAX-RS Application</a></h2>
+
+<ul>
+	<li>Creating a Resource</li>
+	<li>Creating a javax.ws.rs.core.Application sub-class</li>
+	<li>Packaging Apache Wink with a Web Application</li>
+	<li>Installation and Running the Application</li>
+</ul>
+
+
+<h2><a name="4JAX-RSConcepts-ApplicationConfigurationJAXRSApplicationConfiguration"></a><a href="JAX-RS Application Configuration.html" title="JAX-RS Application Configuration">Application Configuration</a></h2>
+
+<ul>
+	<li>javax.ws.rs.core.Application subclass</li>
+	<li>Container environment information</li>
+</ul>
+
+
+<h2><a name="4JAX-RSConcepts-Resources%2CHTTPMethods%2CandPathsJAXRSResources%2CHTTPMethods%2CandPaths"></a><a href="JAX-RS Resources, HTTP Methods, and Paths.html" title="JAX-RS Resources, HTTP Methods, and Paths">Resources, HTTP Methods, and Paths</a></h2>
+
+<ul>
+	<li><a href="JAX-RS Resources, HTTP Methods, and Paths.html#JAX-RSResources%2CHTTPMethods%2CandPaths-RootResource">Root Resource Methods</a></li>
+	<li><a href="JAX-RS Resources, HTTP Methods, and Paths.html#JAX-RSResources%2CHTTPMethods%2CandPaths-javax.ws.rs.core.Response">javax.ws.rs.core.Response</a></li>
+	<li><a href="JAX-RS Resources, HTTP Methods, and Paths.html#JAX-RSResources%2CHTTPMethods%2CandPaths-HTTPMethods">HTTP Methods</a></li>
+	<li><a href="JAX-RS Resources, HTTP Methods, and Paths.html#JAX-RSResources%2CHTTPMethods%2CandPaths-SubresourceMethod">Subresource Methods</a></li>
+	<li><a href="JAX-RS Resources, HTTP Methods, and Paths.html#JAX-RSResources%2CHTTPMethods%2CandPaths-SubresourceLocator">Subresource Locators</a></li>
+	<li>Regular Expressions</li>
+</ul>
+
+
+<h2><a name="4JAX-RSConcepts-RequestandResponseEntities%28MessageBodies%29andMediaTypesJAXRSRequestandResponseEntities"></a><a href="JAX-RS Request and Response Entities.html" title="JAX-RS Request and Response Entities">Request and Response Entities (Message Bodies) and Media Types</a></h2>
+
+<ul>
+	<li><a href="JAX-RS Request and Response Entities.html#JAX-RSRequestandResponseEntities-ConsumesAndProduces">Produces/Consumes annotations</a></li>
+	<li>ATOM</li>
+	<li>XML</li>
+	<li>JSON</li>
+	<li><a href="JAX-RS Request and Response Entities.html#JAX-RSRequestandResponseEntities-JAXRSStandardEntityProviders">Standard Entity Parameter Types</a></li>
+	<li>Custom application provided Message Body Readers/Writers</li>
+	<li><a href="JAX-RS Request and Response Entities.html#JAX-RSRequestandResponseEntities-TransferEncoding">Transfer Encoding</a></li>
+	<li><a href="JAX-RS Request and Response Entities.html#JAX-RSRequestandResponseEntities-ContentEncoding">Content Encoding</a></li>
+</ul>
+
+
+<h2><a name="4JAX-RSConcepts-ParametersJAXRSParameters"></a><a href="JAX-RS Parameters.html" title="JAX-RS Parameters">Parameters</a></h2>
+
+<ul>
+	<li><a href="JAX-RS Parameters.html#JAX-RSParameters-QueryParameter">Query Parameters</a></li>
+	<li><a href="JAX-RS Parameters.html#JAX-RSParameters-PathParameter">Path Parameters</a></li>
+	<li><a href="JAX-RS Parameters.html#JAX-RSParameters-MatrixParameter">Matrix Parameters</a></li>
+	<li><a href="JAX-RS Parameters.html#JAX-RSParameters-HeaderParameter">Header Parameters</a></li>
+	<li><a href="JAX-RS Parameters.html#JAX-RSParameters-CookieParameter">Cookie Parameters</a></li>
+</ul>
+
+
+<h2><a name="4JAX-RSConcepts-HTTPHeadersJAXRSHTTPHeaders"></a><a href="JAX-RS HTTP Headers.html" title="JAX-RS HTTP Headers">HTTP Headers</a></h2>
+
+<ul>
+	<li><a href="JAX-RS HTTP Headers.html#JAX-RSHTTPHeaders-RequestHeaders">Common HTTP Request Headers</a></li>
+	<li><a href="JAX-RS HTTP Headers.html#JAX-RSHTTPHeaders-ResponseHeaders">Common HTTP Response Headers</a></li>
+</ul>
+
+
+<h2><a name="4JAX-RSConcepts-ContentNegotiationJAXRSContentNegotiation"></a><a href="JAX-RS Content Negotiation.html" title="JAX-RS Content Negotiation">Content Negotiation</a></h2>
+
+<ul>
+	<li><a href="JAX-RS Content Negotiation.html#JAX-RSContentNegotiation-URL">Using URIs to identify content type</a></li>
+	<li><a href="JAX-RS Content Negotiation.html#JAX-RSContentNegotiation-Parameter">Using parameters to identify content type</a></li>
+	<li><a href="JAX-RS Content Negotiation.html#JAX-RSContentNegotiation-AcceptHeader">Using Accept headers</a></li>
+</ul>
+
+
+<h2><a name="4JAX-RSConcepts-UsingRequestContextInformationJAXRSContextInformation"></a><a href="JAX-RS Context Information.html" title="JAX-RS Context Information">Using Request Context Information</a></h2>
+
+<ul>
+	<li><a href="JAX-RS Context Information.html#JAX-RSContextInformation-HttpHeaders">HTTP Headers</a></li>
+	<li><a href="JAX-RS Context Information.html#JAX-RSContextInformation-UriInfo">URI Information</a></li>
+	<li><a href="JAX-RS Context Information.html#JAX-RSContextInformation-SecurityContext">Security Information</a></li>
+	<li><a href="JAX-RS Context Information.html#JAX-RSContextInformation-Request">Request</a></li>
+	<li><a href="JAX-RS Context Information.html#JAX-RSContextInformation-Providers">Providers</a></li>
+</ul>
+
+
+<h2><a name="4JAX-RSConcepts-CachingJAXRSCaching"></a><a href="JAX-RS Caching.html" title="JAX-RS Caching">Caching</a></h2>
+
+<ul>
+	<li>Expires</li>
+	<li>Cache-Control</li>
+</ul>
+
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/5 Apache Wink Server.html b/src/site/resources/1.0/html/5 Apache Wink Server.html
new file mode 100644
index 0000000..704d949
--- /dev/null
+++ b/src/site/resources/1.0/html/5 Apache Wink Server.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 5 Apache Wink Server</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 5 Apache Wink Server
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 14, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="5ApacheWinkServer-ApacheWinkServerModule"></a>Apache Wink Server Module</h1>
+
+<p>The following section describes the Apache Wink Server and provides a detailed description of the Apache Wink Server component and its functionality.</p>
+
+
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'><h3><a name="5ApacheWinkServer-Contents"></a>Contents </h3></th>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="5.1 Registration and Configuration.html" title="5.1 Registration and Configuration">5.1 Registration and Configuration</a><br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="5.2 Annotations.html" title="5.2 Annotations">5.2 Annotations</a><br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="5.3 Resource Matching.html" title="5.3 Resource Matching">5.3 Resource Matching</a><br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="5.4 APP Service Document.html" title="5.4 APP Service Document">5.4 APP. Service Document</a><br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="5.5 Spring Integration.html" title="5.5 Spring Integration">5.5 Spring Integration</a><br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="5.6 WebDAV Extension.html" title="5.6 WebDAV Extension">5.6 WebDAV Extension</a><br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="5.7 Handler Chain - Runtime Extension.html" title="5.7 Handler Chain - Runtime Extension">5.7 Handler Chain</a><br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="5.8 Link Builder.html" title="5.8 Link Builder">5.8 Link Builder</a><br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="5.9 Assets.html" title="5.9 Assets">5.9 Assets</a><br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="5.10 Admin Views.html" title="5.10 Admin Views">5.10 Admin Views</a><br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+<h2><a name="5ApacheWinkServer-ApacheWinkServerOverview"></a>Apache Wink Server Overview</h2>
+
+<p>The Apache Wink Server module is a complete implementation of the JAX-RS v1.0 specification. In addition to the core implementation, the Wink Server module provides a set of additional features that are designed to facilitate the development of RESTful Web services. The framework is easy to extend and to enrich with new functionality.</p>
+
+<h2><a name="5ApacheWinkServer-MainFeatures"></a>Main Features</h2>
+
+<p>The Apache Wink Server main features are as follows:</p>
+
+<ul>
+	<li>Is a complete implementation of the JAX-RS v1.0 specification</li>
+	<li>Provides out-of-the-box Java object models for Atom, Json, RSS, APP, CSV, HTML, Multipart and OpenSearch along with providers to serialize and deserialize these models</li>
+	<li>Highly configurable  and flexible runtime functionality</li>
+	<li>Provides a Handlers mechanism for manipulation of HTTP request and response messages</li>
+	<li>Automatic generation of APP document for collection resources</li>
+	<li>Spring integration</li>
+	<li>Provides support for WebDAV through the WebDAV extension</li>
+	<li>Provides an in-depth administration view of the runtime registries</li>
+</ul>
+
+
+
+<h3><a name="5ApacheWinkServer-ApacheWinkHighLevelServerArchitectureOverview"></a>Apache Wink High Level Server Architecture Overview</h3>
+
+<p>The following diagram illustrates the general architecture of the Apache Wink server runtime.</p>
+
+
+<p><img src="attachments/2851038/4751373.jpg" align="absmiddle" border="0"/></p>
+
+<p>The Apache Wink server runtime layer receives incoming HTTP requests from the hosting container. Once a request is received the Apache Wink server runtime initiates a new request session by creating a message context that is passed through the handlers chain which consists of system and user defined handlers.</p>
+
+<p>Initially the runtime passes the message context through the handlers responsible for finding the resources and resource methods that match the request according to the JAX-RS specification. If required, the incoming request is de-serialized using the appropriate provider. Once the injectable parameters are ready for injection the matched resource method is invoked and the returned response object is then passed through the handler chain in order to select and activate the appropriate provider for serialization as the HTTP response.</p>
+
+				    					    <br/>
+                        <div class="tabletitle">
+                            <a name="attachments">Attachments:</a>
+                        </div>
+
+                        <div class="greybox" align="left">
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2851038/3112967.jpg">Wink Logo.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2851038/3112968.jpg">Wink Logo.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2851038/3112966.jpg">Wink Logo.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2851038/3801124.jpg">Apache Wink Server Diagram.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2851038/3801097.jpg">Apache Wink Server Diagram.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2851038/3801125.jpg">Apache Wink Server Diagram1.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2851038/4751370.jpg">Apache Wink Server Diagram2.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2851038/4751371.jpg">Apache Wink Server Diagram3.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2851038/4751372.jpg">Apache Wink Server Diagram4.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2851038/4751373.jpg">Apache Wink Server Diagram5.jpg</a> (image/jpeg)
+                                <br/>
+                                                    </div>
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/5.1 Registration and Configuration.html b/src/site/resources/1.0/html/5.1 Registration and Configuration.html
new file mode 100644
index 0000000..02bdb0f
--- /dev/null
+++ b/src/site/resources/1.0/html/5.1 Registration and Configuration.html
@@ -0,0 +1,319 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 5.1 Registration and Configuration</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 5.1 Registration and Configuration
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 13, 2009 by <font color="#0050B2">bluk</font>.
+				    </div>
+
+				    <h1><a name="5.1RegistrationandConfiguration-RegistrationandConfiguration"></a>Registration and Configuration</h1>
+
+<p>Apache Wink provides several methods for registering resources and providers. This chapter describes registration methods and Wink configuration options. &nbsp;</p>
+
+<h2><a name="5.1RegistrationandConfiguration-SimpleApplication"></a>Simple Application</h2>
+
+<p>Apache Wink provides the "<b>SimpleWinkApplication</b>" class in order to support the loading of resources and providers through a simple text file that contains a list of fully qualified class names of the resource and provider classes. Each line contains a single fully qualified class name that is either a resource or a provider. Empty lines and lines that begin with a number sign (#) are permitted and ignored.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml"># Providers

+com.example.MyXmlProvider

+com.example.MyJSONProvider

+

+# Resources

+com.example.FooResource

+com.example.BarResource

+</pre>
+</div></div>
+
+<h4><a name="5.1RegistrationandConfiguration-SpecifyingtheSimpleApplicationFileLocation"></a>Specifying the Simple Application File Location</h4>
+
+<p>The path to a simple application file is configured via the applicationConfigLocation init-param in the web.xml file. It is possible to specify multiple files by separating them with a semicolon.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;servlet&gt;</span>

+  <span class="code-tag">&lt;servlet-name&gt;</span>restSdkService<span class="code-tag">&lt;/servlet-name&gt;</span>

+  <span class="code-tag">&lt;servlet-class&gt;</span>

+    org.apache.wink.server.internal.servlet.RestServlet

+  <span class="code-tag">&lt;/servlet-class&gt;</span>

+  <span class="code-tag">&lt;init-param&gt;</span>

+    <span class="code-tag">&lt;param-name&gt;</span>applicationConfigLocation<span class="code-tag">&lt;/param-name&gt;</span>

+    <span class="code-tag">&lt;param-value&gt;</span>/WEB-INF/providers;/WEB-INF/resources<span class="code-tag">&lt;/param-value&gt;</span>

+  <span class="code-tag">&lt;/init-param&gt;</span>

+<span class="code-tag">&lt;/servlet&gt;</span>

+</pre>
+</div></div>
+
+<h3><a name="5.1RegistrationandConfiguration-ApacheWinkApplication"></a>Apache Wink Application</h3>
+
+<p>Apache Wink extends the javax.ws.rs.core.Application class with the org.apache.wink.common.WinkApplication class in order to provide the Dynamic Resources and the Priorities functionality.</p>
+
+<p>An application may provide an instance of the Apache Wink Application to the Apache Wink runtime as specified by the JAX-RS specification.</p>
+
+<h3><a name="5.1RegistrationandConfiguration-DynamicResources"></a>Dynamic Resources</h3>
+
+<p>Dynamic Resources enable the binding of a Resource class to a URI path during runtime instead of by using the @Path annotation. A dynamic resource must implement the DynamicResource interface and must not be annotated with the @Path annotation.</p>
+
+<h3><a name="5.1RegistrationandConfiguration-Motivation"></a>Motivation</h3>
+
+<p>A Dynamic Resource is useful for situations where a resource class must be bound to multiple paths, for example, a sorting resource:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+<span class="code-keyword">public</span> class SortingResource&lt;E <span class="code-keyword">extends</span> Comparable&lt;? <span class="code-keyword">super</span> E&gt;&gt; {

+    <span class="code-keyword">private</span> List&lt;E&gt; list;

+    @POST

+    <span class="code-keyword">public</span> void sort() {

+        Collections.sort(list);

+    }

+    <span class="code-keyword">public</span> void setList(List&lt;E&gt; list) {

+        <span class="code-keyword">this</span>.list = list;

+    }

+    <span class="code-keyword">public</span> List&lt;E&gt; getList() {

+        <span class="code-keyword">return</span> list;

+    }

+}

+</pre>
+</div></div>
+
+<h5><a name="5.1RegistrationandConfiguration-Explanation"></a>Explanation</h5>
+
+<p>In this example, the SortingResource class can sort any list. If the application manages a library of books and exposes the following resource paths, then the SortingResource class can be used for the implementation of all these resource paths, assuming that it could be bound to more than one path.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">/sort-books

+/sort-authors

+/sort-titles

+</pre>
+</div></div>
+<p>A dynamic resource is also useful for situations where the resource path is unknown during development, and is only known during the application startup.</p>
+
+<h3><a name="5.1RegistrationandConfiguration-Usage"></a>Usage</h3>
+
+<p>A Dynamic Resource is a resource class that implements the org.apache.wink.server.DynamicResource interface or extends the org.apache.wink.server.AbstractDynamicResource convenience class.</p>
+
+<p>A Dynamic Resource is not registered in Apache Wink through the Application#getClasses() method or the Application#getSignletons() method, since the same class can be used for multiple resources.<br/>
+In order to register Dynamic Resources in the system, the WinkApplication#getInstances()method must be used.</p>
+
+<h3><a name="5.1RegistrationandConfiguration-Scope"></a>Scope</h3>
+
+<p>The scope of a Dynamic Resource is limited to "singleton" as it is initialized prior to its registration, and the system does not have enough information to create it in runtime. This limitation is irrelevant when working with Spring. Refer to chapter ‎0 for more information on Spring integration.</p>
+
+
+<h2><a name="5.1RegistrationandConfiguration-Priorities"></a>Priorities</h2>
+
+<p>Although JAX-RS defines the algorithm for searching for resources and providers, Apache Wink enables to extend this algorithm by allowing the specification of priorities for them.<br/>
+Apache Wink extends the JAX-RS search algorithms by providing the ability to specify priorities on the resources and providers. This is achieved by enabling the registration of multiple Application instances with different priorities, rendering the order of their registration irrelevant as long as they have different priorities.</p>
+
+<p>In order to register a prioritized Application, it is necessary to register an instance of a Apache WinkApplication class. Priority values range between 0 and 1. In the event that the priority was not specified, a default priority of 0.5 is used.</p>
+
+<h3><a name="5.1RegistrationandConfiguration-ResourcePriorities"></a>Resource Priorities</h3>
+
+<p>Priorities on resources are useful for situations where an application registers core resources bound to paths, and allows extensions to register resources on the same paths in order to override the core resources.</p>
+
+
+<p>The Apache Wink runtime first sorts the resources based on their priority and then based on the JAX-RS specification, thus if two resources have the same path, the one with higher priority is invoked.</p>
+
+<h3><a name="5.1RegistrationandConfiguration-ProviderPriorities"></a>Provider Priorities</h3>
+
+<p>JAX-RS requires that application-provided providers be used in preference to implementation pre-packaged providers. Apache Wink extends this requirement by allowing applications to specify a priority for providers.</p>
+
+<p>The Apache Wink runtime initially sorts the matching providers according to the JAX-RS specification, and uses the priority as the last sorting key for providers of equal standing.<br/>
+If two providers have the same priority, the order in which they are registered determines their priority such that the latest addition receives the highest priority.<br/>
+In order to meet the JAX-RS requirements, the pre-packages providers are registered using a priority of 0.1.</p>
+
+<h4><a name="5.1RegistrationandConfiguration-PropertiesTable"></a>Properties Table</h4>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Property Name <br clear="all" /> </th>
+<th class='confluenceTh'> Description <br clear="all" /> </th>
+<th class='confluenceTh'> Default Value <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> wink.http.uri <br clear="all" /> </td>
+<td class='confluenceTd'> URI that is used by the Link Builders in case of HTTP <br clear="all" /> </td>
+<td class='confluenceTd'> Use the URI from the request <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> wink.https.uri <br clear="all" /> </td>
+<td class='confluenceTd'> URI used by the Link Builders in case of HTTPS <br clear="all" /> </td>
+<td class='confluenceTd'> Use the URI from the request <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> wink.context.uri <br clear="all" /> </td>
+<td class='confluenceTd'> Context path used by the Link Builders <br clear="all" /> </td>
+<td class='confluenceTd'> Use the context path from the request <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> wink.defaultUrisRelative <br clear="all" /> </td>
+<td class='confluenceTd'> Indicates if URIs generated by the Link Builders are absolute or relative, valid values: true or false <br clear="all" /> </td>
+<td class='confluenceTd'> true - links are relative <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> wink.addAltParam <br clear="all" /> </td>
+<td class='confluenceTd'> Indicates if the "alt" query parameter should be added to URIs generated by the Link Builders. Valid values are: true, false <br clear="all" /> </td>
+<td class='confluenceTd'> true - add the alt query parameter <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> wink.search<br clear="all" />
+ PolicyContinuedSearch <br clear="all" /> </td>
+<td class='confluenceTd'> Indicates if continues search is enabled. Valid values: true, false <br clear="all" /> </td>
+<td class='confluenceTd'> true - continued search is enabled <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> wink.rootResource <br clear="all" /> </td>
+<td class='confluenceTd'> Indicates if a root resource with Service Document generation capabilities should be added. <br clear="all" />
+Valid values are: none, atom, atom+html <br clear="all" /> </td>
+<td class='confluenceTd'> atom+html &#45;-atom and html Service Document generation capabilities <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> wink.serviceDocumentCssPath <br clear="all" /> </td>
+<td class='confluenceTd'> Defines path to a css file that is used in the&nbsp; html Service Document generation. Relevant only if html Service Document is defined <br clear="all" /> </td>
+<td class='confluenceTd'> No css file defined <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> wink.handlersFactoryClass <br clear="all" /> </td>
+<td class='confluenceTd'> Defines a org.apache.wink.server<br clear="all" />
+ .handlers.HandlersFactory class that defines user handlers <br clear="all" /> </td>
+<td class='confluenceTd'> No user handlers defined <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> wink.mediaType<br clear="all" />
+ MapperFactoryClass <br clear="all" /> </td>
+<td class='confluenceTd'> Defines a org.apache.wink.server.handlers<br clear="all" />
+ .MediaTypeMapperFactory class that defines media type mappers <br clear="all" /> </td>
+<td class='confluenceTd'> No media type mappers defined <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> wink.loadApplications <br clear="all" /> </td>
+<td class='confluenceTd'> Loads providers defined in a wink-application file found by the runtime <br clear="all" /> </td>
+<td class='confluenceTd'> True, automatically load all wink-application specified classes <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+<h3><a name="5.1RegistrationandConfiguration-CustomPropertiesFileDefinition"></a>Custom Properties File Definition</h3>
+
+<p>In order to provide a custom properties file, the application should define the propertiesLocation init-param in the Apache Wink Servlet definition.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml"># Providers

+<span class="code-tag">&lt;servlet&gt;</span>

+  <span class="code-tag">&lt;servlet-name&gt;</span>restSdkService<span class="code-tag">&lt;/servlet-name&gt;</span>

+  <span class="code-tag">&lt;servlet-class&gt;</span>

+    org.apache.wink.server.internal.servlet.RestServlet

+  <span class="code-tag">&lt;/servlet-class&gt;</span>

+  <span class="code-tag">&lt;init-param&gt;</span>

+    <span class="code-tag">&lt;param-name&gt;</span>propertiesLocation<span class="code-tag">&lt;/param-name&gt;</span>

+    <span class="code-tag">&lt;param-value&gt;</span>/WEB-INF/configuration.properties<span class="code-tag">&lt;/param-value&gt;</span>

+  <span class="code-tag">&lt;/init-param&gt;</span>

+  <span class="code-tag">&lt;init-param&gt;</span>

+    <span class="code-tag">&lt;param-name&gt;</span>winkApplicationConfigLocation<span class="code-tag">&lt;/param-name&gt;</span>

+    <span class="code-tag">&lt;param-value&gt;</span>/WEB-INF/application<span class="code-tag">&lt;/param-value&gt;</span>

+  <span class="code-tag">&lt;/init-param&gt;</span>

+  <span class="code-tag">&lt;load-on-startup&gt;</span>0<span class="code-tag">&lt;/load-on-startup&gt;</span>

+<span class="code-tag">&lt;/servlet&gt;</span>

+</pre>
+</div></div>
+
+<h2><a name="5.1RegistrationandConfiguration-Runtime"></a>Runtime</h2>
+
+<p>RegistrationApache Wink provides several APIs for Runtime Registration. The APIs appear in the org.apache.wink.server.utils.RegistrationUtils class. The most important method is the one that registers an instance of the javax.ws.rs.core.Application class</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml"># Providers

+static void registerApplication(Application application, ServletContext servletContext)

+</pre>
+</div></div>
+<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Double Registration</b><br />Registration is ignored and a warning is printed to the log if the instance was previously registered</td></tr></table></div>
+
+<h2><a name="5.1RegistrationandConfiguration-MediaTypeMapping"></a>Media-Type Mapping</h2>
+
+<p>It is sometimes necessary to override the Content-Type response header based on the client user agent. For example, the Firefox browser cannot handle the application/atom+xml media type for Atom content, unless it is defined as a text/xml.</p>
+
+<p>Apache Wink provides a set of predefined Media-Type mappings for use in such cases by supplying the MediaTypeMapper class. Applications may extend or override the MediaTypeMapper class to define additional mappings.</p>
+
+<h3><a name="5.1RegistrationandConfiguration-CustomizingMappings"></a>Customizing Mappings</h3>
+
+<p>In order to customize these mappings the application should create a instance of a org.apache.wink.server.handlers.MediaTypeMapperFactory class and set it in a customized Wink properties file.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />Refer to section <a href="" title="5.1 Registration and Configuration">5.1 Registration and Configuration</a> for more information on Customizing the Default Properties Configuration.</td></tr></table></div>
+
+<h2><a name="5.1RegistrationandConfiguration-"></a></h2>
+
+
+<h2><a name="5.1RegistrationandConfiguration-AlternativeShortcuts"></a>Alternative Shortcuts</h2>
+
+<p>Clients specify the requested media type by setting the Http Accept header. Apache Wink provides an alternate method for specifying the requested media type via use of the "alt" request parameter. This functionality is useful for situation where the client has little affect on the accept header, for example when requesting a resource using a browser.</p>
+
+<p>For example, a request to /entry?alt=application/xml&nbsp; specifies that the requested response media type is application/xml. Apache Wink provides a shortcut mechanism for specifying the media type of the alt query parameter and provides a predefined set of shortcuts for common media types.</p>
+
+<h3><a name="5.1RegistrationandConfiguration-PredefinedShortcuts"></a>Predefined Shortcuts</h3>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Shortcut <br clear="all" /> </th>
+<th class='confluenceTh'> Media Type <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> json <br clear="all" /> </td>
+<td class='confluenceTd'> text/javascript <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> atom <br clear="all" /> </td>
+<td class='confluenceTd'> application/atom+xml <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> xml <br clear="all" /> </td>
+<td class='confluenceTd'> application/xml <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> text <br clear="all" /> </td>
+<td class='confluenceTd'> text/plain <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> html <br clear="all" /> </td>
+<td class='confluenceTd'> text/html <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> csv <br clear="all" /> </td>
+<td class='confluenceTd'> text/csv <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> opensearch <br clear="all" /> </td>
+<td class='confluenceTd'> application/opensearchdescription+xml <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+<h3><a name="5.1RegistrationandConfiguration-CustomizingShortcuts"></a>Customizing Shortcuts</h3>
+
+<p>The shortcuts table can be customized by overriding the deployment configuration class.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />Refer to section <a href="2 Apache Wink Building Blocks.html#2ApacheWinkBuildingBlocks-DeploymentConfiguration">2 Apache Wink Building Blocks</a> for more information on Customizing the Default Deployment Configuration.</td></tr></table></div>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/5.10 Admin Views.html b/src/site/resources/1.0/html/5.10 Admin Views.html
new file mode 100644
index 0000000..b98c32f
--- /dev/null
+++ b/src/site/resources/1.0/html/5.10 Admin Views.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 5.10 Admin Views</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 5.10 Admin Views
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 13, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="5.10AdminViews-AdministrationViews"></a>Administration Views</h1>
+
+
+
+
+<p>Apache Wink provides administration views in order to help developers better understand the services that the REST application expose. There are two administration views, the "<b>application resource XML view</b>" and the "<b>resource registry XML view</b>".</p>
+
+
+<h2><a name="5.10AdminViews-ApplicationResourcesXMLView"></a>Application Resources XML View</h2>
+
+
+<p>The application resource XML view shows the way the application is exposed to the user, it exposes the REST resources with their URI templates, the HTTP methods that are supported by the resources and the consume/produces MimeType supported by each method. This view can be used as a base for the service documentation.</p>
+
+<h2><a name="5.10AdminViews-ResourceRegistryXMLView"></a>Resource Registry XML View</h2>
+
+
+<p>The resource registry XML view shows the way that the application is developed, it is similar to the "<b>Application resources XML view</b>" but it also exposes the classes that implement resources and their priority in the registry. This view can be useful for debugging.</p>
+
+<h2><a name="5.10AdminViews-Configuration"></a>Configuration</h2>
+
+<p>By default these views are disabled, in order to activate them register the "<b>AdminServlet</b>" implemented by the <b>org.apache.wink.server.internal.servlet.AdminServletin</b> the web.xml file. No init parameters are required.</p>
+
+<h3><a name="5.10AdminViews-Example"></a>Example</h3>
+
+<p>The following code snippet is an example of a web application descriptor file.</p>
+
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">

+<span class="code-tag">&lt;servlet&gt;</span>

+	<span class="code-tag">&lt;servlet-name&gt;</span>restSdkAdmin<span class="code-tag">&lt;/servlet-name&gt;</span>

+	<span class="code-tag">&lt;servlet-class&gt;</span>org.apache.wink.server.internal.servlet.AdminServlet<span class="code-tag">&lt;/servlet-class&gt;</span>

+<span class="code-tag">&lt;/servlet&gt;</span>

+

+<span class="code-tag">&lt;servlet-mapping&gt;</span>

+	<span class="code-tag">&lt;servlet-name&gt;</span>restSdkAdmin<span class="code-tag">&lt;/servlet-name&gt;</span>

+	<span class="code-tag">&lt;url-pattern&gt;</span>/admin<span class="code-tag">&lt;/url-pattern&gt;</span>

+<span class="code-tag">&lt;/servlet-mapping&gt;</span>

+</pre>
+</div></div>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/5.2 Annotations.html b/src/site/resources/1.0/html/5.2 Annotations.html
new file mode 100644
index 0000000..8b66c58
--- /dev/null
+++ b/src/site/resources/1.0/html/5.2 Annotations.html
@@ -0,0 +1,296 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 5.2 Annotations</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 5.2 Annotations
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 13, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="5.2Annotations-Annotations"></a>Annotations</h1>
+
+<p>Apache Wink provides several annotations in addition to those defined by the JAX-RS specification. The following section describes these annotations in detail.</p>
+
+
+<h2><a name="5.2Annotations-@WorkspaceAnnotation"></a>@Workspace Annotation</h2>
+
+<p>The purpose of the @Workspace annotation is to associate a "Collection Resource" with a workspace element and collection elements in an APP Service Document.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />For more information regarding the APP Service Document, refer to section <a href="5.4 APP Service Document.html" title="5.4 APP Service Document">5.4 APP Service Document</a></td></tr></table></div>
+<p>The workspaceTitle annotation parameter specifies the title of the workspace and the collectionTitle annotation parameter specifies the title of the collection.</p>
+
+<h3><a name="5.2Annotations-@WorkspaceAnnotationSpecification"></a>@Workspace Annotation Specification</h3>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Value </th>
+<th class='confluenceTh'> Description </th>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>Mandatory</b> </td>
+<td class='confluenceTd'> No </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>Target</b> </td>
+<td class='confluenceTd'> Resource class </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>Parameters</b> </td>
+<td class='confluenceTd'> <b>Name</b> </td>
+<td class='confluenceTd'> <b>Type</b> <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> workspaceTitle <br clear="all" /> </td>
+<td class='confluenceTd'> String <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> collectionTitle <br clear="all" /> </td>
+<td class='confluenceTd'> String <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>Example</b> </td>
+<td class='confluenceTd'> @Workspace(workspaceTitle = "Title", <br clear="all" />
+collectionTitle = "Collection") x <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+<h3><a name="5.2Annotations-@WorkspaceAnnotationExample"></a>@Workspace Annotation Example</h3>
+
+<p>The following example demonstrates the use of @Workspace annotation on two resources in order to have the auto-generated APP service document contain the information about them.</p>
+
+<p>Given the following collection Resources definitions, ResourceA and ResourceB, the result is displayed in the "Auto Generated APP Service Document" table that follows.</p>
+
+<h4><a name="5.2Annotations-ResourceADefinition"></a>ResourceA Definition</h4>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">@Workspace(workspaceTitle = <span class="code-quote">"Services"</span>, collectionTitle = <span class="code-quote">"Service1"</span>)
+@Path(<span class="code-quote">"services/service1"</span>)
+public class ResourceA {
+    @POST
+    @Produces(<span class="code-quote">"text/plain"</span>)
+    @Consumes({<span class="code-quote">"application/atom+xml"</span>, <span class="code-quote">"application/xml"</span>})
+    public String getText() {return <span class="code-quote">"hey there1"</span>;}
+}
+</pre>
+</div></div>
+
+<h4><a name="5.2Annotations-ResourceBDefinition"></a>ResourceB Definition</h4>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">@Workspace(workspaceTitle = <span class="code-quote">"Services"</span>, collectionTitle = <span class="code-quote">"Service2"</span>)
+@Path(<span class="code-quote">"services/service2"</span>)
+public class ResourceB {
+    @POST
+    @Produces(<span class="code-quote">"text/plain"</span>)
+    @Consumes({<span class="code-quote">"application/atom+xml"</span>, <span class="code-quote">"application/xml"</span>})
+    public String getText() {return <span class="code-quote">"hey there2"</span>;}
+}
+</pre>
+</div></div>
+<p>The auto-generated APP Service Document is as follows:</p>
+
+<h4><a name="5.2Annotations-AutoGeneratedAPPServiceDocument"></a>Auto Generated APP Service Document</h4>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">&lt;service <span class="code-keyword">xmlns:atom</span>=http://www.w3.org/2005/Atom
+         xmlns=<span class="code-quote">"http://www.w3.org/2007/app"</span>&gt;
+    <span class="code-tag">&lt;workspace&gt;</span>
+        <span class="code-tag">&lt;atom:title&gt;</span>Services<span class="code-tag">&lt;/atom:title&gt;</span>
+        <span class="code-tag">&lt;collection href=<span class="code-quote">"services/service1"</span>&gt;</span>
+            <span class="code-tag">&lt;atom:title&gt;</span>Service1<span class="code-tag">&lt;/atom:title&gt;</span>
+            <span class="code-tag">&lt;accept&gt;</span>application/xml<span class="code-tag">&lt;/accept&gt;</span>
+            <span class="code-tag">&lt;accept&gt;</span>application/atom+xml<span class="code-tag">&lt;/accept&gt;</span>
+        <span class="code-tag">&lt;/collection&gt;</span>
+        <span class="code-tag">&lt;collection href=<span class="code-quote">"services/service2"</span>&gt;</span>
+            <span class="code-tag">&lt;atom:title&gt;</span>Service2<span class="code-tag">&lt;/atom:title&gt;</span>
+            <span class="code-tag">&lt;accept&gt;</span>application/xml<span class="code-tag">&lt;/accept&gt;</span>
+            <span class="code-tag">&lt;accept&gt;</span>application/atom+xml<span class="code-tag">&lt;/accept&gt;</span>
+        <span class="code-tag">&lt;/collection&gt;</span>
+    <span class="code-tag">&lt;/workspace&gt;</span>
+<span class="code-tag">&lt;/service&gt;</span>
+</pre>
+</div></div>
+
+<h2><a name="5.2Annotations-@AssetAnnotation"></a>@Asset Annotation</h2>
+
+<p>The @Asset annotation is a marker annotation used by the Apache Wink runtime in order to identify an entity as an Asset.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />For more information about Assets refer to section <a href="5.9 Assets.html" title="5.9 Assets">5.9 Assets</a>.</td></tr></table></div>
+
+<h3><a name="5.2Annotations-@AssetAnnotationSpecification"></a>@Asset Annotation Specification</h3>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Value <br clear="all" /> </th>
+<th class='confluenceTh'> Description <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Mandatory <br clear="all" /> </td>
+<td class='confluenceTd'> No <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Target <br clear="all" /> </td>
+<td class='confluenceTd'> Resource class <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Parameters <br clear="all" /> </td>
+<td class='confluenceTd'> None <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Example <br clear="all" /> </td>
+<td class='confluenceTd'> @Asset <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+<h2><a name="5.2Annotations-@ScopeAnnotation"></a>@Scope Annotation</h2>
+
+<p>The JAX-RS specification defines the default lifecycle behavior for resources and providers, and the option for controlling the lifecycle through the javax.ws.rs.core.Application class.</p>
+
+<p>Apache Wink provides the @Scope annotation to specify the lifecycle of a provider or resource.</p>
+
+<h3><a name="5.2Annotations-@ScopeAnnotationSpecification"></a>@Scope Annotation Specification</h3>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Value </th>
+<th class='confluenceTh'> Description </th>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>Mandatory</b> </td>
+<td class='confluenceTd'> No </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>Target</b> </td>
+<td class='confluenceTd'> Provider class or Resource class </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>Parameters</b> </td>
+<td class='confluenceTd'> <b>Name</b> </td>
+<td class='confluenceTd'> <b>Type</b> <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> Value <br clear="all" /> </td>
+<td class='confluenceTd'> ScopeType enum <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>Example</b> </td>
+<td class='confluenceTd'> @Scope(ScopeType.PROTOTYPE) <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+<h3><a name="5.2Annotations-ResourceExample"></a>Resource Example</h3>
+
+<p>The following example illustrates how to define a resource with a singleton lifecycle.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">@Scope(ScopeType.SINGLETON)
+@Path(<span class="code-quote">"service1"</span>)
+public class ResourceA {
+    ...
+}
+</pre>
+</div></div>
+
+<h3><a name="5.2Annotations-ProviderExample"></a>Provider Example</h3>
+
+<p>The following example illustrates how to define a provider with a prototype lifecycle.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">@Scope(ScopeType.PROTOTYPE)
+@Provider
+public class EntityProvider implements MessageBodyReader<span class="code-tag">&lt;String&gt;</span> {
+    ...
+}
+</pre>
+</div></div>
+
+<h2><a name="5.2Annotations-@ParentAnnotation"></a>@Parent Annotation</h2>
+
+<p>The @Parent annotation provides the ability to define a base template URI for the URI specified in a resources @Path annotation.<br/>
+If a resource is annotated with the @Parent annotation, the Apache Wink runtime calculates the final resource template by first retrieving the value of the @Parent annotation, which holds the parent resource class, and then concatenates the resource path template definition to the path template definition of the parent resource.</p>
+
+<h3><a name="5.2Annotations-@ParentAnnotationSpecification"></a>@Parent Annotation Specification</h3>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Value </th>
+<th class='confluenceTh'> Description </th>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>Mandatory</b> </td>
+<td class='confluenceTd'> No </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>Target</b> </td>
+<td class='confluenceTd'> Provider class or Resource class </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>Parameters</b> </td>
+<td class='confluenceTd'> <b>Name</b> </td>
+<td class='confluenceTd'> <b>Type</b> <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> Value <br clear="all" /> </td>
+<td class='confluenceTd'> Class&lt;?&gt; <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <b>Example</b> </td>
+<td class='confluenceTd'> @Parent(ParentResource.class) <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+<h4><a name="5.2Annotations-Example1"></a>Example 1</h4>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">@Path(<span class="code-quote">"services"</span>)
+public class ParentResource {
+    ...
+}
+</pre>
+</div></div>
+
+<h4><a name="5.2Annotations-Example2"></a>Example 2</h4>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">@Parent(BaseResource.class)
+@Path(<span class="code-quote">"service1"</span>)
+public class ResourceA {
+    ...
+}
+</pre>
+</div></div>
+
+<h5><a name="5.2Annotations-Explanation"></a>Explanation</h5>
+
+<p>In the example, the user defined two resources: A ParentResource and ResourceA. ParentResource defines the @Path annotation to associate it with "<b>services</b>" URI. ResourceA defines the @Path annotation to associate it with "<b>service1</b>" URI and defines ParentResource to be its parent by specifying it in the @Parent annotation. In this case, the final URI path for ResourceA is "<b>services/service1</b>".</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/5.3 Resource Matching.html b/src/site/resources/1.0/html/5.3 Resource Matching.html
new file mode 100644
index 0000000..d2f1807
--- /dev/null
+++ b/src/site/resources/1.0/html/5.3 Resource Matching.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 5.3 Resource Matching</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 5.3 Resource Matching
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 13, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="5.3ResourceMatching-ResourceMatching"></a>Resource Matching</h1>
+
+<p>Apache Wink provides a Continued Search mode when searching for a resource method to invoke during request processing, which is an extended search mode to the algorithm defined by the JAX-RS specification.</p>
+
+
+<h2><a name="5.3ResourceMatching-ResourceMatchingOverview"></a>Resource Matching Overview</h2>
+
+<p>Section 3.7.2 of the JAX-RS specification describes the process of matching requests to resource methods. The fact that only the first matching root resource (section 1(f) of the algorithm) and only the first matching sub-resource locator (section 2(g) of the algorithm) are selected during the process makes it difficult for application developers to implement certain scenarios.<br/>
+For example, it is impossible to have two resources anchored to the same URI, each having its own set of supported methods:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">@Path(<span class="code-quote">"my/service"</span>)
+public class ResourceA {
+    @GET
+    @Produces(<span class="code-quote">"text/plain"</span>)
+    public String getText() {...}
+}
+
+@Path(<span class="code-quote">"my/service"</span>)
+public class ResourceB {
+    @GET
+    @Produces(<span class="code-quote">"text/html"</span>)
+    public String getHtml() {...}
+}
+</pre>
+</div></div>
+
+<h3><a name="5.3ResourceMatching-Explanation"></a>Explanation</h3>
+
+<p>In order to implement this according to the JAX-RS specification, ResourceB must  extend ResourceA and be registered instead of ResourceA. However, this may not always be possible, such as in an application that uses JAX-RS as the web service frontend while providing an open architecture for registering extending services. For example, Firefox that provides an Extensions mechanism. The extending service must be aware of the core implementation workings and classes, that may not always be plausible. Moreover, it is impossible for a service to extend the functionality of another service without knowing the inner workings of that service, that creates an "evil" dependency between service implementations.</p>
+
+<p>In order to solve this problem, Apache Wink provides a special resource Continued Search mode when searching for a resource and method to invoke. By default, this mode is off, meaning that the search algorithm is strictly JAX-RS compliant. When this mode is activated, and a root resource or sub-resource locator proves to be a dead-end, the Apache Wink runtime will continue to search from the next root-resource or sub-resource locator, as if they were the first match.</p>
+
+<p>In the previous example, there is no way to know which of the resources is a first match for a request to "<b>/my/service</b>". If the Continued Search mode is off, either the getText() method is unreachable or the getHtml() method is unreachable. However, when the Continued Search mode is active, a request for text/plain reaches the getText() method in ResourceA, and a request for text/html reaches the getHtml() method in ResourceB.</p>
+
+<h2><a name="5.3ResourceMatching-Configuration"></a>Configuration</h2>
+
+<p>The Continued Search mode is activated by setting the value of the wink.searchPolicyContinuedSearch key in the application configuration properties file to true.<br/>
+If the key is set to anything else but true or if it does not exist in the properties file, then the Continued Search mode is set to off, and the behavior is strictly JAX-RS compliant.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/5.4 APP Service Document.html b/src/site/resources/1.0/html/5.4 APP Service Document.html
new file mode 100644
index 0000000..48b4f5e
--- /dev/null
+++ b/src/site/resources/1.0/html/5.4 APP Service Document.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 5.4 APP Service Document</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 5.4 APP Service Document
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 13, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="5.4APPServiceDocument-APPServiceDocument"></a>APP Service Document</h1>
+
+<p>Apache Wink supports the automatic and manual generation of APP Service Documents by providing an APP data model and set of complementary providers.</p>
+
+
+<p>Atom Publishing Protocol Service Documents are designed to support the auto-discovery of services. APP Service Documents represent server-defined groups of Collections used to initialize the process of creating and editing resources. These groups of collections are called Workspaces. The Service Document can indicate which media types and categories a collection accepts.&nbsp; &nbsp;</p>
+
+
+<p>The Apache Wink runtime supports the generation of the APP Service Documents in the XML (application/atomsvc+xml) and HTML (text/html) representations.</p>
+
+
+<h2><a name="5.4APPServiceDocument-EnablingtheAPPServiceDocumentAutoGeneration"></a>Enabling the APP Service Document Auto Generation</h2>
+
+<p>APP Service Document generation is activated by setting the wink.rootResource key in the configuration properties file. By default, the key value is set to "atom+html", indicating that both XML (application/atomsvc+xml) and HTML (text/html) representations are available.</p>
+
+
+<p>Once activated, the auto-generated APP Service Document is available at the application root URL "<a href="http://host:port/application">http://host:port/application</a>".</p>
+
+
+<h2><a name="5.4APPServiceDocument-AddingResourcestoAPPServiceDocument"></a>Adding Resources to APP Service Document</h2>
+
+<p>Apache Wink provides the @Workspace annotation used to associate a Collection Resource with an APP Service Document workspace and collection elements. The only requirement to incorporate a collection resource in a service document is to place the @Workspace annotation on the resource.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />For more information on the @Workspace annotation refer to <a href="5.2 Annotations.html" title="5.2 Annotations">5.2 Annotations</a>.</td></tr></table></div>
+<h3><a name="5.4APPServiceDocument-Example"></a>Example</h3>
+
+<p>Given the following collection resource definition:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">@Workspace(workspaceTitle = <span class="code-quote">"Workspace"</span>, collectionTitle = <span class="code-quote">"Title"</span>)

+@Path(<span class="code-quote">"my/service"</span>)

+public class ResourceA {

+    ...

+}

+</pre>
+</div></div>
+<p>The auto-generated APP Service Document is:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">&lt;service <span class="code-keyword">xmlns:atom</span>=http://www.w3.org/2005/Atom

+         xmlns=<span class="code-quote">"http://www.w3.org/2007/app"</span>&gt;

+  <span class="code-tag">&lt;workspace&gt;</span>

+    <span class="code-tag">&lt;atom:title&gt;</span>Workspace<span class="code-tag">&lt;/atom:title&gt;</span>

+    <span class="code-tag">&lt;collection href=<span class="code-quote">"my/service"</span>&gt;</span>

+      <span class="code-tag">&lt;atom:title&gt;</span>Title<span class="code-tag">&lt;/atom:title&gt;</span>

+      <span class="code-tag">&lt;accept/&gt;</span>

+    <span class="code-tag">&lt;/collection&gt;</span>

+  <span class="code-tag">&lt;/workspace&gt;</span>

+<span class="code-tag">&lt;/service&gt;</span>

+</pre>
+</div></div>
+<h2><a name="5.4APPServiceDocument-APPServiceDocumentHTMLStyling"></a>APP Service Document HTML Styling</h2>
+
+<p>Apache Wink provides the ability to change the default styling of the APP Service Document HTML representation. The styling is changed by setting the value of the wink.serviceDocumentCssPath key in the configuration properties file to the application specific CSS file location.</p>
+
+<h3><a name="5.4APPServiceDocument-Implementation"></a>Implementation</h3>
+
+<p>The following classes implement the APP Service Document support:</p>
+<ul>
+	<li><b>org.apache.wink.server.internal.resources.RootResource</b> &#45; generates the XML (application/atomsvc+xml) representation of the APP Service Document.</li>
+</ul>
+
+
+<p><b>&nbsp;org.apache.wink.server.internal.resources</b>. HtmlServiceDocumentResource - generates the HTML (text/html) representation of the APP Service Document.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/5.5 Spring Integration.html b/src/site/resources/1.0/html/5.5 Spring Integration.html
new file mode 100644
index 0000000..d4c11b6
--- /dev/null
+++ b/src/site/resources/1.0/html/5.5 Spring Integration.html
@@ -0,0 +1,246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 5.5 Spring Integration</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 5.5 Spring Integration
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 12, 2009 by <font color="#0050B2">bluk</font>.
+				    </div>
+
+				    <h1><a name="5.5SpringIntegration-SpringIntegration"></a>Spring Integration</h1>
+
+<p>Apache Wink provides an additional module deployed as an external jar in order to provide Spring integration. The Spring integration provides the following features:</p>
+<ul>
+	<li>The ability to register resources and providers from the Spring context, registered as classes or as Spring beans</li>
+</ul>
+
+
+<ul>
+	<li>The ability to define the lifecycle of resources or providers that are registered as Spring beans, overriding the default scope specified by the JAX-RS specification.</li>
+</ul>
+
+
+<ul>
+	<li>Resources and providers can benefit from Spring features such as IoC and post-processors.</li>
+</ul>
+
+
+<ul>
+	<li>Customize Apache Wink from the Spring context. When working with Spring, Apache Wink defines a core spring context that contains customization hooks, enabling easy customization that would otherwise require coding.</li>
+</ul>
+
+
+<h2><a name="5.5SpringIntegration-SpringRegistration"></a>Spring Registration</h2>
+
+<p>Spring makes it convenient to register resources and providers as spring beans.<br/>
+Spring Context Loading. In order to load the Spring Context, it is necessary to add a Context Load Listener definition to the web.xml file. The contextConfigLocation context-param must specify the location of the Apache Wink core context file and the application context file, as described in the following example:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;context-param&gt;</span>

+  <span class="code-tag">&lt;param-name&gt;</span>contextConfigLocation<span class="code-tag">&lt;/param-name&gt;</span>

+  <span class="code-tag">&lt;param-value&gt;</span>classpath:META-INF/server/winkCoreContext-server.xml

+               classpath:mycontext.xml

+  <span class="code-tag">&lt;/param-value&gt;</span>

+<span class="code-tag">&lt;/context-param&gt;</span>

+<span class="code-tag">&lt;listener&gt;</span>

+  <span class="code-tag">&lt;listener-class&gt;</span>

+    org.springframework.web.context.ContextLoaderListener

+  <span class="code-tag">&lt;/listener-class&gt;</span>

+<span class="code-tag">&lt;/listener&gt;</span>

+</pre>
+</div></div>
+
+<h3><a name="5.5SpringIntegration-RegisteringResourcesandProviders"></a>Registering Resources and Providers</h3>
+
+<p>Apache Wink provides the org.apache.wink.spring.Registrar class in order to register resources and providers through a Spring context. The Registrar class extends the WinkApplication class and must be registered as a singleton spring bean. It is possible to define multiple registrars in the same context. All registrars are automatically collected by the runtime and registered as WinkApplication objects during the context loading. The registrar provides the following properties:</p>
+<ul>
+	<li><b>instances</b> &#45; instances of resources and providers. Ordinarily, these instances are Spring beans, so they can benefit from IoC and other Spring features.</li>
+</ul>
+
+
+<ul>
+	<li><b>classes</b> &#45; a set of resources and providers class names. This property is similar to the getClasses() method of the Application class.</li>
+</ul>
+
+
+<ul>
+	<li><b>priority</b> &#45; the priority of the WinkApplication</li>
+</ul>
+
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />For more information on Priorities refer to section <a href="5.1 Registration and Configuration.html#5.1RegistrationandConfiguration-Priorities">5.1 Registration and Configuration</a>.</td></tr></table></div>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;bean class=<span class="code-quote">"org.apache.wink.spring.Registrar"</span>&gt;</span>

+  <span class="code-tag">&lt;property name=<span class="code-quote">"classes"</span>&gt;</span>

+    <span class="code-tag">&lt;set value-type=<span class="code-quote">"java.lang.Class"</span>&gt;</span>

+      <span class="code-tag">&lt;value&gt;</span>package.className<span class="code-tag">&lt;/value&gt;</span>

+    <span class="code-tag">&lt;/set&gt;</span>

+  <span class="code-tag">&lt;/property&gt;</span>

+  <span class="code-tag">&lt;property name=<span class="code-quote">"instances"</span>&gt;</span>

+    <span class="code-tag">&lt;set&gt;</span>

+      <span class="code-tag">&lt;ref bean=<span class="code-quote">"resources.resource1"</span> /&gt;</span>

+      <span class="code-tag">&lt;ref bean=<span class="code-quote">"resources.resource2"</span> /&gt;</span>

+      <span class="code-tag">&lt;ref bean=<span class="code-quote">"providers.provider1"</span> /&gt;</span>

+    <span class="code-tag">&lt;/set&gt;</span>

+  <span class="code-tag">&lt;/property&gt;</span>

+<span class="code-tag">&lt;/bean&gt;</span>

+</pre>
+</div></div>
+
+<h2><a name="5.5SpringIntegration-CustomPropertiesFileDefinition"></a>Custom Properties File Definition</h2>
+
+<p>Apache Wink provides a set of customizable properties. When working with Spring, the user should redefine the custom properties file using the Spring context:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">&lt;bean id=<span class="code-quote">"customPropertiesFactory"</span>

+class=<span class="code-quote">"org.springframework.beans.factory.config.PropertiesFactoryBean"</span>&gt;

+  <span class="code-tag">&lt;property name=<span class="code-quote">"locations"</span>&gt;</span>

+    <span class="code-tag">&lt;list&gt;</span>

+      <span class="code-tag">&lt;value&gt;</span>WEB-INF/configuration.properties<span class="code-tag">&lt;/value&gt;</span>

+    <span class="code-tag">&lt;/list&gt;</span>

+  <span class="code-tag">&lt;/property&gt;</span>

+<span class="code-tag">&lt;/bean&gt;</span>

+<span class="code-tag">&lt;bean id=<span class="code-quote">"customConfigurer"</span> class=<span class="code-quote">"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"</span>&gt;</span>

+  <span class="code-tag">&lt;property name=<span class="code-quote">"ignoreUnresolvablePlaceholders"</span> value=<span class="code-quote">"true"</span> /&gt;</span>

+  <span class="code-tag">&lt;property name=<span class="code-quote">"order"</span> value=<span class="code-quote">"1"</span> /&gt;</span>

+  <span class="code-tag">&lt;property name=<span class="code-quote">"propertiesArray"</span>&gt;</span>

+    <span class="code-tag">&lt;list&gt;</span>

+      <span class="code-tag">&lt;props&gt;</span>

+       <span class="code-tag">&lt;prop key=<span class="code-quote">"wink.propertiesFactory"</span>&gt;</span>customPropertiesFactory<span class="code-tag">&lt;/prop&gt;</span>

+      <span class="code-tag">&lt;/props&gt;</span>

+    <span class="code-tag">&lt;/list&gt;</span>

+  <span class="code-tag">&lt;/property&gt;</span>

+<span class="code-tag">&lt;/bean&gt;</span>

+</pre>
+</div></div>
+<ul>
+	<li>The customPropertiesFactory bean loads the properties file.</li>
+</ul>
+
+
+<ul>
+	<li>The customConfigurer bean overrides the default factory with a custom factory.</li>
+</ul>
+
+
+<ul>
+	<li>The order is set to "1". This makes the customConfigurer bean run before the default Apache Wink configurer.</li>
+</ul>
+
+
+<ul>
+	<li>In addition, notice that ignoreUnresolvablePlaceholders must be set to true, otherwise the configurer will fail, since some unresolved properties can remain in the context.</li>
+</ul>
+
+
+<h2><a name="5.5SpringIntegration-CustomizingMediaTypeMappings"></a>Customizing Media-Type Mappings</h2>
+
+<p>Apache Wink provides the ability to customize the Media-Type mappings using Spring context.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />For more information on Media-Type Mapping refer to section <a href="5.1 Registration and Configuration.html#5.1RegistrationandConfiguration-MediaTypeMapping">5.1 Registration and Configuration</a> .</td></tr></table></div>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;bean id=<span class="code-quote">"custom.MediaTypeMapper"</span> class=<span class="code-quote">"org.apache.wink.server.internal.MediaTypeMapper"</span>&gt;</span>

+  <span class="code-tag">&lt;property name=<span class="code-quote">"mappings"</span>&gt;</span>

+    <span class="code-tag">&lt;list&gt;</span>

+      <span class="code-tag">&lt;map&gt;</span>

+        <span class="code-tag">&lt;entry key=<span class="code-quote">"userAgentStartsWith"</span> value=<span class="code-quote">"Mozilla/"</span> /&gt;</span>

+        <span class="code-tag">&lt;entry key=<span class="code-quote">"resultMediaType"</span>&gt;</span>

+          <span class="code-tag">&lt;util:constant static-field=<span class="code-quote">" javax.ws.rs.core.MediaType.ATOM"</span> /&gt;</span>

+        <span class="code-tag">&lt;/entry&gt;</span>

+        <span class="code-tag">&lt;entry key=<span class="code-quote">"typeToSend"</span>&gt;</span>

+          <span class="code-tag">&lt;util:constant static-field=<span class="code-quote">"javax.ws.rs.core.MediaType.TEXT_XML"</span> /&gt;</span>

+        <span class="code-tag">&lt;/entry&gt;</span>

+      <span class="code-tag">&lt;/map&gt;</span>

+    <span class="code-tag">&lt;/list&gt;</span>

+  <span class="code-tag">&lt;/property&gt;</span>

+<span class="code-tag">&lt;/bean&gt;</span>

+<span class="code-tag">&lt;bean id=<span class="code-quote">"customConfigurer"</span> class=<span class="code-quote">"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"</span>&gt;</span>

+  <span class="code-tag">&lt;property name=<span class="code-quote">"ignoreUnresolvablePlaceholders"</span> value=<span class="code-quote">"true"</span> /&gt;</span>

+  <span class="code-tag">&lt;property name=<span class="code-quote">"order"</span> value=<span class="code-quote">"1"</span> /&gt;</span>

+  <span class="code-tag">&lt;property name=<span class="code-quote">"propertiesArray"</span>&gt;</span>

+    <span class="code-tag">&lt;list&gt;</span>

+      <span class="code-tag">&lt;props&gt;</span>

+        <span class="code-tag">&lt;prop key=<span class="code-quote">"wink.MediaTypeMapper"</span>&gt;</span>custom.MediaTypeMapper<span class="code-tag">&lt;/prop&gt;</span>

+      <span class="code-tag">&lt;/props&gt;</span>

+    <span class="code-tag">&lt;/list&gt;</span>

+  <span class="code-tag">&lt;/property&gt;</span>

+<span class="code-tag">&lt;/bean&gt;</span>

+</pre>
+</div></div>
+
+<ul>
+	<li>The custom.MediaTypeMapper bean creates a new Media-Type mapper.</li>
+</ul>
+
+
+<ul>
+	<li>The customConfigurer bean overrides the default factory with a custom factory.</li>
+</ul>
+
+
+
+<p><div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>customConfigurer</b><br />The order is set to "1". This makes the customConfigurer run before the default Apache Wink configurer.</td></tr></table></div>&#42; In addition, notice that ignoreUnresolvablePlaceholders must be set to true, otherwise the configurer will fail, since some unresolved properties can remain in the context.</p>
+
+<h2><a name="5.5SpringIntegration-CustomizingAlternativeShortcuts"></a>Customizing Alternative Shortcuts</h2>
+
+<p>Apache Wink provides the ability to customize the Alternative Shortcuts in one of two ways.</p>
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />For more information on Alternative Shortcuts Mappings refer to section <a href="5.1 Registration and Configuration.html#5.1RegistrationandConfiguration-CustomizingMappings">5.1 Registration and Configuration</a>.</td></tr></table></div>
+
+
+<h3><a name="5.5SpringIntegration-ExternalPropertiesFile"></a>External Properties File</h3>
+
+<p>The shortcuts are defined in a properties file. The shortcuts properties file is loaded in the same way that the configuration properties file is loaded.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">&lt;bean id=<span class="code-quote">"custom.Shortcuts"</span>

+class=<span class="code-quote">"org.springframework.beans.factory.config.PropertiesFactoryBean"</span>&gt;

+  <span class="code-tag">&lt;property name=<span class="code-quote">"locations"</span>&gt;</span>

+    <span class="code-tag">&lt;list&gt;</span>

+      <span class="code-tag">&lt;value&gt;</span>WEB-INF/shortcuts<span class="code-tag">&lt;/value&gt;</span>

+    <span class="code-tag">&lt;/list&gt;</span>

+  <span class="code-tag">&lt;/property&gt;</span>

+<span class="code-tag">&lt;/bean&gt;</span>

+<span class="code-tag">&lt;bean id=<span class="code-quote">"customConfigurer"</span> class=<span class="code-quote">"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"</span>&gt;</span>

+  <span class="code-tag">&lt;property name=<span class="code-quote">"ignoreUnresolvablePlaceholders"</span> value=<span class="code-quote">"true"</span> /&gt;</span>

+  <span class="code-tag">&lt;property name=<span class="code-quote">"order"</span> value=<span class="code-quote">"1"</span> /&gt;</span>

+  <span class="code-tag">&lt;property name=<span class="code-quote">"propertiesArray"</span>&gt;</span>

+    <span class="code-tag">&lt;list&gt;</span>

+      <span class="code-tag">&lt;props&gt;</span>

+        <span class="code-tag">&lt;prop key=<span class="code-quote">"wink.alternateShortcutsMap"</span>&gt;</span>custom.Shortcuts<span class="code-tag">&lt;/prop&gt;</span>

+      <span class="code-tag">&lt;/props&gt;</span>

+    <span class="code-tag">&lt;/list&gt;</span>

+  <span class="code-tag">&lt;/property&gt;</span>

+<span class="code-tag">&lt;/bean&gt;</span>

+</pre>
+</div></div>
+
+<h3><a name="5.5SpringIntegration-SpringContextFile"></a>Spring Context File</h3>
+
+<p>Defines the map of the shortcuts in the Spring context.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/5.6 WebDAV Extension.html b/src/site/resources/1.0/html/5.6 WebDAV Extension.html
new file mode 100644
index 0000000..92f023c
--- /dev/null
+++ b/src/site/resources/1.0/html/5.6 WebDAV Extension.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 5.6 WebDAV Extension</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 5.6 WebDAV Extension
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 13, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="5.6WebDAVExtension-WebDAVExtension"></a>WebDAV Extension</h1>
+
+<p>Apache Wink provides an extension module for supporting the WebDAV protocol. The extension contains the complete WebDAV XML model and a WebDAV response builder for easing the process of creating a WebDAV multistatus response.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Usful Information</b><br />The WebDAV extension is a single jar wink-webdav-&lt;version&gt;.jar, and it has no special dependencies.</td></tr></table></div> 
+
+
+
+<h2><a name="5.6WebDAVExtension-WebDAVDataModel"></a>WebDAV Data Model</h2>
+
+<p>The WebDAV extension provides a Java data model that reflects the WebDAV XMLs defined in the WebDAV RFC. All classes of the data model are located in the org.apache.wink.webdav.model package.</p>
+
+<h2><a name="5.6WebDAVExtension-WebDAVClasses"></a>WebDAV Classes</h2>
+
+<p>The WebDAV extension provides several classes that applications can use in order to receive basic support for common WebDAV methods.</p>
+
+<h3><a name="5.6WebDAVExtension-WebDAVModelHelper"></a>WebDAVModelHelper</h3>
+
+<p>The WebDAVModelHelper class provides helper methods for XML marshaling and unmarshaling of the WebDAV data model classes. It also provides helper methods for creating generic properties as DOM element classes to populate the WebDAV Prop element.</p>
+
+<h3><a name="5.6WebDAVExtension-WebDAVResponseBuilder"></a>WebDAVResponseBuilder</h3>
+
+<p>The WebDAVResponseBuilder class is used in order to create responses to WebDAV PROPFIND requests. It takes a SyndEntry or SyndFeed as input in order to create the response.</p>
+
+<h2><a name="5.6WebDAVExtension-ResourceMethodDefinition"></a>Resource Method Definition</h2>
+
+<p>A resource method is defined to handle the desired WebDAV method by annotating it with one of the WebDAV method designators defined in the WebDAVMethod enum.<br/>
+The supported WebDAV Http methods are as follows:</p>
+<ul>
+	<li>PROPFIND</li>
+</ul>
+
+
+<ul>
+	<li>PROPPATCH</li>
+</ul>
+
+
+<ul>
+	<li>MKCOL</li>
+</ul>
+
+
+<ul>
+	<li>COPY</li>
+</ul>
+
+
+<ul>
+	<li>MOVE</li>
+</ul>
+
+
+<ul>
+	<li>LOCK</li>
+</ul>
+
+
+<ul>
+	<li>UNLOCK.</li>
+</ul>
+
+
+<h2><a name="5.6WebDAVExtension-CreatingaMultistatusResponse"></a>Creating a Multistatus Response</h2>
+
+<p>In order to create a <b>MULTISTATUS</b> response to a <b>PROPFIND</b> request the user can use the <b>WebDAVResponseBuilder</b> class, or create the response manually.</p>
+
+<h3><a name="5.6WebDAVExtension-UsingWebDAVResponseBuilder"></a>Using WebDAVResponseBuilder</h3>
+
+<p>In order to create a multistatus response using the <b>WebDAVResponseBuilder</b> class, call one of the propfind() methods.</p>
+
+<p>The <b>WebDAVResponseBuilder</b> class also enables the user to provide the properties to include in the response by extending the PropertyProvider class, overriding the setPropertyValue() method and passing the property provider instance to the response builder propfind() method.</p>
+
+<h3><a name="5.6WebDAVExtension-WebDAVResponseBuilderExample"></a>WebDAVResponseBuilder Example</h3>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">

+@Path(<span class="code-quote">"defects/{defect}"</span>)

+public class DefectResource {

+  @WebDAVMethod.PROPFIND

+  @Consumes(<span class="code-quote">"application/xml"</span>)

+  @Produces(application/xml")

+  public Response propfindDefect(@PathParam(<span class="code-quote">"defect"</span>) String defected) {

+    SyndFeed feed = ...

+    return WebDAVResponseBuilder.propfind(feed);

+  }

+}

+</pre>
+</div></div>
+<p>The propfindDefect() method is associated with the PROPFIND WebDAV Http method using the @WebDAVMethod.PROPFIND annotation.</p>
+
+<p>When the propfindDefect() method is invoked, an instance of a  org.apache.wink.common.model.synd.SyndFeed is created and passed to the WebDAVResponseBuilder.propfind() method in order to create the actual response.</p>
+
+<h3><a name="5.6WebDAVExtension-ManualCreation"></a>Manual Creation</h3>
+
+<p>In order to create a Multistatus response manually, perform the following steps:</p>
+
+<ol>
+	<li>Create a new org.apache.wink.webdav.model.Multistatus instance and set its fields according to the application logic.</li>
+	<li>Create a new javax.ws.rs.core.Response instance, set the response code to MULTI_STATUS (207), and set its entity to be the Multistatus instance.</li>
+</ol>
+
+
+
+<p>Return the Response instance from the resource method</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/5.7 Handler Chain - Runtime Extension.html b/src/site/resources/1.0/html/5.7 Handler Chain - Runtime Extension.html
new file mode 100644
index 0000000..25fbb51
--- /dev/null
+++ b/src/site/resources/1.0/html/5.7 Handler Chain - Runtime Extension.html
@@ -0,0 +1,208 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 5.7 Handler Chain - Runtime Extension</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 5.7 Handler Chain - Runtime Extension
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 12, 2009 by <font color="#0050B2">bluk</font>.
+				    </div>
+
+				    <h1><a name="5.7HandlerChain-RuntimeExtension-HandlerChainRuntimeExtension"></a>Handler Chain - Runtime Extension</h1>
+
+<p>The Apache Wink runtime utilizes three Handler Chains for the complete processing of a request: Request chain, Response chain and Error chain. A handler receives a MessageContext instance for accessing and manipulating the current request information and a HandlerChain instance for advancing the chain. It is the responsibility of the handler to pass control to the next handler on the chain by invoking the doChain() method on the HandlerChain instance.</p>
+
+<p>A handler may call the doChain() method several times if needed, so handlers are required to consider the possibility they will be invoked more than once for the same request.<br/>
+All handler related interfaces reside in the org.apache.wink.server.handlers package.</p>
+
+<p>The implementation of separate chains provides the ability to move up and down one chain before moving on to the next chain. This is particularly useful for the implementation of the JAX-RS resource-method search algorithm that includes invoking sub-resource locators, and implementing the Continued Search mode.</p>
+
+<h2><a name="5.7HandlerChain-RuntimeExtension-Handlers"></a>Handlers</h2>
+
+<p>There are two types of handlers:</p>
+<ul>
+	<li><b>System Handler -</b> are the handlers that implement the core engine of the Apache Wink runtime. The Apache Wink runtime will not function correctly if any of the system handlers are removed from the chain.</li>
+</ul>
+
+
+<ul>
+	<li><b>User Handler -</b> are the handlers that are provided by an application to customize a chains behavior and to add unique functionality to it. User handlers are not part of the core functionality of Apache Wink.</li>
+</ul>
+
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />In order to customize a handler chain refer to section 2 "<b>Apache Wink Building Blocks</b>", <a href="2 Apache Wink Building Blocks.html#2ApacheWinkBuildingBlocks-CustomizationoftheHandlersChain">Customization of the Handlers Chain</a></td></tr></table></div>
+
+<h2><a name="5.7HandlerChain-RuntimeExtension-MessageContext"></a>Message Context</h2>
+
+<p>The MessageContext allows the following:<br/>
+Allows handlers to access and manipulate the current request informationAllows handlers to maintain a state by setting attributes on the message context, as the handlers themselves are singletons and therefore statelessAllows handlers to pass information to other handlers on the chain</p>
+
+<h2><a name="5.7HandlerChain-RuntimeExtension-RequestHandlerChain"></a>Request Handler Chain</h2>
+
+<p>The Request Handler Chain is responsible for processing a request according to the JAX-RS specification by accepting the request, searching for the resource method to invoke, de-serializing the request entity and finally for invoking the resource method. It is responsible for invoking sub-resource locators by moving up and down the chain as needed. A Request handler is a class that implements the org.apache.wink.server.handlers.RequestHandler interface.</p>
+
+
+<h2><a name="5.7HandlerChain-RuntimeExtension-SystemRequestHandlers"></a>System Request Handlers</h2>
+
+<p>The following is a list of system handlers comprising the request handler chain in the order that they appear in the chain.</p>
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Handler </th>
+<th class='confluenceTh'> Description </th>
+</tr>
+<tr>
+<td class='confluenceTd'> SearchResultHandler </td>
+<td class='confluenceTd'> Responsible for throwing the search result error if there was one during the search for the resource method </td>
+</tr>
+<tr>
+<td class='confluenceTd'> OptionsMethodHandler </td>
+<td class='confluenceTd'> Generates a response for an OPTIONS request in case that there is no resource method that is associated with OPTIONS, according to the JAX-RS spec </td>
+</tr>
+<tr>
+<td class='confluenceTd'> HeadMethodHandler </td>
+<td class='confluenceTd'> Handles a response for a HEAD request in case that there is no resource method that is associated with HEAD, according to the JAX-RS spec </td>
+</tr>
+<tr>
+<td class='confluenceTd'> FindRootResourceHandler </td>
+<td class='confluenceTd'> Locates the root resource that best matches the request </td>
+</tr>
+<tr>
+<td class='confluenceTd'> FindResourceMethodHandler </td>
+<td class='confluenceTd'> Locates the actual method to invoke that matches the request, invoking sub-resource locators as needed </td>
+</tr>
+<tr>
+<td class='confluenceTd'> CreateInvocationParametersHandler </td>
+<td class='confluenceTd'> Creates the parameters of the resource method to invoke and de-serializes the request entity using the appropriate MessageBodyReader </td>
+</tr>
+<tr>
+<td class='confluenceTd'> InvokeMethodHandler </td>
+<td class='confluenceTd'> Invokes the resource method </td>
+</tr>
+</tbody></table>
+
+
+<h3><a name="5.7HandlerChain-RuntimeExtension-UserRequestHandlers"></a>User Request Handlers</h3>
+
+<p>User request handlers are inserted before the InvokeMethodHandler handler.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />In order to customize a handler chain refer to section 2 "<b>Apache Wink Building Blocks</b>", <a href="2 Apache Wink Building Blocks.html#2ApacheWinkBuildingBlocks-CustomizationoftheHandlersChain">Customization of the Handlers Chain</a></td></tr></table></div>
+
+<h2><a name="5.7HandlerChain-RuntimeExtension-ResponseHandlerChain"></a>Response Handler Chain</h2>
+
+<p>The Response Handler Chain is responsible for handling the object returned from invoking a resource method or sub-resource method according to the JAX-RS specification. It is responsible for determining the response status code, selecting the response media type and for serializing the response entity.<br/>
+A Response handler is a class that implements the <b>org.apache.wink.server.handlers.ResponseHandler interface.</b></p>
+
+
+
+<h3><a name="5.7HandlerChain-RuntimeExtension-SystemResponseHandlers"></a>System Response Handlers</h3>
+
+<p>The following is a list of system handlers comprising the response handler chain in the order that they appear in the chain.</p>
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Handler <br clear="all" /> </th>
+<th class='confluenceTh'> Description <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> PopulateResponseStatusHandler <br clear="all" /> </td>
+<td class='confluenceTd'> Determines the response status code, according to the JAX-RS spec <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> PopulateResponseMediaTypeHandler <br clear="all" /> </td>
+<td class='confluenceTd'> Determines the response media type, according to the JAX-RS spec <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> FlushResultHandler <br clear="all" /> </td>
+<td class='confluenceTd'> Serializes the response entity using the appropriate MessageBodyWriter <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> HeadMethodHandler <br clear="all" /> </td>
+<td class='confluenceTd'> Performs cleanup operations in case that there was no resource method that was associated with HEAD. <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+<h3><a name="5.7HandlerChain-RuntimeExtension-UserResponseHandlers"></a>User Response Handlers</h3>
+
+<p>User response handlers are inserted before the FlushResultHandler handler. Apache Wink initializes the user response handler chain with the <b>CheckLocationHeaderHandler</b> handler that verifies that the "<b>Location</b>" response header is present on a response when there is a status code that requires it, for example, status code: 201.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />In order to customize a handler chain refer to section 2 "<b>Apache Wink Building Blocks</b>", <a href="2 Apache Wink Building Blocks.html#2ApacheWinkBuildingBlocks-CustomizationoftheHandlersChain">Customization of the Handlers Chain</a></td></tr></table></div>
+
+<h2><a name="5.7HandlerChain-RuntimeExtension-ErrorHandlerChain"></a>Error Handler Chain</h2>
+
+<p>The Error Handler Chain is responsible for handling all of the exceptions that are thrown during the invocation of the Request and Response handler chains, according to the JAX-RS specification for handling exceptions. It is responsible for determining the response status code, selecting the response media type and for serializing the response entity.</p>
+
+<p>An Error handler is a class that implements the org.apache.wink.server.handlers.ResponseHandler interface.</p>
+
+<h3><a name="5.7HandlerChain-RuntimeExtension-SystemErrorHandlers"></a>System Error Handlers</h3>
+
+<p>The following is a list of system handlers comprising the error handler chain in the order that they appear in the chain.</p>
+
+<h3><a name="5.7HandlerChain-RuntimeExtension-ErrorHandlers"></a>Error Handlers</h3>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Handler <br clear="all" /> </th>
+<th class='confluenceTh'> Description <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> PopulateErrorResponseHandler <br clear="all" /> </td>
+<td class='confluenceTd'> Prepares the response entity from a thrown exception according to the JAX-RS specification <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> PopulateResponseStatusHandler <br clear="all" /> </td>
+<td class='confluenceTd'> Determines the response status code according to the JAX-RS spec <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> PopulateResponseMediaTypeHandler <br clear="all" /> </td>
+<td class='confluenceTd'> Determines the response media type, according to the JAX-RS spec <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> FlushResultHandler <br clear="all" /> </td>
+<td class='confluenceTd'> Serializes the response entity using the appropriate MessageBodyWriter <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+<h3><a name="5.7HandlerChain-RuntimeExtension-UserErrorHandlers"></a>User Error Handlers</h3>
+
+<p>User error handlers are inserted before the FlushResultHandler handler.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />In order to customize a handler chain refer to section 2 "<b>Apache Wink Building Blocks</b>", <a href="2 Apache Wink Building Blocks.html#2ApacheWinkBuildingBlocks-CustomizationoftheHandlersChain">Customization of the Handlers Chain</a></td></tr></table></div>
+
+<h2><a name="5.7HandlerChain-RuntimeExtension-RequestProcessing"></a>Request Processing</h2>
+
+<p>The following details how the Apache Wink runtime performs request processing:</p>
+<ol>
+	<li>Create new instances of the three handler chains. The handlers themselves are singletons.</li>
+	<li>Create a new instance of a MessageContext to pass between the handlers.</li>
+	<li>Invoke the first handler on the Request chain.</li>
+	<li>Once the request chain is complete, invoke the Response chain and pass it the MessageContext that was used in the Request chain.</li>
+	<li>Make both chains and the MessageContext available for garbage collection.</li>
+</ol>
+
+
+<p>If at any time during the execution of a Request or Response chain an exception is thrown, catch the exception, wrap it in a new MessageContext instance and invoke the Error chain to produce an appropriate response.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/5.8 Link Builder.html b/src/site/resources/1.0/html/5.8 Link Builder.html
new file mode 100644
index 0000000..d2ca5d3
--- /dev/null
+++ b/src/site/resources/1.0/html/5.8 Link Builder.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 5.8 Link Builder</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 5.8 Link Builder
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 12, 2009 by <font color="#0050B2">bluk</font>.
+				    </div>
+
+				    <h1><a name="5.8LinkBuilder-LinkBuilders"></a>Link Builders</h1>
+
+<p>The LinkBuilders interface enables access to two types of links builders, the SystemLinksBuilder and the SingleLinkBuilder. An instance of LinkBuilders is injected into a class field or method parameter using the @Context annotation.</p>
+
+<p>Upon creation, the LinkBuilders automatically detects if the target method being invoked is a resource method or a sub-resource method. The "resource" and "subResource" properties of the builder are initialized accordingly. The link builder interfaces reside in the org.apache.wink.server.utils package.</p>
+
+
+<h2><a name="5.8LinkBuilder-LinkBuildersOverview"></a>Link Builders Overview</h2>
+
+<p>The JAX-RS specification defines the UriBuilder interface used to construct a URI from a template, but does not specify any mechanism that can automatically generate all resource links.<br/>
+Apache Wink provides the SystemLinksBuilder for automatic generation of all the alternate links to a resource, one link per every supported media type. For example, this is useful for an application that produces Atom feeds to include in the feed all the alternate representations of the resource.</p>
+
+
+<p>Apache Wink provides a mechanism for defining if the generated links should be absolute links or relative to a base URI. For example, links embedded in an Atom feed should be as short as possible in order to optimize the payload size.</p>
+
+
+<h3><a name="5.8LinkBuilder-The%22alt%22QueryParameter"></a>The "alt" Query Parameter</h3>
+
+<p>Apache Wink supports the special query parameter "alt" that is used to override the value of the request Accept header. When the link builders generate a link that specifies the "type" attribute, then the "alt" query parameter is automatically added to the generated link. This is controlled by setting the wink.addAltParam key of the configuration properties file or by calling the LinksBuilder#addAltParam() method.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />For more information on the Configuration Properties File refer to section <a href="5.1 Registration and Configuration.html#5.1RegistrationandConfiguration-ProviderPriorities">5.1 Registration and Configuration</a>.</td></tr></table></div>
+
+<h2><a name="5.8LinkBuilder-SystemLinksBuilder"></a>System Links Builder</h2>
+
+<p>The SystemLinksBuilder interface enables the generation of all, or a subset of, the system links to a resource or its sub-resources. The links are generated as absolute URIs or as relative to the base URI according to the SystemLinksBuilder state, request information or the application configuration.</p>
+
+<h3><a name="5.8LinkBuilder-Example"></a>Example</h3>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">

+@Path(<span class="code-quote">"defects/{id}"</span>)

+public class DefectResource {

+@GET

+@Produces(<span class="code-quote">"application/atom+xml"</span>)

+public SyndEntry getAtom() {     ...   }

+@GET

+@Produces(<span class="code-quote">"application/json"</span>)

+public JSONObject getJson() {    ...  }

+}

+@GET

+@Produces(<span class="code-quote">"application/xml"</span>)

+public Defect getXml(@Context LinkBuilders linkBuilders) {     SystemLinksBuilder builder = linkBuilders.systemLinksBuilder();     ListsystemLinks = builder.build(null);     ...   }

+}

+</pre>
+</div></div>
+
+<h3><a name="5.8LinkBuilder-Explanation"></a>Explanation</h3>
+
+<p>The DefectResource#getXml() method is invoked when a GET request for application/xml is made to /defects/3. The Apache Wink runtime injects an instance of LinkBuilders to the linkBuilder parameter and a new instance of a SystemLinksBuilder is created by invoking the systemLinksBuilder() method.<br/>
+The call to the build() method of the SystemLinksBuilder generates three alternate links to the DefectResource and the self link:</p>
+
+
+<ul>
+	<li>&lt;link rel="self" href="/defects/3"/&gt;</li>
+</ul>
+
+
+<ul>
+	<li>&lt;link rel="alternate" type="application/json" href="/defects/3"/&gt;</li>
+</ul>
+
+
+<ul>
+	<li>&lt;link rel="alternate" type="application/xml" href="/defects/3"/&gt;</li>
+</ul>
+
+
+<ul>
+	<li>&lt;link rel="alternate" type="application/xtom+xml" href="/defects/3"/&gt;</li>
+</ul>
+
+
+<h2><a name="5.8LinkBuilder-SingleLinkBuilder"></a>Single Link Builder</h2>
+
+<p>The SingleLinkBuilder interface enables the generation of a single link referencing a resource or a sub-resource, allowing the specification of the 'rel' and 'type' attributes of the generated link. The links are generated as absolute URIs or as relative to the base URI according to the SingleLinkBuilder state, request information or the application configuration.<br/>
+Generating Absolute or Relative Links<br/>
+The link builders generate absolute or relative links based on the following algorithm:</p>
+
+<ol>
+	<li>Use the value that was passed to the relativize() method of the builder.</li>
+	<li>If the relativize() method was not called, then use the value of the "relative-urls" query parameter from the request. The value must be either true or false.</li>
+	<li>If the request does not contain the "<b>relative-urls</b>" query parameter, then use the value of the wink.defaultUrisRelative key set in the application configuration properties file. The value must be either true or false.</li>
+	<li>If the configuration key does not exist, then use true.</li>
+</ol>
+
+
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />For more information on the Configuration Properties File refer to section <a href="5.1 Registration and Configuration.html#5.1RegistrationandConfiguration-ProviderPriorities">5.1 Registration and Configuration</a>.</td></tr></table></div>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/5.9 Assets.html b/src/site/resources/1.0/html/5.9 Assets.html
new file mode 100644
index 0000000..76629ff
--- /dev/null
+++ b/src/site/resources/1.0/html/5.9 Assets.html
@@ -0,0 +1,291 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 5.9 Assets</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 5.9 Assets
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 13, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="5.9Assets-Assets"></a>Assets</h1>
+
+<p>An Asset is a special entity that is returned by a resource method or is injected into a resource method as an entity parameter. The asset is used for retrieving the actual request entity or response entity.<br/>
+The purpose of an asset is to act as a container of an entity data model while providing the transformation methods of the data model into data models of other representations.<br/>
+Asset classes are POJOs, annotated with the @Asset annotation, that have any number of entity methods.</p>
+
+<p>When an asset instance is returned from a resource method or is set as the entity on a Response instance, it is used by the Apache Wink runtime to retrieve the actual response entity by invoking the appropriate entity-producing method of the asset.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />For more information on Entity-Producing Methods refer to section <a href="#5.9Assets-EntityProducingMethods">Entity Producing Methods</a>.</td></tr></table></div>
+
+<p>When an asset is the entity parameter of a resource method, it is used by the Apache Wink runtime to set the actual request entity by invoking the appropriate entity-consuming method of the asset.</p>
+
+<h2><a name="5.9Assets-AssetsOverview"></a>Assets Overview</h2>
+
+<p>A typical application exposes each resource in a number of representations. Some form of data model usually backs the resource, and the application business logic relies on the manipulation of that data model. The application will most likely expose resource methods allowing the consumption of the data model in more than one representation (for example Atom and XML) and the production of the data model in other representation (for example Atom, XML and JSON).</p>
+
+<p>According to the JAX-RS specification, the optimal method for implementing a resource is one that consumes and produces an application data model and makes use of a different provider for every media type.</p>
+
+<p>For example, if a resource implements methods that consume and produce a "Defect" bean, then a provider  must be implemented for each representation of the "Defect" (Atom, XML and JSON). However, there are times that the transformation of the application data model into a representation requires information that may only be available to the resource but is unavailable to a provider (for example, a connection to the Database).</p>
+
+<p>There are several solutions for dealing with the problem of a provider not having sufficient information to perform application data transformations. The following is a description of two possible solutions:</p>
+
+<ul>
+	<li>Passing the information as members on the resource and accessing the resource from the provider via the UriInfo context.</li>
+</ul>
+
+
+<p>This solution is only plausible if the resource scope is "per request" and does not work if the resource is a singleton.</p>
+
+<ul>
+	<li>Passing the information from the resource to the provider via the attributes of the HttpServletRequest.</li>
+</ul>
+
+
+<p>This solution is only plausible when the application is deployed in a JEE container and is not the optimal solution.<br/>
+In addition to the previously mentioned problem, the creation of a provider for every data model per media type may result in the inflation of providers in the system, causing the provider selection algorithm to consider a large set of potential providers.</p>
+
+<p>As a result, the selection of the actual provider from the set of potential providers is non-deterministic, because the selection between them is undefined.</p>
+
+
+<p><div class='panelMacro'><table class='tipMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Performance Degradation</b><br />An additional side effect of provider inflation is performance degradation.</td></tr></table></div>The use of an asset solves the problem of passing information between a resource and a provider and reduces the amount of registered providers in the system.</p>
+
+<h2><a name="5.9Assets-Lifecycle"></a>Lifecycle</h2>
+
+<p>Resource methods can use an asset as a response entity and as a request entity. The Apache Wink runtime applies different lifecycles for each case.</p>
+
+<h3><a name="5.9Assets-ResponseEntityAsset"></a>Response Entity Asset</h3>
+
+<p>The lifecycle of an asset as a response entity is as follows:</p>
+<ol>
+	<li>The application creates and returns the asset from the resource method.</li>
+	<li>The appropriate entity-producing method is invoked by the Apache Wink runtime to retrieve the actual response entity.</li>
+	<li>The appropriate message body writer as obtained from the Providers#getMessageBodyWriter() method serializes the entity obtained at the previous step.</li>
+	<li>The asset is made available for garbage collection.</li>
+</ol>
+
+
+
+
+
+
+<h3><a name="5.9Assets-RequestEntityAsset"></a>Request Entity Asset</h3>
+
+<p>The lifecycle of an asset as a request entity is as follows:</p>
+
+<ol>
+	<li>An asset class is instantiated by the Apache Wink runtime by invoking the asset default constructor. Note that this implies that the asset class must have a public default constructor.</li>
+	<li>The appropriate message body reader as obtained from the Providers#getMessageBodyReader() method is invoked by the Apache Wink runtime to read the request entity.</li>
+	<li>The appropriate entity-consuming method is invoked on the asset to populate the asset with the request entity.</li>
+	<li>The asset is injected into the resource method as the entity parameter.</li>
+	<li>The asset is made available for garbage collection after returning from the resource method.</li>
+</ol>
+
+
+
+
+
+
+
+<h3><a name="5.9Assets-AssetEntityMethods"></a>Asset Entity Methods</h3>
+
+<p>Asset Entity methods are the public methods of an asset annotated with either @Consumes or @Produces annotation. Annotating a method with both @Consumes and @Produces annotations is not supported and may result in unexpected behavior.</p>
+
+<h3><a name="5.9Assets-EntityProducingMethods"></a>Entity Producing Methods</h3>
+
+<p>An Entity Producing Method is a public asset method annotated with the @Produces annotation, designating it to produce the actual response entity. Such methods produce an entity only for the media types declared in the @Produces annotation. Note that under this definition, wildcard ("<b>/</b>") is allowed.<br/>
+The Apache Wink runtime will not invoke an entity-producing method whose effective value of @Produces does not match the request Accept header</p>
+
+<h3><a name="5.9Assets-EntityConsumingMethods"></a>Entity Consuming Methods</h3>
+
+<p>An Entity Consuming Method is a public asset method annotated with the @Consumes annotation, designating it to consume the actual request entity for populating the asset. Such methods consume an entity only for the media types declared in the @Consumes annotation. Note that under this definition, wildcard ("<b>/</b>") is allowed.<br/>
+The Apache Wink runtime will not invoke an entity-consuming method whose effective value of @Consumes does not match the request Content-Type header.</p>
+
+<h2><a name="5.9Assets-Parameters"></a>Parameters</h2>
+
+<p>Asset Entity methods support the same parameter types as JAX-RS specifies for a resource method.</p>
+
+
+<h2><a name="5.9Assets-ReturnType"></a>Return Type</h2>
+
+<p>Entity methods may return any type that is permissible to return from a resource method.</p>
+
+<h2><a name="5.9Assets-Exceptions"></a>Exceptions</h2>
+
+<p>Exceptions thrown from an entity method are treated as exceptions thrown from a resource method.</p>
+
+<h2><a name="5.9Assets-AnnotationInheritance"></a>Annotation Inheritance</h2>
+
+<p>The @Produces and @Consumes annotations are not inherited when an asset sub-class overrides an asset entity method. Asset sub-classes must re-declare the @Produces and @Consumes annotations for the overriding method to be an entity method.</p>
+
+<h2><a name="5.9Assets-EntityMethodMatching"></a>Entity Method Matching</h2>
+
+<p>Asset classes are handled by the AssetProvider which is a JAX-RS provider that is capable of consuming and producing all media types.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />For more information on Asset Providers refer to section 7.7 Assets Provider.</td></tr></table></div>
+
+<h3><a name="5.9Assets-RequestEntityMatching"></a>Request Entity Matching</h3>
+
+<p>The following points describe the process of selecting the asset entity-consuming method to handle the request entity. This process occurs during the invocation of the <b>AssetProvider#isReadable()</b> method.</p>
+
+<ol>
+	<li>Collect all the entity-consuming methods of the asset. These are the public methods annotated with @Consumes annotation.</li>
+	<li>Sort the collected entity-consuming methods in descending order, where methods with more specific media types precede methods with less specific media types, following the rule n/m &gt; n/&#42; &gt; <b>/</b>.</li>
+	<li>Select the first method that supports the media type of the request entity body as provided to the AssetProvider#isReadable() method, and return true.</li>
+	<li>If no entity-consuming method supports the media type of the request entity body, return false. The Apache Wink runtime continues searching for a different provider to handle the asset as a regular entity.</li>
+</ol>
+
+
+
+
+
+
+<h3><a name="5.9Assets-ResponseEntityMatching"></a>Response Entity Matching</h3>
+
+<p>The following points describe the process of selecting an entity-producing method to produce the actual response entity. The following process occurs during the invocation of the <b>AssetProvider#isWriteable()</b> method.</p>
+<ol>
+	<li>Collect all the entity-producing methods of the asset. These are the public methods annotated with @Produces annotation.</li>
+	<li>Sort the collected entity-producing methods in descending order, where methods with more specific media types precede methods with less specific media types, following the rule n/m &gt; n/&#42; &gt; <b>/</b>.</li>
+	<li>Select the first method that supports the media type of the response entity body as provided to the AssetProvider#isWriteable()method and return true.</li>
+	<li>&nbsp;If no entity-producing method supports the media type of the response entity body, return false. The Apache Wink runtime continues searching for a different provider to handle the asset as a regular entity.</li>
+</ol>
+
+
+
+
+
+
+<h2><a name="5.9Assets-AssetExample"></a>Asset Example</h2>
+
+<p>The following example illustrates the use of an asset. The "<b>Defect</b>" bean is a JAXB annotated class.</p>
+
+
+<h3><a name="5.9Assets-DefectAssetClass"></a>DefectAsset Class</h3>
+
+<p>The DefectAsset class is the asset backed by an instance of a "Defect" bean.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">@Asset

+public class DefectAsset {

+    public Defect defect;

+    public DefectAsset(Defect defect) {

+        this.defect = defect;

+    }

+    @Produces(<span class="code-quote">"application/xml"</span>)

+    public Defect getDefect() {

+        return this.defect;

+    }

+    @Produces(<span class="code-quote">"text/html"</span>)

+    public String getDefectAsHtml() {

+        String html = ...;

+        return html;

+    }

+

+    @Produces(<span class="code-quote">"application/atom+xml"</span>)

+    public AtomEntry getDefectAsAtom() {

+        AtomEntry entry = ...;

+        return entry;

+    }

+    @Consumes(<span class="code-quote">"application/xml"</span>)

+    public void setDefect(Defect defect) {

+        this.defect = defect;

+    }

+}

+</pre>
+</div></div>
+
+<h3><a name="5.9Assets-DefectResourceClass"></a>DefectResource Class</h3>
+
+<p>&nbsp;The DefectResource class is a resource that is anchored to the URI path "<b>defects/{id}</b>" within the Apache Wink runtime.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">@Path(<span class="code-quote">"defects/{id}"</span>)

+public class DefectResource {

+    @GET

+    public DefectAsset getDefect(@PathParam(<span class="code-quote">"id"</span>) String id) {

+        return new DefectAsset(defects.get(id));

+    }

+    @PUT

+    public DefectAsset updateDefect(DefectAsset defectAsset,

+                                    @PathParam(<span class="code-quote">"id"</span>) String id) {

+        defects.put(id, defectAsset.getDefect());

+        return defectAsset;

+    }

+}

+</pre>
+</div></div>
+
+<h4><a name="5.9Assets-ScenarioExplanation1"></a>Scenario Explanation 1</h4>
+
+<ol>
+	<li>A client issues an HTTP GET request with a URI="/defects/1" and Accept Header= "application/xm</li>
+	<li>The Apache Wink runtime analyzes the request and invokes the DefectResource#getDefect() resource method.</li>
+	<li>The DefectResource#getDefect() resource method creates an instance of DefectAsset and populates it with defect "1" data</li>
+	<li>The DefectResource#getDefect() resource method returns the DefectAsset instance back to Apache Wink runtim</li>
+	<li>The Apache Wink runtime analyzes the asset and invokes the DefectAsset#getDefect() entity-producing method to obtain the reference to the "Defect" bean.</li>
+	<li>The "Defect" bean is serialized by Apache Wink runtime as an XML using the appropriate provider.</li>
+</ol>
+
+
+
+
+
+
+
+
+
+<h4><a name="5.9Assets-ScenarioExplanation2"></a>Scenario Explanation 2</h4>
+
+
+<ol>
+	<li>A Client issues an HTTP GET request with a URI="/defects/1" and Accept Header= "text/html"</li>
+	<li>The Apache Wink runtime analyzes the request and invokes the DefectResource#getDefect() resource metho</li>
+	<li>The DefectResource#getDefect() resource method creates an instance of DefectAsset and populates it with defect "1" data.</li>
+	<li>The DefectResource#getDefect() method returns the populated asset back to the Apache Wink runtime.</li>
+	<li>The Apache Wink runtime analyzes the asset and invokes the DefectAsset#getDefectAsHtml() entity-producing method in order to obtain the reference to the "Defect" bean.</li>
+	<li>The "Defect" is serialized by Apache Wink runtime as an HTML using the appropriate provider.</li>
+</ol>
+
+
+
+
+
+
+
+
+
+<h4><a name="5.9Assets-ScenarioExplanation3"></a>Scenario Explanation 3</h4>
+
+
+<ol>
+	<li>A Client issues an HTTP PUT request with a URI="/defects/1" and Accept Header= "text/html"</li>
+	<li>The Apache Wink runtime analyzes the request and invokes the DefectResource#updateDefect() method with an instance of DefectAsset populated with the request entity.&#42; A DefectAsset is instantiated by the Apache Wink runtime</li>
+	<li>The DefectAsset#setDefect() entity-consuming method is invoked in order to populate the DefectAsset with the defect data.</li>
+</ol>
+
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/6 Apache Wink Client.html b/src/site/resources/1.0/html/6 Apache Wink Client.html
new file mode 100644
index 0000000..79a5095
--- /dev/null
+++ b/src/site/resources/1.0/html/6 Apache Wink Client.html
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 6 Apache Wink Client</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 6 Apache Wink Client
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 14, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="6ApacheWinkClient-ApacheWinkClient"></a>Apache Wink Client</h1>
+
+<p>The following section describes the Apache Wink Client and provides a detailed description of the Apache Wink Client component and its functionality.</p>
+
+<h3><a name="6ApacheWinkClient-"></a></h3>
+
+
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'><h3><a name="6ApacheWinkClient-Contents"></a>Contents </h3></th>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="6.1 Getting Started with Apache Wink Client.html" title="6.1 Getting Started with Apache Wink Client">6.1 Getting Started with Apache Wink Client</a><br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="6.2 Configuring the Apache Wink Client.html" title="6.2 Configuring the Apache Wink Client">6.2 Configuring the Apache Wink Client</a><br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="6.3 Input and Output Stream Adapters.html" title="6.3 Input and Output Stream Adapters">6.3 Input and Output Stream Adapters</a><br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+
+
+
+<h2><a name="6ApacheWinkClient-ApacheWinkClientOverview"></a>Apache Wink Client Overview</h2>
+
+<p>The Apache Wink Client is an easy-to-use client, providing a high level Java API for writing clients that consume HTTP-based RESTful Web Services. The Apache Wink Client utilizes JAX-RS concepts, encapsulates Rest standards and protocols and maps Rest principles concepts to Java classes, which facilitates the development of clients for any HTTP-based Rest Web Services.</p>
+
+<p>The Apache Wink Client also provides a Handlers mechanism that enables the manipulation of HTTP request/response messages.</p>
+
+<h2><a name="6ApacheWinkClient-MainFeatures"></a>Main Features</h2>
+
+<p>The Apache Wink Clients main features are as follows:</p>
+
+
+
+
+<ul>
+	<li>Utilizes JAX-RS Providers for resource serialization and deserialization</li>
+	<li>Provides Java object models for Atom, Json, RSS, APP, CSV, Multipart and OpenSearch along with providers to serialize and deserialize these models</li>
+	<li>Uses the JDK HttpUrlConnection as the underlying Http transport</li>
+	<li>Allows for the easy replacement of the underlying Http transport</li>
+	<li>Provides a Handlers mechanism for manipulation of HTTP request and response messages</li>
+</ul>
+
+
+<h3><a name="6ApacheWinkClient-Supports"></a>Supports</h3>
+
+
+<ul>
+	<li>Http proxy</li>
+	<li>SSL</li>
+</ul>
+
+
+<h2><a name="6ApacheWinkClient-"></a></h2>
+
+
+<h3><a name="6ApacheWinkClient-ApacheWinkHighLevelClientArchitectureOverview"></a>Apache Wink High Level Client Architecture Overview</h3>
+
+<p>The following diagram illustrates the high-level architecture of the Apache Wink Client.</p>
+
+<h3><a name="6ApacheWinkClient-"></a></h3>
+
+<p><img src="attachments/2851055/3112983.jpg" align="absmiddle" border="0"/></p>
+
+<p>The RestClient class is the Apache Wink Client entry point and is responsible for holding different configuration options and the provider registry.</p>
+
+
+
+
+<p>The RestClient is used to create instances of the Resource class. The Resource class represents a web resource associated with a specific URI and is used to perform uniform interface operations on the resource it represents. Every method invocation goes through a user defined handlers chain that enables for manipulation of the request and response.</p>
+
+				    					    <br/>
+                        <div class="tabletitle">
+                            <a name="attachments">Attachments:</a>
+                        </div>
+
+                        <div class="greybox" align="left">
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2851055/3112970.jpg">Wink Logo.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2851055/3112983.jpg">Symphony 2.0 Client Diagram.jpg</a> (image/jpeg)
+                                <br/>
+                                                    </div>
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/6.1 Getting Started with Apache Wink Client.html b/src/site/resources/1.0/html/6.1 Getting Started with Apache Wink Client.html
new file mode 100644
index 0000000..d4fa5b1
--- /dev/null
+++ b/src/site/resources/1.0/html/6.1 Getting Started with Apache Wink Client.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 6.1 Getting Started with Apache Wink Client</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 6.1 Getting Started with Apache Wink Client
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 13, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h2><a name="6.1GettingStartedwithApacheWinkClient-GettingStartedwiththeApacheWinkClient"></a>Getting Started with the Apache Wink Client</h2>
+
+<p>The following section details the getting started examples that demonstrate how to write a simple client that consume RESTful Web Services with the Apache Wink Client.</p>
+
+<h3><a name="6.1GettingStartedwithApacheWinkClient-GETRequest"></a>GET Request</h3>
+
+<p>The following example demonstrates how to issue an Http GET request.</p>
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">// create the rest client instance
+1  RestClient client = new RestClient();
+
+// create the resource instance to interact with
+2  Resource resource = client.resource(<span class="code-quote">"http://services.com/HelloWorld"</span>);
+// perform a GET on the resource. The resource will be returned as plain text
+3  String response = resource.accept(<span class="code-quote">"text/plain"</span>).get(String.class);
+</pre>
+</div></div>
+
+<h4><a name="6.1GettingStartedwithApacheWinkClient-Explanation"></a>Explanation</h4>
+
+<p>The RestClient is the entry point for building a RESTful Web Service client. In order to start working with the Wink Client, a new instance of RestClient needs to be created, as the example shows in line 1 of the example. A new Resource is then created with the given URI, by calling the RestClient#resource() method as appears in line 2.</p>
+
+<p>Finally, the Resource#get() method is invoked in order to issue an Http GET request as appears in line 3.<br/>
+Once the Http response is returned, the client invokes the relevant provider to desterilizes the response in line 3.</p>
+
+<h3><a name="6.1GettingStartedwithApacheWinkClient-POSTRequest"></a>POST Request</h3>
+
+<p>The following example demonstrates how to issue an Http POST request.</p>
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">// create the rest client instance
+1  RestClient client = new RestClient();
+
+// create the resource instance to interact with
+2  Resource resource = client.resource(<span class="code-quote">"http://services.co"</span>);
+
+// issue the request
+3  String response = resource.contentType(<span class="code-quote">"text/plain"</span>).accept(<span class="code-quote">"text/plain"</span>).post(String.class, <span class="code-quote">"foo"</span>);
+</pre>
+</div></div>
+
+<h4><a name="6.1GettingStartedwithApacheWinkClient-Explanation"></a>Explanation</h4>
+
+<p>The POST Request example demonstrates how to issue a simple Http POST request that sends and receives resources as strings.</p>
+
+<p>First, a new instance of a Resource is created through the RestClient. The Http POST request is then issued by specifying the request and response media types and the response entity type (String.class).</p>
+
+<h3><a name="6.1GettingStartedwithApacheWinkClient-POSTAtomRequest"></a>POST Atom Request</h3>
+
+<p>The following example demonstrates how to issue an Http POST request that sends and receives atom entries.</p>
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">// create the rest client instance
+1  RestClient client = new RestClient();
+
+// create the resource instance to interact with
+2  Resource resource = client.resource(<span class="code-quote">"http://services.co"</span>);
+
+3  AtomEntry request = getAtomEntry();
+
+// issue the request
+4  AtomEntry response = resource.contentType(<span class="code-quote">"application/atom+xml"</span>).accept(<span class="code-quote">"application/atom+xml"</span>).post(AtomEntry.class, request);
+</pre>
+</div></div>
+
+<h4><a name="6.1GettingStartedwithApacheWinkClient-Explanation"></a>Explanation</h4>
+
+<p>The Apache Wink Client provides an object model for Atom (atom feed and atom entry), and supplies out-of-the-box providers that enable sending and receiving atom feeds and entries.</p>
+
+<h3><a name="6.1GettingStartedwithApacheWinkClient-UsingClientResponse"></a>Using ClientResponse</h3>
+
+<p>The following example demonstrates how to use the ClientResponse object in order to de-serialize the response entity.</p>
+
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">// create the rest client instance
+1  RestClient client = new RestClient();
+
+// create the resource instance to interact with
+2  Resource resource = client.resource(<span class="code-quote">"http://services.co"</span>);
+
+// issue the request
+3  ClientResponse response = resource.accept(<span class="code-quote">"text/plain"</span>).get();
+
+// deserialize response
+4  String responseAsString = response.getEntity(String.class);
+</pre>
+</div></div>
+
+<h4><a name="6.1GettingStartedwithApacheWinkClient-Explanation"></a>Explanation</h4>
+
+<p>If the response entity type is not provided when invoking the Resource#get() method that appears in line 3, the response will be returned as the raw ClientResponse. In order to trigger the response deserialization mechanism, the ClientResponse#getEntity() method needs to be invoked as it appears in line 4 with the required response entity type.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/6.2 Configuring the Apache Wink Client.html b/src/site/resources/1.0/html/6.2 Configuring the Apache Wink Client.html
new file mode 100644
index 0000000..46b64c0
--- /dev/null
+++ b/src/site/resources/1.0/html/6.2 Configuring the Apache Wink Client.html
@@ -0,0 +1,116 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 6.2 Configuring the Apache Wink Client</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 6.2 Configuring the Apache Wink Client
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 13, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h2><a name="6.2ConfiguringtheApacheWinkClient-ClientConfiguration"></a>Client Configuration</h2>
+
+<p>The RestClient configuration is performed by using the ClientConfig class. An instance of the configuration class is passed to the constructor of the RestClient when constructing a new RestClient.</p>
+
+<p>The following options can be configured in the RestClient:</p>
+
+<ul>
+	<li>Custom providers via JAX-RS Application</li>
+</ul>
+
+
+<ul>
+	<li>Handler chain</li>
+</ul>
+
+
+<ul>
+	<li>Proxy host and port</li>
+</ul>
+
+
+<ul>
+	<li>Connect and read timeouts</li>
+</ul>
+
+
+<ul>
+	<li>Redirect</li>
+</ul>
+
+
+<h3><a name="6.2ConfiguringtheApacheWinkClient-HandlerConfiguration"></a>Handler Configuration</h3>
+
+<p>The following example demonstrates how to register a custom handler.</p>
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">1  ClientConfig config = new ClientConfig();
+// Create new JAX-RS Application
+2  config.handlers(new DummyHandler());
+// create the rest client instance
+3  RestClient client = new RestClient(config);
+// create the resource instance to interact with
+4  Resource resource = client.resource(<span class="code-quote">"http://services.com/HelloWorld"</span>);
+// perform a GET on the resource
+// the resource will be returned as plain text
+5  String response = resource.accept(<span class="code-quote">"text/plain"</span>).get(String.class);
+</pre>
+</div></div>
+
+<h4><a name="6.2ConfiguringtheApacheWinkClient-Explanation"></a>Explanation</h4>
+
+<p>First, a new instance of a ClientConfig is created as it appears in line 1. Then the new handler is added to the handlers chain by invoking the handlers() method on the ClientConfig instance as it appears in line 2. Finally, a new instance of a RestClient is created with this configuration as it appears in line 3.</p>
+
+<h3><a name="6.2ConfiguringtheApacheWinkClient-CustomProviderConfiguration"></a>Custom Provider Configuration</h3>
+
+<p>The following example demonstrates how to register a custom entity provider.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">1  ClientConfig config = new ClientConfig();
+   // Create new JAX-RS Application
+2    Application app = new Application() {
+     @Override
+      public Set<span class="code-tag">&lt;Class&lt;?&gt;</span>&gt; getClasses() {
+        HashSet<span class="code-tag">&lt;Class&lt;?&gt;</span>&gt; set = new HashSet<span class="code-tag">&lt;Class&lt;?&gt;</span>&gt;();
+        set.add(FooProvider.class);
+        return set;}};
+3  conf.applications(app);
+// create the rest client instance
+4  RestClient client = new RestClient(config);
+// create the resource instance to interact with
+5  Resource resource = client.resource(<span class="code-quote">"http://services.com/HelloWorld"</span>);
+// perform a GET on the resource. the resource will be returned as plain text
+6  String response = resource.accept(<span class="code-quote">"text/plain"</span>).get(String.class);
+</pre>
+</div></div>
+
+<h4><a name="6.2ConfiguringtheApacheWinkClient-Explanation"></a>Explanation</h4>
+
+<p>First, a new instance of ClientConfig is created as it appears in line 1. Then a new anonymous Application is instantiated and set on the ClientConfig as it appears in line 2 and 3. Finally, a new instance of a RestClient is created with this configuration as it appears in line 4.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/6.3 Input and Output Stream Adapters.html b/src/site/resources/1.0/html/6.3 Input and Output Stream Adapters.html
new file mode 100644
index 0000000..cb5dfac
--- /dev/null
+++ b/src/site/resources/1.0/html/6.3 Input and Output Stream Adapters.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 6.3 Input and Output Stream Adapters</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 6.3 Input and Output Stream Adapters
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 13, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h2><a name="6.3InputandOutputStreamAdapters-InputandOutputStreamAdapters"></a>Input and Output Stream Adapters</h2>
+
+<p>The Apache Wink Client provides the ability to manipulate raw Http input and output entity streams through the InputStreamAdapter and the OutputStreamAdapter interfaces. This is useful for modifying the input and output streams, regardless of the actual entity, for example when adding compression capabilities.<br/>
+The adapt() method of the output stream adapter is called before the request headers are committed, in order to allow the adapter to manipulate them.</p>
+
+<p>The adapt() method of the input stream adapter is called after the response status code and the headers are received in order to allow the adapter to behave accordingly.</p>
+
+<h3><a name="6.3InputandOutputStreamAdapters-StreamAdaptersExample"></a>Stream Adapters Example</h3>
+
+<p>The following example demonstrates how to implement input and output adapters.</p>
+
+<h3><a name="6.3InputandOutputStreamAdapters-GzipHandler"></a>Gzip Handler</h3>
+
+<p>The following code snippet is an example of adding a input and output adapters in the Gzip handler.</p>
+
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">public class GzipHandler implements ClientHandler {
+   public ClientResponse handle(ClientRequest request,
+                                HandlerContext context) {
+        request.getHeaders().add(<span class="code-quote">"Accept-Encoding"</span>, <span class="code-quote">"gzip"</span>);
+        context.addInputStreamAdapter(new GzipInputAdapter());
+        context.addOutputStreamAdapter(new GzipOutputAdapter());
+        return context.doChain(request);
+  }}
+</pre>
+</div></div>
+
+<h4><a name="6.3InputandOutputStreamAdapters-Explanation"></a>Explanation</h4>
+
+<p>The Gzip handler creates instances of the <b>GzipInputAdapter</b> and the <b>GzipOutputAdapter</b> and adds them to the stream adapters of the current request by invoking the <b>addInputStreamAdapter()</b> method and the <b>addOutputStreamAdapter()</b> method on the HandlerContext instance.</p>
+
+<h3><a name="6.3InputandOutputStreamAdapters-GzipInputStreamAdapter"></a>Gzip Input Stream Adapter</h3>
+
+<p>The following code snippet is an example of an implementation of a Gzip input stream adapter.</p>
+
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">class GzipInputAdapter implements InputStreamAdapter{
+        public InputStream adapt(InputStream is,
+                                 ClientResponse response) {
+      String header = response.getHeaders().getFirst(<span class="code-quote">"Content-Encoding"</span>);
+      if (header != null &amp;&amp; header.equalsIgnoreCase(<span class="code-quote">"gzip"</span>)) {
+        return new GZIPInputStream(is);
+      }
+      return is;
+   }}
+</pre>
+</div></div>
+
+<h4><a name="6.3InputandOutputStreamAdapters-Explanation"></a>Explanation</h4>
+
+<p>The Gzip input stream adapter is responsible for wrapping the input stream with the Gzip input stream.</p>
+
+<h3><a name="6.3InputandOutputStreamAdapters-GzipOutputStreamAdapter"></a>Gzip Output Stream Adapter</h3>
+
+<p>The following code snippet is an example of an implementation of a Gzip output stream adapter.</p>
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">class GzipOutputAdapter implements OutputStreamAdapter {
+    public OutputStream adapt(OutputStream os,
+                              ClientRequest request) {
+        request.getHeaders().add(<span class="code-quote">"Content-Encoding"</span>, <span class="code-quote">"gzip"</span>);
+        return new GZIPOutputStream(os);
+    }}
+</pre>
+</div></div>
+
+<h4><a name="6.3InputandOutputStreamAdapters-Explanation"></a>Explanation</h4>
+
+<p>The Gzip output stream adapter is responsible for wrapping the output stream with the Gzip output stream. </p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/7 Apache Wink Representations.html b/src/site/resources/1.0/html/7 Apache Wink Representations.html
new file mode 100644
index 0000000..e51b211
--- /dev/null
+++ b/src/site/resources/1.0/html/7 Apache Wink Representations.html
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 7 Apache Wink Representations</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 7 Apache Wink Representations
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 14, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="7ApacheWinkRepresentations-ApacheWinkRepresentations"></a>Apache Wink Representations</h1>
+
+<p>In addition to the JAX-RS standard representations Apache Wink provides an expanded set of representations that can be used by an application to expose resources in a rich set of representations. The following section provides information about the representations that are supported by Apache Wink.</p>
+
+
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'><h3><a name="7ApacheWinkRepresentations-Contents"></a>Contents </h3></th>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="7.1 JSON.html" title="7.1 JSON">7.1 Json </a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="7.2 APP.html" title="7.2 APP">7.2 APP </a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="7.3 Atom.html" title="7.3 Atom">7.3 Atom </a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="7.4 RSS.html" title="7.4 RSS">7.4 RSS</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="7.5 HTML.html" title="7.5 HTML">7.5 HTML </a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="7.6 CSV.html" title="7.6 CSV">7.6 CSV </a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="7.7 OpenSearch.html" title="7.7 OpenSearch">7.7 OpenSearch </a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="7.8 MultiPart.html" title="7.8 MultiPart">7.8 MultiPart</a> </td>
+</tr>
+</tbody></table>
+
+<h3><a name="7ApacheWinkRepresentations-ApacheWinkRepresentationsRequestFlow"></a>Apache Wink Representations Request Flow</h3>
+
+<p>The following diagram illustrates the client request flow for a resource.</p>
+
+<h3><a name="7ApacheWinkRepresentations-"></a></h3>
+
+<p><img src="attachments/2851061/4751375.jpg" align="absmiddle" border="0"/></p>
+
+
+<p>A resource is an abstract entity and as such can not be transmitted between peers. When a client is required to send or receive a resource it must use a representation of that resource. The resource representation is a specific formatting of the resource data. The diagram illustrates that a request for a resource is in fact a request for a specific representation of that resource. </p>
+
+<p>Apache Wink implements resource representations through the use of providers for java objects as defined by the JAX-RS specification.</p>
+
+
+<h3><a name="7ApacheWinkRepresentations-ApacheWinkProviders"></a>Apache Wink Providers</h3>
+
+
+<h3><a name="7ApacheWinkRepresentations-"></a></h3>
+
+<p>In addition to JAX-RS standard providers (<b>refer to section 4.2 of the JAX-RS specification</b>), Apache Wink provides a set of complementary providers. The purpose of these providers is to provide mapping services between various representations for example Atom, APP, OpenSearch, CSV, JSON and HTML, and their associated Java data models.</p>
+
+<p>The Apache Wink providers are pre-registered and delivered with the Apache Wink runtime along with the JAX-RS standard providers.</p>
+
+<p>Apache Wink provides an additional method for defining the life cycle of a provider via the use of the @Scope annotation and a way to define the providers priorities.</p>
+
+<h2><a name="7ApacheWinkRepresentations-"></a></h2>
+
+<h4><a name="7ApacheWinkRepresentations-Scoping"></a>Scoping</h4>
+
+<p>The JAX-RS specification defines by default, that a singleton instance of each provider class is instantiated for each JAX-RS application. Apache Wink fully supports this requirement and in addition provides a "Prototype" lifecycle, which is an instance per-request lifecycle.<br/>
+Prototype means that a new instance of a provider class is instantiated for each request. The @Scope annotation (section‎0) is used on a provider class to specify its lifecycle. The lifecycle of a provider that does not specify the @Scope annotation defaults to the singleton lifecycle.</p>
+
+<h4><a name="7ApacheWinkRepresentations-PrototypeExample"></a>Prototype Example</h4>
+
+<p>The following example shows how to define a provider with a prototype lifecycle.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">@Scope(ScopeType.PROTOTYPE)

+@Provider

+public class MyProvider implements MessageBodyReader<span class="code-tag">&lt;String&gt;</span>{

+    ...

+}

+</pre>
+</div></div>
+
+<h4><a name="7ApacheWinkRepresentations-SingletonExample1"></a>Singleton Example 1</h4>
+
+<p>The following example shows how to define a provider with a singleton lifecycle.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">@Scope(ScopeType.SINGELTON)

+@Provider

+public class MyProvider implements MessageBodyReader<span class="code-tag">&lt;String&gt;</span>{

+    ...

+}

+</pre>
+</div></div>
+
+<h4><a name="7ApacheWinkRepresentations-SingletonExample2"></a>Singleton Example 2</h4>
+
+<p>The following example shows that when the @Scope annotation is not used, the provider will be a singleton, as per the JAX-RS specification.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-xml">@Provider

+public class MyProvider implements MessageBodyReader<span class="code-tag">&lt;String&gt;</span>{

+    ...

+}

+</pre>
+</div></div>
+
+<h3><a name="7ApacheWinkRepresentations-Priority"></a>Priority</h3>
+
+<p>Apache Wink provides a method for setting a priority for a provider.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />For more information on Provider Priorities refer to section <a href="5.1 Registration and Configuration.html#5.1RegistrationandConfiguration-ProviderPriorities">5.1 Registration and Configuration</a>.</td></tr></table></div>
+
+				    					    <br/>
+                        <div class="tabletitle">
+                            <a name="attachments">Attachments:</a>
+                        </div>
+
+                        <div class="greybox" align="left">
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2851061/4751374.jpg">Apache Wink Representations Diagram.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2851061/4751375.jpg">Apache Wink Representations Diagram2.jpg</a> (image/jpeg)
+                                <br/>
+                                                    </div>
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/7.1 JSON.html b/src/site/resources/1.0/html/7.1 JSON.html
new file mode 100644
index 0000000..73dfbd0
--- /dev/null
+++ b/src/site/resources/1.0/html/7.1 JSON.html
@@ -0,0 +1,270 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 7.1 JSON</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 7.1 JSON
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 13, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h3><a name="7.1JSON-JSONProviders"></a>JSON Providers</h3>
+
+<p>Apache Wink provides a set providers that are capable of serializing a number of data models into JSON representations. There are currently 3 Apache Wink extensions that provide JSON support.  Each has unique features that may make one more suitable for your particular application.</p>
+
+<h3><a name="7.1JSON-winkjsonprovider%28org.json%29"></a>wink-json-provider (org.json)</h3>
+
+<p>The wink-json-provider extension is provided in the binary distribution and uses the <a href="http://json.org">JSON.org</a> classes to provide JSON support.  Include the wink-json-provider-&lt;VERSION&gt;.jar in the classpath and the providers will automatically be registered.  You will also need the org.json JAR which is provided in the ext/wink-json-provider/lib folder.</p>
+
+<h5><a name="7.1JSON-org.apache.wink.providers.json.JsonProvider"></a>org.apache.wink.providers.json.JsonProvider</h5>
+
+<p>Handles reading and writing of org.json.JSONObject classes for the application/json and application/javascript media types.</p>
+
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Supported </th>
+<th class='confluenceTh'> Media Types <br clear="all" /> </th>
+<th class='confluenceTh'> Entity <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Read <br clear="all" /> </td>
+<td class='confluenceTd'> Yes <br clear="all" /> </td>
+<td class='confluenceTd'> application/json , application/javascript <br clear="all" /> </td>
+<td class='confluenceTd'> org.json.JSONObject </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Write <br clear="all" /> </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> application/json , application/javascript <br clear="all" /> </td>
+<td class='confluenceTd'> org.json.JSONObject </td>
+</tr>
+</tbody></table>
+
+
+<h5><a name="7.1JSON-org.apache.wink.providers.json.JsonArrayProvider"></a>org.apache.wink.providers.json.JsonArrayProvider</h5>
+
+<p>Handles reading and writing of org.json.JSONArray classes for the application/json and application/javascript media types.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Supported </th>
+<th class='confluenceTh'> Media Types <br clear="all" /> </th>
+<th class='confluenceTh'> Entity <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Read <br clear="all" /> </td>
+<td class='confluenceTd'> Yes <br clear="all" /> </td>
+<td class='confluenceTd'> application/json , application/javascript <br clear="all" /> </td>
+<td class='confluenceTd'> org.json.JSONArray </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Write <br clear="all" /> </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> application/json , application/javascript <br clear="all" /> </td>
+<td class='confluenceTd'> org.json.JSONArray </td>
+</tr>
+</tbody></table>
+
+
+<h5><a name="7.1JSON-org.apache.wink.providers.json.JsonJAXBProvider"></a>org.apache.wink.providers.json.JsonJAXBProvider</h5>
+
+<p>Handles reading and writing of JAXBElement and JAXB annotated classes for the application/json and application/javascript media types.</p>
+
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Supported </th>
+<th class='confluenceTh'> Media Types <br clear="all" /> </th>
+<th class='confluenceTh'> Entity <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Read <br clear="all" /> </td>
+<td class='confluenceTd'> Yes <br clear="all" /> </td>
+<td class='confluenceTd'> application/json , application/javascript <br clear="all" /> </td>
+<td class='confluenceTd'> JAXB object, <br clear="all" />
+JAXBElement&lt;?&gt;&gt;&gt; </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Write <br clear="all" /> </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> application/json , application/javascript <br clear="all" /> </td>
+<td class='confluenceTd'> JAXB object, <br clear="all" />
+JAXBElement&lt;?&gt;&gt;&gt; </td>
+</tr>
+</tbody></table>
+
+
+
+<h3><a name="7.1JSON-ProducingandConsumingJSONExample"></a>Producing and Consuming JSON Example</h3>
+
+<p>The following example demonstrates the usage of a JSON provider for reading and writing JSON representations.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+    @GET

+    @Consumes(MediaType.APPLICATION_JSON)

+    @Produces(MediaType.APPLICATION_JSON)

+    <span class="code-keyword">public</span> JSONObject postJSON(JSONObject requestJSON) {

+        <span class="code-object">String</span> property = requestJSON.getString(<span class="code-quote">"property"</span>);

+        JSONObject jobj = <span class="code-keyword">new</span> JSONObject();

+        <span class="code-keyword">return</span> jobj;

+    }

+

+    /* Book is a JAXB annotated class */

+

+    @GET

+    @Consumes(MediaType.APPLICATION_JSON)

+    @Produces(MediaType.APPLICATION_JSON)

+    <span class="code-keyword">public</span> Book postJSONBook(Book requestBookEntity) {

+        <span class="code-object">String</span> title = requestBookEntity.getTitle();

+        /* other code */

+        Book response = <span class="code-keyword">new</span> Book();

+        <span class="code-keyword">return</span> response;

+    }

+</pre>
+</div></div>
+
+<h3><a name="7.1JSON-winkjettisonprovider%28org.codehaus.jettison%29"></a>wink-jettison-provider (org.codehaus.jettison)</h3>
+
+<p>The wink-jettison-provider extension is provided in the binary distribution and uses the <a href="http://jettison.codehaus.org/">Jettison</a> code to provide JSON support.  Include the wink-jettison-provider-&lt;VERSION&gt;.jar in the classpath and the providers will automatically be registered.  You will also need the Jettison library JARs which are provided in the ext/wink-jettison-provider/lib folder.</p>
+
+<p>By default, reading is currently disabled due to potential issues with the reader.  You can enable it by calling setUseAsReader(boolean) on each provider and registering as a singleton in the JAX-RS Application sub-class.</p>
+
+<h5><a name="7.1JSON-rg.apache.wink.providers.jettison.JettisonJAX..."></a>org.apache.wink.providers.jettison.JettisonJAXBElementProvider</h5>
+
+<p>Handles reading and writing of JAXBElement classes for the application/json media type.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Supported </th>
+<th class='confluenceTh'> Media Types <br clear="all" /> </th>
+<th class='confluenceTh'> Entity <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Read <br clear="all" /> </td>
+<td class='confluenceTd'> Yes <br clear="all" /> </td>
+<td class='confluenceTd'> application/json <br clear="all" /> </td>
+<td class='confluenceTd'> JAXBElement&lt;?&gt;&gt;&gt; </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Write <br clear="all" /> </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> application/json <br clear="all" /> </td>
+<td class='confluenceTd'> JAXBElement&lt;?&gt;&gt;&gt; </td>
+</tr>
+</tbody></table>
+
+
+<h5><a name="7.1JSON-rg.apache.wink.providers.jettison.JettisonJAX..."></a>org.apache.wink.providers.jettison.JettisonJAXBElementProvider</h5>
+
+<p>Handles reading and writing of JAXB annotated classes for the application/json media type.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Supported </th>
+<th class='confluenceTh'> Media Types <br clear="all" /> </th>
+<th class='confluenceTh'> Entity <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Read <br clear="all" /> </td>
+<td class='confluenceTd'> Yes <br clear="all" /> </td>
+<td class='confluenceTd'> application/json <br clear="all" /> </td>
+<td class='confluenceTd'> JAXB object </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Write <br clear="all" /> </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> application/json <br clear="all" /> </td>
+<td class='confluenceTd'> JAXB object </td>
+</tr>
+</tbody></table>
+
+
+<h3><a name="7.1JSON-Example"></a>Example</h3>
+
+<p>The following examples demonstrates the usage of a Jettison provider for producing and consuming JSON.</p>
+
+
+<h4><a name="7.1JSON-JettisonProviderRegistration"></a>Jettison Provider Registration</h4>
+
+
+<p>The following code example demonstrates the way to register a Jettison provider within a JAX-RS application.</p>
+
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+    <span class="code-keyword">public</span> class MyApp <span class="code-keyword">extends</span> Application {

+        <span class="code-keyword">public</span> Set getClasses() {

+            Set s = <span class="code-keyword">new</span> HashSet();

+            s.add(MyResource.class);

+            <span class="code-keyword">return</span> s;

+        }

+

+        <span class="code-keyword">public</span> Set&lt;<span class="code-object">Object</span>&gt; getSingletons() {

+            Set s = <span class="code-keyword">new</span> HashSet();

+            JettisonJAXBProvider jaxbProvider = <span class="code-keyword">new</span> JettisonJAXBProvider();

+            jaxbProvider.setUseAsReader(<span class="code-keyword">true</span>);

+            <span class="code-keyword">return</span> s;

+        }

+    }

+</pre>
+</div></div>
+
+<h4><a name="7.1JSON-ProducingandConsumingJSON"></a>Producing and Consuming JSON</h4>
+
+<p>The following code example demonstrates the reading and writting of JAXB objects into a JSON representation by using a Jettison provider.</p>
+
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+    /* Book is a JAXB annotated class */

+

+    @GET

+    @Consumes(MediaType.APPLICATION_JSON)

+    @Produces(MediaType.APPLICATION_JSON)

+    <span class="code-keyword">public</span> Book postJSONBook(Book requestBookEntity) {

+        <span class="code-object">String</span> title = requestBookEntity.getTitle();

+        /* other code */

+        Book response = <span class="code-keyword">new</span> Book();

+        <span class="code-keyword">return</span> response;

+    }

+</pre>
+</div></div>
+
+<h4><a name="7.1JSON-JacksonJSONProcessor"></a>Jackson JSON Processor</h4>
+
+<p><a href="http://jackson.codehaus.org/">Jackson JSON Processor</a> may also suit your needs and can be used.  They provide their own JAX-RS entity provider.  See their documentation for more information.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/7.2 APP.html b/src/site/resources/1.0/html/7.2 APP.html
new file mode 100644
index 0000000..d48a518
--- /dev/null
+++ b/src/site/resources/1.0/html/7.2 APP.html
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 7.2 APP</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 7.2 APP
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 13, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h2><a name="7.2APP-AtomPublishingProtocol%28AtomPub%29Overview"></a>Atom Publishing Protocol (AtomPub) Overview</h2>
+
+<p>The Atom Publishing Protocol (AtomPub) is an application-level protocol for publishing and editing Web resources.  The protocol is based on HTTP transport of Atom-formatted representations. The Atom format is documented in the Atom Syndication Format.</p>
+
+<h3><a name="7.2APP-DataModel"></a>Data Model</h3>
+
+<p>Apache Wink provides an Atom Publishing Protocol data model for producing Service Documents (application/atomsvc+xml) and Categories Documents (application/atomcat+xml). All of the model classes are located under the org.apache.wink.common.model.app package.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Important Note</b><br />The APP data model can also be used to produce Service and Categories documents in HTML (text/html) and JSON (application/json) formats. For more details regarding HTML see section HTML (TBD). For JSON format see section (TBD)</td></tr></table></div>
+
+<h4><a name="7.2APP-APPServiceDocumentSupport"></a>APP Service Document Support</h4>
+
+<p>The following table shows the APP service document data models and the representations in which it can be serialized and de-serialized.</p>
+
+
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Supported </th>
+<th class='confluenceTh'> Media Types <br clear="all" /> </th>
+<th class='confluenceTh'> Data Model <br clear="all" /> </th>
+<th class='confluenceTh'> Provider Registration <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Read <br clear="all" /> </td>
+<td class='confluenceTd'> Yes <br clear="all" /> </td>
+<td class='confluenceTd'> application/atomsvc+xml </td>
+<td class='confluenceTd'> org.apache.wink.common<br clear="all" />
+ .model.app.AppService </td>
+<td class='confluenceTd'> Not required. Registered by default <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Write <br clear="all" /> </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> application/atomsvc+xml <br clear="all" /> </td>
+<td class='confluenceTd'> org.apache.wink.common<br clear="all" />
+ .model.app.AppService </td>
+<td class='confluenceTd'> Not required. Registered by default </td>
+</tr>
+</tbody></table>
+
+
+
+
+
+<h4><a name="7.2APP-APPCategoriesDocumentSupport"></a>APP Categories Document Support</h4>
+
+<p>The following table shows the APP Catagories document data models and the representations in which it can be serialized and de-serialized.</p>
+
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Supported </th>
+<th class='confluenceTh'> Media Types <br clear="all" /> </th>
+<th class='confluenceTh'> Data Model <br clear="all" /> </th>
+<th class='confluenceTh'> Provider Registration <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Read <br clear="all" /> </td>
+<td class='confluenceTd'> Yes <br clear="all" /> </td>
+<td class='confluenceTd'> application/atomcat+xml </td>
+<td class='confluenceTd'> org.apache.wink.common<br clear="all" />
+ .model.app.AppCategories </td>
+<td class='confluenceTd'> Not required. Registered by default <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Write <br clear="all" /> </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> application/atomcat+xml <br clear="all" /> </td>
+<td class='confluenceTd'> org.apache.wink.common<br clear="all" />
+ .model.app.AppCategories </td>
+<td class='confluenceTd'> Not required. Registered by default <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+
+
+
+
+<h3><a name="7.2APP-"></a></h3>
+
+
+<h3><a name="7.2APP-ProducinganAPPServiceDocumentExample"></a>Producing an APP Service Document Example</h3>
+
+<p>The following code example demonstrates the creation of an APP Service Document.</p>
+
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">   @GET
+    @Produces(MediaTypeUtils.ATOM_SERVICE_DOCUMENT)
+    <span class="code-keyword">public</span> AppService getServiceDocument() {
+        AppService serviceDocument = <span class="code-keyword">new</span> AppService();
+        List&lt;AppWorkspace&gt; workspaces = serviceDocument.getWorkspace();
+        AppWorkspace workspace1 =  <span class="code-keyword">new</span> AppWorkspace();
+        workspace1.setTitle(<span class="code-keyword">new</span> AtomText(<span class="code-quote">"Workspace1"</span>));
+        List&lt;AppCollection&gt; collections = workspace1.getCollection();
+        AppCollection collection = <span class="code-keyword">new</span> AppCollection();
+        collection.setTitle(<span class="code-keyword">new</span> AtomText(<span class="code-quote">"Collection1"</span>));
+
+        collections.add(collection);
+        workspaces.add(workspace1);
+        ...
+        <span class="code-keyword">return</span> serviceDocument;
+    }
+</pre>
+</div></div>
+
+<h5><a name="7.2APP-Explanation"></a>Explanation</h5>
+
+<p>AppService class is JAXB annotated POJO. An instance of an AppService class is created, populated and returned by the resource. A generic JAXB provider is used to serializes this class into an XML representation. </p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/7.3 Atom.html b/src/site/resources/1.0/html/7.3 Atom.html
new file mode 100644
index 0000000..f7d4c0a
--- /dev/null
+++ b/src/site/resources/1.0/html/7.3 Atom.html
@@ -0,0 +1,225 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 7.3 Atom</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 7.3 Atom
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 15, 2009 by <font color="#0050B2">shivakumar</font>.
+				    </div>
+
+				    <h2><a name="7.3Atom-AtomSyndicationFormatOverview"></a>Atom Syndication Format Overview</h2>
+
+<p>Atom is an XML-based document format that describes lists of related information known as "feeds".  Feeds are composed of a number of items, known as "entries", each with an extensible set of attached metadata.  For example, each entry has a title. The primary use case that Atom addresses is the syndication of Web content such as weblogs and news headlines to Web sites as well as directly to user agents.</p>
+
+<h3><a name="7.3Atom-DataModel"></a>Data Model</h3>
+
+<p>Apache Wink provides an Atom Syndication Format data model for consuming and producing Atom Feeds and Atom Entries (application/atom+xml). All of the model classes are located under the org.apache.wink.common.model.atom and org.apache.wink.common.model.synd packages.</p>
+
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Important Note</b><br />The Atom Syndication Format data model can also be used to produce Atom Feeds and Atom Entries in HTML (text/html) and JSON (application/json) formats. For more details regarding HTML see section HTML (TBD). For JSON format see section (TBD)</td></tr></table></div>
+
+
+<h4><a name="7.3Atom-AtomFeedSupport"></a>Atom Feed Support</h4>
+
+<p>The following table shows the Atom Feed data models and the representations in which it can be serialized and de-serialized.</p>
+
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Supported </th>
+<th class='confluenceTh'> Media Types <br clear="all" /> </th>
+<th class='confluenceTh'> Data Model <br clear="all" /> </th>
+<th class='confluenceTh'> Provider registration <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Read <br clear="all" /> </td>
+<td class='confluenceTd'> Yes <br clear="all" /> </td>
+<td class='confluenceTd'> application/atom+xml <br clear="all" /> </td>
+<td class='confluenceTd'> org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .atom.AtomFeed <br clear="all" />
+<br clear="all" />
+org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .synd.SyndFeed <br clear="all" /> </td>
+<td class='confluenceTd'> Not required. Registered by default <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Write <br clear="all" /> </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> application/atom+xml <br clear="all" /> </td>
+<td class='confluenceTd'> org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .atom.AtomFeed <br clear="all" />
+<br clear="all" />
+org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .synd.SyndFeed <br clear="all" /> </td>
+<td class='confluenceTd'> Not required. Registered by default </td>
+</tr>
+</tbody></table>
+
+
+
+
+
+<h4><a name="7.3Atom-AtomEntrySupport"></a>Atom Entry Support</h4>
+
+<p>The following table shows the Atom Entry data models and the representations in which it can be serialized and de-serialized.</p>
+
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Supported </th>
+<th class='confluenceTh'> Media Types <br clear="all" /> </th>
+<th class='confluenceTh'> Data Model <br clear="all" /> </th>
+<th class='confluenceTh'> Provider registration <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Read <br clear="all" /> </td>
+<td class='confluenceTd'> Yes <br clear="all" /> </td>
+<td class='confluenceTd'> application/atom+xml <br clear="all" /> </td>
+<td class='confluenceTd'> org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .atom.AtomEntry <br clear="all" />
+<br clear="all" />
+org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .synd.SyndEntry </td>
+<td class='confluenceTd'> Not required. Registered by default <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Write <br clear="all" /> </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> application/atom+xml <br clear="all" /> </td>
+<td class='confluenceTd'> org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .atom.AtomEntry <br clear="all" />
+<br clear="all" />
+org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .synd.SyndEntry </td>
+<td class='confluenceTd'> Not required. Registered by default <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+
+
+
+
+<h3><a name="7.3Atom-Examples"></a>Examples</h3>
+
+<p>The following code example demonstrates reading and writing of Atom Feeds&nbsp; and Atom Entries.</p>
+
+
+<h4><a name="7.3Atom-ProducingAtomFeed"></a>Producing Atom Feed</h4>
+
+<p>The following code example demonstrates the creation of an Atom Feed.</p>
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+    @GET

+    @Produces(MediaType.APPLICATION_ATOM_XML)

+    <span class="code-keyword">public</span> AtomFeed getFeed() {

+        AtomFeed feed = <span class="code-keyword">new</span> AtomFeed();

+        feed.setId(<span class="code-quote">"http:<span class="code-comment">//example.com/atomfeed"</span>);

+</span>        feed.setTitle(<span class="code-keyword">new</span> AtomText(<span class="code-quote">"Example"</span>));

+        feed.setUpdated(<span class="code-keyword">new</span> Date());

+        AtomLink link1 = <span class="code-keyword">new</span> AtomLink();

+        ...

+

+        <span class="code-keyword">return</span> feed;

+    }

+}

+</pre>
+</div></div>
+
+
+<h4><a name="7.3Atom-ConsumingAtomFeed"></a>Consuming Atom Feed</h4>
+
+<p>The following code example demonstrates the consumption of an Atom Feed.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+    @POST

+    @Consumes(MediaType.APPLICATION_ATOM_XML)

+    <span class="code-keyword">public</span> void setFeed(AtomFeed feed) {

+        ...

+

+        <span class="code-keyword">return</span>;

+    }

+</pre>
+</div></div>
+
+<h4><a name="7.3Atom-ProducingAtomEntry"></a>Producing Atom Entry</h4>
+
+<p>The following code example demonstrates the creation of an Atom Entry.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+    @GET

+    @Produces(MediaType.APPLICATION_ATOM_XML)

+    <span class="code-keyword">public</span> AtomEntry getEntry() {

+        AtomEntry entry = <span class="code-keyword">new</span> AtomEntry();

+        entry.setId(<span class="code-quote">"http:<span class="code-comment">//example.com/entry"</span>);

+</span>        entry.setTitle(<span class="code-keyword">new</span> AtomText(<span class="code-quote">"Web Demo"</span>));

+        entry.getLinks().add(link2);

+        entry.setUpdated(<span class="code-keyword">new</span> Date());

+        entry.setPublished(<span class="code-keyword">new</span> Date());

+        ...

+        <span class="code-keyword">return</span> entry;

+    }

+</pre>
+</div></div>
+
+<h4><a name="7.3Atom-ConsumingAtomEntry"></a>Consuming Atom Entry</h4>
+
+<p>The following code example demonstrates the consumption of an Atom Entry.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+    @POST

+    @Consumes(MediaType.APPLICATION_ATOM_XML)

+    <span class="code-keyword">public</span> void setEntry(AtomEntry entry) {

+        ...

+

+        <span class="code-keyword">return</span>;

+   }

+</pre>
+</div></div>
+
+
+
+
+
+<h2><a name="7.3Atom-"></a></h2>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/7.4 RSS.html b/src/site/resources/1.0/html/7.4 RSS.html
new file mode 100644
index 0000000..1916fd2
--- /dev/null
+++ b/src/site/resources/1.0/html/7.4 RSS.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 7.4 RSS</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 7.4 RSS
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 15, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h2><a name="7.4RSS-RSSDataModel"></a>RSS Data Model</h2>
+
+
+<p>RSS (Really Simple Syndication) is an XML-based document format for the syndication of web content such as weblogs and news headlines to Web sites as well as directly to user agents. Apache Wink supports the RSS 2.0 specification.</p>
+
+<h3><a name="7.4RSS-"></a></h3>
+
+
+<h3><a name="7.4RSS-%28ReallySimpleSyndication%29RSSDataModelOverview"></a>(Really Simple Syndication) RSS Data Model Overview</h3>
+
+<p>Apache Wink provides an RSS data model for consuming and producing RSS Feeds (application/xml). All of the model classes are located under <b>org.apache.wink.common.model.rss</b> package.</p>
+
+<h4><a name="7.4RSS-RSSFeedSupport"></a>RSS Feed Support</h4>
+
+<p>The following table shows the RSS Feed data models and the representations in which it can be serialized and de-serialized.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Supported </th>
+<th class='confluenceTh'> Media Types </th>
+<th class='confluenceTh'> Data Model </th>
+<th class='confluenceTh'> Provider registration </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Read </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> application/xml </td>
+<td class='confluenceTd'> org.apache.wink<br clear="all" />
+ .common.model<br clear="all" />
+ .rss.RssFeed </td>
+<td class='confluenceTd'> Not required. Registered by default </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Write </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> application/xml </td>
+<td class='confluenceTd'> org.apache<br clear="all" />
+ .wink.common<br clear="all" />
+ .model.rss<br clear="all" />
+ .RssFeed </td>
+<td class='confluenceTd'> Not required. Registered by default </td>
+</tr>
+</tbody></table>
+
+<h3><a name="7.4RSS-Examples"></a>Examples</h3>
+
+<p>The following code example demonstrates reading and writing of RSS Feeds.</p>
+
+<h4><a name="7.4RSS-ProducingRSSFeed"></a>Producing RSS Feed</h4>
+
+<p>The following code example demonstrates the creation of an RSS Feed.</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">    @GET
+    @Produces(MediaType.APPLICATION_XML)
+    <span class="code-keyword">public</span> RssFeed getFeed() {
+        RssFeed rss = <span class="code-keyword">new</span> RssFeed();
+
+        RssChannel channel = <span class="code-keyword">new</span> RssChannel();
+        channel.setTitle(<span class="code-quote">"Liftoff News"</span>);
+        channel.setLink(<span class="code-quote">"http:<span class="code-comment">//liftoff.msfc.nasa.gov"</span>);
+</span>        channel.setDescription(<span class="code-quote">"Liftoff to Space Exploration."</span>);
+        channel.setPubDate(<span class="code-keyword">new</span> Date().toString());
+
+        RssItem item = <span class="code-keyword">new</span> RssItem();
+        item.setTitle(<span class="code-quote">"Star City"</span>);
+        item.setLink(<span class="code-quote">"http:<span class="code-comment">//liftoff.msfc.nasa.gov/news/2003/news-starcity.asp"</span>);
+</span>        item.setDescription(<span class="code-quote">"How <span class="code-keyword">do</span> Americans get ready to work with Russians aboard the International Space Station?"</span>);
+        channel.getItems().add(item);
+
+        ...
+
+        rss.setChannel(channel);
+        <span class="code-keyword">return</span> rss;
+    }
+}
+</pre>
+</div></div>
+
+<h4><a name="7.4RSS-ConsumingRSSFeed"></a>Consuming RSS Feed</h4>
+
+<p>The following code example demonstrates the consumption of an RSS Feed.</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">    @POST
+    @Consumes(MediaType.APPLICATION_XML)
+    <span class="code-keyword">public</span> void setFeed(RssFeed feed) {
+        ...
+
+        <span class="code-keyword">return</span>;
+    }
+</pre>
+</div></div>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/7.5 HTML.html b/src/site/resources/1.0/html/7.5 HTML.html
new file mode 100644
index 0000000..06cf6d2
--- /dev/null
+++ b/src/site/resources/1.0/html/7.5 HTML.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 7.5 HTML</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 7.5 HTML
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 14, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h2><a name="7.5HTML-HTML"></a>HTML</h2>
+
+<p>Apache Wink provides a set of providers that are capable of serializing a number of data models (SyndEntry and SyndFeed) as HTML.</p>
+
+
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Supported </th>
+<th class='confluenceTh'> Media Types <br clear="all" /> </th>
+<th class='confluenceTh'> Data model <br clear="all" /> </th>
+<th class='confluenceTh'> Provider registration <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Read <br clear="all" /> </td>
+<td class='confluenceTd'> No <br clear="all" /> </td>
+<td class='confluenceTd'> N/A <br clear="all" /> </td>
+<td class='confluenceTd'> N/A <br clear="all" /> </td>
+<td class='confluenceTd'> N/A <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Write <br clear="all" /> </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> text/html <br clear="all" /> </td>
+<td class='confluenceTd'> org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .synd.SyndFeed <br clear="all" />
+<br clear="all" />
+org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .synd.SyndEntry </td>
+<td class='confluenceTd'> See below. </td>
+</tr>
+</tbody></table>
+
+<h3><a name="7.5HTML-ActivatingtheHTMLprovider"></a>Activating the HTML provider</h3>
+
+<p>The Apache Wink HTML providers are not enabled by default. In order to activate them they must be registered by the <b>HtmlSyndEntryProvider</b> and the <b>HtmlSyndFeedProvider</b> providers, located in the <b>org.apache.wink.server.internal.providers.entity.html</b> package.</p>
+
+<p>As the HTML providers use a jsps in order to generate the representation the HtmlDefaultRepresentation folder must include all its content and subfolders available for the servlet container.</p>
+
+<h4><a name="7.5HTML-Example"></a>Example</h4>
+
+<p>Detailed example of the HTML implementation can be seen at the QADefect example. </p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/7.6 CSV.html b/src/site/resources/1.0/html/7.6 CSV.html
new file mode 100644
index 0000000..6a5c321
--- /dev/null
+++ b/src/site/resources/1.0/html/7.6 CSV.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 7.6 CSV</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 7.6 CSV
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 14, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h2><a name="7.6CSV-CommaSeparatedValues%28CSV%29Providers"></a>Comma Separated Values (CSV) Providers</h2>
+
+<p>Apache Wink provides a CSV data model and providers for producing and consuming CSV (text/csv). The model is based on a Serialization and a Deserialization interface, in addition to a simple CSV Table class. All of the model classes are located under the org.apache.wink.common.model.csv package.</p>
+
+
+<p>The following tables list the providers that provide this functionality.</p>
+
+
+
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Supported </th>
+<th class='confluenceTh'> Media Types <br clear="all" /> </th>
+<th class='confluenceTh'> Data Model <br clear="all" /> </th>
+<th class='confluenceTh'> Provider registration <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Read <br clear="all" /> </td>
+<td class='confluenceTd'> Yes <br clear="all" /> </td>
+<td class='confluenceTd'> text/csv <br clear="all" /> </td>
+<td class='confluenceTd'> org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .csv.CsvDeserializer <br clear="all" />
+<br clear="all" />
+org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .csv.CsvTable <br clear="all" />
+<br clear="all" />
+org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .csv.MultiCsvTable <br clear="all" /> </td>
+<td class='confluenceTd'> Not required. Registered by default <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Write <br clear="all" /> </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> text/csv <br clear="all" /> </td>
+<td class='confluenceTd'> org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .csv.CsvSerializer <br clear="all" />
+<br clear="all" />
+org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .csv.CsvTable <br clear="all" />
+<br clear="all" />
+org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .csv.MultiCsvTable <br clear="all" /> </td>
+<td class='confluenceTd'> Not required. Registered by default <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+
+<h3><a name="7.6CSV-Examples"></a>Examples</h3>
+
+<p>The following code example demonstrates the reading and writing of CSV documents.</p>
+
+
+
+<h4><a name="7.6CSV-ProducingCSV"></a>Producing CSV</h4>
+
+<p>The following code example demonstrates the creation of a CSV document.</p>
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">@GET
+@Produces(<span class="code-quote">"text/csv"</span>)
+<span class="code-keyword">public</span> CsvTable getJohns() {
+    CsvTable cvs = <span class="code-keyword">new</span> CsvTable(<span class="code-quote">"Id"</span>, <span class="code-quote">"First Name"</span>, <span class="code-quote">"Last Name"</span>, <span class="code-quote">"Email"</span>);
+    cvs.addRow(<span class="code-quote">"1"</span>,<span class="code-quote">"John"</span>,<span class="code-quote">"Kennedy"</span>,<span class="code-quote">"john@Kennedy.org"</span>);
+    cvs.addRow(<span class="code-quote">"2"</span>,<span class="code-quote">"John"</span>,<span class="code-quote">"Lennon"</span>,<span class="code-quote">"john@Lennon.org"</span>);
+    cvs.addRow(<span class="code-quote">"3"</span>,<span class="code-quote">"John"</span>,<span class="code-quote">"Malkovich"</span>,<span class="code-quote">"john@malkovich.org"</span>);
+    cvs.addRow(<span class="code-quote">"4"</span>,<span class="code-quote">"John"</span>,<span class="code-quote">"McCain"</span>,<span class="code-quote">"john@McCain.org"</span>);
+    <span class="code-keyword">return</span> cvs;
+}
+</pre>
+</div></div>
+
+
+<h5><a name="7.6CSV-"></a></h5>
+
+
+<h4><a name="7.6CSV-ConsumingCSV"></a>Consuming CSV</h4>
+
+<p>The following code example demonstrates the consumption of a CSV document.</p>
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">@POST
+@Consumes(<span class="code-quote">"text/csv"</span>)
+<span class="code-keyword">public</span> void postCsv(CsvTable csv) {
+    <span class="code-keyword">for</span> (<span class="code-object">String</span>[] row : csv.getRows()) {
+        <span class="code-keyword">for</span>(<span class="code-object">String</span> cell: row){
+            <span class="code-object">System</span>.out.print(cell + <span class="code-quote">" ,"</span>);
+        }
+        <span class="code-object">System</span>.out.print(<span class="code-quote">"\n"</span>);
+    }
+}
+</pre>
+</div></div>
+
+<h5><a name="7.6CSV-"></a></h5>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/7.7 OpenSearch.html b/src/site/resources/1.0/html/7.7 OpenSearch.html
new file mode 100644
index 0000000..2768655
--- /dev/null
+++ b/src/site/resources/1.0/html/7.7 OpenSearch.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 7.7 OpenSearch</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 7.7 OpenSearch
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 14, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h2><a name="7.7OpenSearch-OpenSearchOverview"></a>OpenSearch Overview</h2>
+
+<p>OpenSearch is a collection of simple formats for the sharing of search results.<br/>
+The OpenSearch description document format is used to describe a search engine that can be used by search client applications.</p>
+
+<p>The OpenSearch response elements can be used to extend existing syndication formats, such as RSS and Atom, with the extra metadata needed to return search results. The OpenSearch document is associated with the "application/opensearchdescription+xml"  mime type.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Note</b><br />For more detailed information about Open Search, refers to the Open Search home page at <a href="http://www.opensearch.org/Home">http://www.opensearch.org/Home</a></td></tr></table></div>
+
+<h3><a name="7.7OpenSearch-DataModel"></a>Data Model</h3>
+
+<p>Apache Wink provides an Open Search data model for producing  Open Search Documents. of the model classes are located under the org.apache.wink.common.model.opensearch package. OpenSearchDescription class is used by an application to build Open Search Description documents.</p>
+
+
+<h4><a name="7.7OpenSearch-OpenSearchSupport"></a>OpenSearch Support</h4>
+
+<p>The following table shows the OpenSearch data model and representation in which it can be serialized and de-serialized.</p>
+
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Supported </th>
+<th class='confluenceTh'> Media Types <br clear="all" /> </th>
+<th class='confluenceTh'> Data Model <br clear="all" /> </th>
+<th class='confluenceTh'> Provider registration <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Read <br clear="all" /> </td>
+<td class='confluenceTd'> Yes <br clear="all" /> </td>
+<td class='confluenceTd'> NA <br clear="all" /> </td>
+<td class='confluenceTd'> NA </td>
+<td class='confluenceTd'> NA <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Write <br clear="all" /> </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> application/ <br clear="all" />
+opensearchdescription+xml <br clear="all" /> </td>
+<td class='confluenceTd'> org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .opensearch<br clear="all" />
+ .OpenSearchDescription </td>
+<td class='confluenceTd'> Not required. Registered by default <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+
+
+
+<h3><a name="7.7OpenSearch-ProducinganOpenSearchDocumentExample"></a>Producing an OpenSearch Document Example</h3>
+
+<p>The following example demonstrates the creation of an OpenSearch document.</p>
+
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">      @GET
+    @Produces(MediaTypeUtils.OPENSEARCH)
+    <span class="code-keyword">public</span> OpenSearchDescription getOpenSearch(@Context UriInfo info) {
+        <span class="code-object">String</span> baseUri = info.getAbsolutePath().toString();
+        OpenSearchDescription openSearchDescription = <span class="code-keyword">new</span> OpenSearchDescription();
+        openSearchDescription.setShortName(<span class="code-quote">"Example search engine"</span>);
+        ...
+        <span class="code-keyword">return</span> openSearchDescription;
+}
+</pre>
+</div></div>
+
+<h5><a name="7.7OpenSearch-"></a></h5>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/7.8 MultiPart.html b/src/site/resources/1.0/html/7.8 MultiPart.html
new file mode 100644
index 0000000..e6ff5c4
--- /dev/null
+++ b/src/site/resources/1.0/html/7.8 MultiPart.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : 7.8 MultiPart</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : 7.8 MultiPart
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 14, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="7.8MultiPart-MultiPart"></a>MultiPart</h1>
+
+<p>Apache Wink provides a MultiPart data model and providers for producing and consuming multipart messages (multipart/&#42; ). All of the model classes are located under the org.apache.wink.common.model.multipart package distributed with the wink-common jar.</p>
+
+<p>The data model can be used with the wink-server module or with the wink-client module.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Supported </th>
+<th class='confluenceTh'> Media Types <br clear="all" /> </th>
+<th class='confluenceTh'> Data Model <br clear="all" /> </th>
+<th class='confluenceTh'> Provider registration <br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> Read <br clear="all" /> </td>
+<td class='confluenceTd'> Yes <br clear="all" /> </td>
+<td class='confluenceTd'> multipart/&#42; <br clear="all" /> </td>
+<td class='confluenceTd'> org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .multipart.InMultiPart <br clear="all" />
+<br clear="all" />
+org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .multipart<br clear="all" />
+ .BufferedInMultiPart <br clear="all" /> </td>
+<td class='confluenceTd'> Not required. Registered by default <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> Write <br clear="all" /> </td>
+<td class='confluenceTd'> Yes </td>
+<td class='confluenceTd'> multipart/&#42; <br clear="all" /> </td>
+<td class='confluenceTd'> org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .multipart.OutMultiPart<br clear="all" />
+ <br clear="all" />
+org.apache.wink <br clear="all" />
+.common.model<br clear="all" />
+ .multipart<br clear="all" />
+ .BufferedOutMultiPart <br clear="all" /> </td>
+<td class='confluenceTd'> Not required. Registered by default <br clear="all" /> </td>
+</tr>
+</tbody></table>
+
+<h2><a name="7.8MultiPart-SerializationandDeserialization"></a>Serialization and De-serialization</h2>
+
+<p>The serialization and de-serialization of a multipart message is performed by the multipart providers. The serialization and de-serialization of the parts that make up the multipart message is performed as if each part is a separate message and in accordance with the JAX-RS specification. This means that every part is serialized and de-serialized using the appropriate provider that matches the binding class and content media type of that specific part.</p>
+
+<h2><a name="7.8MultiPart-MainClasses"></a>Main Classes</h2>
+
+<p>The multipart data model is comprised of the following main classes:</p>
+
+<ul>
+	<li><b>InMultiPart</b> &#45; is used for de-serialization of an incoming multipart message.</li>
+	<li><b>InPart</b> &#45; represents a single part contained in an incoming multipart message.</li>
+	<li><b>OutMultiPart</b> &#45; is used for serialization of an outgoing multipart message.</li>
+	<li><b>OutPart</b> &#45; represents a single part contained in an outgoing multipart message.</li>
+</ul>
+
+
+
+<h2><a name="7.8MultiPart-StreamingMultipart"></a>Streaming Multipart</h2>
+
+<p>The base multipart classes are designed to handle multipart messages without buffering the data in order to avoid possible memory issues. This means that the data is accessible only once by the use of an iterator.</p>
+
+<h2><a name="7.8MultiPart-BufferingMultipart"></a>Buffering Multipart</h2>
+
+<p>The BufferedInMultiPart and BufferedOutMultiPart classes are used to handle multipart messages where the complete message is buffered in the memory, allowing random and multiple access of the data. These classes are suitable for situations where the multipart message is small.</p>
+
+<h2><a name="7.8MultiPart-Examples"></a>Examples</h2>
+
+<p>The following examples illustrate the usage of the multipart data model.</p>
+
+
+<h3><a name="7.8MultiPart-MultipartConsumption"></a>Multipart Consumption</h3>
+
+<p>The following example illustrates the usage of a streaming multipart message.</p>
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"files"</span>)
+@POST
+@Produces( MediaType.TEXT_PLAIN)
+@Consumes( MediaTypeUtils.MULTIPART_FORM_DATA)
+<span class="code-keyword">public</span> <span class="code-object">String</span> uploadFiles(InMultiPart inMP) <span class="code-keyword">throws</span> IOException {
+    <span class="code-keyword">while</span> (inMP.hasNext()) {
+        InPart part = inMP.next();
+        MultivaluedMap&lt;<span class="code-object">String</span>, <span class="code-object">String</span>&gt; heades = part.getHeaders();
+        <span class="code-object">String</span> CDHeader = heades.getFirst(<span class="code-quote">"Content-Disposition"</span>);
+        InputStream is = part.getBody(InputStream.class, <span class="code-keyword">null</span>);
+        <span class="code-comment">// use the input stream to read the part body
+</span>    }
+}
+</pre>
+</div></div>
+
+<p>&#42; Detailed example of the MultiPart implementation can be seen at the MultiPart example.</p>
+
+
+
+<h3><a name="7.8MultiPart-BufferedMultipartConsumption"></a>Buffered Multipart Consumption</h3>
+
+<p>The following example illustrates the usage of a buffering multipart message.</p>
+
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"users"</span>)
+@POST
+@Consumes( {<span class="code-quote">"multipart/mixed"</span>})
+<span class="code-keyword">public</span> BufferedOutMultiPart addUsers(BufferedInMultiPart inMP) <span class="code-keyword">throws</span> IOException {
+    List&lt;InPart&gt; parts = inMP.getParts();
+    <span class="code-keyword">for</span> (InPart p : parts) {
+        User u = p.getBody(User.class, <span class="code-keyword">null</span>);
+	<span class="code-comment">// use the user object retrieved from the part body
+</span>
+    }
+}
+
+</pre>
+</div></div>
+<p>&#42; Detailed example of the MultiPart implementation can be seen at the MultiPart example.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/Apache Wink Developer Guide.html b/src/site/resources/1.0/html/Apache Wink Developer Guide.html
new file mode 100644
index 0000000..ef13d09
--- /dev/null
+++ b/src/site/resources/1.0/html/Apache Wink Developer Guide.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : Apache Wink Developer Guide</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : Apache Wink Developer Guide
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 13, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="ApacheWinkDeveloperGuide-"></a></h1>
+
+<p><img src="attachments/2328628/2523211.jpg" align="absmiddle" border="0"/></p>
+
+
+<h1><a name="ApacheWinkDeveloperGuide-ApacheWink1.0"></a>Apache Wink 1.0</h1>
+
+
+<p>Apache Wink is a complete Java based solution for implementing and consuming REST based Web Services. The goal of the Apache Wink framework is to provide a reusable and extendable set of classes and interfaces that will serve as a foundation on which a developer can efficiently construct applications.</p>
+
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'><h3><a name="ApacheWinkDeveloperGuide-Contents"></a>Contents </h3></th>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="1 Introduction to Apache Wink.html" title="1 Introduction to Apache Wink">1 Introduction to Apache Wink</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="2 Apache Wink Building Blocks.html" title="2 Apache Wink Building Blocks">2 Apache Wink Building Blocks</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="3 Getting Started with Apache Wink.html" title="3 Getting Started with Apache Wink">3 Getting Started with Apache Wink</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="4 JAX-RS Concepts.html" title="4 JAX-RS Concepts">4 JAX-RS Concepts</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="5 Apache Wink Server.html" title="5 Apache Wink Server">5 Apache Wink Server</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="5.1 Registration and Configuration.html" title="5.1 Registration and Configuration">5.1 Registration and Configuration</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="5.2 Annotations.html" title="5.2 Annotations">5.2 Annotations</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="5.3 Resource Matching.html" title="5.3 Resource Matching">5.3 Resource Matching</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="5.4 APP Service Document.html" title="5.4 APP Service Document">5.4 APP. Service Document</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="5.5 Spring Integration.html" title="5.5 Spring Integration">5.5 Spring Integration</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="5.6 WebDAV Extension.html" title="5.6 WebDAV Extension">5.6 WebDAV Extension</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="5.7 Handler Chain - Runtime Extension.html" title="5.7 Handler Chain - Runtime Extension">5.7 Handler Chain</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="5.8 Link Builder.html" title="5.8 Link Builder">5.8 Link Builder</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="5.9 Assets.html" title="5.9 Assets">5.9 Assets</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="5.10 Admin Views.html" title="5.10 Admin Views">5.10 Admin Views</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="6 Apache Wink Client.html" title="6 Apache Wink Client">6 Apache Wink Client</a> <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="6.1 Getting Started with Apache Wink Client.html" title="6.1 Getting Started with Apache Wink Client">6.1 Getting Started with Apache Wink Client</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="6.2 Configuring the Apache Wink Client.html" title="6.2 Configuring the Apache Wink Client">6.2 Configuring the Apache Wink Client</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="6.3 Input and Output Stream Adapters.html" title="6.3 Input and Output Stream Adapters">6.3 Input and Output Stream Adapters</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="7 Apache Wink Representations.html" title="7 Apache Wink Representations">7 Apache Wink Providers</a> <br clear="all" /> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="7.1 JSON.html" title="7.1 JSON">7.1 Json </a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="7.2 APP.html" title="7.2 APP">7.2 APP </a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="7.3 Atom.html" title="7.3 Atom">7.3 Atom </a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="7.4 RSS.html" title="7.4 RSS">7.4 RSS</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="7.5 HTML.html" title="7.5 HTML">7.5 HTML </a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="7.6 CSV.html" title="7.6 CSV">7.6 CSV </a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="7.7 OpenSearch.html" title="7.7 OpenSearch">7.7 OpenSearch </a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp;<a href="7.8 MultiPart.html" title="7.8 MultiPart">7.8 MultiPart</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="Appendix A - Feeds Support.html" title="Appendix A - Feeds Support">Appendix A - Feeds Support</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'> <a href="Appendix B - Google App Engine.html" title="Appendix B - Google App Engine">Appendix B - Google App Engine</a> </td>
+</tr>
+</tbody></table>
+
+				    					    <br/>
+                        <div class="tabletitle">
+                            <a name="attachments">Attachments:</a>
+                        </div>
+
+                        <div class="greybox" align="left">
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2328628/2523206.png">worddav9b9ce05b77b82d168b7932fdc5901024.png</a> (image/png)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2328628/2523207.png">worddav3b1b7a3eba6ce28e35547aae482e5159.png</a> (image/png)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2328628/2523208.png">worddavc10765bebdadcc60c3185b745a3f86bb.png</a> (image/png)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2328628/2523209.png">worddavefc5c57fe0c573c6838765a9e17304da.png</a> (image/png)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2328628/2523211.jpg">Wink Logo.jpg</a> (image/jpeg)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2328628/2523229.pdf">Apache Wink 0.1 Runtime Features List.pdf</a> (application/x-download)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2328628/2523233.zip">WINK-20090809-03_40_43-270.zip</a> (application/zip)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2328628/2523232.pdf">WINK-20090809-01_52_19-269.pdf</a> (application/x-download)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2328628/2523231.pdf">WINK-20090809-01_52_19-269.pdf</a> (application/x-download)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2328628/2523230.zip">WINK-20090809-03_40_43-270.zip</a> (application/zip)
+                                <br/>
+                                                    </div>
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/Appendix A - Feeds Support.html b/src/site/resources/1.0/html/Appendix A - Feeds Support.html
new file mode 100644
index 0000000..066c6c9
--- /dev/null
+++ b/src/site/resources/1.0/html/Appendix A - Feeds Support.html
@@ -0,0 +1,648 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : Appendix A - Feeds Support</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : Appendix A - Feeds Support
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 15, 2009 by <font color="#0050B2">shivakumar</font>.
+				    </div>
+
+				    <h1><a name="AppendixA-FeedsSupport-MigrationfromApacheAbderatoApacheWink"></a>Migration from Apache Abdera to Apache Wink</h1>
+
+<p>Apache Wink is an excellent solution for consuming and producing Atom, APP and RSS documents. The following section describes how to migrate from Apache Abdera to Apache Wink by providing a set of examples that cover most use cases.</p>
+
+<h3><a name="AppendixA-FeedsSupport-AdvantagesofApacheWinkoverApacheAbdera"></a>Advantages of Apache Wink over Apache Abdera</h3>
+<ul>
+	<li>Standardized APIs (using JAX-RS and JAXB)</li>
+	<li>Support for handling XML and JSON more easily</li>
+	<li>Support for handling RSS and ATOM more easily</li>
+</ul>
+
+
+<h3><a name="AppendixA-FeedsSupport-Thissectioncontainsthefollowingtopics%3A"></a>This section contains the following topics:</h3>
+<ul>
+	<li><a href="#AppendixA-FeedsSupport-1%29ConsumingAtomDocuments">1&#41; Consuming Atom Documents</a></li>
+	<li><a href="#AppendixA-FeedsSupport-2%29a%29ProducingAtomDocuments">2&#41; a&#41; Producing Atom Documents</a></li>
+	<li><a href="#AppendixA-FeedsSupport-2%29b%29ProducingAtomDocumentstheJAXRSway">2&#41; b&#41; Producing Atom Documents &#45; the JAX&#45;RS way</a></li>
+	<li><a href="#AppendixA-FeedsSupport-3%29ConsumingRSSDocuments">3&#41; Consuming RSS Documents</a></li>
+	<li><a href="#AppendixA-FeedsSupport-4%29ProducingRSSDocuments">4&#41; Producing RSS Documents</a></li>
+	<li><a href="#AppendixA-FeedsSupport-5%29WritingAtomPublishingProtocol%28APP%29Server">5&#41; Writing Atom Publishing Protocol &#40;APP&#41; Server</a></li>
+	<li><a href="#AppendixA-FeedsSupport-6%29WritingAtomPublishingProtocol%28APP%29Client">6&#41; Writing Atom Publishing Protocol &#40;APP&#41; Client</a></li>
+</ul>
+
+
+<hr />
+<h3><a name="AppendixA-FeedsSupport-1%29ConsumingAtomDocuments"></a>1) Consuming Atom Documents</h3>
+<p>The following code example demonstrates the consumption of Atom documents using Apache Abdera.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Apache Abdera - Click on link to Download - <a href="attachments/2852765/3113129.java">ConsumeAtomUsingAbdera.java</a> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+Abdera abdera = <span class="code-keyword">new</span> Abdera();

+Parser parser = abdera.getParser();

+URL url = <span class="code-keyword">new</span> URL(<span class="code-quote">"http:<span class="code-comment">//alexharden.org/blog/atom.xml"</span>);

+</span>Document&lt;Feed&gt; doc = parser.parse(url.openStream());

+Feed feed = doc.getRoot();

+<span class="code-object">System</span>.out.println(feed.getTitle());

+<span class="code-keyword">for</span> (Entry entry : feed.getEntries()) {

+    <span class="code-object">System</span>.out.println(<span class="code-quote">"\t"</span> + entry.getTitle());

+}

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+</tbody></table>
+
+<p>The following code example demonstrates the consumption of Atom documents using Apache Wink.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Apache Wink  - Click on link to Download - <a href="attachments/2852765/3113127.java">ConsumeAtomUsingWink.java</a> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+RestClient client = <span class="code-keyword">new</span> RestClient();

+Resource resource = client.resource(<span class="code-quote">"http:<span class="code-comment">//alexharden.org/blog/atom.xml"</span>);

+</span>AtomFeed feed = resource.accept(MediaType.APPLICATION_ATOM_XML).get(AtomFeed.class);

+<span class="code-object">System</span>.out.println(feed.getTitle().getValue());

+<span class="code-keyword">for</span> (AtomEntry entry : feed.getEntries()) {

+    <span class="code-object">System</span>.out.println(<span class="code-quote">"\t"</span> + entry.getTitle().getValue());

+}

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+</tbody></table>
+
+<hr />
+<h3><a name="AppendixA-FeedsSupport-2%29a%29ProducingAtomDocuments"></a>2) a) Producing Atom Documents</h3>
+<p>The following code example demonstrates the production of Atom documents using Apache Abdera.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Apache Abdera  - Click on links to Download - <a href="attachments/2852765/3113130.java">ProduceAtomUsingAbdera.java</a> <a href="attachments/2852765/3113128.xml">ProduceAtomUsingAbdera_web.xml</a> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+<span class="code-keyword">protected</span> void doGet(HttpServletRequest request, HttpServletResponse response)

+    <span class="code-keyword">throws</span> ServletException, IOException {

+    Abdera abdera = <span class="code-keyword">new</span> Abdera();

+    Feed feed = abdera.newFeed();

+

+    feed.setId(<span class="code-quote">"tag:example.org,2007:/foo"</span>);

+    feed.setTitle(<span class="code-quote">"Test Feed"</span>);

+    feed.setSubtitle(<span class="code-quote">"Feed subtitle"</span>);

+    feed.setUpdated(<span class="code-keyword">new</span> Date());

+    feed.addAuthor(<span class="code-quote">"Shiva HR"</span>);

+    feed.addLink(<span class="code-quote">"http:<span class="code-comment">//example.com"</span>);

+</span>    feed.addLink(<span class="code-quote">"http:<span class="code-comment">//example.com/foo"</span>, <span class="code-quote">"self"</span>);

+</span>

+    Entry entry = feed.addEntry();

+    entry.setId(<span class="code-quote">"tag:example.org,2007:/foo/entries/1"</span>);

+    entry.setTitle(<span class="code-quote">"Entry title"</span>);

+    entry.setSummaryAsHtml(<span class="code-quote">"&lt;p&gt;This is the entry title&lt;/p&gt;"</span>);

+    entry.setUpdated(<span class="code-keyword">new</span> Date());

+    entry.setPublished(<span class="code-keyword">new</span> Date());

+    entry.addLink(<span class="code-quote">"http:<span class="code-comment">//example.com/foo/entries/1"</span>);

+</span>

+    feed.getDocument().writeTo(response.getWriter());

+} </pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+</tbody></table>
+
+
+<p>The following code example demonstrates the production of Atom documents using Apache Wink.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Apache Wink  - Click on links to Download - <a href="attachments/2852765/3113134.java">ProduceAtomUsingWink.java</a> <a href="attachments/2852765/3113132.xml">ProduceAtomUsingWink_web.xml</a> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+<span class="code-keyword">protected</span> void doGet(HttpServletRequest request, HttpServletResponse response)

+    <span class="code-keyword">throws</span> ServletException, IOException {

+    AtomFeed feed = <span class="code-keyword">new</span> AtomFeed();

+    feed.setId(<span class="code-quote">"tag:example.org,2007:/foo"</span>);

+    feed.setTitle(<span class="code-keyword">new</span> AtomText(<span class="code-quote">"Test Feed"</span>));

+    feed.setSubtitle(<span class="code-keyword">new</span> AtomText(<span class="code-quote">"Feed subtitle"</span>));

+    feed.setUpdated(<span class="code-keyword">new</span> Date());

+

+    AtomPerson person = <span class="code-keyword">new</span> AtomPerson();

+    person.setName(<span class="code-quote">"Shiva HR"</span>);

+    feed.getAuthors().add(person);

+

+    AtomLink link1 = <span class="code-keyword">new</span> AtomLink();

+    link1.setHref(<span class="code-quote">"http:<span class="code-comment">//example.com"</span>);

+</span>    feed.getLinks().add(link1);

+

+    AtomLink link2 = <span class="code-keyword">new</span> AtomLink();

+    link2.setHref(<span class="code-quote">"http:<span class="code-comment">//example.com/foo"</span>);

+</span>    link2.setRel(<span class="code-quote">"self"</span>);

+    feed.getLinks().add(link2);

+

+    AtomEntry entry = <span class="code-keyword">new</span> AtomEntry();

+    entry.setId(<span class="code-quote">"tag:example.org,2007:/foo/entries/1"</span>);

+    entry.setTitle(<span class="code-keyword">new</span> AtomText(<span class="code-quote">"Entry title"</span>));

+

+    AtomText summary = <span class="code-keyword">new</span> AtomText();

+    summary.setType(AtomTextType.html);

+    summary.setValue(<span class="code-quote">"&lt;p&gt;This is the entry title&lt;/p&gt;"</span>);

+    entry.setSummary(summary);

+

+    entry.setUpdated(<span class="code-keyword">new</span> Date());

+    entry.setPublished(<span class="code-keyword">new</span> Date());

+

+    AtomLink link3 = <span class="code-keyword">new</span> AtomLink();

+    link3.setHref(<span class="code-quote">"http:<span class="code-comment">//example.com/foo/entries/1"</span>);

+</span>    entry.getLinks().add(link3);

+

+    feed.getEntries().add(entry);

+

+    AtomFeed.marshal(feed, response.getOutputStream());

+}

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+</tbody></table>
+
+
+<h3><a name="AppendixA-FeedsSupport-2%29b%29ProducingAtomDocumentstheJAXRSway"></a>2) b) Producing Atom Documents - the JAX-RS way</h3>
+<p>A more elegant way of producing Atom documents using Apache Wink is the JAX-RS way as described below:</p>
+
+<h4><a name="AppendixA-FeedsSupport-"></a></h4>
+
+<ol>
+	<li>Open the Eclipse development environment and create a "Dynamic Web Project".</li>
+	<li>Add Apache Wink &amp; its dependent JARs under Java EE Module Dependencies.</li>
+	<li>Create a POJO class and a method that creates Atom feed document. Annotate the class &amp; its methods with the required JAX-RS annotations as below:<br/>
+<a href="attachments/2852765/3113135.java">ProduceAtom.java</a></li>
+	<li>Add org.apache.wink.server.internal.servlet.RestServlet into web.xml and specify the path of above Resource class in it's init-param.<br/>
+See <a href="attachments/2852765/3113133.xml">ProduceAtomWinkElegant_web.xml</a> and <a href="attachments/2852765/3113131">application</a></li>
+	<li>Deploy the web-application and access it using the url <a href="http://localhost:8080/ProduceAtom_Wink_Elegant/rest/getAtom">http://localhost:8080/ProduceAtom_Wink_Elegant/rest/getAtom</a></li>
+	<li>Final WAR &#45;&gt; <a href="attachments/2852765/3113138.zip">ProduceAtom_Wink_Elegant.zip</a> (add Wink &amp; its dependent JARs under ProduceAtom_Wink_Elegant\WEB-INF\lib and re-zip it as WAR).</li>
+</ol>
+
+
+<hr />
+<h3><a name="AppendixA-FeedsSupport-3%29ConsumingRSSDocuments"></a>3) Consuming RSS Documents</h3>
+
+<p>The following code example demonstrates the consuming of RSS documents using Apache Abdera.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Apache Abdera  - Click on link to Download - <a href="attachments/2852765/3113136.java">ConsumeRssUsingAbdera.java</a> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+<span class="code-keyword">public</span> <span class="code-keyword">static</span> void main(<span class="code-object">String</span>[] args) <span class="code-keyword">throws</span> ParseException, IOException {

+    <span class="code-object">System</span>.out.println(<span class="code-quote">"Consuming RSS Documents using Abdera...\n"</span>);

+    Abdera abdera = <span class="code-keyword">new</span> Abdera();

+    Parser parser = abdera.getParser();

+    URL url = <span class="code-keyword">new</span> URL(<span class="code-quote">"http:<span class="code-comment">//www.rssboard.org/files/sample-rss-2.xml"</span>);

+</span>    Document&lt;RssFeed&gt; doc = parser.parse(url.openStream());

+    RssFeed rssFeed = doc.getRoot();

+    <span class="code-object">System</span>.out.println(<span class="code-quote">"Title: "</span> + rssFeed.getTitle());

+    <span class="code-object">System</span>.out.println(<span class="code-quote">"Description: "</span> + rssFeed.getSubtitle() + <span class="code-quote">"\n"</span>);

+    <span class="code-object">int</span> itemCount = 0;

+    <span class="code-keyword">for</span> (Entry entry : rssFeed.getEntries()) {

+        <span class="code-object">System</span>.out.println(<span class="code-quote">"Item "</span> + ++itemCount + <span class="code-quote">":"</span>);

+        <span class="code-object">System</span>.out.println(<span class="code-quote">"\tTitle: "</span> + entry.getTitle());

+        <span class="code-object">System</span>.out.println(<span class="code-quote">"\tPublish Date: "</span> + entry.getPublished());

+        <span class="code-object">System</span>.out.println(<span class="code-quote">"\tDescription: "</span> + entry.getContent());

+    }

+} </pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+</tbody></table>
+
+<p>The following code example demonstrates the consuming of RSS documents using Apache Wink.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Apache Wink  - Click on link to Download - <a href="attachments/2852765/3113139.java">ConsumeRssUsingWink.java</a> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+<span class="code-keyword">public</span> <span class="code-keyword">static</span> void main(<span class="code-object">String</span>[] args) {

+    <span class="code-object">System</span>.out.println(<span class="code-quote">"Consuming RSS Documents using Apache Wink...\n"</span>);

+    RestClient client = <span class="code-keyword">new</span> RestClient();

+    <span class="code-object">String</span> url = <span class="code-quote">"http:<span class="code-comment">//www.rssboard.org/files/sample-rss-2.xml"</span>;

+</span>    Resource resource = client.resource(url);

+    RssFeed rss = resource.accept(MediaType.APPLICATION_XML).get(RssFeed.class);

+    RssChannel channel = rss.getChannel();

+    <span class="code-object">System</span>.out.println(<span class="code-quote">"Title: "</span> + channel.getTitle());

+    <span class="code-object">System</span>.out.println(<span class="code-quote">"Description: "</span> + channel.getDescription() + <span class="code-quote">"\n"</span>);

+    <span class="code-object">int</span> itemCount = 0;

+    <span class="code-keyword">for</span> (RssItem item : channel.getItems()) {

+        <span class="code-object">System</span>.out.println(<span class="code-quote">"Item "</span> + ++itemCount + <span class="code-quote">":"</span>);

+        <span class="code-object">System</span>.out.println(<span class="code-quote">"\tTitle: "</span> + item.getTitle());

+        <span class="code-object">System</span>.out.println(<span class="code-quote">"\tPublish Date: "</span> + item.getPubDate());

+        <span class="code-object">System</span>.out.println(<span class="code-quote">"\tDescription: "</span> + item.getDescription());

+    }

+}

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+</tbody></table>
+
+<hr />
+<h3><a name="AppendixA-FeedsSupport-4%29ProducingRSSDocuments"></a>4) Producing RSS Documents</h3>
+
+<h4><a name="AppendixA-FeedsSupport-ApacheAbdera"></a>Apache Abdera</h4>
+<p>Apache Abdera version 0.4 does not support RSS write.</p>
+
+<h4><a name="AppendixA-FeedsSupport-ApacheWink"></a>Apache Wink</h4>
+<p>Same as in <a href="#AppendixA-FeedsSupport-2%29b%29ProducingAtomDocumentstheJAXRSway">2&#41; b&#41; Producing Atom Documents &#45; the JAX&#45;RS way</a>. However the resource method now returns an RssFeed object instead of AtomFeed object.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Apache Wink  - Click on link to Download - <a href="attachments/2852765/3113137.zip">ProduceRss_Wink_Elegant.zip</a> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+@Path(<span class="code-quote">"/getRss"</span>)

+<span class="code-keyword">public</span> class ProduceRss {

+    @GET

+    @Produces(MediaType.APPLICATION_XML)

+    <span class="code-keyword">public</span> Rss getRss() {

+        RssFeed rss = <span class="code-keyword">new</span> RssFeed();

+

+        RssChannel channel = <span class="code-keyword">new</span> RssChannel();

+        channel.setTitle(<span class="code-quote">"Liftoff News"</span>);

+        channel.setLink(<span class="code-quote">"http:<span class="code-comment">//liftoff.msfc.nasa.gov"</span>);

+</span>        channel.setDescription(<span class="code-quote">"Liftoff to Space Exploration."</span>);

+        channel.setPubDate(<span class="code-keyword">new</span> Date().toString());

+

+        RssItem item = <span class="code-keyword">new</span> RssItem();

+        item.setTitle(<span class="code-quote">"Star City"</span>);

+        item.setLink(<span class="code-quote">"http:<span class="code-comment">//liftoff.msfc.nasa.gov/news/2003/news-starcity.asp"</span>);

+</span>        item.setDescription(<span class="code-quote">"How <span class="code-keyword">do</span> Americans get ready to work with Russians aboard the International Space Station?"</span>);

+

+        channel.getItem().add(item);

+        rss.setChannel(channel);

+        <span class="code-keyword">return</span> rss;

+    }

+}

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+</tbody></table>
+
+<hr />
+<h3><a name="AppendixA-FeedsSupport-5%29WritingAtomPublishingProtocol%28APP%29Server"></a>5) Writing Atom Publishing Protocol (APP) Server</h3>
+<p>The following steps explain how to implement an APP server as described in the following beautiful article by James Snell: <a href="http://www.ibm.com/developerworks/library/x-atompp1/">http://www.ibm.com/developerworks/library/x-atompp1/</a></p>
+
+<h4><a name="AppendixA-FeedsSupport-ApacheAbdera"></a>Apache Abdera</h4>
+
+<ol>
+	<li>Open the Eclipse development environment and create a "Dynamic Web Project".</li>
+	<li>Add Apache Abdera &amp; its dependent JARs under Java EE Module Dependencies.</li>
+	<li>Add the following CollectionAdapter and Provider classes under src/myPackage directory: <a href="attachments/2852765/4456457.java">APP_CollectionAdapter.java</a> <a href="attachments/2852765/4456455.java">APP_ContentProvider.java</a></li>
+	<li>Add org.apache.abdera.protocol.server.servlet.AbderaServlet into web.xml and point the following init paramters to the classes added above.
+<br clear="all" />
+org.apache.abdera.protocol.server.Provider
+<br clear="all" />
+org.apache.abdera.protocol.server.CollectionAdapter
+<br clear="all" />
+<a href="attachments/2852765/4456456.xml">APP_Server_Abdera_web.xml</a></li>
+	<li>Add the following index.jsp which has help on how to perform the APP operations: <a href="attachments/2852765/4456458.jsp">APP_Server_Abdera_index.jsp</a></li>
+	<li>Deploy and run the application.</li>
+</ol>
+
+
+<p>Final WAR &#45;&gt; <a href="attachments/2852765/4456454.zip">APP_Server_Abdera.zip</a> (add Apache Abdera &amp; its dependent JARs under APP_Server_Abdera\WEB-INF\lib and re-zip it as WAR).</p>
+
+<h4><a name="AppendixA-FeedsSupport-ApacheWink"></a>Apache Wink</h4>
+
+<ol>
+	<li>Open the Eclipse development environment and create a "Dynamic Web Project".</li>
+	<li>Add Apache Wink &amp; its dependent JARs under Java EE Module Dependencies.</li>
+	<li>Add the following Resource class under src/myPackage directory: <a href="attachments/2852765/4456460.java">EntriesCollection.java</a></li>
+	<li>Add org.apache.wink.server.internal.servlet.RestServlet into web.xml and specify the path of above Resource class in it's init-param. <a href="attachments/2852765/4456462.xml">APP_Server_Wink_web.xml</a> <a href="attachments/2852765/4456461">APP_Server_Wink_application</a></li>
+	<li>Add the following index.jsp which has help on how to perform the APP operations: <a href="attachments/2852765/4456459.jsp">APP_Server_Wink_index.jsp</a></li>
+	<li>Deploy and run the application.</li>
+</ol>
+
+
+<p>Final WAR &#45;&gt; <a href="attachments/2852765/4456452.zip">APP_Server_Wink.zip</a> (add Apache Wink &amp; its dependent JARs under APP_Server_Wink\WEB-INF\lib and re-zip it as WAR)</p>
+
+<h4><a name="AppendixA-FeedsSupport-References"></a>References</h4>
+
+<ul>
+	<li>Apache Wink's "SimpleDefects" example: <a href="http://svn.apache.org/repos/asf/incubator/wink/tags/wink-0.1-incubating/wink-examples/apps/SimpleDefects/src/main/java/org/apache/wink/example/simpledefects/resources/DefectsResource.java">http://svn.apache.org/repos/asf/incubator/wink/tags/wink-0.1-incubating/wink-examples/apps/SimpleDefects/src/main/java/org/apache/wink/example/simpledefects/resources/DefectsResource.java</a></li>
+	<li>Abdera Feed Sample shipped with IBM WebSphere Feature Pack for Web 2.0 <a href="http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.ajax.feed.samples.help/docs/GettingStarted_useage.html">http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.ajax.feed.samples.help/docs/GettingStarted_useage.html</a></li>
+	<li>Abdera Server Implementation Guide &#45;&gt; <a href="http://cwiki.apache.org/ABDERA/server-implementation-guide.html">http://cwiki.apache.org/ABDERA/server-implementation-guide.html</a></li>
+	<li>Abdera Collection Adapter Implementation Guide &#45;&gt; <a href="http://cwiki.apache.org/ABDERA/collection-adapter-implementation-guide.html">http://cwiki.apache.org/ABDERA/collection-adapter-implementation-guide.html</a></li>
+</ul>
+
+
+<hr />
+<h3><a name="AppendixA-FeedsSupport-6%29WritingAtomPublishingProtocol%28APP%29Client"></a>6) Writing Atom Publishing Protocol (APP) Client</h3>
+
+<p>In order to write an Atom Publishing Protocol client refer to the following examples.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Important Note</b><br />Make sure that the APP_Server_Abdera.war and the APP_Server_Wink.war provided in the previous example are deployed before running these examples.</td></tr></table></div>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Apache Abdera - Click on link to Download - <a href="attachments/2852765/4751362.java">APP_Client_Abdera.java</a><br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp; 1. Acessing Service Document: <br clear="all" />
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+Document&lt;Service&gt; introspection = abderaClient.get(SERVICE_URL).getDocument();

+Service service = introspection.getRoot();

+List&lt;Workspace&gt; workspaces = service.getWorkspaces();

+<span class="code-keyword">for</span> (Workspace workspace : workspaces) {

+    <span class="code-object">System</span>.out.println(<span class="code-quote">"\t"</span> + workspace.getTitle());

+    List&lt;Collection&gt; collections = workspace.getCollections();

+    <span class="code-keyword">for</span> (Collection collection : collections) {

+        <span class="code-object">System</span>.out.println(<span class="code-quote">"\t"</span> + collection.getTitle() + <span class="code-quote">"\t:\t"</span> + collection.getHref());

+    }

+    <span class="code-object">System</span>.out.print(<span class="code-quote">"\n"</span>);

+}

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp; 2. Getting a Feed
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+RequestOptions opts = <span class="code-keyword">new</span> RequestOptions();

+opts.setContentType(<span class="code-quote">"application/atom+xml;type=feed"</span>);

+ClientResponse response = abderaClient.get(FEED_URL, opts);

+Feed feed = (Feed)response.getDocument().getRoot();

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp; 3. Posting an entry to a Feed <br clear="all" />
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+RequestOptions opts = <span class="code-keyword">new</span> RequestOptions();

+opts.setContentType(<span class="code-quote">"application/atom+xml;type=entry"</span>);

+ClientResponse response = abderaClient.post(FEED_URL, newEntry, opts);

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp; 4. Putting a change to an Entry <br clear="all" />
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+RequestOptions opts = <span class="code-keyword">new</span> RequestOptions();

+opts.setContentType(<span class="code-quote">"application/atom+xml;type=entry"</span>);

+ClientResponse response = abderaClient.put(ENTRY_URL, changedEntry.getDocument(), opts);

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp; 5. Getting an Entry <br clear="all" />
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+RequestOptions opts = <span class="code-keyword">new</span> RequestOptions();

+opts.setContentType(<span class="code-quote">"application/atom+xml;type=entry"</span>);

+ClientResponse response = abderaClient.get(ENTRY_URL, opts);

+Entry entry = (Entry)response.getDocument().getRoot();

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp; 6. Deleting an Entry <br clear="all" />
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+ClientResponse response = abderaClient.delete(ENTRY_URL);

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+</tbody></table>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Apache Wink - Click on link to Download - <a href="attachments/2852765/4751361.java">APP_Client_Wink.java</a><br clear="all" /> </th>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp; 1. Acessing Service Document: <br clear="all" />
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+Resource resource = restClient.resource(SERVICE_URL);

+AppService service = resource.accept(MediaTypeUtils.ATOM_SERVICE_DOCUMENT).get(AppService.class);

+List&lt;AppWorkspace&gt; workspaces = service.getWorkspace();

+<span class="code-keyword">for</span> (AppWorkspace workspace : workspaces) {

+    <span class="code-object">System</span>.out.println(<span class="code-quote">"\t"</span> + workspace.getTitle().getValue());

+    List&lt;AppCollection&gt; collections = workspace.getCollection();

+    <span class="code-keyword">for</span> (AppCollection collection : collections) {

+        <span class="code-object">System</span>.out.println(<span class="code-quote">"\t"</span> + collection.getTitle().getValue()

+            + <span class="code-quote">"\t:\t"</span>

+            + collection.getHref());

+    }

+    <span class="code-object">System</span>.out.print(<span class="code-quote">"\n"</span>);

+}

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp; 2. Getting a Feed <br clear="all" />
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+Resource feedResource = restClient.resource(FEED_URL);

+AtomFeed feed = feedResource.accept(MediaType.APPLICATION_ATOM_XML).get(AtomFeed.class);

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp; 3. Posting an entry to a Feed <br clear="all" />
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+Resource feedResource = restClient.resource(FEED_URL);

+ClientResponse response =

+    feedResource.contentType(MediaType.APPLICATION_ATOM_XML).post(newEntry);

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp; 4. Putting a change to an Entry <br clear="all" />
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+Resource feedResource = restClient.resource(ENTRY_URL);

+ClientResponse response =

+    feedResource.contentType(MediaType.APPLICATION_ATOM_XML).put(changedEntry);

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp; 5. Getting an Entry <br clear="all" />
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+Resource feedResource = restClient.resource(ENTRY_URL);

+AtomEntry atomEntry = feedResource.accept(MediaType.APPLICATION_ATOM_XML).get(AtomEntry.class);

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+<tr>
+<td class='confluenceTd'> &nbsp;&nbsp;&nbsp; 6. Deleting an Entry <br clear="all" />
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+Resource feedResource = restClient.resource(ENTRY_URL);

+ClientResponse response = feedResource.delete();

+</pre>
+</div></div></td>
+</tr>
+<tr>
+</tr>
+</tbody></table>
+<hr />
+
+				    					    <br/>
+                        <div class="tabletitle">
+                            <a name="attachments">Attachments:</a>
+                        </div>
+
+                        <div class="greybox" align="left">
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/3113127.java">ConsumeAtomUsingWink.java</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/3113128.xml">ProduceAtomUsingAbdera_web.xml</a> (text/xml)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/3113129.java">ConsumeAtomUsingAbdera.java</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/3113130.java">ProduceAtomUsingAbdera.java</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/3113131">application</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/3113132.xml">ProduceAtomUsingWink_web.xml</a> (text/xml)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/3113133.xml">ProduceAtomWinkElegant_web.xml</a> (text/xml)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/3113134.java">ProduceAtomUsingWink.java</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/3113135.java">ProduceAtom.java</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/3113136.java">ConsumeRssUsingAbdera.java</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/3113137.zip">ProduceRss_Wink_Elegant.zip</a> (application/zip)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/3113138.zip">ProduceAtom_Wink_Elegant.zip</a> (application/zip)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/3113139.java">ConsumeRssUsingWink.java</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/4456452.zip">APP_Server_Wink.zip</a> (application/x-zip-compressed)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/4456454.zip">APP_Server_Abdera.zip</a> (application/x-zip-compressed)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/4456455.java">APP_ContentProvider.java</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/4456456.xml">APP_Server_Abdera_web.xml</a> (text/xml)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/4456457.java">APP_CollectionAdapter.java</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/4456458.jsp">APP_Server_Abdera_index.jsp</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/4456459.jsp">APP_Server_Wink_index.jsp</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/4456460.java">EntriesCollection.java</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/4456461">APP_Server_Wink_application</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/4456462.xml">APP_Server_Wink_web.xml</a> (text/xml)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/4751361.java">APP_Client_Wink.java</a> (application/octet-stream)
+                                <br/>
+                                                            <img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="attachments/2852765/4751362.java">APP_Client_Abdera.java</a> (application/octet-stream)
+                                <br/>
+                                                    </div>
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/Appendix B - Google App Engine.html b/src/site/resources/1.0/html/Appendix B - Google App Engine.html
new file mode 100644
index 0000000..8b1731c
--- /dev/null
+++ b/src/site/resources/1.0/html/Appendix B - Google App Engine.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : Appendix B - Google App Engine</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : Appendix B - Google App Engine
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 14, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h2><a name="AppendixB-GoogleAppEngine-GoogleAppEngine"></a>Google App Engine</h2>
+
+<p>Apache Wink can be run using <a href="https://appengine.google.com/">Google App Engine</a> as the core functionality is fully compatible. However, due to some of the App Engine limitations, a number of the additional functions may not work correctly.</p>
+
+<h3><a name="AppendixB-GoogleAppEngine-KnownLimitations"></a>Known Limitations</h3>
+
+<p><b>JAXB</b> &#45; Google App Engine doesn't support JAXB. Therefore, the built-in JAXB, Atom and JSON providers will not work.</p>
+
+<h3><a name="AppendixB-GoogleAppEngine-Logging"></a>Logging</h3>
+
+<p>Google uses java.util.logging, also referred to as the JDK 1.4 logging. Apache Wink uses <a href="http://slf4j.org">slf4j</a>. In order to enable Wink's logging function, replace the <tt>slf4j-simple-&lt;version&gt;.jar</tt> with the <tt>slf4j-jdk14-&lt;version&gt;.jar</tt>.</p>
+
+<p>In order to view all of Wink's messages place the following property in the logging.properties file:</p>
+<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>org.apache.wink.level=ALL</pre>
+</div></div>
+
+
+<p>Everything that the servlet writes to the standard output stream (System.out) and standard error stream (System.err) is captured by the App Engine and then recorded in the application logs. </p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Useful Tip</b><br />In order to gain an in depth understanding refer to <a href="http://code.google.com/appengine/docs/java/runtime.html#Logging">Logging</a>.</td></tr></table></div> 
+
+
+
+<div class='panelMacro'><table class='tipMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>When running with <a href="http://www.springsource.org/">Spring</a>, make sure that you have <tt>jcl-over-slf4j-&lt;version&gt;.jar</tt> in the classpath. This jar is needed, since Spring uses commons-logging.</td></tr></table></div>
+
+<h3><a name="AppendixB-GoogleAppEngine-AdditionalIssues"></a>Additional Issues</h3>
+
+<p>The following section contains "<b>additional Issues</b>" that maybe experience while trying to run custom developer code in the Google App Engine. It is advantageous to read the relevant documentation as it provides important information, that will save valuable developer time that is required to ascertain why the application behaves differently in comparison to a regular servlet container.</p>
+
+<h4><a name="AppendixB-GoogleAppEngine-ContextPath"></a>Context Path</h4>
+
+<p>Usually the URI in a servlet container looks like this:
+<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>requestURI = contextPath + servletPath + pathInfo</pre>
+</div></div>while in most servlet containers context path is a war name (or it can be configured), in App Engine it's just empty.<br/>
+So if your servlet is mapped to "rest", access <div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>http://host:port/rest</pre>
+</div></div>.</p>
+
+<h3><a name="AppendixB-GoogleAppEngine-References"></a>References</h3>
+
+<ul>
+	<li><a href="http://code.google.com/appengine/docs/java/overview.html">App Engine Java Overview</a></li>
+	<li><a href="http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine">Will it play in App Engine</a></li>
+</ul>
+
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:58</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/JAX-RS Application Configuration.html b/src/site/resources/1.0/html/JAX-RS Application Configuration.html
new file mode 100644
index 0000000..5272350
--- /dev/null
+++ b/src/site/resources/1.0/html/JAX-RS Application Configuration.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : JAX-RS Application Configuration</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : JAX-RS Application Configuration
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Sep 10, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h2><a name="JAX-RSApplicationConfiguration-Applications"></a>Applications</h2>
+
+<p>A JAX-RS application consists of one or more resources and zero or more providers. A JAX-RS application is packaged as a Web application in a .war file. The Application subclass, resource classes, and providers are packaged in WEB-INF/classes file and the required libraries are packaged in WEB-INF/lib. Included libraries can also contain resource classes and providers as desired.<br/>
+When using a Servlet 3 container, the Application subclass is optional. By default, all root resource classes and providers packaged in the web application must be included in the published JAX-RS application.</p>
+
+<h3><a name="JAX-RSApplicationConfiguration-IncludingSubclasses"></a>Including Subclasses</h3>
+
+<p>An Application subclass can be included in a .war file to override the default behavior. If both getClasses and getSingletons return an empty list then the default "willset" of classes must be used. The implementations should support the Servlet 3 framework pluggability mechanism to enable portability between containers and to avail themselves of container-supplied class scanning facilities.</p>
+
+
+<h3><a name="JAX-RSApplicationConfiguration-ServletContainers"></a>Servlet Containers</h3>
+
+<p>When using a non-JAX-RS aware servlet container, the servlet-class or filter-class element of the web.xml descriptor should name the JAX-RS implementation-supplied Servlet or Filter class respectively. The application-supplied subclass of the application is identified, using an init-param with a param-name of the "javax.ws.rs.application".</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/JAX-RS Caching.html b/src/site/resources/1.0/html/JAX-RS Caching.html
new file mode 100644
index 0000000..0639eed
--- /dev/null
+++ b/src/site/resources/1.0/html/JAX-RS Caching.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : JAX-RS Caching</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : JAX-RS Caching
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 11, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="JAX-RSCaching-JAXRSCaching"></a>JAX-RS Caching</h1>
+
+<p>TBD</p>
+
+<h2><a name="JAX-RSCaching-Expires"></a>Expires</h2>
+
+<p>TBD</p>
+
+<h2><a name="JAX-RSCaching-CacheControl"></a>Cache Control</h2>
+
+<p>TBD</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/JAX-RS Content Negotiation.html b/src/site/resources/1.0/html/JAX-RS Content Negotiation.html
new file mode 100644
index 0000000..1b5593b
--- /dev/null
+++ b/src/site/resources/1.0/html/JAX-RS Content Negotiation.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : JAX-RS Content Negotiation</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : JAX-RS Content Negotiation
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Sep 22, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="JAX-RSContentNegotiation-WhatisContentNegotiation%3F"></a>What is Content Negotiation?</h1>
+
+<p>One of the more popular features of REST applications is the ability to return different representations of resources.  For instance, data can be in <a href="http://json.org">JSON</a> format or in <a href="http://www.w3.org/XML/">XML</a>.  Or it can even be available in either format depending on the request.  Content negotiation is the way for clients and servers to agree on what content format is sent.</p>
+
+<p>Data is returned in multiple formats because the needs of each client's request can be different.  A browser might prefer JSON format.  Another command line based client might prefer XML format.  A third client might request the same resource as a PNG image.</p>
+
+<p>It is up to the service to determine which formats are supported.</p>
+
+<p>There are many practical ways of performing content negotiation.</p>
+
+<p><a name="JAX-RSContentNegotiation-URL"></a></p>
+
+<h3><a name="JAX-RSContentNegotiation-ContentNegotiationBasedonURL"></a>Content Negotiation Based on URL</h3>
+
+<p>Many popular public REST APIs perform content negotiation based on the URL.  For instance, a resource in XML format might be at <a href="http://example.com/resource.xml">http://example.com/resource.xml</a>.  The same resource could be offered in JSON format but located at <a href="http://example.com/resource.json">http://example.com/resource.json</a>.</p>
+
+<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>ContentNegotiationViaURL.java</b></div><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/resources"</span>)

+<span class="code-keyword">public</span> class Resource {

+

+    @Path(<span class="code-quote">"{resourceID}.xml"</span>)

+    @GET

+    <span class="code-keyword">public</span> Response getResourceInXML(@PathParam(<span class="code-quote">"resourceID"</span>) <span class="code-object">String</span> resourceID) {

+        <span class="code-keyword">return</span> Response.ok(/* entity in XML format */).type(MediaType.APPLICATION_XML).build();

+    }

+

+    @Path(<span class="code-quote">"{resourceID}.json"</span>)

+    @GET

+    <span class="code-keyword">public</span> Response getResourceInJSON(@PathParam(<span class="code-quote">"resourceID"</span>) <span class="code-object">String</span> resourceID) {

+        <span class="code-keyword">return</span> Response.ok(/* entity in JSON format */).type(MediaType.APPLICATION_JSON).build();

+    }

+}

+</pre>
+</div></div>
+<p>In the above code, a request to <b>"/resources/resourceID.myformat"</b> would result in a 404 status code.</p>
+
+<p>Another way of implementing the above is to use a single resource method like below:</p>
+
+<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>ContentNegotiationViaSingleMethod.java</b></div><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/resources"</span>)

+<span class="code-keyword">public</span> class Resource {

+

+    @Path(<span class="code-quote">"{resourceID}.{type}"</span>)

+    @GET

+    <span class="code-keyword">public</span> Response getResource(@PathParam(<span class="code-quote">"resourceID"</span>) <span class="code-object">String</span> resourceID, @PathParam(<span class="code-quote">"type"</span>) <span class="code-object">String</span> type) {

+        <span class="code-keyword">if</span> (<span class="code-quote">"xml"</span>.equals(type)) {

+            <span class="code-keyword">return</span> Response.ok(/* entity in XML format */).type(MediaType.APPLICATION_XML).build();

+        } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-quote">"json"</span>.equals(type)) {

+            <span class="code-keyword">return</span> Response.ok("/* entity in JSON format */).type(MediaType.APPLICATION_JSON).build();

+        }

+

+        <span class="code-keyword">return</span> Response.status(404).build();

+    }

+

+}

+</pre>
+</div></div>
+<p>The previous code excerpt essentially behaves the same as the ContentNegotiationViaURL.java example.</p>
+
+<p><a name="JAX-RSContentNegotiation-Parameter"></a></p>
+
+<h3><a name="JAX-RSContentNegotiation-ContentNegotiationBasedonRequestParameter"></a>Content Negotiation Based on Request Parameter</h3>
+
+<p>Another popular method is for the client to specify the format in a parameter.  For instance, by default, a resource could be offered in XML at <a href="http://example.com/resource">http://example.com/resource</a>.  The JSON version could be retrieved by using a query parameter like <a href="http://example.com/resource?format=json">http://example.com/resource?format=json</a>.</p>
+
+<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>ContentNegotiationViaParameter.java</b></div><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/resources"</span>)

+<span class="code-keyword">public</span> class Resource {

+

+    @Path(<span class="code-quote">"{resourceID}"</span>)

+    @GET

+    <span class="code-keyword">public</span> Response getResource(@PathParam(<span class="code-quote">"resourceID"</span>) <span class="code-object">String</span> resourceID,

+                                 @QueryParam(<span class="code-quote">"format"</span>) <span class="code-object">String</span> format) {

+        <span class="code-keyword">if</span> (format == <span class="code-keyword">null</span> || <span class="code-quote">"xml"</span>.equals(format)) {

+            <span class="code-keyword">return</span> Response.ok(/* entity in XML format */).type(MediaType.APPLICATION_XML).build();

+        } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (<span class="code-quote">"json"</span>.equals(format)) {

+            <span class="code-keyword">return</span> Response.ok(/* entity in JSON format */).type(MediaType.APPLICATION_JSON).build();

+        }

+

+        <span class="code-keyword">return</span> Response.notAcceptable(Variant.mediaTypes(MediaType.APPLICATION_XML_TYPE,

+                                                         MediaType.APPLICATION_JSON_TYPE).add()

+            .build()).build();

+    }

+}

+</pre>
+</div></div>
+<p><a name="JAX-RSContentNegotiation-AcceptHeader"></a></p>
+
+<h3><a name="JAX-RSContentNegotiation-ContentNegotiationBasedonAcceptHeader"></a>Content Negotiation Based on Accept Header</h3>
+
+<p>Perhaps the most powerful form of content negotiation, the HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html">Accept header</a> is another way of specifying the preferred representation format.</p>
+
+<p>The following excerpt shows sample client code using the Wink RestClient:</p>
+
+<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>RestClientWithAcceptHeader.java</b></div><div class="codeContent panelContent">
+<pre class="code-java">    RestClient client = <span class="code-keyword">new</span> RestClient();

+    ClientResponse response = client.resource(<span class="code-quote">"http:<span class="code-comment">//example.com/resources/resource1"</span>).header(<span class="code-quote">"Accept"</span>, <span class="code-quote">"application/json;q=1.0, application/xml;q=0.8"</span>).get();

+</span>    <span class="code-comment">// find what format was sent back

+</span>    <span class="code-object">String</span> contentType = response.getHeaders().getFirst(<span class="code-quote">"Content-Type"</span>);

+

+    <span class="code-keyword">if</span> (contentType.contains(<span class="code-quote">"application/json"</span>)) {

+        JSONObject entity = response.getEntity(JSONObject.class); /* or use a <span class="code-object">String</span>, InputStream, or other provider that supports the entity media type */

+    } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (contentType.contains(<span class="code-quote">"application/xml"</span>) {

+        <span class="code-object">String</span> entity = response.getEntity(<span class="code-object">String</span>.class); /* or use a JAXB class, InputStream, etc. */

+    }

+</pre>
+</div></div>
+<p>The following example implements sample client code using the <a href="http://hc.apache.org/httpclient-3.x/">Apache HttpClient</a>.</p>
+
+<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>HttpClientWithAcceptHeader.java</b></div><div class="codeContent panelContent">
+<pre class="code-java">    HttpClient client = <span class="code-keyword">new</span> HttpClient();

+    GetMethod getMethod =

+        <span class="code-keyword">new</span> GetMethod(<span class="code-quote">"http:<span class="code-comment">//example.com/resources/resource1"</span>);

+</span>    <span class="code-comment">// prefer JSON over XML but both are acceptable to the client

+</span>    getMethod.setRequestHeader(<span class="code-quote">"Accept"</span>, <span class="code-quote">"application/json;q=1.0, application/xml;q=0.8"</span>);

+    <span class="code-keyword">try</span> {

+        client.executeMethod(getMethod);

+

+        <span class="code-comment">// find what format was sent back

+</span>        getMethod.getResponseHeader(<span class="code-quote">"Content-Type"</span>).getValue();

+

+        <span class="code-comment">// use getMethod.getResponseBodyAsString() or getMethod.getResponseBodyAsStream()

+</span>        <span class="code-comment">// to read the body

+</span>    } <span class="code-keyword">finally</span> {

+        getMethod.releaseConnection();

+    }

+</pre>
+</div></div>
+<p>Using the @Context HttpHeaders injected variable, the client preferred response representation is found.</p>
+
+<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>ContentNegotiationViaAcceptHeaderAndHTTPHeaders.java</b></div><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/resources"</span>)

+<span class="code-keyword">public</span> class Resource {

+

+    @Context

+    <span class="code-keyword">private</span> HttpHeaders headers;

+

+    @Path(<span class="code-quote">"{resourceID}"</span>)

+    @GET

+    <span class="code-keyword">public</span> Response getResource(@PathParam(<span class="code-quote">"resourceID"</span>) <span class="code-object">String</span> resourceID) {

+        List&lt;MediaType&gt; acceptHeaders = headers.getAcceptableMediaTypes();

+        <span class="code-keyword">if</span> (acceptHeaders == <span class="code-keyword">null</span> || acceptHeaders.size() == 0) {

+            <span class="code-keyword">return</span> Response.ok(/* entity in XML format */).type(MediaType.APPLICATION_XML).build();

+        }

+

+        <span class="code-keyword">for</span> (MediaType mt : acceptHeaders) {

+            <span class="code-object">String</span> qValue = mt.getParameters().get(<span class="code-quote">"q"</span>);

+            <span class="code-keyword">if</span>(qValue != <span class="code-keyword">null</span> &amp;&amp; <span class="code-object">Double</span>.valueOf(qValue).doubleValue() == 0.0) {

+                <span class="code-keyword">break</span>;

+            }

+            <span class="code-keyword">if</span>(MediaType.APPLICATION_XML_TYPE.isCompatible(mt)) {

+                <span class="code-keyword">return</span> Response.ok(/* entity in XML format */).type(MediaType.APPLICATION_XML).build();

+            } <span class="code-keyword">else</span> <span class="code-keyword">if</span> (MediaType.APPLICATION_JSON_TYPE.isCompatible(mt)) {

+                <span class="code-keyword">return</span> Response.ok(/* entity in JSON format */).type(MediaType.APPLICATION_JSON).build();

+            }

+        }

+        <span class="code-keyword">return</span> Response.notAcceptable(Variant.mediaTypes(MediaType.APPLICATION_JSON_TYPE,

+                                                         MediaType.APPLICATION_XML_TYPE).add()

+            .build()).build();

+    }

+

+}

+</pre>
+</div></div>
+<p>If the client request does not have an Accept HTTP header, then by default the XML format is returned.  The @Context HttpHeaders.getAcceptableMediaTypes() method returns an ordered list, sorted by the client preference of the representations.</p>
+
+<p>Looping through the acceptable media types, if the preferred media type is compatible with one of the service's available return types, then the preferred media type is used.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Note</b><br />Note that the quality factor is checked.  In fairly rare requests, clients can let the service know that a media type should not be sent back (if the quality factor is 0.0).</td></tr></table></div> 
+
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/JAX-RS Context Information.html b/src/site/resources/1.0/html/JAX-RS Context Information.html
new file mode 100644
index 0000000..2c2da4a
--- /dev/null
+++ b/src/site/resources/1.0/html/JAX-RS Context Information.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : JAX-RS Context Information</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : JAX-RS Context Information
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Aug 24, 2009 by <font color="#0050B2">bluk</font>.
+				    </div>
+
+				    <h1><a name="JAX-RSContextInformation-ContextInformation"></a>Context Information</h1>
+
+<p>In addition to request parameters and entities, there is more request information that can be accessed via request @Context injected variables.</p>
+
+<p>When a resource method is invoked, the runtime injects the @Context variables.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+@Path(<span class="code-quote">"/resource"</span>)

+<span class="code-keyword">public</span> class Resource {

+    @Context

+    <span class="code-keyword">private</span> HttpHeaders headers;

+

+    @GET

+    <span class="code-keyword">public</span> void get(@Context UriInfo uriInfo) {

+       /* use headers or uriInfo variable here */

+    }

+}

+</pre>
+</div></div>
+
+<p><a name="JAX-RSContextInformation-HttpHeaders"></a></p>
+<h3><a name="JAX-RSContextInformation-javax.ws.rs.core.HttpHeaders"></a>javax.ws.rs.core.HttpHeaders</h3>
+
+<p>HttpHeaders provides methods that allow users to access request headers.  A few convenience methods such as #getAcceptableLanguages() and #getAcceptableMediaTypes() provide client preference sorted acceptable responses.</p>
+
+<p><a name="JAX-RSContextInformation-UriInfo"></a></p>
+<h3><a name="JAX-RSContextInformation-javax.ws.rs.core.UriInfo"></a>javax.ws.rs.core.UriInfo</h3>
+
+<p>UriInfo provides methods so developers can find or build URI information of the current request.</p>
+
+<p><a name="JAX-RSContextInformation-SecurityContext"></a></p>
+<h3><a name="JAX-RSContextInformation-javax.ws.rs.core.SecurityContext"></a>javax.ws.rs.core.SecurityContext</h3>
+
+<p>SecurityContext provides access to the security information.</p>
+
+<p><a name="JAX-RSContextInformation-Request"></a></p>
+<h3><a name="JAX-RSContextInformation-javax.ws.rs.core.Request"></a>javax.ws.rs.core.Request</h3>
+
+<p>Request provides methods for evaluating preconditions and for selecting the best response variant based on the request headers.</p>
+
+<p><a name="JAX-RSContextInformation-Providers"></a></p>
+<h3><a name="JAX-RSContextInformation-javax.ws.rs.core.Providers"></a>javax.ws.rs.core.Providers</h3>
+
+<p>Providers allows access to the user and runtime provided MessageBodyReaders, MessageBodyWriters, ContextResolvers, and ExceptionMappers.  It is useful for other providers but can sometimes be useful for resource methods and classes.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/JAX-RS Getting Started.html b/src/site/resources/1.0/html/JAX-RS Getting Started.html
new file mode 100644
index 0000000..9277f6f
--- /dev/null
+++ b/src/site/resources/1.0/html/JAX-RS Getting Started.html
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : JAX-RS Getting Started</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : JAX-RS Getting Started
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 13, 2009 by <font color="#0050B2">bluk</font>.
+				    </div>
+
+				    <h1><a name="JAX-RSGettingStarted-CreatingaSimple%22HelloWorld%22Application"></a>Creating a Simple "Hello World" Application</h1>
+
+<p>The following example project will produce a simple JAX-RS application that can respond to requests at <b>"/helloworld"</b> with a <b>"Hello world&#33;"</b> plain text resource.  While not entirely RESTful, this example project is to show how to create a simple application and how to package it for consumption in a web container.</p>
+
+
+<p>The application is packaged in a WAR file (which is similar to a JAR/ZIP file, except with special files in certain locations and a defined layout).  It can be deployed in any web container, for example: Jetty, Tomcat and Geronimo. Perform the following steps in order to create the "<b>helloworld</b>" example application.</p>
+
+
+<h2><a name="JAX-RSGettingStarted-Step1CreatingtheRootResource"></a>Step 1 - Creating the Root Resource</h2>
+
+
+<h3><a name="JAX-RSGettingStarted-"></a></h3>
+
+<p>First, create a resource that will be used for HTTP GET requests to "<b>/helloworld</b>".</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+<span class="code-keyword">package</span> org.apache.wink.example.helloworld;

+

+<span class="code-keyword">import</span> javax.ws.rs.GET;

+<span class="code-keyword">import</span> javax.ws.rs.Path;

+

+@Path(<span class="code-quote">"/helloworld"</span>)

+<span class="code-keyword">public</span> class HelloWorldResource {

+

+    @GET

+    <span class="code-keyword">public</span> <span class="code-object">String</span> getMessage() {

+        <span class="code-keyword">return</span> <span class="code-quote">"Hello World!"</span>;

+    }

+}

+</pre>
+</div></div>
+
+<p>As shown above, the Java class is just a plain old Java object that has JAX-RS annotations.</p>
+
+<h2><a name="JAX-RSGettingStarted-Step2Creatingajavax.ws.rs.core.Applicationsubclass"></a>Step 2 - Creating a javax.ws.rs.core.Application sub-class</h2>
+
+
+
+<p>For non-JAX-RS aware web container environments (most environments are currently non JAX-RS aware), a j<b>avax.ws.rs.core.Application</b> sub-class needs to be created which returns sets of JAX-RS root resources and providers.  In the following example, there is only one root resource that will need to be returned.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+<span class="code-keyword">package</span> org.apache.wink.example.helloworld;

+

+<span class="code-keyword">import</span> java.util.HashSet;

+<span class="code-keyword">import</span> java.util.Set;

+

+<span class="code-keyword">import</span> javax.ws.rs.core.Application;

+

+<span class="code-keyword">public</span> class HelloWorldApplication <span class="code-keyword">extends</span> Application {

+

+    @Override

+    <span class="code-keyword">public</span> Set&lt;<span class="code-object">Class</span>&lt;?&gt;&gt; getClasses() {

+        Set&lt;<span class="code-object">Class</span>&lt;?&gt;&gt; classes = <span class="code-keyword">new</span> HashSet&lt;<span class="code-object">Class</span>&lt;?&gt;&gt;();

+        classes.add(HelloWorldResource.class);

+        <span class="code-keyword">return</span> classes;

+    }

+

+}

+</pre>
+</div></div>
+
+<h3><a name="JAX-RSGettingStarted-Compilingtheclasses"></a>Compiling the classes</h3>
+
+
+<p>Using the Apache Wink distribution's JARs in the classpath, compile the two classes from the previous example.</p>
+
+<h2><a name="JAX-RSGettingStarted-Step3Creatingaweb.xmlfile"></a>Step 3 - Creating a web.xml file</h2>
+
+
+
+
+<p>Now create a web.xml deployment descriptor.  The deployment descriptor details information about the web application in the WAR.  In this case, it says that the Apache Wink JAX-RS servlet should be initialized with a HelloWorldApplication instance.</p>
+
+<p>In addition, any requests that begin with /rest/ will be handled by the Apache Wink JAX-RS servlet.  So, the request URL would be "/rest/helloworld" to reach the HelloWorld resource.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;

+&lt;!DOCTYPE web-app PUBLIC

+ <span class="code-quote">"-<span class="code-comment">//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"</span>

+</span> <span class="code-quote">"http:<span class="code-comment">//java.sun.com/dtd/web-app_2_3.dtd"</span> &gt;

+</span>

+&lt;web-app&gt;

+    &lt;display-name&gt;Hello world Web Application&lt;/display-name&gt;

+    &lt;servlet&gt;

+        &lt;servlet-name&gt;HelloWorldApp&lt;/servlet-name&gt;

+        &lt;servlet-class&gt;org.apache.wink.server.internal.servlet.RestServlet&lt;/servlet-class&gt;

+        &lt;init-param&gt;

+            &lt;param-name&gt;javax.ws.rs.Application&lt;/param-name&gt;

+            &lt;param-value&gt;org.apache.wink.example.helloworld.HelloWorldApplication&lt;/param-value&gt;

+        &lt;/init-param&gt;

+        &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;

+    &lt;/servlet&gt;

+    &lt;servlet-mapping&gt;

+        &lt;servlet-name&gt;HelloWorldApp&lt;/servlet-name&gt;

+        &lt;url-pattern&gt;/<span class="code-keyword">rest</span>/*&lt;/url-pattern&gt;

+    &lt;/servlet-mapping&gt;

+&lt;/web-app&gt;

+</pre>
+</div></div>
+
+<h2><a name="JAX-RSGettingStarted-Step4PackagingthewebapplicationintoaWARfile"></a>Step 4 - Packaging the web application into a WAR file</h2>
+
+
+
+
+<p>Layout the application as follows and create a WAR file from the base directory (the one before WEB-INF). Create a WAR by running "jar cvf helloworld-jaxrs.war *" from the base directory.</p>
+
+<p>Not every JAR in the lib directory is necessary for all environments. Read the documentation for more information about the requirements.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">

+WEB-INF/classes/org/apache/wink/example/helloworld/HelloWorldApplication.class

+WEB-INF/classes/org/apache/wink/example/helloworld/HelloWorldResource.class

+WEB-INF/lib/activation-1.1.jar

+WEB-INF/lib/commons-lang-2.3.jar

+WEB-INF/lib/jaxb-api-2.1.jar

+WEB-INF/lib/jaxb-impl-2.1.4.jar

+WEB-INF/lib/json-20080701.jar

+WEB-INF/lib/jsr311-api-1.0.jar

+WEB-INF/lib/slf4j-api-1.5.8.jar

+WEB-INF/lib/slf4j-simple-1.5.8.jar

+WEB-INF/lib/stax-api-1.0-2.jar

+WEB-INF/lib/wink-common-&lt;version #&gt;.jar

+WEB-INF/lib/wink-server-&lt;version #&gt;.jar

+WEB-INF/web.xml

+</pre>
+</div></div>
+
+<h2><a name="JAX-RSGettingStarted-Step5InstallingtheWARfileintoyourenvironment"></a>Step 5 - Installing the WAR file into your environment</h2>
+
+
+
+
+<p>Most web container environments will take a WAR file and deploy it without any further configuration required.  However, note the "<b>Context Root</b>" of the web application, or change it as required.</p>
+
+<p>The context paths combine as follows:<br/>
+http://&lt;hostname&gt;/&lt;web application context root&gt;/&lt;servlet url mapping path&gt;/helloworld</p>
+
+<p>If the environment deployed the WAR file to a context root of "/helloworldapp", then the following URL would be required to reach the HelloWorldResource.</p>
+
+<p>http://&lt;hostname&gt;/helloworldapp/rest/helloworld</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/JAX-RS HTTP Headers.html b/src/site/resources/1.0/html/JAX-RS HTTP Headers.html
new file mode 100644
index 0000000..353f348
--- /dev/null
+++ b/src/site/resources/1.0/html/JAX-RS HTTP Headers.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : JAX-RS HTTP Headers</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : JAX-RS HTTP Headers
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Sep 22, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="JAX-RSHTTPHeaders-HTTPHeaders"></a>HTTP Headers</h1>
+
+<p><a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html">HTTP headers</a> generally store metadata and control information.  There are some common headers shared in requests and responses but there are a few specific headers to either a request or a response.  Developers should read the HTTP specification for a complete understanding of HTTP headers.  Some of the more common HTTP headers are mentioned below in cases where JAX-RS provides convenient methods for the header.</p>
+
+<p>Generally, in order to get the request header name and values, developers can use either an injected @HeaderParam annotated with a parameter/field/property or an injected @Context HttpHeaders parameter/field/property.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/example"</span>)
+<span class="code-keyword">public</span> ExampleResource {
+    @Context HttpHeaders requestHeaders;
+
+    @GET
+    <span class="code-keyword">public</span> void getSomething(@HeaderParam(<span class="code-quote">"User-Agent"</span>) <span class="code-object">String</span> theUserAgent) {
+        /* use theUserAgent variable or requestHeader's methods to get more info */
+    }
+}
+</pre>
+</div></div>
+<p>In order to set response headers, developers can set them on a javax.ws.rs.core.Response return object.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/example"</span>)
+<span class="code-keyword">public</span> ExampleResource {
+    @GET
+    <span class="code-keyword">public</span> Response getSomething() {
+        <span class="code-keyword">return</span> Response.ok(/* some entity */).header(<span class="code-quote">"CustomHeader"</span>, <span class="code-quote">"CustomValue"</span>).build();
+    }
+}
+</pre>
+</div></div>
+<p>A response headers can be set when a MessageBodyWriter#writeTo() method is called.</p>
+
+<p><a name="JAX-RSHTTPHeaders-CommonHeaders"></a></p>
+
+<h3><a name="JAX-RSHTTPHeaders-CommonHeaders"></a>Common Headers</h3>
+
+<p>The common header specifies the size and type of a header. Every header must begin with the common header. The common header must not appear by itself.</p>
+
+<h5><a name="JAX-RSHTTPHeaders-ContentType"></a>Content-Type</h5>
+
+<p>The Content-Type signals the media type of the request/response entity. The Content-Type header on requests is read via HttpHeaders#getMediaType() method. The Content-Type is set for responses when doing a javax.ws.rs.core.Response.ResponseBuilder#type() method or a javax.ws.rs.core.Response.ResponseBuilder#variant() method.</p>
+
+<h5><a name="JAX-RSHTTPHeaders-ContentLanguage"></a>Content-Language</h5>
+
+<p>The Content-Language denotes what language the entity is in. In order to receive the request entity language, use the HttpHeaders#getLanguage() method. In order to set the response entity language, use the javax.ws.rs.core.Response.ResponseBuilder#language() method.</p>
+
+<h5><a name="JAX-RSHTTPHeaders-ContentLength"></a>Content-Length</h5>
+
+<p>The Content-Length is useful for determining the entity's length.  If possible, the MessageBodyWriter entity providers will automatically set the Content-Length if possible, and some containers will set the response Content-Length if the entity is small.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />Refer to the HTTP spec for more details on when this header is set and valid.</td></tr></table></div>
+
+<p><a name="JAX-RSHTTPHeaders-RequestHeaders"></a></p>
+
+<h3><a name="JAX-RSHTTPHeaders-CommonRequestHTTPHeaders"></a>Common Request HTTP Headers</h3>
+
+<p>An HTTP Request Header is a line of text that a client software (i.e. Web Browser) sends to a server together with other request data.</p>
+
+<h5><a name="JAX-RSHTTPHeaders-Accept"></a>Accept</h5>
+
+<p>The Accept header is used to determine the possible response representations that the client prefers such as XML over JSON but not plain text.  When a resource method is effectively annotated with a @Produces, any incoming request must have a compatible Accept header value for the resource method to be selected.  Clients can set quality parameters (priority ordering) for the best possible response and services generally try to honor the request.  To get the best representation of a response, use either the HttpHeaders#getAcceptableMediaTypes() or Request#selectVariant() methods.</p>
+
+<h5><a name="JAX-RSHTTPHeaders-AcceptLanguage"></a>Accept-Language</h5>
+
+<p>Like the Accept header, Accept-Language lists the preferred languages. A&nbsp; HttpHeaders#getAcceptableLanguages() method will list the acceptable languages in a preferred order.</p>
+
+<h5><a name="JAX-RSHTTPHeaders-IfMatchandIfNoneMatch"></a>If-Match and If-None-Match</h5>
+
+<p>If a previous response had an ETag header, the client can re-use the ETag value with the If-Match or If-None-Match request header to do conditional requests (if the server application supported the If-Match/If-None-Match headers).  For example, a POST with an If-Match header and an old ETag value should only execute the POST request if the old ETag value is still valid.  javax.ws.rs.core.Request#evaluatePreconditions() may help evaluate the If-Match and If-None-Match headers.</p>
+
+<h5><a name="JAX-RSHTTPHeaders-IfModifiedSinceandIfUnmodifiedSince"></a>If-Modified-Since and If-Unmodified-Since</h5>
+
+<p>Like ETags, If-Modified-Since and If-Unmodified-Since are based on the Last-Modified date.  Using either request header with a date, will set up a conditional request (if the server application supports the headers).  For instance, a GET with an If-Modified-Since header of an old known date would allow the server to send back a response with just a HTTP status code of 304 (Not Modified).  By sending back a HTTP status code of 304, the server is telling the client that the resource has not changed so there is no need to re-download the resource representation.  This could save precious bandwidth for the client.  javax.ws.rs.core.Request#evaluatePreconditions() may help evaluate the If-Modified-Since and If-Unmodified-Since headers.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Important Note</b><br />Note that date formats are specified in the HTTP specification.</td></tr></table></div>
+
+<p><a name="JAX-RSHTTPHeaders-ResponseHeaders"></a></p>
+
+<h3><a name="JAX-RSHTTPHeaders-CommonResponseHTTPHeaders"></a>Common Response HTTP Headers</h3>
+
+<p>HTTP Headers form the core of an HTTP request, and are very important in an HTTP response. They define various characteristics of the data that is requested or the data that has been provided. The headers are separated from the request or response body by a blank line</p>
+
+<h5><a name="JAX-RSHTTPHeaders-ETag"></a>ETag</h5>
+
+<p>ETags or entity tags can be set.  Like a hashcode, it is given to the client so a client can use various control request headers such as If-Match and If-None-Match for conditional requests.  javax.ws.rs.core.Response.ResponseBuilder#tag() and javax.ws.rs.core.EntityTag are useful for ETags.</p>
+
+<h5><a name="JAX-RSHTTPHeaders-Expires"></a>Expires</h5>
+
+<p>The Expires response header indicates the amount of time that the response entity should be cached.  It is useful to set the expiration for data that is not going to change for a known time length.  Browsers use this response header to manage their caches among other user agents.The  javax.ws.rs.core.Response.ResponseBuilder#expires() method can be used to set the Expires header.</p>
+
+<h5><a name="JAX-RSHTTPHeaders-LastModified"></a>Last-Modified</h5>
+
+<p>Last-Modified specifies the date when the resource was changed.  A client can use the response value in combination with If-Modified-Since and If-Unmodified-Since request headers to perform conditional requests.The  javax.ws.rs.core.Response.ResponseBuilder#lastModified() method can be used to set the Last-Modified header.</p>
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Important Note</b><br />Note that date formats are specified in the HTTP specification.</td></tr></table></div>
+
+
+<h5><a name="JAX-RSHTTPHeaders-Location"></a>Location</h5>
+
+<p>The Location response header usually indicates where the resource is located (in a redirect) or the URI of the new resource (when resources are created and usually in a HTTP 201 response).  The javax.ws.rs.core.Response.ResponseBuilder#location()method can be used to set the Location header.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/JAX-RS Parameters.html b/src/site/resources/1.0/html/JAX-RS Parameters.html
new file mode 100644
index 0000000..b436a85
--- /dev/null
+++ b/src/site/resources/1.0/html/JAX-RS Parameters.html
@@ -0,0 +1,156 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : JAX-RS Parameters</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : JAX-RS Parameters
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Sep 22, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="JAX-RSParameters-Parameters"></a>Parameters</h1>
+
+<p>Parameters are used to pass and add additional information to a request.  Search queries, offsets/pages in a collection, and other information can be used.  While parameters are sometimes used to add more verbs to HTTP, it is advised not to use parameters as a way to create new HTTP methods or to make existing HTTP methods break the generally understood attributes (i.e. idempotent).</p>
+
+<p>Parameters can be any basic Java primitive type including java.lang.String as well as types with a constructor that takes in a single String or a valueOf(String) static method.In addition, List, SortedSet, and Set can be used where the generic type is one of the previously mentioned types such as a <b>Set&lt;String&gt;</b> when a parameter can have multiple values.</p>
+
+<p>When full control is needed for parsing requests, it is generally recommend that developers use a String as the parameter type so that some basic inspection can be performed and developers can customize error path responses.</p>
+
+<p><a name="JAX-RSParameters-QueryParameter"></a></p>
+
+<h3><a name="JAX-RSParameters-QueryParameters%28@QueryParam%29"></a>Query Parameters (@QueryParam)</h3>
+
+<p>Query parameters are one of the better known parameters.  A query string is appended to the request URL with a leading "?" and then name/value pairs.</p>
+
+<div class='panelMacro'><table class='tipMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Query Parameter Examples</b><br />Refer to the following links:<br/>
+<a href="http://www.google.com/search?q=apache+wink">http://www.google.com/search?q=apache+wink</a><br/>
+<a href="http://www.example.com/users?offset=100&amp;numPerPage=20">http://www.example.com/users?offset=100&amp;numPerPage=20</a>&nbsp;</td></tr></table></div>
+
+<p>In order to enable JAX-RS to read a query parameters, add a parameter to the resource method and annotate with <b>@QueryParam</b>:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/example"</span>)
+<span class="code-keyword">public</span> class RootResource {
+    @GET
+    <span class="code-keyword">public</span> Response invokeWithParameters(@QueryParam(<span class="code-quote">"q"</span>) <span class="code-object">String</span> searchTerm) {
+        <span class="code-keyword">if</span>(q == <span class="code-keyword">null</span>) {
+            <span class="code-keyword">return</span> Response.status(Status.BAD_REQUEST).build();
+        }
+        /* <span class="code-keyword">do</span> a search */
+        <span class="code-keyword">return</span> Response.ok(/* some entity here */).build();
+    }
+}
+</pre>
+</div></div>
+<p>If a HTTP GET request to "/example?q=abcd" is made, searchTerm will have "abcd" as the value when invoked.</p>
+
+<p><a name="JAX-RSParameters-PathParameter"></a></p>
+
+<h3><a name="JAX-RSParameters-PathParameters%28@PathParam%29"></a>Path Parameters (@PathParam)</h3>
+
+<p>Path parameters take the incoming URL and match parts of the path as a parameter.  By including <em>{name}</em> in a <b>@Path</b> annotation, the resource can later access the matching part of the URI to a path parameter with the corresponding "<b>name</b>".  Path parameters make parts of the request URL as parameters which can be useful in embedding request parameter information to a simple URL.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/books/{bookid}"</span>)
+<span class="code-keyword">public</span> class BookResource {
+    @GET
+    <span class="code-keyword">public</span> Response invokeWithBookId(@PathParam(<span class="code-quote">"bookid"</span>) <span class="code-object">String</span> bookId) {
+        /* get the info <span class="code-keyword">for</span> bookId */
+        <span class="code-keyword">return</span> Response.ok(/* some entity here */).build();
+    }
+
+    @GET
+    @Path(<span class="code-quote">"{language}"</span>)
+    <span class="code-keyword">public</span> Response invokeWithBookIdAndLanguage(@PathParam(<span class="code-quote">"bookid"</span>) <span class="code-object">String</span> bookId, @PathParam(<span class="code-quote">"language"</span>) <span class="code-object">String</span> language) {
+        /* get the info <span class="code-keyword">for</span> bookId */
+        <span class="code-keyword">return</span> Response.ok(/* some entity here */).build();
+    }
+}
+</pre>
+</div></div>
+<p>In the previous example, HTTP GET to /books/1 or to /books/abcd would result in invokeWithBookId being called.  If a HTTP GET request is issued to /books/1/en or /books/1/fr or /books/abcd/jp, then invokeWithBookIdAndLanguage would be invoked with the appropriate parameters.</p>
+
+<p><a name="JAX-RSParameters-MatrixParameter"></a></p>
+
+<h3><a name="JAX-RSParameters-MatrixParameters%28@MatrixParam%29"></a>Matrix Parameters (@MatrixParam)</h3>
+
+<p>Matrix parameters are not as widely used on the Internet today.  However, you can read a MatrixParam just as easily as any other parameter.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/"</span>)
+<span class="code-keyword">public</span> class RootResource {
+    @GET
+    <span class="code-keyword">public</span> Response invokeWithParameters(@MatrixParam(<span class="code-quote">"name"</span>) <span class="code-object">String</span> name) {
+        <span class="code-keyword">if</span>(name == <span class="code-keyword">null</span>) {
+            <span class="code-keyword">return</span> Response.status(Status.BAD_REQUEST).build();
+        }
+        <span class="code-keyword">return</span> Response.ok(/* some entity here */).build();
+    }
+}
+</pre>
+</div></div>
+<p><a name="JAX-RSParameters-HeaderParameter"></a></p>
+
+<h3><a name="JAX-RSParameters-HeaderParameters%28@HeaderParam%29"></a>Header Parameters (@HeaderParam)</h3>
+
+<p>Header parameters are useful especially when there are additional metadata control parameters that need to be passed in for example, security information, cache information, and so forth.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/"</span>)
+<span class="code-keyword">public</span> class RootResource {
+    @GET
+    <span class="code-keyword">public</span> Response invokeWithParameters(@HeaderParam(<span class="code-quote">"controlInfo"</span>) <span class="code-object">String</span> controlInfo) {
+        <span class="code-keyword">if</span>(controlInfo == <span class="code-keyword">null</span>) {
+            <span class="code-keyword">return</span> Response.status(Status.BAD_REQUEST).build();
+        }
+        <span class="code-keyword">return</span> Response.ok(/* some entity here */).build();
+    }
+}
+</pre>
+</div></div>
+
+<p><a name="JAX-RSParameters-CookieParameter"></a></p>
+
+<h3><a name="JAX-RSParameters-CookieParameters%28@CookieParam%29"></a>CookieParameters (@CookieParam)</h3>
+
+<p>In a REST application, requests are stateless although applications sometimes use Cookies for various reasons, such as adding some stateless resource viewing information without embedding it into the URL such as the maximum number of items to retrieve.  The CookieParam annotation is used to easily retrieve the information.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/"</span>)
+<span class="code-keyword">public</span> class RootResource {
+    @GET
+    <span class="code-keyword">public</span> Response invokeWithParameters(@CookieParam(<span class="code-quote">"max"</span>) <span class="code-object">String</span> maximumItems) {
+        <span class="code-keyword">if</span>(userId == <span class="code-keyword">null</span>) {
+            <span class="code-keyword">return</span> Response.status(Status.BAD_REQUEST).build();
+        }
+        <span class="code-keyword">return</span> Response.ok(/* some entity here */).build();
+    }
+}
+</pre>
+</div></div>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/JAX-RS Request and Response Entities.html b/src/site/resources/1.0/html/JAX-RS Request and Response Entities.html
new file mode 100644
index 0000000..0a7e0f2
--- /dev/null
+++ b/src/site/resources/1.0/html/JAX-RS Request and Response Entities.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : JAX-RS Request and Response Entities</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : JAX-RS Request and Response Entities
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Oct 14, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="JAX-RSRequestandResponseEntities-RequestandResponseEntities"></a>Request and Response Entities</h1>
+
+<p>Request and response entities represent the main part of an HTTP request.  Entities are also refered to as the "<b>message body</b>" or "<b>payload</b>".  Entities are sent via a request, usually an HTTP POST and PUT method are used or they are returned in a response, this is relevant for all HTTP methods.</p>
+
+<p>Unlike other distributed systems technologies, there is generally no wrapper around an entity.  For example, if a request is made for a binary PNG image represented here, <a href="http://example.com/user/abcd/portrait.png">http://example.com/user/abcd/portrait.png</a> , the response entity is only the PNG image binary data.</p>
+
+<p>Resource methods have a single entity parameter that represents the main entity body.  It is the <b>only unannotated parameter allowed</b> in a resource method.</p>
+
+<p>When using JAX-RS, request and response entites are mapped to and from Java types by Entity Providers that implement the JAX-RS interfaces, MessageBodyReader and MessageBodyWriter.  Applications may provide their own MessageBodyReaders and MessageBodyWriters that take precedent over the runtime provided ones.</p>
+
+<p><a name="JAX-RSRequestandResponseEntities-MediaType"></a></p>
+
+<h3><a name="JAX-RSRequestandResponseEntities-MediaTypes%28MIME%29andjavax.ws.rs.core.MediaType"></a>Media Types (MIME) and javax.ws.rs.core.MediaType</h3>
+
+<p>The request and response entity can be any form of data, a way of identifying what the entities bits and bytes represent is needed.  In requests and responses, the <b>Content-Type</b> HTTP header is used to indicate the type of entity currently being sent. The Content-Type value comes from a well known <a href="http://www.iana.org/assignments/media-types/">media type as registered in IANA</a>.</p>
+
+<p>Common content types include "text/plain", "text/xml", "text/html", and "application/json".</p>
+
+<p>Correct Content-Type values are essential for clients and servers.  "<b>Unusual</b>" behavior by clients such as browsers can be attributed to wrong content types.</p>
+
+<p>Media Types are also used in a request <b>Accept</b> header to indicate what type of resource representation the client wants to receive.  Clients could indicate a preference as well, such as JSON before XML.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />Refer to the HTTP spec regarding the Accept header and the Content Negotiation topic.</td></tr></table></div>
+
+
+<p>javax.ws.rs.core.MediaType has functionality and representations related to Media Types.</p>
+
+<p><a name="JAX-RSRequestandResponseEntities-ConsumesAndProduces"></a></p>
+
+<h3><a name="JAX-RSRequestandResponseEntities-@Consumesand@ProducesAnnotations"></a>@Consumes and @Produces Annotations</h3>
+
+
+<p>Annotating a class or a resource method with @Consumes and @Produces will help the JAX-RS runtime identify the appropriate methods to invoke for requests.  For example:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/example"</span>)
+<span class="code-keyword">public</span> RootResource {
+    @POST
+    @Consumes(<span class="code-quote">"text/xml"</span>)
+    @Produces(<span class="code-quote">"text/xml"</span>)
+    <span class="code-keyword">public</span> Response getOnlyXML(<span class="code-object">String</span> incomingXML) {
+        <span class="code-keyword">return</span> Response.ok(<span class="code-quote">"only xml"</span>).type(<span class="code-quote">"text/xml"</span>).build();
+    }
+
+    @GET
+    @Produces(<span class="code-quote">"text/html"</span>, <span class="code-quote">"text/plain"</span>)
+    <span class="code-keyword">public</span> <span class="code-object">String</span> getText() {
+        <span class="code-keyword">return</span> <span class="code-quote">"text representation"</span>;
+    }
+}
+</pre>
+</div></div>
+<p>In the previous code example, if a HTTP POST to "/example" was issued with a Content-Type header of "text/xml" and an Accept header of "text/xml", then the RootResource#getOnlyXML method would be invoked.  If the same POST request was issued with an Accept header of "text/plain", then a 406 Not Acceptable response would be generated by the JAX-RS runtime and the method would not be invoked.</p>
+
+<p>It is a good practice to return a javax.ws.rs.core.Response with a .type() or .variant() call since it would guarantee a return content type.  Notice that the above getText() code supports multiple data types.  A javax.ws.rs.core.Response object returned must have a single concrete Content-Type value.  In orer to select the best acceptable representation in the resource method, use either the <b>@Context HttpHeaders#getAcceptableMediaTypes()</b> or a <b>@Context Request#selectVariant()</b> method.</p>
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />Refer to the Context topic page for more information.</td></tr></table></div>
+
+<p>While resource methods may consume one media type for example XML and produce another such as JSON, most user requests expect the same media type that was sent in the request to be returned in the response.</p>
+
+<p>If the Content-Type header is empty and there is an entity, then the JAX-RS runtime will make the Content-Type be "<b>application/octet-stream</b>".  If an Accept header is empty, then according to the HTTP specification, the Accept header is equivalent to &#42;/&#42; which is a wildcard that matches anything.</p>
+
+<div class='panelMacro'><table class='tipMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Important Note</b><br />Note that the resource method ultimately has control over the response content. If a javax.ws.rs.core.Response is returned, then the developer can return whatever Content-Type is desired. The @Consumes and @Produces is primarily useful only when processing request information and determining which resource method is possible to invoke. If a specific Response content type is not specified via a returned javax.ws.rs.core.Response object, the response media type is determined by a combination of the @Produces annotation values and the available MessageBodyWriters for the response entity's Java type. This can lead to undesired results if there is no @Produces annotation or if the @Produces annotation has multiple media types listed.</td></tr></table></div>
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />Refer to the JAX-RS specification for the effective algorithm used.</td></tr></table></div>
+
+<p><a name="JAX-RSRequestandResponseEntities-JAXRSStandardEntityProviders"></a></p>
+
+<h3><a name="JAX-RSRequestandResponseEntities-JAXRSStandardEntityParameterTypes"></a>JAX-RS Standard Entity Parameter Types</h3>
+
+<p>JAX-RS requires certain parameters to be supported for virtually any content type.  The following table lists the supported content types:</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> Java Type </th>
+<th class='confluenceTh'> Content Type Supported </th>
+<th class='confluenceTh'> Special Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'> java.lang.String </td>
+<td class='confluenceTd'> &#42;/&#42; </td>
+</tr>
+<tr>
+<td class='confluenceTd'> byte[] </td>
+<td class='confluenceTd'> &#42;/&#42; </td>
+</tr>
+<tr>
+<td class='confluenceTd'> java.io.InputStream </td>
+<td class='confluenceTd'> &#42;/&#42; </td>
+</tr>
+<tr>
+<td class='confluenceTd'> java.io.Reader </td>
+<td class='confluenceTd'> &#42;/&#42; </td>
+</tr>
+<tr>
+<td class='confluenceTd'> java.io.File </td>
+<td class='confluenceTd'> &#42;/&#42; </td>
+</tr>
+<tr>
+<td class='confluenceTd'> javax.activation.DataSource </td>
+<td class='confluenceTd'> &#42;/&#42; </td>
+</tr>
+<tr>
+<td class='confluenceTd'> javax.xml.transform.Source </td>
+<td class='confluenceTd'> text/xml, application/xml, application/*+xml </td>
+</tr>
+<tr>
+<td class='confluenceTd'> javax.xml.bind.JAXBElement<br clear="all" />
+ and JAXB classes </td>
+<td class='confluenceTd'> text/xml, application/xml, application/*+xml </td>
+</tr>
+<tr>
+<td class='confluenceTd'> javax.ws.rs.core<br clear="all" />
+ .MultivaluedMap<br clear="all" />
+ &lt;String, String&gt; </td>
+<td class='confluenceTd'> application/x-www-form-urlencoded </td>
+</tr>
+<tr>
+<td class='confluenceTd'> javax.ws.rs<br clear="all" />
+ .core.StreamingOutput </td>
+<td class='confluenceTd'> &#42;/&#42; </td>
+<td class='confluenceTd'> As a writer only </td>
+</tr>
+</tbody></table>
+
+<p>Developers can use the previous Java types as entity parameters for requests and responses.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/example"</span>)
+<span class="code-keyword">public</span> class RootResource {
+
+    @GET
+    @Produces(<span class="code-quote">"text/xml"</span>)
+    <span class="code-keyword">public</span> Response getInfo() {
+        <span class="code-object">byte</span>[] entity = /* get the entity into a <span class="code-object">byte</span> array */
+        <span class="code-keyword">return</span> Response.ok(entity).type(<span class="code-quote">"text/xml"</span>).build();
+    }
+
+    @POST
+    @Consumes(<span class="code-quote">"application/json"</span>)
+    @Produces(<span class="code-quote">"application/json"</span>)
+    <span class="code-keyword">public</span> StreamingOutput createItem(InputStream requestBodyStream) {
+        /* read the requestBodyStream like a normal input stream */
+        <span class="code-keyword">return</span> <span class="code-keyword">new</span> StreamingOutput() {
+
+            <span class="code-keyword">public</span> void write(OutputStream output) <span class="code-keyword">throws</span> IOException, WebApplicationException {
+                <span class="code-object">byte</span>[] out = /* get some bytes to write */
+                output.write(out);
+            }
+        })
+    }
+}
+</pre>
+</div></div>
+<p><a name="JAX-RSRequestandResponseEntities-TransferEncoding"></a></p>
+
+<h3><a name="JAX-RSRequestandResponseEntities-TransferEncoding"></a>Transfer Encoding</h3>
+
+<p>Transfer or "<b>chunked</b>" encoding is handled by the container for incoming requests.  The container or the application must do any transfer encoding for outgoing responses.</p>
+
+<p><a name="JAX-RSRequestandResponseEntities-ContentEncoding"></a></p>
+
+<h3><a name="JAX-RSRequestandResponseEntities-ContentEncoding"></a>Content Encoding</h3>
+
+<p>Content for example "<b>gzip</b>" and or "<b>deflate</b>" encoding is handled by the application.  However, some containers handle content encoding for developers and will uncompress content automatically or will with various configuration set.  Check the  container documentation.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/JAX-RS Resources, HTTP Methods, and Paths.html b/src/site/resources/1.0/html/JAX-RS Resources, HTTP Methods, and Paths.html
new file mode 100644
index 0000000..1a4b536
--- /dev/null
+++ b/src/site/resources/1.0/html/JAX-RS Resources, HTTP Methods, and Paths.html
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+        <title>Apache Wink : JAX-RS Resources, HTTP Methods, and Paths</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Apache Wink : JAX-RS Resources, HTTP Methods, and Paths
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Sep 07, 2009 by <font color="#0050B2">michael</font>.
+				    </div>
+
+				    <h1><a name="JAX-RSResources%2CHTTPMethods%2CandPaths-Resources"></a>Resources</h1>
+
+<p>Resources are one of the fundamental concepts in REST.  REST emphasizes the manipulation of resources rather than issuing function calls.  Resources have unique identifiers.  In HTTP terms, this means associating every resource with at least one URL.</p>
+
+<p>In order to manipulate a resource, requests are made with a specific HTTP method.  For instance, in order to retrieve a representation of a resource, an HTTP GET request to the resource's URL is issued. In order to create a new item in a collection, an HTTP POST can be used with the collection URL.</p>
+
+<p>Application developers define resources and the HTTP methods in order to quickly manipulate them by using regular plain old Java objects and JAX-RS annotations.</p>
+
+<p><a name="JAX-RSResources%2CHTTPMethods%2CandPaths-RootResource"></a></p>
+
+<h3><a name="JAX-RSResources%2CHTTPMethods%2CandPaths-DefiningaRootResource%28@PathonJavaclass%29"></a>Defining a Root Resource (@Path on Java class)</h3>
+
+<p>Developers can use POJOs to define a resource.  Root resources have a <b>@Path</b> annotation at the class declaration level.  JAX-RS matches an incoming request's URL with the <b>@Path</b> annotation on all of an application's root resources in order to determine which initial Java class will handle the request.</p>
+
+<p>Root resources Java class instances are created per request by default.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />Refer to the JAX-RS Application configuration topic for more information.</td></tr></table></div>
+<p>Resource classes have methods that are invoked when specific HTTP method requests are made, referred to as resource methods. In order to create Java methods that will be invoked with specific HTTP methods, a regular Java method must be implemented and annotated with one of the JAX-RS @HttpMethod annotated annotations (namely, @GET, @POST, @PUT, and @DELETE).</p>
+
+<p>For example, if a resource is located at a "/welcome" URL, the following root resource is defined.</p>
+
+<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>WelcomeMessage.java</b></div><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/welcome"</span>)
+<span class="code-keyword">public</span> class WelcomeMessage {
+    <span class="code-keyword">private</span> <span class="code-object">String</span> welcomeMessage = <span class="code-quote">"Hello world!"</span>;
+
+    @GET
+    <span class="code-keyword">public</span> <span class="code-object">String</span> returnWelcomeMessage() {
+        <span class="code-keyword">return</span> welcomeMessage;
+    }
+}
+</pre>
+</div></div>
+<p>Any incoming GET request that has the URL of "/welcome" is handled by WelcomeMessage class's <b>returnWelcomeMessage()</b> method.  A string is returned that represents the response body and is sent as the response payload in a HTTP 200 status response.</p>
+
+<h3><a name="JAX-RSResources%2CHTTPMethods%2CandPaths-Usingajavax.ws.rs.core.Response"></a>Using a javax.ws.rs.core.Response</h3>
+
+<p>In the previous GET resource method example, the response body is returned as a String.  If a more complex response is requiredfor example, additional HTTP response headers or a different status code, a <b>javax.ws.rs.core.Response</b> should be used as the Java method's return type.  By building a Response object, additional information can be returned to the client.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/welcome"</span>)
+<span class="code-keyword">public</span> class WelcomeMessage {
+    <span class="code-keyword">private</span> <span class="code-object">String</span> welcomeMessage = <span class="code-quote">"Hello world!"</span>;
+
+    @GET
+    <span class="code-keyword">public</span> Response returnWelcomeMessage() {
+        <span class="code-object">String</span> responseEntity = welcomeMessage;
+        <span class="code-keyword">return</span> Response.status(299).entity(responseEntity).header(<span class="code-quote">"CustomHeader"</span>, <span class="code-quote">"CustomValue"</span>).build();
+    }
+}
+</pre>
+</div></div>
+<p>The previous example uses 299 as the status code, standard HTTP status codes should be used in order to help clients understand responses.When using Strings as the response entity, different Java types may be used for complex responses.</p>
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />Refer to the Request/Response entities page for more details on how request/response entities are handled.</td></tr></table></div>
+
+
+<p><a name="JAX-RSResources%2CHTTPMethods%2CandPaths-HTTPMethods"></a></p>
+
+<h3><a name="JAX-RSResources%2CHTTPMethods%2CandPaths-UsingCommonHTTPMethods%28@GET%2C@POST%2C@PUT%2C@DELETE%29"></a>Using Common HTTP Methods (@GET, @POST, @PUT, @DELETE)</h3>
+
+<p>The four most common HTTP methods are GET, POST, PUT, and DELETE.</p>
+
+<p>As shown in the previous example,  an HTTP GET response to "/welcome" invokes the  returnWelcomeMessage() Java method.In order&nbsp; to add a Java method that would be invoked when a HTTP PUT request is made to "/welcome", the following code should be added:</p>
+
+<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>WelcomeMessageWithPut</b></div><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/welcome"</span>)
+<span class="code-keyword">public</span> class WelcomeMessage {
+    <span class="code-keyword">private</span> <span class="code-object">String</span> welcomeMessage = <span class="code-quote">"Hello world!"</span>;
+
+    @GET
+    <span class="code-keyword">public</span> <span class="code-object">String</span> returnWelcomeMessage() {
+        <span class="code-keyword">return</span> welcomeMessage;
+    }
+
+    @PUT
+    <span class="code-keyword">public</span> <span class="code-object">String</span> updateWelcomeMessage(<span class="code-object">String</span> aNewMessage) {
+        welcomeMessage = aNewMessage;
+    }
+}
+</pre>
+</div></div>
+<p>Notice that the updateWelcomeMessage has an unannotated parameter which represents an incoming request's body.</p>
+
+
+<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Reference</b><br />Refer to the Request/Response entities page for more details on how request/response entities are handled.</td></tr></table></div>
+
+<p><a name="JAX-RSResources%2CHTTPMethods%2CandPaths-SubresourceMethod"></a></p>
+
+<h3><a name="JAX-RSResources%2CHTTPMethods%2CandPaths-SubresourceMethods%28@Pathand@GET%2C@POST%2C@PUT%2C@DELETEonaJavamethod%29"></a>Subresource Methods (@Path and @GET, @POST, @PUT, @DELETE on a Java method)</h3>
+
+<p>Sometimes it is easier having a root resource resolve a generic URL path and to have <b>@Path</b> annotated methods further resolve the request.  For instance, suppose that a HTTP GET to "/administrator" returned generic information about an administrator.  However, sometimes it is better to return smaller bits or more detailed information about the resource using a slightly different URL identifier.  Suppose that a HTTP GET to "/administrator/name" should return the name.  Instead of creating many root resource classes for each URL, you can have the root resource initially resolve the beginning of the URL request and then further resolve the request against subresource methods.</p>
+
+<p>Subresource methods are Java methods with a <b>@Path</b> annotation and a @HttpMethod annotated annotation (@GET, @POST, @PUT, @DELETE).</p>
+
+<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>AdministratorResourceWithSubresourceMethod</b></div><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/administrator"</span>)
+<span class="code-keyword">public</span> class Administrator{
+
+    @GET
+    <span class="code-keyword">public</span> <span class="code-object">String</span> findUserInfo() {
+        <span class="code-object">String</span> userInfo = <span class="code-keyword">null</span>;
+        /* build user info */
+        <span class="code-keyword">return</span> userInfo;
+    }
+
+    @GET
+    @Path(<span class="code-quote">"/name"</span>)
+    <span class="code-keyword">public</span> <span class="code-object">String</span> getJustUserName() {
+        <span class="code-object">String</span> userName = "";
+        /* get the user name */
+        <span class="code-keyword">return</span> userName;
+    }
+
+    @GET
+    @Path(<span class="code-quote">"/id"</span>)
+    <span class="code-keyword">public</span> <span class="code-object">String</span> getUserId() {
+        <span class="code-object">String</span> userId = "";
+        /* get the user id */
+        <span class="code-keyword">return</span> userId;
+    }
+}
+</pre>
+</div></div>
+<p>An HTTP URL request to the <b>"/administrator"</b> would resolve to Administrator#findUserInfo().  A HTTP URL request to "/administrator/name" would invoke the Administrator#getJustUserName() method.  Finally a HTTP URL request to "/administrator/id" would resolve to Administrator#getUserId().</p>
+
+<p><a name="JAX-RSResources%2CHTTPMethods%2CandPaths-SubresourceLocator"></a></p>
+
+<h3><a name="JAX-RSResources%2CHTTPMethods%2CandPaths-UsingSubresourceLocators%28@PathonJavamethod%29"></a>Using Subresource Locators (@Path on Java method)</h3>
+
+
+<p>In more complicated scenarios, subresource locators are needed.  Subresource locators are particularly useful when requests must be further resolved by other objects. Subresource locators are Java methods which have only an <b>@Path</b> annotation.  They are different than subresource methods because they do <b>not</b> have any HTTP method annotation on them.</p>
+
+<p>A subresource locator returns an object that has JAX-RS annotations on its methods (or inherits them).  The object is used to further resolve the incoming requests by dynamically inspecting the object for JAX-RS annotations.</p>
+
+<p>This scenario uses @PathParams which are discussed on the parameters page.</p>
+
+<div class="code panel" style="border-style: solid;border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><b>UsersResourcesWithSubresourceLocators</b></div><div class="codeContent panelContent">
+<pre class="code-java">@Path(<span class="code-quote">"/users"</span>)
+<span class="code-keyword">public</span> class UsersCollection {
+
+    @Path(<span class="code-quote">"{userid}"</span>)
+    <span class="code-keyword">public</span> <span class="code-object">Object</span> findUserInfo(@PathParam(<span class="code-quote">"userid"</span>) <span class="code-object">String</span> userId) {
+        <span class="code-keyword">if</span>(userId.equals(<span class="code-quote">"superuser"</span>)) {
+            <span class="code-keyword">return</span> <span class="code-keyword">new</span> SuperUser();
+        }
+        <span class="code-keyword">return</span> User.findUserInDatabase(userId);
+    }
+}
+
+<span class="code-keyword">public</span> class Superuser {
+    @GET
+    <span class="code-keyword">public</span> <span class="code-object">String</span> getUserInfo() {
+       <span class="code-object">String</span> userInfo = /* get the user info */;
+       <span class="code-keyword">return</span> userInfo;
+    }
+
+    @GET
+    @Path(<span class="code-quote">"/contactinfo"</span>)
+    <span class="code-keyword">public</span> <span class="code-object">String</span> getContactInfo() {
+      <span class="code-object">String</span> contactInfo = /* get the user contact info */;
+      <span class="code-keyword">return</span> contactInfo;
+    }
+}
+
+<span class="code-keyword">public</span> class User {
+    <span class="code-keyword">protected</span> <span class="code-object">String</span> name;
+
+    <span class="code-keyword">protected</span> User() {
+        /* subresource locator object lifecycles are controlled by the developer */
+    }
+
+    <span class="code-keyword">public</span> <span class="code-keyword">static</span> User findUserInDatabase(<span class="code-object">String</span> userName) {
+        User u = /* get user from database with assigned field values */
+        <span class="code-keyword">return</span> u;
+    }
+
+    @GET
+    <span class="code-keyword">public</span> <span class="code-object">String</span> getInfo() {
+        <span class="code-object">String</span> info = /* get the user info */;
+        <span class="code-keyword">return</span> info;
+    }
+
+    @GET
+    @Path(<span class="code-quote">"/name"</span>)
+    <span class="code-keyword">public</span> <span class="code-object">String</span> getMyUserName() {
+        <span class="code-keyword">return</span> name;
+    }
+}
+
+</pre>
+</div></div>
+<p>A HTTP GET to "/users/superuser" would result in User#findUserInfo() being invoked first.  The method inspects the "userId" path parameter (which resolves to "superuser" for this request) so a Superuser object is returned.  The request is then further resolved against the Superuser object.  In the simple "/users/superuser" case, the request invokes Superuser#getUserInfo();</p>
+
+<p>If a HTTP GET to "/users/superuser/contactinfo" was made, then User#findUserInfo() is invoked and again returns a Superuser object.  The Superuser object is then used to resolve the "/contactinfo" portion of the request which invokes Superuser#getContactInfo.</p>
+
+<p>If a HTTP GET to "/users/user1/name" was made, then User#findUserInfo() is again invoked but it would go and look up the user from the database and return a User object.  The User object is then used to resolve the "/name" portion and results in the User#getMyUserName() method being invoked on the User object returned.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/attachments/2328628/2523206.png b/src/site/resources/1.0/html/attachments/2328628/2523206.png
new file mode 100644
index 0000000..a0eb7d7
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2328628/2523206.png
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2328628/2523207.png b/src/site/resources/1.0/html/attachments/2328628/2523207.png
new file mode 100644
index 0000000..ba26719
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2328628/2523207.png
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2328628/2523208.png b/src/site/resources/1.0/html/attachments/2328628/2523208.png
new file mode 100644
index 0000000..e41f331
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2328628/2523208.png
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2328628/2523209.png b/src/site/resources/1.0/html/attachments/2328628/2523209.png
new file mode 100644
index 0000000..34d6c4f
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2328628/2523209.png
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2328628/2523211.jpg b/src/site/resources/1.0/html/attachments/2328628/2523211.jpg
new file mode 100644
index 0000000..76988ba
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2328628/2523211.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2328628/2523229.pdf b/src/site/resources/1.0/html/attachments/2328628/2523229.pdf
new file mode 100644
index 0000000..3230dbe
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2328628/2523229.pdf
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2328628/2523230.zip b/src/site/resources/1.0/html/attachments/2328628/2523230.zip
new file mode 100644
index 0000000..7b00687
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2328628/2523230.zip
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2328628/2523231.pdf b/src/site/resources/1.0/html/attachments/2328628/2523231.pdf
new file mode 100644
index 0000000..4b33b97
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2328628/2523231.pdf
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2328628/2523232.pdf b/src/site/resources/1.0/html/attachments/2328628/2523232.pdf
new file mode 100644
index 0000000..4b33b97
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2328628/2523232.pdf
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2328628/2523233.zip b/src/site/resources/1.0/html/attachments/2328628/2523233.zip
new file mode 100644
index 0000000..7b00687
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2328628/2523233.zip
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2328642/2523181.jpg b/src/site/resources/1.0/html/attachments/2328642/2523181.jpg
new file mode 100644
index 0000000..45fc9d7
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2328642/2523181.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2328642/2523182.jpg b/src/site/resources/1.0/html/attachments/2328642/2523182.jpg
new file mode 100644
index 0000000..45fc9d7
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2328642/2523182.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2329360/2523203.jpg b/src/site/resources/1.0/html/attachments/2329360/2523203.jpg
new file mode 100644
index 0000000..28a96e8
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2329360/2523203.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2329360/2523204.jpg b/src/site/resources/1.0/html/attachments/2329360/2523204.jpg
new file mode 100644
index 0000000..5bb7e81
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2329360/2523204.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2329360/2523205.jpg b/src/site/resources/1.0/html/attachments/2329360/2523205.jpg
new file mode 100644
index 0000000..f3371b3
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2329360/2523205.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2329360/2523210.jpg b/src/site/resources/1.0/html/attachments/2329360/2523210.jpg
new file mode 100644
index 0000000..367e76d
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2329360/2523210.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2329360/2523212.jpg b/src/site/resources/1.0/html/attachments/2329360/2523212.jpg
new file mode 100644
index 0000000..5b59640
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2329360/2523212.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2329360/2523213.jpg b/src/site/resources/1.0/html/attachments/2329360/2523213.jpg
new file mode 100644
index 0000000..5b59640
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2329360/2523213.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2329360/2523214.jpg b/src/site/resources/1.0/html/attachments/2329360/2523214.jpg
new file mode 100644
index 0000000..5b59640
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2329360/2523214.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2329360/2523215.jpg b/src/site/resources/1.0/html/attachments/2329360/2523215.jpg
new file mode 100644
index 0000000..0bd3db1
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2329360/2523215.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2329360/2523216.jpg b/src/site/resources/1.0/html/attachments/2329360/2523216.jpg
new file mode 100644
index 0000000..540003d
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2329360/2523216.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2329360/3113001.jpg b/src/site/resources/1.0/html/attachments/2329360/3113001.jpg
new file mode 100644
index 0000000..1a7a15c
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2329360/3113001.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2329360/3113002.jpg b/src/site/resources/1.0/html/attachments/2329360/3113002.jpg
new file mode 100644
index 0000000..abdecb0
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2329360/3113002.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2329360/3113003.jpg b/src/site/resources/1.0/html/attachments/2329360/3113003.jpg
new file mode 100644
index 0000000..946e737
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2329360/3113003.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2851038/3112966.jpg b/src/site/resources/1.0/html/attachments/2851038/3112966.jpg
new file mode 100644
index 0000000..76988ba
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2851038/3112966.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2851038/3112967.jpg b/src/site/resources/1.0/html/attachments/2851038/3112967.jpg
new file mode 100644
index 0000000..76988ba
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2851038/3112967.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2851038/3112968.jpg b/src/site/resources/1.0/html/attachments/2851038/3112968.jpg
new file mode 100644
index 0000000..76988ba
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2851038/3112968.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2851038/3801097.jpg b/src/site/resources/1.0/html/attachments/2851038/3801097.jpg
new file mode 100644
index 0000000..7d001ea
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2851038/3801097.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2851038/3801124.jpg b/src/site/resources/1.0/html/attachments/2851038/3801124.jpg
new file mode 100644
index 0000000..7d001ea
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2851038/3801124.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2851038/3801125.jpg b/src/site/resources/1.0/html/attachments/2851038/3801125.jpg
new file mode 100644
index 0000000..7d001ea
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2851038/3801125.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2851038/4751370.jpg b/src/site/resources/1.0/html/attachments/2851038/4751370.jpg
new file mode 100644
index 0000000..2b04971
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2851038/4751370.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2851038/4751371.jpg b/src/site/resources/1.0/html/attachments/2851038/4751371.jpg
new file mode 100644
index 0000000..3061496
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2851038/4751371.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2851038/4751372.jpg b/src/site/resources/1.0/html/attachments/2851038/4751372.jpg
new file mode 100644
index 0000000..98f5826
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2851038/4751372.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2851038/4751373.jpg b/src/site/resources/1.0/html/attachments/2851038/4751373.jpg
new file mode 100644
index 0000000..cf5663b
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2851038/4751373.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2851055/3112970.jpg b/src/site/resources/1.0/html/attachments/2851055/3112970.jpg
new file mode 100644
index 0000000..76988ba
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2851055/3112970.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2851055/3112983.jpg b/src/site/resources/1.0/html/attachments/2851055/3112983.jpg
new file mode 100644
index 0000000..1a7a15c
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2851055/3112983.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2851061/4751374.jpg b/src/site/resources/1.0/html/attachments/2851061/4751374.jpg
new file mode 100644
index 0000000..de13ece
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2851061/4751374.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2851061/4751375.jpg b/src/site/resources/1.0/html/attachments/2851061/4751375.jpg
new file mode 100644
index 0000000..5ce1101
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2851061/4751375.jpg
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2852765/3113127.java b/src/site/resources/1.0/html/attachments/2852765/3113127.java
new file mode 100644
index 0000000..c162c43
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/3113127.java
@@ -0,0 +1,23 @@
+package myPackage;
+
+import javax.ws.rs.core.MediaType;
+
+import org.apache.wink.client.Resource;
+import org.apache.wink.client.RestClient;
+import org.apache.wink.common.model.atom.AtomEntry;
+import org.apache.wink.common.model.atom.AtomFeed;
+
+public class ConsumeAtomUsingWink {
+
+    public static void main(String[] args) {
+        System.out.println("Consuming Atom Documents using Apache Wink...\n");
+        RestClient client = new RestClient();
+        Resource resource = client.resource("http://alexharden.org/blog/atom.xml");
+        AtomFeed feed = resource.accept(MediaType.APPLICATION_ATOM_XML).get(AtomFeed.class);
+        System.out.println(feed.getTitle().getValue());
+        for (AtomEntry entry : feed.getEntries()) {
+            System.out.println("\t" + entry.getTitle().getValue());
+        }
+    }
+
+}
diff --git a/src/site/resources/1.0/html/attachments/2852765/3113128.xml b/src/site/resources/1.0/html/attachments/2852765/3113128.xml
new file mode 100644
index 0000000..8145e48
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/3113128.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
+  <display-name>ProduceAtom_Abdera</display-name>
+  <welcome-file-list>
+    <welcome-file>index.jsp</welcome-file>
+  </welcome-file-list>
+  <servlet>
+    <description></description>
+    <display-name>ProduceAtom</display-name>
+    <servlet-name>ProduceAtom</servlet-name>
+    <servlet-class>myPackage.ProduceAtomUsingAbdera</servlet-class>
+  </servlet>
+  <servlet-mapping>
+    <servlet-name>ProduceAtom</servlet-name>
+    <url-pattern>/ProduceAtom</url-pattern>
+  </servlet-mapping>
+</web-app>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/attachments/2852765/3113129.java b/src/site/resources/1.0/html/attachments/2852765/3113129.java
new file mode 100644
index 0000000..843a849
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/3113129.java
@@ -0,0 +1,28 @@
+package myPackage;
+
+import java.io.IOException;
+import java.net.URL;
+
+import org.apache.abdera.Abdera;
+import org.apache.abdera.model.Document;
+import org.apache.abdera.model.Entry;
+import org.apache.abdera.model.Feed;
+import org.apache.abdera.parser.ParseException;
+import org.apache.abdera.parser.Parser;
+
+public class ConsumeAtomUsingAbdera {
+
+    public static void main(String[] args) throws ParseException, IOException {
+        System.out.println("Consuming Atom Documents using Abdera...\n");
+        Abdera abdera = new Abdera();
+        Parser parser = abdera.getParser();
+        URL url = new URL("http://alexharden.org/blog/atom.xml");
+        Document<Feed> doc = parser.parse(url.openStream());
+        Feed feed = doc.getRoot();
+        System.out.println(feed.getTitle());
+        for (Entry entry : feed.getEntries()) {
+            System.out.println("\t" + entry.getTitle());
+        }
+    }
+
+}
diff --git a/src/site/resources/1.0/html/attachments/2852765/3113130.java b/src/site/resources/1.0/html/attachments/2852765/3113130.java
new file mode 100644
index 0000000..57c7f15
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/3113130.java
@@ -0,0 +1,65 @@
+package myPackage;
+
+import java.io.IOException;
+import java.util.Date;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.abdera.Abdera;
+import org.apache.abdera.model.Entry;
+import org.apache.abdera.model.Feed;
+
+/**
+ * Servlet implementation class ProduceAtom
+ */
+public class ProduceAtomUsingAbdera extends HttpServlet {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * @see HttpServlet#HttpServlet()
+     */
+    public ProduceAtomUsingAbdera() {
+        super();
+    }
+
+    /**
+     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
+     *      response)
+     */
+    protected void doGet(HttpServletRequest request, HttpServletResponse response)
+        throws ServletException, IOException {
+        Abdera abdera = new Abdera();
+        Feed feed = abdera.newFeed();
+
+        feed.setId("tag:example.org,2007:/foo");
+        feed.setTitle("Test Feed");
+        feed.setSubtitle("Feed subtitle");
+        feed.setUpdated(new Date());
+        feed.addAuthor("Shiva HR");
+        feed.addLink("http://example.com");
+        feed.addLink("http://example.com/foo", "self");
+
+        Entry entry = feed.addEntry();
+        entry.setId("tag:example.org,2007:/foo/entries/1");
+        entry.setTitle("Entry title");
+        entry.setSummaryAsHtml("<p>This is the entry title</p>");
+        entry.setUpdated(new Date());
+        entry.setPublished(new Date());
+        entry.addLink("http://example.com/foo/entries/1");
+
+        feed.getDocument().writeTo(response.getWriter());
+    }
+
+    /**
+     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
+     *      response)
+     */
+    protected void doPost(HttpServletRequest request, HttpServletResponse response)
+        throws ServletException, IOException {
+        doGet(request, response);
+    }
+
+}
diff --git a/src/site/resources/1.0/html/attachments/2852765/3113131 b/src/site/resources/1.0/html/attachments/2852765/3113131
new file mode 100644
index 0000000..e90d9a9
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/3113131
@@ -0,0 +1 @@
+myPackage.ProduceAtom
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/attachments/2852765/3113132.xml b/src/site/resources/1.0/html/attachments/2852765/3113132.xml
new file mode 100644
index 0000000..5e00ed2
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/3113132.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
+  <display-name>ProduceAtom_Wink</display-name>
+  <welcome-file-list>
+    <welcome-file>index.html</welcome-file>
+    <welcome-file>index.htm</welcome-file>
+    <welcome-file>index.jsp</welcome-file>
+    <welcome-file>default.html</welcome-file>
+    <welcome-file>default.htm</welcome-file>
+    <welcome-file>default.jsp</welcome-file>
+  </welcome-file-list>
+  <servlet>
+    <description></description>
+    <display-name>ProduceAtom</display-name>
+    <servlet-name>ProduceAtom</servlet-name>
+    <servlet-class>myPackage.ProduceAtomUsingWink</servlet-class>
+  </servlet>
+  <servlet-mapping>
+    <servlet-name>ProduceAtom</servlet-name>
+    <url-pattern>/ProduceAtom</url-pattern>
+  </servlet-mapping>
+</web-app>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/attachments/2852765/3113133.xml b/src/site/resources/1.0/html/attachments/2852765/3113133.xml
new file mode 100644
index 0000000..bed8d7f
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/3113133.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+	id="WebApp_ID" version="2.5">
+	<display-name>ProduceAtom_Wink_Elegant</display-name>
+	<welcome-file-list>
+		<welcome-file>index.jsp</welcome-file>
+	</welcome-file-list>
+
+	<servlet>
+		<servlet-name>restSdkService</servlet-name>
+		<servlet-class>org.apache.wink.server.internal.servlet.RestServlet</servlet-class>
+		<init-param>
+			<param-name>applicationConfigLocation</param-name>
+			<param-value>/WEB-INF/application</param-value>
+		</init-param>
+	</servlet>
+
+	<servlet-mapping>
+		<servlet-name>restSdkService</servlet-name>
+		<url-pattern>/rest/*</url-pattern>
+	</servlet-mapping>
+</web-app>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/attachments/2852765/3113134.java b/src/site/resources/1.0/html/attachments/2852765/3113134.java
new file mode 100644
index 0000000..7f51893
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/3113134.java
@@ -0,0 +1,86 @@
+package myPackage;
+
+import java.io.IOException;
+import java.util.Date;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.wink.common.model.atom.AtomEntry;
+import org.apache.wink.common.model.atom.AtomFeed;
+import org.apache.wink.common.model.atom.AtomLink;
+import org.apache.wink.common.model.atom.AtomPerson;
+import org.apache.wink.common.model.atom.AtomText;
+import org.apache.wink.common.model.atom.AtomTextType;
+
+/**
+ * Servlet implementation class ProduceAtom
+ */
+public class ProduceAtomUsingWink extends HttpServlet {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * @see HttpServlet#HttpServlet()
+     */
+    public ProduceAtomUsingWink() {
+        super();
+    }
+
+    /**
+     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
+     *      response)
+     */
+    protected void doGet(HttpServletRequest request, HttpServletResponse response)
+        throws ServletException, IOException {
+        AtomFeed feed = new AtomFeed();
+        feed.setId("tag:example.org,2007:/foo");
+        feed.setTitle(new AtomText("Test Feed"));
+        feed.setSubtitle(new AtomText("Feed subtitle"));
+        feed.setUpdated(new Date());
+
+        AtomPerson person = new AtomPerson();
+        person.setName("Shiva HR");
+        feed.getAuthors().add(person);
+
+        AtomLink link1 = new AtomLink();
+        link1.setHref("http://example.com");
+        feed.getLinks().add(link1);
+
+        AtomLink link2 = new AtomLink();
+        link2.setHref("http://example.com/foo");
+        link2.setRel("self");
+        feed.getLinks().add(link2);
+
+        AtomEntry entry = new AtomEntry();
+        entry.setId("tag:example.org,2007:/foo/entries/1");
+        entry.setTitle(new AtomText("Entry title"));
+
+        AtomText summary = new AtomText();
+        summary.setType(AtomTextType.html);
+        summary.setValue("<p>This is the entry title</p>");
+        entry.setSummary(summary);
+
+        entry.setUpdated(new Date());
+        entry.setPublished(new Date());
+
+        AtomLink link3 = new AtomLink();
+        link3.setHref("http://example.com/foo/entries/1");
+        entry.getLinks().add(link3);
+
+        feed.getEntries().add(entry);
+
+        AtomFeed.marshal(feed, response.getOutputStream());
+    }
+
+    /**
+     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
+     *      response)
+     */
+    protected void doPost(HttpServletRequest request, HttpServletResponse response)
+        throws ServletException, IOException {
+        doGet(request, response);
+    }
+
+}
diff --git a/src/site/resources/1.0/html/attachments/2852765/3113135.java b/src/site/resources/1.0/html/attachments/2852765/3113135.java
new file mode 100644
index 0000000..4fcba41
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/3113135.java
@@ -0,0 +1,62 @@
+package myPackage;
+
+import java.util.Date;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
+import org.apache.wink.common.model.atom.AtomEntry;
+import org.apache.wink.common.model.atom.AtomFeed;
+import org.apache.wink.common.model.atom.AtomLink;
+import org.apache.wink.common.model.atom.AtomPerson;
+import org.apache.wink.common.model.atom.AtomText;
+import org.apache.wink.common.model.atom.AtomTextType;
+
+@Path("/getAtom")
+public class ProduceAtom {
+
+    @GET
+    @Produces(MediaType.APPLICATION_ATOM_XML)
+    public AtomFeed getFeed() {
+        AtomFeed feed = new AtomFeed();
+        feed.setId("tag:example.org,2007:/foo");
+        feed.setTitle(new AtomText("Test Feed"));
+        feed.setSubtitle(new AtomText("Feed subtitle"));
+        feed.setUpdated(new Date());
+
+        AtomPerson person = new AtomPerson();
+        person.setName("Shiva HR");
+        feed.getAuthors().add(person);
+
+        AtomLink link1 = new AtomLink();
+        link1.setHref("http://example.com");
+        feed.getLinks().add(link1);
+
+        AtomLink link2 = new AtomLink();
+        link2.setHref("http://example.com/foo");
+        link2.setRel("self");
+        feed.getLinks().add(link2);
+
+        AtomEntry entry = new AtomEntry();
+        entry.setId("tag:example.org,2007:/foo/entries/1");
+        entry.setTitle(new AtomText("Entry title"));
+
+        AtomText summary = new AtomText();
+        summary.setType(AtomTextType.html);
+        summary.setValue("<p>This is the entry title</p>");
+        entry.setSummary(summary);
+
+        entry.setUpdated(new Date());
+        entry.setPublished(new Date());
+
+        AtomLink link3 = new AtomLink();
+        link3.setHref("http://example.com/foo/entries/1");
+        entry.getLinks().add(link3);
+
+        feed.getEntries().add(entry);
+
+        return feed;
+    }
+}
diff --git a/src/site/resources/1.0/html/attachments/2852765/3113136.java b/src/site/resources/1.0/html/attachments/2852765/3113136.java
new file mode 100644
index 0000000..b7c2997
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/3113136.java
@@ -0,0 +1,33 @@
+package myPackage;
+
+import java.io.IOException;
+import java.net.URL;
+
+import org.apache.abdera.Abdera;
+import org.apache.abdera.contrib.rss.RssFeed;
+import org.apache.abdera.model.Document;
+import org.apache.abdera.model.Entry;
+import org.apache.abdera.parser.ParseException;
+import org.apache.abdera.parser.Parser;
+
+public class ConsumeRssUsingAbdera {
+
+    public static void main(String[] args) throws ParseException, IOException {
+        System.out.println("Consuming RSS Documents using Abdera...\n");
+        Abdera abdera = new Abdera();
+        Parser parser = abdera.getParser();
+        URL url = new URL("http://www.rssboard.org/files/sample-rss-2.xml");
+        Document<RssFeed> doc = parser.parse(url.openStream());
+        RssFeed rssFeed = doc.getRoot();
+        System.out.println("Title: " + rssFeed.getTitle());
+        System.out.println("Description: " + rssFeed.getSubtitle() + "\n");
+        int itemCount = 0;
+        for (Entry entry : rssFeed.getEntries()) {
+            System.out.println("Item " + ++itemCount + ":");
+            System.out.println("\tTitle: " + entry.getTitle());
+            System.out.println("\tPublish Date: " + entry.getPublished());
+            System.out.println("\tDescription: " + entry.getContent());
+        }
+    }
+
+}
diff --git a/src/site/resources/1.0/html/attachments/2852765/3113137.zip b/src/site/resources/1.0/html/attachments/2852765/3113137.zip
new file mode 100644
index 0000000..fb05430
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/3113137.zip
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2852765/3113138.zip b/src/site/resources/1.0/html/attachments/2852765/3113138.zip
new file mode 100644
index 0000000..1129926
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/3113138.zip
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2852765/3113139.java b/src/site/resources/1.0/html/attachments/2852765/3113139.java
new file mode 100644
index 0000000..fdb1dec
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/3113139.java
@@ -0,0 +1,31 @@
+package myPackage;
+
+import javax.ws.rs.core.MediaType;
+
+import org.apache.wink.client.Resource;
+import org.apache.wink.client.RestClient;
+import org.apache.wink.common.model.rss.RssChannel;
+import org.apache.wink.common.model.rss.RssFeed;
+import org.apache.wink.common.model.rss.RssItem;
+
+public class ConsumeRssUsingWink {
+
+    public static void main(String[] args) {
+        System.out.println("Consuming RSS Documents using Apache Wink...\n");
+        RestClient client = new RestClient();
+        String url = "http://www.rssboard.org/files/sample-rss-2.xml";
+        Resource resource = client.resource(url);
+        RssFeed rss = resource.accept(MediaType.APPLICATION_XML).get(RssFeed.class);
+        RssChannel channel = rss.getChannel();
+        System.out.println("Title: " + channel.getTitle());
+        System.out.println("Description: " + channel.getDescription() + "\n");
+        int itemCount = 0;
+        for (RssItem item : channel.getItems()) {
+            System.out.println("Item " + ++itemCount + ":");
+            System.out.println("\tTitle: " + item.getTitle());
+            System.out.println("\tPublish Date: " + item.getPubDate());
+            System.out.println("\tDescription: " + item.getDescription());
+        }
+    }
+
+}
diff --git a/src/site/resources/1.0/html/attachments/2852765/4456452.zip b/src/site/resources/1.0/html/attachments/2852765/4456452.zip
new file mode 100644
index 0000000..53dd08f
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/4456452.zip
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2852765/4456454.zip b/src/site/resources/1.0/html/attachments/2852765/4456454.zip
new file mode 100644
index 0000000..8d58c8b
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/4456454.zip
Binary files differ
diff --git a/src/site/resources/1.0/html/attachments/2852765/4456455.java b/src/site/resources/1.0/html/attachments/2852765/4456455.java
new file mode 100644
index 0000000..c64476b
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/4456455.java
@@ -0,0 +1,41 @@
+package myPackage;
+
+import org.apache.abdera.protocol.server.CollectionAdapter;
+import org.apache.abdera.protocol.server.Provider;
+import org.apache.abdera.protocol.server.RequestContext;
+import org.apache.abdera.protocol.server.TargetType;
+import org.apache.abdera.protocol.server.impl.AbstractWorkspaceProvider;
+import org.apache.abdera.protocol.server.impl.RegexTargetResolver;
+import org.apache.abdera.protocol.server.impl.SimpleWorkspaceInfo;
+import org.apache.abdera.protocol.server.impl.TemplateTargetBuilder;
+
+public class APP_ContentProvider extends AbstractWorkspaceProvider implements Provider {
+    public static String FEED_TAG = "entries";
+
+    private final APP_CollectionAdapter collectionAdapter;
+
+    public APP_ContentProvider() {
+        this.collectionAdapter = new APP_CollectionAdapter();
+
+        super.setTargetResolver(new RegexTargetResolver()
+            .setPattern("/blog(\\?[^#]*)?", TargetType.TYPE_SERVICE)
+            .setPattern("/blog/" + FEED_TAG + "(\\?[^#]*)?", TargetType.TYPE_COLLECTION)
+            .setPattern("/blog/" + FEED_TAG + "/([^/#?]+)(\\?[^#]*)?", TargetType.TYPE_ENTRY));
+
+        setTargetBuilder(new TemplateTargetBuilder()
+            .setTemplate(TargetType.TYPE_SERVICE, "{target_base}/blog")
+            .setTemplate(TargetType.TYPE_COLLECTION, "{target_base}/blog/{collection}{-opt|?|q,c,s,p,l,i,o}{-join|&|q,c,s,p,l,i,o}")
+            .setTemplate(TargetType.TYPE_CATEGORIES, "{target_base}/blog/{collection};categories")
+            .setTemplate(TargetType.TYPE_ENTRY, "{target_base}/blog/{collection}/{entry}"));
+
+        SimpleWorkspaceInfo workspace = new SimpleWorkspaceInfo();
+        workspace.setTitle("IISc MILE Lab Weblog");
+        workspace.addCollection(collectionAdapter);
+        addWorkspace(workspace);
+    }
+
+    public CollectionAdapter getCollectionAdapter(RequestContext request) {
+        return collectionAdapter;
+    }
+
+}
diff --git a/src/site/resources/1.0/html/attachments/2852765/4456456.xml b/src/site/resources/1.0/html/attachments/2852765/4456456.xml
new file mode 100644
index 0000000..2b24339
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/4456456.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+	id="WebApp_ID" version="2.5">
+	<display-name>APP_Server_Abdera</display-name>
+	<welcome-file-list>
+		<welcome-file>index.jsp</welcome-file>
+	</welcome-file-list>
+
+	<servlet>
+		<description></description>
+		<display-name>APP_Servlet</display-name>
+		<servlet-name>APP_Servlet</servlet-name>
+		<servlet-class>org.apache.abdera.protocol.server.servlet.AbderaServlet</servlet-class>
+		<init-param>
+			<param-name>org.apache.abdera.protocol.server.Provider</param-name>
+			<param-value>myPackage.APP_ContentProvider</param-value>
+		</init-param>
+		<init-param>
+			<param-name>org.apache.abdera.protocol.server.CollectionAdapter</param-name>
+			<param-value>myPackage.APP_CollectionAdapter</param-value>
+		</init-param>
+	</servlet>
+	<servlet-mapping>
+		<servlet-name>APP_Servlet</servlet-name>
+		<url-pattern>/blog/*</url-pattern>
+	</servlet-mapping>
+</web-app>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/attachments/2852765/4456457.java b/src/site/resources/1.0/html/attachments/2852765/4456457.java
new file mode 100644
index 0000000..a10b826
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/4456457.java
@@ -0,0 +1,240 @@
+package myPackage;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.activation.MimeType;
+
+import org.apache.abdera.Abdera;
+import org.apache.abdera.factory.StreamBuilder;
+import org.apache.abdera.i18n.iri.IRI;
+import org.apache.abdera.model.Document;
+import org.apache.abdera.model.Entry;
+import org.apache.abdera.model.Feed;
+import org.apache.abdera.model.Link;
+import org.apache.abdera.parser.ParseException;
+import org.apache.abdera.protocol.server.ProviderHelper;
+import org.apache.abdera.protocol.server.RequestContext;
+import org.apache.abdera.protocol.server.ResponseContext;
+import org.apache.abdera.protocol.server.TargetType;
+import org.apache.abdera.protocol.server.context.BaseResponseContext;
+import org.apache.abdera.protocol.server.context.EmptyResponseContext;
+import org.apache.abdera.protocol.server.context.ResponseContextException;
+import org.apache.abdera.protocol.server.impl.AbstractCollectionAdapter;
+import org.apache.abdera.util.MimeTypeHelper;
+
+/**
+ * The Collection Adapter is the piece that actually implements the business
+ * logic of the AtomPub server. It bridges the protocol with the backend
+ * persistence.
+ */
+public class APP_CollectionAdapter extends AbstractCollectionAdapter {
+    private static String FEED_TAG = "entries";
+    private Document      feedDocument;
+
+    public ResponseContext getFeed(RequestContext request) {
+        Abdera abdera = request.getAbdera();
+        Document feed = getFeedDocument(abdera);
+        return new BaseResponseContext(feed);
+    }
+
+    public ResponseContext postEntry(RequestContext request) {
+        Abdera abdera = request.getAbdera();
+        try {
+            Document entryDocument = constructEntryDocument(request, abdera);
+            if (entryDocument != null) {
+                Entry entry = (Entry)entryDocument.getRoot();
+                manageAnEntry(entry, null, abdera);
+                BaseResponseContext rc = new BaseResponseContext(entry);
+                IRI baseUri = ProviderHelper.resolveBase(request);
+                rc.setLocation(baseUri.resolve(FEED_TAG + "/" + entry.getId()).toString());
+                rc.setStatus(201); //generate a HTTP 201 response in case of success
+                return rc;
+            } else {
+                return new EmptyResponseContext(400);
+            }
+        } catch (ParseException pe) {
+            return new EmptyResponseContext(415);
+        } catch (ClassCastException cce) {
+            return new EmptyResponseContext(415);
+        } catch (Exception e) {
+            return new EmptyResponseContext(400);
+        }
+    }
+
+    public ResponseContext getEntry(RequestContext request) {
+        Entry entry = (Entry)getAbderaEntry(request);
+        if (entry != null) {
+            Document entryDocument = ((Entry)entry.clone()).getDocument();
+            return new BaseResponseContext(entryDocument);
+        } else {
+            return new EmptyResponseContext(404);
+        }
+    }
+
+    public ResponseContext deleteEntry(RequestContext request) {
+        Entry entry = getAbderaEntry(request);
+        if (entry != null) {
+            entry.discard();
+            return new EmptyResponseContext(204);
+        } else {
+            return new EmptyResponseContext(404);
+        }
+    }
+
+    public ResponseContext putEntry(RequestContext request) {
+        Entry origEntry = getAbderaEntry(request);
+        if (origEntry != null) {
+            try {
+                Abdera abdera = request.getAbdera();
+                Document newEntryDocument = constructEntryDocument(request, abdera);
+                if (newEntryDocument != null) {
+                    Entry newEntry = (Entry)newEntryDocument.getRoot();
+                    manageAnEntry(newEntry, origEntry, abdera);
+                    return new BaseResponseContext(newEntry);
+                } else {
+                    return new EmptyResponseContext(400);
+                }
+            } catch (ParseException pe) {
+                return new EmptyResponseContext(415);
+            } catch (ClassCastException cce) {
+                return new EmptyResponseContext(415);
+            } catch (Exception e) {
+                if ("409".equalsIgnoreCase(e.getMessage())) {
+                    return new EmptyResponseContext(409);
+                } else {
+                    return new EmptyResponseContext(400);
+                }
+            }
+        } else {
+            return new EmptyResponseContext(404);
+        }
+    }
+
+    private synchronized Document getFeedDocument(Abdera abdera) {
+        if (feedDocument == null) {
+            feedDocument = initializeFeedDocument(abdera);
+        }
+        return feedDocument;
+    }
+
+    private Document initializeFeedDocument(Abdera abdera) {
+        StreamBuilder out = (StreamBuilder)abdera.getWriterFactory().newStreamWriter("fom");
+        out.startDocument().startFeed().writeId("http://mile.ee.iisc.ernet.in")
+            .writeTitle("Latest developments at MILE Lab, IISc :")
+            .writeUpdated(new Date())
+            .writeLink(FEED_TAG)
+            .writeCategory("lab-updates");
+
+        out
+            .startEntry()
+            .writeId("tts_demo")
+            .writeTitle("Kannada and Tamil language TTS Web Demo")
+            .writeLink(FEED_TAG + "/tts_demo")
+            .writeUpdated(new Date())
+            .writePublished(new Date())
+            .writeEdited(new Date())
+            .writeSummary("Kannada/Tamil language Text-To-Speech (TTS) Demo by MILE Lab, IISc is " +
+            		"available at http://mile.ee.iisc.ernet.in:8080/tts_demo/ ")
+            .writeAuthor("ShivaHR").endEntry();
+
+        out
+            .startEntry()
+            .writeId("tamil_ocr")
+            .writeTitle("Tamil OCR achieves 94.3% accuracy on 1000 scanned pages")
+            .writeLink(FEED_TAG + "/tamil_ocr")
+            .writeUpdated(new Date())
+            .writePublished(new Date())
+            .writeEdited(new Date())
+            .writeSummary("Tamil OCR (Optical Character Recognizer) being developed at MILE Lab, IISc " +
+            		"achieves an accuracy of 94.3%! The testing was carried out by CDAC-Pune on " +
+            		"1000 pages scanned from books printed between 1950-2000.")
+            .writeAuthor("ShivaHR").endEntry();
+
+        Document doc = (Document)out.endFeed().endDocument().getBase();
+
+        return doc;
+    }
+
+    /**
+     * Create a skeletal entry, to be filled up later
+     */
+    private Document constructEntryDocument(RequestContext request, Abdera abdera) throws Exception {
+        MimeType contentType = request.getContentType();
+        if (contentType != null && !MimeTypeHelper.isAtom(contentType.toString())) {
+            throw new ParseException();
+        }
+        return (Document)request.getDocument(abdera.getParser()).clone();
+    }
+
+    /*
+     * Utility method to manage the creation or update of an entry.
+     */
+    private void manageAnEntry(Entry currentEntry, Entry originalEntry, Abdera abdera)
+        throws Exception {
+        IRI id;
+        if (originalEntry != null) {
+            id = originalEntry.getId();
+            if (!currentEntry.getId().equals(id)) {
+                throw new Exception("409");
+            }
+            originalEntry.discard();
+        } else {
+            id = currentEntry.getId();
+            if (id == null) {
+                id = new IRI(abdera.getFactory().newUuidUri());
+                currentEntry.getIdElement().setValue(id.toString());
+            }
+        }
+        currentEntry.setUpdated(new Date());
+        String hrefValue = FEED_TAG + "/" + id;
+        List<Link> links = currentEntry.getLinks();
+        //links.clear(); //doesn't work - throws a java.lang.UnsupportedOperationException!
+        if (links.size() > 0) {
+            links.get(0).setHref(hrefValue);
+        } else {
+            currentEntry.addLink(hrefValue);
+        }
+        Feed feed = (Feed)getFeedDocument(abdera).getRoot();
+        feed.insertEntry(currentEntry);
+        feed.setUpdated(new Date());
+    }
+
+    private Entry getAbderaEntry(RequestContext request) {
+        Abdera abdera = request.getAbdera();
+        Document feed = getFeedDocument(abdera);
+        try {
+            Feed currentFeed = (Feed)feed.getRoot();
+            return currentFeed.getEntry(getEntryID(request));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    /**
+     * The id of the entry is the last token in the URL. Ugly way of extracting
+     * it, till I find a better mechanism.
+     */
+    private String getEntryID(RequestContext request) {
+        if (request.getTarget().getType() != TargetType.TYPE_ENTRY) {
+            return null;
+        }
+        String path = request.getUri().toString();
+        String[] segments = path.split("/");
+        return segments[segments.length - 1];
+    }
+
+    public String getAuthor(RequestContext request) throws ResponseContextException {
+        return "ShivaHR";
+    }
+
+    public String getId(RequestContext request) {
+        return "blog/entries";
+    }
+
+    public String getTitle(RequestContext request) {
+        return "Entries";
+    }
+
+}
diff --git a/src/site/resources/1.0/html/attachments/2852765/4456458.jsp b/src/site/resources/1.0/html/attachments/2852765/4456458.jsp
new file mode 100644
index 0000000..560ab75
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/4456458.jsp
@@ -0,0 +1,140 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+	pageEncoding="ISO-8859-1"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Atom Publishing Protocol (APP) Server using Apache Abdera</title>
+<STYLE type="text/css">
+body {
+	font-family: "Lucida Grande", "Lucida Sans Unicode", sans-serif;
+	font-size: small;
+	background-color: #A6D2FF;
+	text-align: center;
+}
+
+h1,h2,h3,h4 {
+	font-family: palatino, georgia, serif;
+	margin-bottom: 0px;
+	text-align: left;
+	color: darkblue;
+	font-weight: normal;
+}
+
+h4 {
+	font-family: "Lucida Grande", "Lucida Sans Unicode", sans-serif;
+	font-size: 8pt;
+	text-transform: uppercase;
+	font-weight: bold;
+}
+
+p {
+	margin-top: 0px;
+}
+
+#h3-content {
+	font-variant: small-caps;
+	font-size: small;
+}
+
+#page-container {
+	background-color: white;
+	border-color: black;
+	width: 725px;
+	border-color: black;
+	position: relative;
+	margin: 0pt auto;
+}
+
+#main-content {
+	padding-left: 25px;
+	padding-right: 25px;
+	text-align: left;
+	float: left;
+	position: relative;
+	background-color: white;
+}
+
+#left-content {
+	padding: 0px;
+	text-align: left;
+	float: left;
+	position: relative;
+	background-color: white;
+}
+
+#links-bar {
+	text-align: center;
+	font-family: palatino, georgia, serif;
+	color: gray;
+	background-color: transparent;
+	font-variant: small-caps;
+	padding: 5px;
+}
+
+li {
+	padding-bottom: 5px;
+	list-style-image: none;
+	list-style-position: outside;
+	list-style-type: none;
+	font-size: 9pt;
+}
+</STYLE>
+</head>
+<body>
+<%
+    /*******************************************************************************
+     * Licensed Materials - Property of IBM
+     * (c) Copyright IBM Corporation 2006. All Rights Reserved.
+     * 
+     * Note to U.S. Government Users Restricted Rights:
+     * Use, duplication or disclosure restricted by GSA ADP Schedule
+     * Contract with IBM Corp. 
+     *******************************************************************************/
+    String serviceDocument = "blog";
+    String feedDocument = "blog/entries";
+    String specificEntry = "blog/entries/rail";
+    String IBM_document =
+        "http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.ajax.feed.samples.help/docs/GettingStarted_useage.html";
+%>
+
+<DIV id="page-container">
+<DIV id="main-content">
+<DIV id="left-content">
+<h3>ATOM Publishing Protocol support</h3>
+<p id="h3-content">Demonstrates the ability to create, retrieve,
+update, and delete ATOM content, using the ATOM Publishing Protocol
+(APP) support in Apache Abdera.</p>
+<h4>Read the service document</h4>
+<p id="h4-content">The service document describes the available
+content on the APP Server - currently available feeds, and the URL at
+which they can be accessed. Click <a href="<%=serviceDocument%>"><%=serviceDocument%></a>
+</p>
+<h4>Read the available feed</h4>
+<p id="h4-content">View the feed, and use this operation to check on
+the contents of the feed following a create, update, and delete of
+specific entries in the feed. Click <a href="<%=feedDocument%>"><%=feedDocument%></a>
+</p>
+<h4>Read a specific entry in the feed</h4>
+<p id="h4-content">An operation to view the discrete entries that
+compose a feed. Click <a href="<%=specificEntry%>"><%=specificEntry%></a></p>
+<h4>Create a new entry</h4>
+<p id="h4-content">Use the <a href="http://curl.haxx.se/">curl
+tool</a> to perform the POST action, and view its result. Refer <a
+	href="<%=IBM_document%>">this
+documentation</a> to understand how this can be done</p>
+<h4>Update an existing entry, using Atom Publishing Protocol</h4>
+<p id="h4-content">Use the <a href="http://curl.haxx.se/">curl
+tool</a> to perform the PUT action, and view its result. Refer <a
+	href="<%=IBM_document%>">this
+documentation</a> to understand how this can be done</p>
+<h4>Delete an existing entry</h4>
+<p id="h4-content">Use the <a href="http://curl.haxx.se/">curl
+tool</a> to perform the DELETE action, and view its result. Refer <a
+	href="<%=IBM_document%>">this
+documentation</a> to understand how this can be done</p>
+</DIV>
+</DIV>
+</DIV>
+</BODY>
+</HTML>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/attachments/2852765/4456459.jsp b/src/site/resources/1.0/html/attachments/2852765/4456459.jsp
new file mode 100644
index 0000000..d2e7057
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/4456459.jsp
@@ -0,0 +1,140 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+	pageEncoding="ISO-8859-1"%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Atom Publishing Protocol (APP) Server using Apache Wink</title>
+<STYLE type="text/css">
+body {
+	font-family: "Lucida Grande", "Lucida Sans Unicode", sans-serif;
+	font-size: small;
+	background-color: #A6D2FF;
+	text-align: center;
+}
+
+h1,h2,h3,h4 {
+	font-family: palatino, georgia, serif;
+	margin-bottom: 0px;
+	text-align: left;
+	color: darkblue;
+	font-weight: normal;
+}
+
+h4 {
+	font-family: "Lucida Grande", "Lucida Sans Unicode", sans-serif;
+	font-size: 8pt;
+	text-transform: uppercase;
+	font-weight: bold;
+}
+
+p {
+	margin-top: 0px;
+}
+
+#h3-content {
+	font-variant: small-caps;
+	font-size: small;
+}
+
+#page-container {
+	background-color: white;
+	border-color: black;
+	width: 725px;
+	border-color: black;
+	position: relative;
+	margin: 0pt auto;
+}
+
+#main-content {
+	padding-left: 25px;
+	padding-right: 25px;
+	text-align: left;
+	float: left;
+	position: relative;
+	background-color: white;
+}
+
+#left-content {
+	padding: 0px;
+	text-align: left;
+	float: left;
+	position: relative;
+	background-color: white;
+}
+
+#links-bar {
+	text-align: center;
+	font-family: palatino, georgia, serif;
+	color: gray;
+	background-color: transparent;
+	font-variant: small-caps;
+	padding: 5px;
+}
+
+li {
+	padding-bottom: 5px;
+	list-style-image: none;
+	list-style-position: outside;
+	list-style-type: none;
+	font-size: 9pt;
+}
+</STYLE>
+</head>
+<body>
+<%
+    /*******************************************************************************
+     * Licensed Materials - Property of IBM
+     * (c) Copyright IBM Corporation 2006. All Rights Reserved.
+     * 
+     * Note to U.S. Government Users Restricted Rights:
+     * Use, duplication or disclosure restricted by GSA ADP Schedule
+     * Contract with IBM Corp. 
+     *******************************************************************************/
+    String serviceDocument = "blog";
+    String feedDocument = "blog/entries";
+    String specificEntry = "blog/entries/rail";
+    String IBM_document =
+        "http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.ajax.feed.samples.help/docs/GettingStarted_useage.html";
+%>
+
+<DIV id="page-container">
+<DIV id="main-content">
+<DIV id="left-content">
+<h3>ATOM Publishing Protocol support</h3>
+<p id="h3-content">Demonstrates the ability to create, retrieve,
+update, and delete ATOM content, using the ATOM Publishing Protocol
+(APP) support in Apache Wink.</p>
+<h4>Read the service document</h4>
+<p id="h4-content">The service document describes the available
+content on the APP Server - currently available feeds, and the URL at
+which they can be accessed. Click <a href="<%=serviceDocument%>"><%=serviceDocument%></a>
+</p>
+<h4>Read the available feed</h4>
+<p id="h4-content">View the feed, and use this operation to check on
+the contents of the feed following a create, update, and delete of
+specific entries in the feed. Click <a href="<%=feedDocument%>"><%=feedDocument%></a>
+</p>
+<h4>Read a specific entry in the feed</h4>
+<p id="h4-content">An operation to view the discrete entries that
+compose a feed. Click <a href="<%=specificEntry%>"><%=specificEntry%></a></p>
+<h4>Create a new entry</h4>
+<p id="h4-content">Use the <a href="http://curl.haxx.se/">curl
+tool</a> to perform the POST action, and view its result. Refer <a
+	href="<%=IBM_document%>">this
+documentation</a> to understand how this can be done</p>
+<h4>Update an existing entry, using Atom Publishing Protocol</h4>
+<p id="h4-content">Use the <a href="http://curl.haxx.se/">curl
+tool</a> to perform the PUT action, and view its result. Refer <a
+	href="<%=IBM_document%>">this
+documentation</a> to understand how this can be done</p>
+<h4>Delete an existing entry</h4>
+<p id="h4-content">Use the <a href="http://curl.haxx.se/">curl
+tool</a> to perform the DELETE action, and view its result. Refer <a
+	href="<%=IBM_document%>">this
+documentation</a> to understand how this can be done</p>
+</DIV>
+</DIV>
+</DIV>
+</BODY>
+</HTML>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/attachments/2852765/4456460.java b/src/site/resources/1.0/html/attachments/2852765/4456460.java
new file mode 100644
index 0000000..8cb0797
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/4456460.java
@@ -0,0 +1,155 @@
+package myPackage;
+
+import java.net.URI;
+import java.util.Date;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.EntityTag;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+
+import org.apache.wink.common.annotations.Workspace;
+import org.apache.wink.common.model.atom.AtomCategory;
+import org.apache.wink.common.model.atom.AtomEntry;
+import org.apache.wink.common.model.atom.AtomFeed;
+import org.apache.wink.common.model.atom.AtomLink;
+import org.apache.wink.common.model.atom.AtomPerson;
+import org.apache.wink.common.model.atom.AtomText;
+
+@Workspace(workspaceTitle = "IISc MILE Lab Weblog", collectionTitle = "Entries")
+@Path("/entries")
+public class EntriesCollection {
+    private static AtomFeed feed = initializeFeedDocument("entries");
+
+    @GET
+    @Produces(MediaType.APPLICATION_ATOM_XML)
+    public AtomFeed getFeed() {
+        return feed;
+    }
+
+    @POST
+    @Consumes(MediaType.APPLICATION_ATOM_XML)
+    @Produces(MediaType.APPLICATION_ATOM_XML)
+    public Response postEntry(AtomEntry newEntry, @Context UriInfo uriInfo) {
+        if (searchEntry(newEntry.getId()) != null) {
+            throw new WebApplicationException(Response.Status.CONFLICT);
+        }
+
+        URI uri = uriInfo.getAbsolutePathBuilder().segment(newEntry.getId()).build();
+        pruneEntry(newEntry, uri);
+        feed.getEntries().add(0, newEntry);
+        feed.setUpdated(new Date());
+
+        return Response.status(Response.Status.CREATED).entity(newEntry).location(uri)
+            .tag(new EntityTag(newEntry.getId())).build();
+    }
+
+    @GET
+    @Path("{id}")
+    @Produces(MediaType.APPLICATION_ATOM_XML)
+    public AtomEntry getEntry(@PathParam("id") String entryId) {
+        AtomEntry entry = searchEntry(entryId);
+        if (entry == null) {
+            throw new WebApplicationException(Response.Status.NOT_FOUND);
+        } else {
+            return entry;
+        }
+    }
+
+    @PUT
+    @Path("{id}")
+    @Consumes(MediaType.APPLICATION_ATOM_XML)
+    @Produces(MediaType.APPLICATION_ATOM_XML)
+    public AtomEntry putEntry(@PathParam("id") String entryId,
+                              AtomEntry updatedEntry,
+                              @Context UriInfo uriInfo) {
+        AtomEntry oldEntry = getEntry(entryId);
+        feed.getEntries().remove(oldEntry);
+        pruneEntry(updatedEntry, uriInfo.getAbsolutePath());
+        feed.getEntries().add(0, updatedEntry);
+        feed.setUpdated(new Date());
+        return updatedEntry;
+    }
+
+    @DELETE
+    @Path("{id}")
+    public void deleteEntry(@PathParam("id") String entryId) {
+        AtomEntry oldEntry = getEntry(entryId);
+        feed.getEntries().remove(oldEntry);
+        feed.setUpdated(new Date());
+    }
+
+    private static AtomFeed initializeFeedDocument(String basePath) {
+        AtomFeed feed = new AtomFeed();
+        feed.setId("http://mile.ee.iisc.ernet.in");
+        feed.setTitle(new AtomText("Latest developments at MILE Lab, IISc :"));
+        feed.setUpdated(new Date());
+        AtomLink link1 = new AtomLink();
+        link1.setHref(basePath);
+        feed.getLinks().add(link1);
+        AtomCategory category1 = new AtomCategory();
+        category1.setTerm("lab-updates");
+        feed.getCategories().add(category1);
+
+        AtomEntry entry1 = new AtomEntry();
+        entry1.setId("tts_demo");
+        entry1.setTitle(new AtomText("Kannada and Tamil language TTS Web Demo"));
+        AtomLink link2 = new AtomLink();
+        link2.setHref(basePath + "/" + entry1.getId());
+        entry1.getLinks().add(link2);
+        entry1.setUpdated(new Date());
+        entry1.setPublished(new Date());
+        //entry1.setEdited(new Date());
+        entry1.setSummary(new AtomText("Kannada/Tamil language Text-To-Speech (TTS) Demo by MILE Lab, " +
+        		"IISc is available at http://mile.ee.iisc.ernet.in:8080/tts_demo/ "));
+        AtomPerson person1 = new AtomPerson();
+        person1.setName("ShivaHR");
+        entry1.getAuthors().add(person1);
+        feed.getEntries().add(entry1);
+
+        AtomEntry entry2 = new AtomEntry();
+        entry2.setId("tamil_ocr");
+        entry2.setTitle(new AtomText("Tamil OCR achieves 94.3% accuracy on 1000 scanned pages"));
+        AtomLink link3 = new AtomLink();
+        link3.setHref(basePath + "/" + entry2.getId());
+        entry2.getLinks().add(link3);
+        entry2.setUpdated(new Date());
+        entry2.setPublished(new Date());
+        //entry2.setEdited(new Date());
+        entry2.setSummary(new AtomText("Tamil OCR (Optical Character Recognizer) being developed at " +
+        		"MILE Lab, IISc achieves an accuracy of 94.3%! The testing was carried out by " +
+        		"CDAC-Pune on 1000 pages scanned from books printed between 1950-2000."));
+        AtomPerson person2 = new AtomPerson();
+        person2.setName("ShivaHR");
+        entry2.getAuthors().add(person2);
+        feed.getEntries().add(entry2);
+        return feed;
+    }
+
+    private AtomEntry searchEntry(String entryId) {
+        for (AtomEntry entry : feed.getEntries()) {
+            if (entry.getId().equals(entryId)) {
+                return entry;
+            }
+        }
+        return null;
+    }
+
+    private void pruneEntry(AtomEntry newEntry, URI uri) {
+        newEntry.getLinks().clear();
+        AtomLink link = new AtomLink();
+        link.setHref(uri.toString());
+        newEntry.getLinks().add(link);
+        newEntry.setUpdated(new Date());
+    }
+}
diff --git a/src/site/resources/1.0/html/attachments/2852765/4456461 b/src/site/resources/1.0/html/attachments/2852765/4456461
new file mode 100644
index 0000000..b68321f
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/4456461
@@ -0,0 +1 @@
+myPackage.EntriesCollection

diff --git a/src/site/resources/1.0/html/attachments/2852765/4456462.xml b/src/site/resources/1.0/html/attachments/2852765/4456462.xml
new file mode 100644
index 0000000..5045c71
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/4456462.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+	id="WebApp_ID" version="2.5">
+	<display-name>APP_Server_Wink</display-name>
+	<welcome-file-list>
+		<welcome-file>index.jsp</welcome-file>
+	</welcome-file-list>
+
+	<servlet>
+		<servlet-name>restSdkService</servlet-name>
+		<servlet-class>org.apache.wink.server.internal.servlet.RestServlet</servlet-class>
+		<init-param>
+			<param-name>applicationConfigLocation</param-name>
+			<param-value>/WEB-INF/application</param-value>
+		</init-param>
+	</servlet>
+
+	<servlet-mapping>
+		<servlet-name>restSdkService</servlet-name>
+		<url-pattern>/blog/*</url-pattern>
+	</servlet-mapping>
+</web-app>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/attachments/2852765/4751361.java b/src/site/resources/1.0/html/attachments/2852765/4751361.java
new file mode 100644
index 0000000..a012952
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/4751361.java
@@ -0,0 +1,155 @@
+package myPackage;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.ws.rs.core.MediaType;
+
+import org.apache.wink.client.ClientResponse;
+import org.apache.wink.client.Resource;
+import org.apache.wink.client.RestClient;
+import org.apache.wink.common.internal.utils.MediaTypeUtils;
+import org.apache.wink.common.model.app.AppCollection;
+import org.apache.wink.common.model.app.AppService;
+import org.apache.wink.common.model.app.AppWorkspace;
+import org.apache.wink.common.model.atom.AtomEntry;
+import org.apache.wink.common.model.atom.AtomFeed;
+import org.apache.wink.common.model.atom.AtomLink;
+import org.apache.wink.common.model.atom.AtomPerson;
+import org.apache.wink.common.model.atom.AtomText;
+
+public class APP_Client_Wink {
+    private static String     SERVICE_URL = "http://localhost:8080/APP_Server_Wink/blog/";
+    private static String     FEED_URL    = "http://localhost:8080/APP_Server_Wink/blog/entries/";
+    private static String     ENTRY_URL   = "http://localhost:8080/APP_Server_Wink/blog/entries/kan_ocr";
+
+    private static RestClient restClient  = new RestClient();
+
+    public static void main(String[] args) {
+        System.out.println("--- I. Contents of Service Document at " + SERVICE_URL + " ---");
+        getServiceDocument();
+
+        System.out.println("--- II. Contents of Feed Document at " + FEED_URL + " ---");
+        getEntries();
+
+        AtomEntry newEntry = createNewEntry();
+        System.out.println("--- III. Posting a new entry into the Feed ---");
+        postEntry(newEntry);
+        System.out.println("--- IV. Contents of Feed Document after Post ---");
+        getEntries();
+
+        AtomEntry changedEntry = changeEntry(newEntry);
+        System.out.println("--- V. Changing the last entry posted ---");
+        putEntry(changedEntry);
+        System.out.println("--- VI. Entry content after change ---");
+        getEntry();
+
+        System.out.println("--- VII. Deleting the last entry posted ---");
+        deleteEntry();
+        System.out.println("--- VIII. Contents of Feed Document after Delete ---");
+        getEntries();
+    }
+
+    private static void getServiceDocument() {
+        Resource resource = restClient.resource(SERVICE_URL);
+        AppService service =
+            resource.accept(MediaTypeUtils.ATOM_SERVICE_DOCUMENT).get(AppService.class);
+        List<AppWorkspace> workspaces = service.getWorkspace();
+        for (AppWorkspace workspace : workspaces) {
+            System.out.println("\t" + workspace.getTitle().getValue());
+            List<AppCollection> collections = workspace.getCollection();
+            for (AppCollection collection : collections) {
+                System.out.println("\t" + collection.getTitle().getValue()
+                    + "\t:\t"
+                    + collection.getHref());
+            }
+            System.out.print("\n");
+        }
+    }
+
+    private static void getEntries() {
+        Resource feedResource = restClient.resource(FEED_URL);
+        AtomFeed feed = feedResource.accept(MediaType.APPLICATION_ATOM_XML).get(AtomFeed.class);
+        int counter = 1;
+        System.out.println("\t" + feed.getTitle().getValue() + "\n");
+        List<AtomEntry> entries = feed.getEntries();
+        for (AtomEntry atomEntry : entries) {
+            System.out.print("\t" + counter++ + ") ");
+            displayEntry(atomEntry);
+        }
+    }
+
+    private static AtomEntry createNewEntry() {
+        AtomEntry entry = new AtomEntry();
+        entry.setId("kan_ocr");
+        entry.setTitle(new AtomText("New algorithm to detect and split merged characters in Kannada OCR"));
+        AtomLink link = new AtomLink();
+        link.setHref(FEED_URL + "/" + entry.getId());
+        entry.getLinks().add(link);
+        entry.setUpdated(new Date());
+        entry.setPublished(new Date());
+        entry.setSummary(new AtomText("The new algorithm to detect and split merged characters in " +
+        		"Kannada OCR is yeilding good results. We will soon be publishing the " +
+        		"algorithm and results in one of the upcoming conferences."));
+        AtomPerson person = new AtomPerson();
+        person.setName("ShivaHR");
+        entry.getAuthors().add(person);
+        return entry;
+    }
+
+    private static AtomEntry changeEntry(AtomEntry curEntry) {
+        curEntry.setTitle(new AtomText("A new algorithm to detect and split merged characters in Kannada OCR will be published soon!"));
+        return curEntry;
+    }
+
+    private static void postEntry(AtomEntry newEntry) {
+        Resource feedResource = restClient.resource(FEED_URL);
+        ClientResponse response =
+            feedResource.contentType(MediaType.APPLICATION_ATOM_XML).post(newEntry);
+        if (response.getStatusCode() == 201) {
+            System.out.println("\t" + "Post successful\n");
+        } else {
+            System.out.println("\t" + "Response code received from server = "
+                + response.getStatusCode()
+                + "\n");
+        }
+    }
+
+    private static void putEntry(AtomEntry changedEntry) {
+        Resource feedResource = restClient.resource(ENTRY_URL);
+        ClientResponse response =
+            feedResource.contentType(MediaType.APPLICATION_ATOM_XML).put(changedEntry);
+        if (response.getStatusCode() == 200) {
+            System.out.println("\t" + "Change successful\n");
+        } else {
+            System.out.println("\t" + "Response code received from server = "
+                + response.getStatusCode()
+                + "\n");
+        }
+    }
+
+    private static void getEntry() {
+        Resource feedResource = restClient.resource(ENTRY_URL);
+        AtomEntry atomEntry = feedResource.accept(MediaType.APPLICATION_ATOM_XML).get(AtomEntry.class);
+        System.out.print("\t");
+        displayEntry(atomEntry);
+    }
+
+    private static void deleteEntry() {
+        Resource feedResource = restClient.resource(ENTRY_URL);
+        ClientResponse response = feedResource.delete();
+        if (response.getStatusCode() == 204) {
+            System.out.println("\t" + "Delete successful\n");
+        } else {
+            System.out.println("\t" + "Response code received from server = "
+                + response.getStatusCode()
+                + "\n");
+        }
+    }
+
+    private static void displayEntry(AtomEntry atomEntry) {
+        System.out.println(atomEntry.getTitle().getValue());
+        System.out.println("\t" + atomEntry.getUpdated().toString());
+        System.out.println("\t" + atomEntry.getSummary().getValue() + "\n");
+    }
+}
diff --git a/src/site/resources/1.0/html/attachments/2852765/4751362.java b/src/site/resources/1.0/html/attachments/2852765/4751362.java
new file mode 100644
index 0000000..58ba2cf
--- /dev/null
+++ b/src/site/resources/1.0/html/attachments/2852765/4751362.java
@@ -0,0 +1,155 @@
+package myPackage;
+
+import java.util.Date;
+import java.util.List;
+
+import org.apache.abdera.Abdera;
+import org.apache.abdera.factory.Factory;
+import org.apache.abdera.model.Collection;
+import org.apache.abdera.model.Document;
+import org.apache.abdera.model.Entry;
+import org.apache.abdera.model.Feed;
+import org.apache.abdera.model.Service;
+import org.apache.abdera.model.Workspace;
+import org.apache.abdera.protocol.client.AbderaClient;
+import org.apache.abdera.protocol.client.ClientResponse;
+import org.apache.abdera.protocol.client.RequestOptions;
+
+public class APP_Client_Abdera {
+    private static String     SERVICE_URL = "http://localhost:8080/APP_Server_Abdera/blog";
+    private static String     FEED_URL    = "http://localhost:8080/APP_Server_Abdera/blog/entries";
+    private static String     ENTRY_URL   = "http://localhost:8080/APP_Server_Abdera/blog/entries/kan_ocr";
+
+    private static Abdera abdera      = new Abdera();
+
+    public static void main(String[] args) {
+        System.out.println("--- I. Contents of Service Document at " + SERVICE_URL + " ---");
+        getServiceDocument();
+
+        System.out.println("--- II. Contents of Feed Document at " + FEED_URL + " ---");
+        getEntries();
+
+        Entry newEntry = createNewEntry();
+        System.out.println("--- III. Posting a new entry into the Feed ---");
+        postEntry(newEntry);
+        System.out.println("--- IV. Contents of Feed Document after Post ---");
+        getEntries();
+
+        Entry changedEntry = changeEntry(newEntry);
+        System.out.println("--- V. Changing the last entry posted ---");
+        putEntry(changedEntry);
+        System.out.println("--- VI. Entry content after change ---");
+        getEntry();
+
+        System.out.println("--- VII. Deleting the last entry posted ---");
+        deleteEntry();
+        System.out.println("--- VIII. Contents of Feed Document after Delete ---");
+        getEntries();
+    }
+
+    private static void getServiceDocument() {
+        AbderaClient abderaClient = new AbderaClient(abdera);
+        Document<Service> introspection = abderaClient.get(SERVICE_URL).getDocument();
+        Service service = introspection.getRoot();
+        List<Workspace> workspaces = service.getWorkspaces();
+        for (Workspace workspace : workspaces) {
+            System.out.println("\t" + workspace.getTitle());
+            List<Collection> collections = workspace.getCollections();
+            for (Collection collection : collections) {
+                System.out.println("\t" + collection.getTitle() + "\t:\t" + collection.getHref());
+            }
+            System.out.print("\n");
+        }
+    }
+
+    private static void getEntries() {
+        AbderaClient abderaClient = new AbderaClient(abdera);
+        RequestOptions opts = new RequestOptions();
+        opts.setContentType("application/atom+xml;type=feed");
+        ClientResponse response = abderaClient.get(FEED_URL, opts);
+        Feed feed = (Feed)response.getDocument().getRoot();
+        int counter = 1;
+        System.out.println("\t" + feed.getTitle() + "\n");
+        List<Entry> entries = feed.getEntries();
+        for (Entry atomEntry : entries) {
+            System.out.print("\t" + counter++ + ") ");
+            displayEntry(atomEntry);
+        }
+    }
+
+    private static Entry createNewEntry() {
+        Factory factory = abdera.getFactory();
+        Entry entry = factory.newEntry();
+        entry.setId("kan_ocr");
+        entry.setTitle("New algorithm to detect and split merged characters in Kannada OCR");
+        entry.addLink(FEED_URL + "/kan_ocr");
+        entry.setUpdated(new Date());
+        entry.setPublished(new Date());
+        entry.setSummary("The new algorithm to detect and split merged characters in " +
+                        "Kannada OCR is yeilding good results. We will soon be publishing the " +
+                        "algorithm and results in one of the upcoming conferences.");
+        entry.addAuthor("ShivaHR");
+        return entry;
+    }
+
+    private static Entry changeEntry(Entry curEntry) {
+        curEntry.setTitle("A new algorithm to detect and split merged characters in Kannada OCR will be published soon!");
+        return curEntry;
+    }
+
+    private static void postEntry(Entry newEntry) {
+        AbderaClient abderaClient = new AbderaClient(abdera);
+        RequestOptions opts = new RequestOptions();
+        opts.setContentType("application/atom+xml;type=entry");
+        ClientResponse response = abderaClient.post(FEED_URL, newEntry, opts);
+        if (response.getStatus() == 201) {
+            System.out.println("\t" + "Post successful\n");
+        } else {
+            System.out.println("\t" + "Response code received from server = "
+                + response.getStatus()
+                + "\n");
+        }
+    }
+
+    private static void putEntry(Entry changedEntry) {
+        AbderaClient abderaClient = new AbderaClient(abdera);
+        RequestOptions opts = new RequestOptions();
+        opts.setContentType("application/atom+xml;type=entry");
+        ClientResponse response = abderaClient.put(ENTRY_URL, changedEntry.getDocument(), opts);
+        if (response.getStatus() == 200) {
+            System.out.println("\t" + "Change successful\n");
+        } else {
+            System.out.println("\t" + "Response code received from server = "
+                + response.getStatus()
+                + "\n");
+        }
+    }
+
+    private static void getEntry() {
+        AbderaClient abderaClient = new AbderaClient(abdera);
+        RequestOptions opts = new RequestOptions();
+        opts.setContentType("application/atom+xml;type=entry");
+        ClientResponse response = abderaClient.get(ENTRY_URL, opts);
+        Entry entry = (Entry)response.getDocument().getRoot();
+        System.out.print("\t");
+        displayEntry(entry);
+    }
+
+    private static void deleteEntry() {
+        AbderaClient abderaClient = new AbderaClient(abdera);
+        ClientResponse response = abderaClient.delete(ENTRY_URL);
+        if (response.getStatus() == 204) {
+            System.out.println("\t" + "Delete successful\n");
+        } else {
+            System.out.println("\t" + "Response code received from server = "
+                + response.getStatus()
+                + "\n");
+        }
+    }
+
+    private static void displayEntry(Entry atomEntry) {
+        System.out.println(atomEntry.getTitle());
+        System.out.println("\t" + atomEntry.getUpdated().toString());
+        System.out.println("\t" + atomEntry.getSummary() + "\n");
+    }
+}
diff --git a/src/site/resources/1.0/html/images/border/spacer.gif b/src/site/resources/1.0/html/images/border/spacer.gif
new file mode 100644
index 0000000..fc25609
--- /dev/null
+++ b/src/site/resources/1.0/html/images/border/spacer.gif
Binary files differ
diff --git a/src/site/resources/1.0/html/images/icons/bullet_blue.gif b/src/site/resources/1.0/html/images/icons/bullet_blue.gif
new file mode 100644
index 0000000..25bfa0c
--- /dev/null
+++ b/src/site/resources/1.0/html/images/icons/bullet_blue.gif
Binary files differ
diff --git a/src/site/resources/1.0/html/images/icons/emoticons/check.gif b/src/site/resources/1.0/html/images/icons/emoticons/check.gif
new file mode 100644
index 0000000..28bb999
--- /dev/null
+++ b/src/site/resources/1.0/html/images/icons/emoticons/check.gif
Binary files differ
diff --git a/src/site/resources/1.0/html/images/icons/emoticons/information.gif b/src/site/resources/1.0/html/images/icons/emoticons/information.gif
new file mode 100644
index 0000000..072ab66
--- /dev/null
+++ b/src/site/resources/1.0/html/images/icons/emoticons/information.gif
Binary files differ
diff --git a/src/site/resources/1.0/html/images/icons/emoticons/warning.gif b/src/site/resources/1.0/html/images/icons/emoticons/warning.gif
new file mode 100644
index 0000000..1c9883b
--- /dev/null
+++ b/src/site/resources/1.0/html/images/icons/emoticons/warning.gif
Binary files differ
diff --git a/src/site/resources/1.0/html/index.html b/src/site/resources/1.0/html/index.html
new file mode 100644
index 0000000..1d92c90
--- /dev/null
+++ b/src/site/resources/1.0/html/index.html
@@ -0,0 +1,347 @@
+
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+	<head>
+		<title>WINK (Apache Wink) Test</title>
+		<link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+
+	<body>
+		<table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+			<tr>
+				<td valign="top" class="pagebody">
+					<center>
+						<h1><font color="#0050B2">Space Details:</font></h1>
+					</center>
+					<table class="grid" border="1" cellpadding="0" cellspacing="0" width="100%">
+						<tr>
+							<td width="200">
+								<b>Key:</b>
+							</td>
+							<td>WINK</td>
+						</tr>
+						<tr>
+							<td width="200">
+								<b>Name:</b>
+							</td>
+							<td>Apache Wink</td>
+						</tr>
+						<tr>
+							<td width="200">
+								<b>Description:</b>
+							</td>
+							<td></td>
+						</tr>
+						<tr>
+							<td width="200">
+								<b>Creator (Creation Date):</b>
+							</td>
+							<td>dims (Jun 01, 2009)</td>
+						</tr>
+						<tr>
+							<td width="200">
+								<b>Last Modifier (Mod. Date):</b>
+							</td>
+							<td>dims (Jun 01, 2009)</td>
+						</tr>
+					</table>
+                    <br/>
+                    <br/>
+                    <p>
+                        <h2><font color="#0050B2">Available Pages:</font></h2>
+                            <ul>
+                        <li>
+        
+                    <a href="Apache Wink Developer Guide.html">Apache Wink Developer Guide</a>
+        
+                            <ul>
+                    <li>
+        
+                    <a href="1 Introduction to Apache Wink.html">1 Introduction to Apache Wink</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="2 Apache Wink Building Blocks.html">2 Apache Wink Building Blocks</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="3 Getting Started with Apache Wink.html">3 Getting Started with Apache Wink</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="4 JAX-RS Concepts.html">4 JAX-RS Concepts</a>
+        
+                            <ul>
+                    <li>
+        
+                    <a href="JAX-RS Application Configuration.html">JAX-RS Application Configuration</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="JAX-RS Caching.html">JAX-RS Caching</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="JAX-RS Getting Started.html">JAX-RS Getting Started</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="JAX-RS Resources, HTTP Methods, and Paths.html">JAX-RS Resources, HTTP Methods, and Paths</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="JAX-RS Request and Response Entities.html">JAX-RS Request and Response Entities</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="JAX-RS Parameters.html">JAX-RS Parameters</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="JAX-RS HTTP Headers.html">JAX-RS HTTP Headers</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="JAX-RS Content Negotiation.html">JAX-RS Content Negotiation</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="JAX-RS Context Information.html">JAX-RS Context Information</a>
+        
+                    </li>
+            </ul>
+            </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="5 Apache Wink Server.html">5 Apache Wink Server</a>
+        
+                            <ul>
+                    <li>
+        
+                    <a href="5.1 Registration and Configuration.html">5.1 Registration and Configuration</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="5.2 Annotations.html">5.2 Annotations</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="5.3 Resource Matching.html">5.3 Resource Matching</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="5.4 APP Service Document.html">5.4 APP Service Document</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="5.5 Spring Integration.html">5.5 Spring Integration</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="5.6 WebDAV Extension.html">5.6 WebDAV Extension</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="5.7 Handler Chain - Runtime Extension.html">5.7 Handler Chain - Runtime Extension</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="5.8 Link Builder.html">5.8 Link Builder</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="5.9 Assets.html">5.9 Assets</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="5.10 Admin Views.html">5.10 Admin Views</a>
+        
+                    </li>
+            </ul>
+            </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="6 Apache Wink Client.html">6 Apache Wink Client</a>
+        
+                            <ul>
+                    <li>
+        
+                    <a href="6.1 Getting Started with Apache Wink Client.html">6.1 Getting Started with Apache Wink Client</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="6.2 Configuring the Apache Wink Client.html">6.2 Configuring the Apache Wink Client</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="6.3 Input and Output Stream Adapters.html">6.3 Input and Output Stream Adapters</a>
+        
+                    </li>
+            </ul>
+            </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="7 Apache Wink Representations.html">7 Apache Wink Representations</a>
+        
+                            <ul>
+                    <li>
+        
+                    <a href="7.1 JSON.html">7.1 JSON</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="7.2 APP.html">7.2 APP</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="7.3 Atom.html">7.3 Atom</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="7.4 RSS.html">7.4 RSS</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="7.5 HTML.html">7.5 HTML</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="7.6 CSV.html">7.6 CSV</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="7.7 OpenSearch.html">7.7 OpenSearch</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="7.8 MultiPart.html">7.8 MultiPart</a>
+        
+                    </li>
+            </ul>
+            </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="Appendix A - Feeds Support.html">Appendix A - Feeds Support</a>
+        
+                    </li>
+            </ul>
+                    <ul>
+                    <li>
+        
+                    <a href="Appendix B - Google App Engine.html">Appendix B - Google App Engine</a>
+        
+                    </li>
+            </ul>
+            </li>
+            </ul>
+                    </p>
+				</td>
+			</tr>
+		</table>
+		<table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+			<tr>
+				<td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td>
+			</tr>
+		</table>
+	</body>
+</html>
\ No newline at end of file
diff --git a/src/site/resources/1.0/html/styles/site.css b/src/site/resources/1.0/html/styles/site.css
new file mode 100644
index 0000000..46bf4d1
--- /dev/null
+++ b/src/site/resources/1.0/html/styles/site.css
@@ -0,0 +1,4316 @@
+
+/* Confluence master stylesheet */
+body {
+    margin: 0;
+    padding: 0;
+    background-color: #f0f0f0;
+}
+body.content-preview {
+    background-color: #fff;
+    border: none;
+}
+
+body, p, td, table, tr, .bodytext, .stepfield {
+    font-size: 10pt;
+    line-height: 1.3;
+    color: #000;
+    font-weight: normal;
+}
+
+#PageContent {
+    text-align: left;
+    background-color: #fff;
+    padding: 0 0 20px 0;
+    margin: 0;
+}
+
+.print-only {
+    display: none;
+}
+
+.monospaceInput {
+    font: 10pt monospace;
+}
+
+pre {
+    padding: 0;
+    margin: 10px 0;
+    text-align: left;
+    overflow: auto;
+}
+
+.helpheading {
+    font-weight: bold;
+    background-color: #d0d9bd;
+    border-bottom-width: 1px;
+    border-bottom-style: solid;
+    padding: 4px;
+    margin: 0;
+    margin-top: 10px;
+}
+.helpcontent {
+    padding: 4px 4px 20px 4px;
+    background-color: #f5f7f1;
+}
+
+.help-section-div .helpheading {
+    margin: 0;
+}
+.help-section-div {
+    margin-bottom: 2em;
+}
+
+#print-friendly-help-toggle {
+    position: absolute;
+    top: 1em;
+    right: 1em;
+    text-indent: -999em;
+    width: 16px;
+    height: 16px;
+    background-image: url("../../../images/icons/print_16.gif");
+    background-repeat: no-repeat;
+    outline: none;
+}
+
+#commentsHide {
+    color: #666;
+    font-weight: normal;
+}
+
+#showingComments {
+    border: none;
+    font-size: 10pt;
+}
+
+.pageSection {
+    margin-top: 10px;
+    clear: both;
+}
+
+
+.pageSectionHeader {
+    margin-bottom: 5px;
+    padding: 2px 0;
+    border-bottom-width: 1px;
+    border-bottom-style: solid;
+}
+
+.pageSectionHeader.summary {
+    border-bottom: none;
+}
+
+.pageSectionBody {
+    margin-top: 4px;
+}
+
+a.grey:link { color: #666; }
+a.grey:visited { color: #666; }
+a.grey:active { color: #666; }
+a.grey:hover { color: #666; }
+
+.more-comments {
+    font-size: 10pt;
+    color: #dde2e6;
+}
+
+.commentBox  {
+    padding: 0;
+    margin: 10px 0;
+    overflow: auto;
+}
+
+.commentBox table.comment {
+    border: 0;
+    border-bottom: #f0f0f0 1px solid;
+    border-top: #f0f0f0 1px solid;
+    margin: 0;
+    padding: 0;
+    width: 100%;
+    border-collapse: collapse;
+}
+
+.commentBox .commentinfo {
+    background-color: #f0f0f0;
+    vertical-align: top;
+    padding: 12px;
+}
+
+.commentBox .commentinfo .smalltext {
+    line-height: 11pt;
+}
+
+.commentBox .commentphoto {
+    background-color: #f0f0f0;
+    text-align: right;
+    vertical-align:top;
+    padding: 12px;
+}
+
+.commentBox .commentphoto img {
+    border: none;
+}
+
+.commentBox .commentname a:hover {
+    text-decoration: underline;
+}
+
+.commentdate {
+    margin-top: 3px;
+}
+
+.commentBox .commentdate, .commentdate a {
+    color: #000;
+    text-decoration: none;
+    font-size: 9pt;
+}
+
+.commentdate a:hover {
+    text-decoration: underline
+}
+
+.commentBox .smalltext {
+    line-height: 10pt;
+}
+
+.commentBox .smalltext a {
+    text-decoration: none;
+}
+
+.commentBox .smalltext a:hover {
+    text-decoration: underline;
+}
+
+.commentBox td.commentdetails {
+    vertical-align: top;
+    padding: 0 10px;
+}
+
+.commentBox td.commentActions {
+    padding: 0 10px 10px 10px;
+    vertical-align: bottom;
+}
+
+.commentThread {
+    clear: both; /* clear both in case there are floats or aligned images in the content that sits above the comment thread */
+}
+
+#replying .commentdetails {
+    padding: 15px 0 15px 25px
+}
+
+#replying .commentinfo {
+    background-color: #a0a0a0;
+    color: #f0f0f0;
+}
+
+#replying .commentdate, #replying .commentdate a {
+    color: #f0f0f0;
+}
+
+#replying .commentname a {
+    color: #f0f0f0;
+}
+
+#replying .commentphoto {
+    background-color: #a0a0a0;
+}
+
+#replying table.comment {
+    border-bottom-color: #a0a0a0;
+    border-top-color: #a0a0a0;
+}
+
+#addition .commentdetails {
+    padding: 15px 30px 10px 30px;
+}
+
+#addition .commentinfo {
+    background-color: #a0a0a0;
+    color: #f0f0f0;
+}
+
+#addition .commentname a {
+    color: #f0f0f0;
+}
+
+#addition .commentdate, #addition .commentdate a {
+    color: #f0f0f0;
+}
+
+#addition .commentphoto {
+    background-color: #a0a0a0;
+}
+
+#addition table.comment {
+    border-bottom-color: #a0a0a0;
+    border-top-color: #a0a0a0;
+}
+
+#focusedComment .commentBox td.commentdetails, #focusedComment td.commentActions {
+    background: #ffffd7;
+}
+
+.anonymousAlert, .lockAlert {
+    background-color: #f0f0f0;
+    border: 1px dashed red;
+    font-size: 11px;
+    padding: 10px 5px;
+    margin: 4px;
+    line-height: 13px;
+}
+
+.lockAlert {
+    width: 50%;
+}
+
+.navmenu {
+    border: 1px solid #ccc;
+}
+
+.menuheading {
+    font-weight: bold;
+    background-color: #f0f0f0;
+    border-bottom-width: 1px;
+    border-bottom-style: solid;
+    padding: 4px 4px 2px 4px;
+}
+
+.menuitems {
+    padding: 4px 4px 20px 4px;
+}
+
+.rightpanel {
+    background: #f0f0f0;
+    -moz-border-radius: 3px; /* Firefox */
+    -webkit-border-radius: 3px; /* Safari */
+    border-radius: 3px; /* CSS3 (Opera?) */
+    padding: .9em;
+}
+
+#helpheading {
+    text-align: left;
+    color: #333;
+    padding: .1em;
+    font-size: 13px;
+    border-bottom: 1px solid #ccc;
+    padding-bottom: .2em;
+    margin: -.1em
+}
+
+#helpcontent {
+    margin-top: .9em;
+}
+
+#helpcontent p {
+    margin-bottom: 0;
+    margin-top: .9em;
+}
+
+#helpcontent ul {
+    padding-left: 1.3em;
+}
+
+#helpcontent dl {
+    margin-top: 0;
+}
+
+#helpcontent dl dd {
+    margin: 0;
+    color: #333;
+    font-size: 90%;
+    margin-bottom: .2em;
+}
+
+#helpcontent dl dd code,
+#helpcontent dl dd pre {
+    color: #666;
+    margin: 0;
+    padding: 0;
+}
+
+#helpcontent dl dd.text-formatting code {
+    display: inline-block;
+    width: 6em;
+}
+
+#helpcontent dl dt {
+    margin-top: 1em;
+}
+#helpcontent dl dt.first {
+    margin-top: 0;
+}
+
+.helptab-unselected {
+    font-weight: bold;
+    padding: 5px;
+    background-color: #f5f7f1;
+}
+.helptab-selected {
+    font-weight: bold;
+    background-color: #d0d9bd;
+    padding: 5px;
+}
+.helptabs {
+    margin: 0;
+    background-color: #f5f7f1;
+    padding: 5px;
+}
+
+#profileSummary h3 {
+    font-weight: bold;
+    font-size: 10pt;
+    margin: 12px 0 4px;
+    padding: 0;
+}
+#profileSummary ul {
+    list-style-type: none;
+    margin: 0;
+    padding: 0;
+}
+
+.pageheader {
+    padding: 5px 5px 5px 0;
+    border-bottom-width: 1px;
+    border-bottom-style: solid;
+}
+
+.pagetitle {
+    font-size: 18pt;
+    line-height: normal;
+    font-weight: bold;
+}
+
+.newpagetitle {
+    color: #ccc !important;
+}
+
+.steptitle {
+    font-size: 18px;
+    font-weight: bold;
+    margin-bottom: 7px;
+}
+
+.substeptitle {
+    font-size: 12px;
+    font-weight: bold;
+    margin: 2px 4px 4px 4px;
+    padding: 2px 4px 1px 4px;
+}
+
+.stepdesc {
+    font-size: 10pt;
+    line-height: 13pt;
+    font-weight: normal;
+    color: #666;
+    margin-top: 7px;
+    margin-bottom: 7px;
+}
+
+.steplabel {
+    font-weight: bold;
+    margin-right: 4px;
+    color: black;
+    float: left;
+    width: 15%;
+    text-align: right;
+}
+
+.stepfield {
+    background: #f0f0f0;
+    padding: 5px;
+}
+
+.submitButtons{
+    margin-top:5px;
+    text-align:right;
+}
+
+.formtitle {
+    font-size: 12px;
+    font-weight: bold;
+}
+
+.sectionbottom {
+    border-bottom-width: 1px;
+    border-bottom-style: solid;
+}
+
+.topRow {
+    border-top-width: 2px;
+    border-top-style: solid;
+}
+
+.tabletitle {
+    font-size: 10pt;
+    font-weight: bold;
+    padding: 3px 0 2px 0;
+    margin: 8px 4px 2px 0;
+    border-bottom-width: 2px;
+    border-bottom-style: solid;
+}
+
+.tabletitleops {
+    float: right;
+}
+.tabletitleops, .tabletitleops a, .tabletitleops img {
+    vertical-align: middle;
+}
+.tabletitleops img {
+    border: none;
+}
+
+.fullWidth {
+    width: 100%;
+}
+
+.pagesubheading {
+    color: #666;
+    font-size: 10px;
+    padding: 0 0 5px 0;
+}
+
+hr {
+    color: #3c78b5;
+    height: 1px;
+}
+
+h1 a:link, h1 a:visited, h1 a:active {
+    text-decoration: none;
+}
+
+.logocell {
+    padding: 10px;
+}
+
+input {
+    font-family: Helvetica, Arial, sans-serif;
+    font-size: 10pt;
+    color: #000;
+}
+
+textarea, textarea.editor {
+    font-family: Arial, Helvetica, sans-serif;
+    font-size: 10pt;
+    color: #333;
+}
+
+.spacenametitle-printable {
+    font: 20px Impact, Arial, Helvetica;
+    font-weight: 100;
+    line-height: 25px;
+    margin: 0;
+}
+
+.spacenametitle-printable a,
+.spacenametitle-printable a:visited {
+    text-decoration: none;
+}
+
+.blogDate {
+    font-weight: bold;
+    text-decoration: none;
+    color: black;
+}
+
+.blogSurtitle {
+    background: #f0f0f0;
+    border: 1px solid #ddd;
+    padding: 3px;
+    margin: 1px 1px 10px 1px;
+}
+
+a.blogHeading {
+    font-size: 20pt;
+    line-height: normal;
+    font-weight: bold;
+    text-decoration: none;
+}
+
+.blogHeading a:hover {
+   text-decoration: underline;
+}
+
+.endsection {
+    text-align: right;
+    color: #666;
+    margin-top: 10px;
+}
+.endsectionleftnav {
+    text-align: right;
+    color: #666;
+    margin-top: 10px;
+}
+
+h1, h2, h3, h4, h5, h6 {
+    line-height: normal;
+    font-weight: bold;
+    padding: 2px;
+}
+
+h1 {
+    font-size: 24px;
+    margin: 36px 0 4px 0;
+}
+
+h2 {
+    font-size: 18px;
+    margin: 27px 0 4px 0;
+}
+
+h3 {
+    font-size: 14px;
+    margin: 21px 0 4px 0;
+}
+
+h4 {
+    font-size: 12px;
+    margin: 18px 0 4px 0;
+}
+
+h5 {
+    font-size: 10px;
+    margin: 14px 0 4px 0;
+}
+
+h6 {
+    font-size: 8px;
+    margin: 14px 0 4px 0;
+}
+
+.smallfont {
+    font-size: 10px;
+}
+.descfont {
+    color: #666;
+    font-size: 10px;
+}
+.smallerfont {
+    font-size: 9px;
+}
+.smalltext {
+    color: #666;
+    font-size: 12px;
+}
+.smalltext a {
+    color: #666;
+}
+.greyText
+{
+    color: #666;
+}
+.smalltext-blue {
+    font-size: 8pt;
+    color: #3c78b5;
+}
+.surtitle {
+    margin-left: 1px;
+    margin-bottom: 5px;
+    font-size: 14px;
+    color: #666;
+}
+
+/* css hack found here:  http://www.fo3nix.pwp.blueyonder.co.uk/tutorials/css/hacks/ */
+.navItemOver {
+    font-size: 10px;
+    font-weight: bold;
+    voice-family: "\'}\'";
+    voice-family: inherit;
+    cursor: pointer;
+}
+
+.navItem {
+    font-size: 10px;
+    font-weight: bold;
+    color: #fff;
+}
+
+.navItemOver a,
+.navItemOver a:visited,
+.navItemOver a:hover,
+.navItem a,
+.navItem a:hover,
+.navItem a:visited {
+    text-decoration: none;
+}
+
+div.padded {
+    padding: 4px;
+}
+
+div.thickPadded {
+    padding: 10px;
+}
+
+h3.macrolibrariestitle {
+    margin: 0;
+}
+
+div.centered {
+    text-align: center;
+    margin: 10px;
+}
+
+div.centered table {
+    margin: 0 auto;
+    text-align: left;
+}
+
+.tableview table {
+    margin: 0;
+}
+
+.tableview tr.alternateRow {
+    background: #f0f0f0;
+}
+
+.tableview th {
+    text-align: left;
+    font-size: 12px;
+    padding: 5px 0 0 5px;
+    border-bottom-width: 2px;
+    border-bottom-style: solid;
+}
+.tableview td {
+    text-align: left;
+    border-color: #ccc;
+    border-width: 0 0 1px 0;
+    border-style: solid;
+    margin: 0;
+    padding: 4px 10px 4px 5px;
+}
+
+.grid {
+    margin: 2px 0 5px 0;
+    border-collapse: collapse;
+}
+.grid th  {
+    border: 1px solid #ccc;
+    padding: 2px 4px 2px 4px;
+    background: #f0f0f0;
+    text-align: center;
+}
+.grid td  {
+    border: 1px solid #ccc;
+    padding: 3px 4px 3px 4px;
+}
+.gridHover {
+    background-color: #f9f9f9;
+}
+
+td.infocell {
+    background-color: #f0f0f0;
+}
+
+.label,
+label {
+    font-weight: bold;
+}
+a.label {
+    font-weight: normal;
+}
+
+.error {
+    background-color: #fcc;
+}
+
+.errorBox {
+    background-color: #fcc;
+    border: 1px solid #c00;
+    padding: 5px;
+    margin: 5px;
+}
+
+.errorMessage {
+    color: #c00;
+}
+
+.success {
+    background-color: #dfd;
+}
+
+.successBox {
+    background-color: #dfd;
+    border: 1px solid #090;
+    padding: 5px;
+    margin-top:5px;
+    margin-bottom:5px;
+}
+
+blockquote {
+    font-style: italic;
+    font-size: 10pt;
+    border-left-width: 1px;
+    border-left-style: solid;
+    padding: 0 20px;
+    margin: 10px 20px;
+}
+
+blockquote p {
+    font-size: 10pt;
+}
+
+blockquote em {
+    font-style: normal;
+}
+
+table.admin
+{
+    margin: 5px;
+    border-collapse: collapse;
+    width: 100%;
+}
+table.admin td, table.admin th
+{
+    width: 50%;
+    border: 1px solid #ccc;
+    padding: 5px;
+    vertical-align: top;
+}
+table.admin th
+{
+    background-color: #f0f0f0;
+    text-align: right;
+    font-weight: bold;
+}
+table.admin td.controls
+{
+    text-align: center;
+}
+
+div.small {
+    font-size: 9px;
+}
+
+h1.pagename {
+    margin-top: 0;
+}
+
+.loginform {
+    margin: 5px;
+    border: 1px solid #ccc;
+}
+
+/* The text how the "This is a preview" comment should be shown. */
+.previewnote {
+    text-align: center;
+    font-size: 11px;
+    color: red;
+}
+
+/* How the preview content should be shown */
+.previewcontent {
+    background: #e0e0e0;
+}
+
+/* How the system messages should be shown (DisplayMessage.jsp) */
+.messagecontent {
+    background: #e0e0e0;
+}
+
+/* How the "This page has been modified..." -comment should be shown. */
+.conflictnote { }
+
+.createlink,
+a.createlink,
+a.createlink:link,
+a.createlink:visited,
+a.createlink:active,
+a.createlink:hover {
+    color: maroon;
+}
+.templateparameter {
+    font-size: 9px;
+    color: #00008b;
+}
+
+.diffadded {
+    background: #dfd;
+    padding: 1px 1px 1px 4px;
+    border-left: 4px solid #006400;
+}
+.diffdeleted {
+    color: #999;
+    background: #fdd;
+    padding: 1px 1px 1px 4px;
+    border-left: 4px solid #8B0000;
+}
+.diffnochange {
+    padding: 1px 1px 1px 4px;
+    border-left: 4px solid #D3D3D3;
+}
+.differror {
+    background: #A52A2A;
+}
+.diff {
+    font-family: "lucida console", "courier new", monospace;
+    font-size: 12px;
+    line-height: 14px;
+}
+.diffaddedchars {
+    background-color:#9f9;
+    font-weight:bolder;
+}
+.diffremovedchars {
+    background-color:#f99;
+    text-decoration: line-through;
+    font-weight:bolder;
+}
+
+.greybackground {
+    background: #f0f0f0
+}
+
+.greybox {
+    border: 1px solid #ddd;
+    padding: 3px;
+    margin: 1px 1px 10px 1px;
+}
+
+.borderedGreyBox {
+    border: 1px solid #ccc;
+    background-color: #f0f0f0;
+    padding: 10px;
+}
+
+.greyboxfilled {
+    border: 1px solid #ddd;
+    background: #f0f0f0;
+    padding: 3px;
+    margin: 1px 1px 10px 1px;
+}
+
+.lightGreyBox {
+    background: #fafafa;
+}
+
+.navBackgroundBox {
+    padding: 5px;
+    font-size: 22px;
+    font-weight: bold;
+    color: white;
+    text-decoration: none;
+}
+
+.previewBoxTop {
+    background-color: #f0f0f0;
+    border-width: 1px 1px 0px 1px;
+    border-style: solid;
+    padding: 5px;
+    margin: 5px 0px 0px 0px;
+    text-align: center;
+}
+.previewContent {
+    background-color: #fff;
+    border-width: 0px 1px 0px 1px;
+    border-style: solid;
+    padding: 10px;
+    margin: 0px;
+}
+.previewBoxBottom {
+    background-color: #f0f0f0;
+    border-width: 0px 1px 1px 1px;
+    border-style: solid;
+    padding: 5px;
+    margin: 0px 0px 5px 0px;
+    text-align: center;
+}
+
+.functionbox {
+    background-color: #f0f0f0;
+    border: 1px solid;
+    padding: 3px;
+    margin: 1px 1px 10px 1px;
+}
+
+.functionbox-greyborder {
+    background-color: #f0f0f0;
+    border: 1px solid #ddd;
+    padding: 3px;
+    margin: 1px 1px 10px 1px;
+}
+
+.rowNormal {
+    background-color: #fff;
+ }
+
+.rowAlternate {
+    background-color: #f7f7f7;
+}
+
+/* used in the list attachments table */
+.rowAlternateNoBottomColor {
+    background-color: #f7f7f7;
+}
+
+.rowAlternateNoBottomColor td,
+.rowAlternateNoBottomNoColor td {
+    border-bottom: 0;
+}
+
+.rowHighlight {
+    background-color: #f0f0f0;
+}
+
+td.greenBar,
+td.greenbar,
+td.graybar,
+td.redbar,
+td.darkredbar {
+    font-size: 1em;
+    border: 1px solid #9c9c9c;
+    padding: 0;
+}
+
+td.greenBar,
+td.greenbar {
+    background: #00df00;
+}
+td.graybar {
+    background: #808080;
+}
+td.redbar {
+    background: #df0000;
+}
+td.darkredbar {
+    background: #af0000;
+}
+
+tr.testpassed {
+    font-size: 2px;
+    background: #dfd;
+    padding: 0;
+}
+tr.testfailed {
+    font-size: 2px;
+    background: #fdd;
+    padding: 0;
+}
+
+.toolbar  {
+    margin: 0;
+    border-collapse: collapse;
+}
+
+.toolbar td  {
+    border: 1px solid #ccc;
+    padding: 2px;
+    color: #ccc;
+}
+
+td.noformatting {
+    border-width: 0;
+    border-style: none;
+    text-align: center;
+    padding: 0;
+}
+
+/*
+ * Divs displaying the license information, if necessary.
+ */
+.license {
+    border-top: 1px solid #bbb;
+    text-align: center;
+    font-size: 10pt;
+    background-color: #ffffe0;
+}
+
+.license-eval, .license-none {
+    background-color: #fcc;
+}
+
+.license-eval b, .license-none b {
+    color: #900;
+}
+
+/*
+ * The shadow at the bottom of the page between the main content and the
+ * "powered by" section.
+ */
+.bottomshadow {
+    height: 12px;
+    background-image: url("../../../images/border/border_bottom.gif");
+    background-repeat: repeat-x;
+}
+
+/*
+ * Styling of the operations box
+ */
+.navmenu .operations li, .navmenu .operations ul {
+    list-style: none;
+    margin-left: 0;
+    padding-left: 0;
+}
+
+.navmenu .operations ul {
+    margin-bottom: 9px;
+}
+
+.navmenu .label {
+    font-weight: inherit;
+}
+
+/*
+ * Styling of ops as a toolbar
+ */
+.toolbar div {
+    display: none;
+}
+
+.toolbar .label {
+    display: none;
+}
+
+.toolbar .operations {
+    display: block;
+}
+
+.toolbar .operations ul {
+    display: inline;
+    list-style: none;
+    margin-left: 10px;
+    padding-left: 0;
+}
+
+.toolbar .operations li {
+    list-style: none;
+    display: inline;
+}
+
+.bold {
+    font-weight: bold;
+}
+
+
+/* space action links */
+.tabnav .spaceActionLinks {
+    float: right;
+    margin: 0;
+    display: block;
+}
+
+.tabnav .spaceActionLinks a span {
+    text-decoration: underline;
+}
+.tabnav .spaceActionLinks a.current {
+    color: black;
+}
+.tabnav .spaceActionLinks a.current span {
+    text-decoration: none;
+}
+
+.tabnav .spaceActionLinks a.current:link {
+    color: black;
+}
+
+.tabnav .spaceActionLinks a.current:visited {
+    color: black;
+}
+
+/* non tabs */
+.tabnav .nontabs {
+    padding: 0;
+    margin: 5px 0 0 3px;
+    display: block;
+    float: left;
+}
+
+/* editor tab customizations of the tabnav */
+#markupTab, #wysiwygTab, #previewTab {
+    font-size: 9pt;
+    padding: 3px 5px 2px; /* tab padding */
+    margin: 8px 0 0 3px; /* margin-top is used to 'push' the tab down to fill in any gaps */
+    font-weight: normal;
+}
+
+/* alphabet list */
+#squaretab {
+    margin-left: 0;
+    padding-left: 0;
+    white-space: nowrap;
+    font-family: Verdana, Helvetica, Arial, sans-serif;
+    font-size: 8pt;
+    line-height: 11pt
+}
+
+#squaretab li {
+    display: inline;
+    list-style-type: none;
+}
+
+#squaretab a {
+    padding: 5px 7px 3px 7px;
+    border-width: 1px;
+    border-style: solid;
+}
+
+#squaretab a:link,
+#squaretab a:visited {
+    color: #fff;
+    text-decoration: none;
+}
+
+#squaretab a:hover {
+    text-decoration: none;
+}
+
+#current {
+    background: #fff;
+    color: #000;
+}
+
+.blogcalendar th,
+.blogcalendar td  {
+    font-size: x-small;
+    font-weight: normal;
+    line-height: 140%;
+    padding: 2px;
+}
+
+table.blogcalendar {
+    border-width: 1px;
+    border-style: solid;
+}
+
+.blogcalendar th.calendarhead,
+a.calendarhead {
+    font-size: x-small;
+    font-weight: bold;
+    padding: 2px;
+    letter-spacing: 0.3em;
+    text-transform: uppercase;
+}
+
+.blogcalendar th.calendarhead,
+.calendarhead,
+.calendarhead:link,
+.calendarhead:visited,
+.calendarhead:active,
+.calendarhead:hover {
+    color: #fff;
+}
+
+.blogcalendar th {
+    font-size: x-small;
+    font-weight: bold;
+    padding: 2px;
+    background-color: #f0f0f0;
+}
+
+.blogcalendar td {
+    font-size: x-small;
+    font-weight: normal;
+}
+
+.searchGroup {
+    padding: 0 0 10px 0;
+    background: #f0f0f0;
+}
+
+.searchGroupHeading {
+    font-size: 10px;
+    font-weight: bold;
+    color: #fff;
+    padding: 2px 4px 1px 4px;
+}
+
+.searchItem {
+    padding: 1px 4px;
+}
+
+.searchItemSelected {
+    padding: 1px 4px;
+    font-weight: bold;
+    background: #ddd;
+}
+
+/* permissions page styles */
+.permissionHeading {
+    border-bottom: #bbb;
+    border-width: 0 0 1px 0;
+    border-style: solid;
+    font-size: 16px;
+    text-align: left;
+}
+
+.permissionTab,
+.permissionSuperTab,
+.permissionCell {
+    border-width: 0 0 0 1px;
+    border-style: solid;
+}
+
+.permissionTab {
+    font-size: 10px;
+}
+
+.permissionCell {
+    border-left: #bbb;
+    white-space: nowrap;
+}
+
+/* side menu highlighting (e.g. space content screen) */
+.optionPadded {
+    padding: 2px;
+}
+
+.optionSelected, .optionPadded.selected {
+    background-color: #ffc;
+    padding: 2px;
+    border: 1px solid #ddd;
+    margin: -1px;
+}
+
+.optionSelected a, .optionPadded.selected a {
+    font-weight: bold;
+    text-decoration: none;
+    color: black;
+}
+
+/* styles for extended operations */
+.greyLinks a:link,
+.greyLinks a:visited,
+.greyLinks a:active,
+.greyLinks a:hover {
+    color: #666;
+    text-decoration: underline;
+}
+
+.greyLinks {
+    color: #666;
+    padding: 10px;
+}
+
+.operation-links {
+    color: #666;
+    margin-bottom: 10px;
+}
+.operation-links a:link,
+.operation-links a:visited,
+.operation-links a:active,
+.operation-links a:hover {
+    color: #666;
+    text-decoration: underline;
+}
+
+.separatorLinks a:link,
+.separatorLinks a:visited,
+.separatorLinks a:active {
+    color: white;
+}
+
+.greynavbar {
+    background-color: #f0f0f0;
+    border-top-width: 1px;
+    border-top-style: solid;
+}
+
+div.headerField {
+    float: left;
+    width: auto;
+    height: 100%;
+}
+
+.headerFloat {
+    margin-left: auto;
+    width: 50%;
+}
+
+.headerFloatLeft {
+    float: left;
+    margin-right: 20px;
+    margin-bottom: 10px;
+}
+
+#headerRow {
+    padding: 10px;
+}
+
+.greyFormBox {
+    border: 1px solid #ccc;
+    padding: 5px;
+}
+
+.openPageHighlight {
+    background-color: #ffc;
+    padding: 2px;
+    border: 1px solid #ddd;
+}
+
+.editPageInsertLinks, .editPageInsertLinks a {
+    color: #666;
+    font-weight: bold;
+    font-size: 10px;
+}
+
+/* Style for label heatmap. */
+.top10 a {
+    font-weight: bold;
+    font-size: 2em;
+    color: #036;
+}
+.top25 a {
+    font-weight: bold;
+    font-size: 1.6em;
+    color: #036;
+}
+.top50 a {
+    font-size: 1.4em;
+    color: #036;
+}
+.top100 a {
+    font-size: 1.2em;
+    color: #036;
+}
+
+.heatmap {
+    list-style: none;
+    width: 95%;
+    margin: 0 auto;
+}
+
+.heatmap a {
+    text-decoration: none;
+}
+
+.heatmap a:hover {
+    text-decoration: underline;
+}
+
+.heatmap li {
+    display: inline;
+}
+
+.minitab {
+    padding: 5px;
+    margin: 1px 0 0 0;
+    border-bottom-width: 1px;
+    border-bottom-style: solid;
+    text-decoration: none;
+    float: none;
+}
+
+.minitab a {
+    padding: 5px 5px;
+    margin-left: 3px;
+    margin-top: 1px;
+    border-top: 1px solid;
+    border-right: 1px solid;
+    border-left: 1px solid;
+}
+
+#makeRichTextDefault, #makeMarkupDefault {
+    border: 0;
+    font-weight: normal;
+    text-decoration: none;
+}
+
+.minitab .selected {
+    background: white;
+    border-bottom: 1px solid white;
+    color: #000;
+    text-decoration: none;
+}
+.minitab .unselected {
+    border-bottom-width: 1px;
+    border-bottom-style: solid;
+    color: #fff;
+    text-decoration: none;
+}
+
+.minitab a.unselected:link,
+.minitab a.unselected:visited {
+    color: white;
+}
+.minitab a.selected:link,
+.minitab a.selected:visited {
+    color: black;
+}
+
+.minitabFont {
+    font-size: 9pt;
+    line-height: 9pt;
+}
+
+.linkerror {
+    background-color: #fcc;
+}
+
+a.labelOperationLink:link,
+a.labelOperationLink:active,
+a.labelOperationLink:visited,
+a.labelOperationLink:hover {
+    text-decoration: underline;
+}
+
+a.newLabel:link,
+a.newLabel:active,
+a.newLabel:visited,
+a.newLabel:hover {
+    background-color: #dfd;
+}
+
+ul.square {
+    list-style-type: square;
+}
+
+/* Label auto complete styles needed until we use requireResource properly in labels-include.vm */
+div.auto_complete {
+    width: 350px;
+    background: #fff;
+}
+div.auto_complete ul {
+    border: 1px solid #888;
+    margin: 0;
+    padding: 0;
+    width: 100%;
+    list-style-type: none;
+}
+div.auto_complete ul li {
+    margin: 0;
+    padding: 3px;
+}
+div.auto_complete ul li.selected {
+    background-color: #ffb;
+}
+div.auto_complete ul strong.highlight {
+    color: #800;
+    margin: 0;
+    padding: 0;
+}
+
+/******* Edit Page Styles *******/
+.toggleFormDiv{
+    border: 1px solid #a7a6aa;
+    background-color: white;
+    margin-top: 5px;
+}
+
+.toogleInfoDiv{
+    border: 1px solid #a7a6aa;
+    background-color: white;
+    display: none;
+    padding: 5px;
+    margin-top: 10px;
+}
+
+.inputSection{
+    margin-bottom: 20px;
+}
+
+#anonymous-warning {
+    padding: 15px 10px;
+}
+
+#editBox{
+   border: 1px solid #d3d3d3;
+   background-color: #f0f0f0;
+}
+
+.tab-navigation .current a {
+    color: #000;
+    background-color: #fff;
+    border-bottom-color: #fff;
+}
+
+.replaced {
+    background-color: #3c6;
+}
+
+.topPadding {
+    margin-top: 20px;
+}
+
+/* new form style */
+.form-block {
+    padding: 6px;
+}
+.form-error-block {
+    background: #fcc;
+    border-top: #f0f0f0 1px solid;
+    border-bottom: #f0f0f0 1px solid;
+    margin-bottom: 6px;
+    padding: 0 12px;
+}
+.form-element-large {
+    font-size: 16px;
+    font-weight: bold;
+}
+
+.form-element-small {
+    font-size: 12px;
+    font-weight: bold;
+}
+
+.form-header {
+    background: #ffffe0;
+    border-top: #f0f0f0 1px solid;
+    border-bottom: #f0f0f0 1px solid;
+    margin-bottom: 6px;
+    padding: 0 12px 0 12px;
+}
+.form-header p, .form-block p, .form-error-block p {
+    line-height: normal;
+    margin: 12px 0;
+}
+.form-example {
+    color: #888;
+    font-size: 11px;
+}
+.form-divider {
+    border-bottom: #ccc 1px solid;
+    margin-bottom: 6px;
+}
+.form-buttons {
+    margin-top: 6px;
+    border-top: #ccc 1px solid;
+    border-bottom: #ccc 1px solid;
+    background: #f0f0f0;
+    padding: 10px;
+    text-align: center;
+}
+.form-buttons input {
+    width: 100px;
+}
+.form-block .error {
+    padding: 6px;
+    margin-bottom: 6px;
+}
+
+form.edit-trust-app fieldset {
+    border: none;
+}
+form.edit-trust-app fieldset div {
+    border: none;
+    border-left: solid 11em #f0f0f0;
+    padding: 0;
+    float: left;
+}
+form.edit-trust-app fieldset label {
+    float: left;
+    width: 10em;
+    padding: 0;
+    margin: 5px 1em 0 -10.5em;
+    text-align: right;
+    clear: left;
+}
+form.edit-trust-app fieldset input,
+form.edit-trust-app fieldset textarea {
+     margin: 5px 0 0 0;
+     float: left;
+}
+form.edit-trust-app fieldset div.buttons {
+     border: none;
+     clear: left;
+     text-align: center;
+     float: none;
+}
+form.edit-trust-app fieldset div.buttons input {
+     float: none;
+}
+
+/*START AtlassianUI Forms*/
+
+form.aui {
+    border:1px solid #ddd;
+    background:#f0f0f0;
+    position:relative;
+    margin:2em 0 0;
+    padding:1em;
+}
+
+form.aui fieldset {
+    border:0;
+    margin:0;
+    padding:0;
+}
+
+form.aui fieldset legend span,form.single fieldset span.legend {
+    font-size:1.1em;
+    font-weight:700;
+    position:absolute;
+    top:-1.3em;
+    left:.5em;
+}
+
+form.aui fieldset label {
+    color:#000;
+    background:#f0f0f0;
+    display:block;
+    margin-bottom:.5em;
+}
+
+form.aui fieldset input {
+    display:block;
+    margin-left:0;
+}
+
+form.aui fieldset.submit input {
+    display:inline;
+    margin-top:.5em;
+}
+
+form.aui fieldset.inline label,form.single fieldset label {
+    width:auto;
+    float:left;
+}
+
+form.aui fieldset.inline a.icon,form.single fieldset a.icon {
+    float:left;
+    outline:0;
+    margin:.3em 1em 0 0;
+}
+
+form.aui fieldset.inline label.legend {
+    width:auto;
+    float:left;
+    margin:0;
+}
+
+form.aui fieldset.inline input,form.single fieldset input {
+    margin-right:.5em;
+}
+
+form.aui fieldset.inline input.inline {
+    display:inline;
+    margin-top:1.5em;
+}
+
+form.aui fieldset.inline fieldset.submit {
+    float:left;
+    width:auto;
+    padding:.7em 0 0;
+}
+
+form.single fieldset.submit input {
+    margin-top:.1em;
+}
+
+form.single fieldset fieldset.submit {
+    float:left;
+    width:auto;
+    padding:0;
+}
+
+form.aui .desc {
+    clear:both;
+    color:#666;
+    font-size:12px;
+    margin:-.2em 0 0;
+    padding:0 0 .3em;
+}
+
+form.aui .error {
+    font-weight:700;
+    color:#c00;
+    background:#f0f0f0;
+    display:inline;
+    margin:0;
+    padding:0;
+}
+
+
+/*END AtlassianUI Forms*/
+
+.status-red {
+    color: #800;
+    font-weight: bold;
+}
+.status-green {
+    color: #080;
+    font-weight: bold;
+}
+
+.person {
+    background-color: white;
+    width: 200px;
+    float: left;
+}
+.person td {
+    white-space: nowrap;
+}
+#viewAttachmentsDiv input.commentTextField {
+    width: 300px;
+}
+#blogcalendar span.fwdArrow {
+    float: right;
+    display: block;
+    width: 16px;
+    height: 16px;
+    background-repeat: no-repeat;
+    background-image: url(/images/icons/forwd_16.gif);
+}
+#blogcalendar span.fwdArrow span {
+    display: none;
+}
+#blogcalendar span.backArrow {
+    float: left;
+    display: block;
+    width: 16px;
+    height: 16px;
+    background-repeat: no-repeat;
+    background-image: url(/images/icons/back_16.gif);
+}
+#blogcalendar span.backArrow span {
+    display: none;
+}
+.pageInfoTable {
+    padding: 0;
+    margin: 0;
+    border: 0;
+    width: 100%;
+    border-collapse: collapse;
+}
+.pageInfoTable td {
+    padding: 3px;
+}
+.pageInfoTable tr.alternateRow {
+    background: #f0f0f0;
+}
+.pageInfoLayoutTable {
+    width: 100%;
+    border-collapse: collapse;
+}
+.pageInfoLayoutTable td {
+    padding: 5px;
+}
+
+.memoryusagebar {
+    width: 100%;
+}
+.memoryusagebar td {
+    border: none !important;
+    vertical-align: middle !important;
+}
+
+input.alignedCheckbox {
+    margin: 0;
+}
+
+div.spacer {
+    clear: both;
+}
+
+span.left {
+    float: left;
+    text-align: left;
+}
+
+span.right {
+    float: right;
+    text-align: right;
+}
+
+#permissionsDiv label {
+    font-weight: bold;
+    color: black;
+}
+
+.pagePermissionsTable {
+    border-collapse: collapse;
+    padding: 2px;
+    border-top: 1px solid #ccc;
+    border-bottom: 1px solid #ccc;
+    width: 100%;
+}
+
+.pagePermissionsTable tr td {
+    padding: 4px
+}
+
+.pagePermissionsErrorDiv {
+    margin: 6px 0 6px 0;
+    background-color: #fcc;
+    border-top: 1px solid #c00;
+    border-bottom: 1px solid #c00;
+    padding: 3px;
+}
+
+.pagePermissionsInput {
+    background-color: #ffffce;
+    padding: 4px;
+    margin-top: 4px;
+}
+
+#inheritedPermissionsBox {
+    margin: 8px 8px 0 8px;
+    padding: 8px;
+}
+
+.nobr {
+    white-space: nowrap;
+}
+
+label.normal {
+    font-weight: normal;
+    color: black
+}
+
+div.leftFloatMargined {
+    float: left;
+    margin-right: 2px
+}
+
+#entitySearchResults {
+    border-collapse: collapse;
+    background-color: #fafafa;
+    text-align: left;
+    width: 100%;
+}
+
+#entitySearchResults td {
+    border-top: 1px solid #ccc;
+    padding: 3px;
+    background-color: white;
+    vertical-align: top;
+}
+
+#entitySearchResults th {
+    color: #666;
+    padding: 3px;
+    white-space:nowrap;
+}
+
+#entitySearchResults .firstColumn {
+    width: 2%;
+    text-align: right;
+}
+
+#entitySearchResults .secondColumn {
+    width: 1px;
+    text-align: right;
+}
+
+a.paddedGreyDisabled {
+    background-color: #f0f0f0;
+    padding: 4px;
+    text-decoration: none;
+    color: #666;
+}
+
+a.grey {
+    color: #666;
+}
+
+div.topBottomMargin {
+    margin: 10px 0 10px 0
+}
+
+div.bottomMargin {
+    margin-bottom: 10px
+}
+
+table.spaceList {
+    border-collapse: collapse;
+}
+
+tr.spaceList td {
+    padding: 5px 0 5px 5px;
+    border-bottom: 1px solid #ccc;
+    vertical-align: top;
+}
+
+.spaceList .spaceDescription {
+    margin-top: 3px;
+    color: #666;
+}
+
+tr.spaceList .operations {
+    vertical-align: top;
+    padding-right: 5px;
+}
+
+.fontSizeBigger {
+    font-size: 11pt;
+    line-height: 14pt;
+}
+
+.fontSizeDefault {
+    line-height: 1.3em;
+}
+
+.fontSizeSmaller {
+    font-size: 10pt;
+    line-height: 13pt;
+}
+
+/* deprecated. TODO - check for use in themes and remove. */
+.fontSizeTiny {
+    font-family: Verdana, Helvetica, Arial, sans-serif;
+    font-size: 8pt;
+    line-height: 11pt;
+}
+
+table.dashboard td.left {
+    padding-right: 16px;
+}
+
+.clearBoth {
+    clear: both;
+}
+
+#labelInputSpan {
+    margin-top: 1px;
+}
+
+form#quickSearch {
+    margin: 2px;
+    padding: 0;
+}
+
+form#quickSearch input {
+    font-size: 10pt;
+    vertical-align: middle;
+}
+
+table.fullWidthBorderless
+{
+    width: 100%;
+    border: 0;
+    border-collapse: collapse;
+}
+
+/* Hacks for YUI menustuff */
+
+#pageMenusMenuBar {
+   padding: 4px;
+}
+
+#notificationFormat {
+    padding: 0;
+    margin: -9px 15px;
+}
+
+#notificationFormat h4 {
+    font-weight: normal;
+}
+
+#notificationFormat h2 {
+    font-weight: normal;
+}
+
+#rssFormat {
+    padding: 0;
+    margin: 6px 15px;
+}
+
+.notificationGreySide {
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+    margin: 0 0 5px 0;
+    padding: 3px 17px;
+}
+
+.notificationDigest {
+    padding: 0 17px;
+}
+
+.darkBlue {
+    color: #036;
+}
+
+.grey {
+    color: #666;
+}
+
+table.attachments {
+    width: 100%;
+    border-collapse: collapse;
+}
+
+table.attachments th {
+    white-space: nowrap;
+    width: 1%;
+}
+
+table.attachments td {
+    white-space: nowrap;
+    vertical-align: top;
+    width: 1%;
+}
+
+table.attachments td.comment, table.attachments th.comment, table.attachments td.attachedto, table.attachments th.attachedto {
+    white-space: normal;
+    width: auto;
+}
+
+table.attachments tr.historicalAttachmentRow {
+    background-color: #f7f7f7;
+}
+
+table.attachments tr.historicalAttachmentRow td,
+table.attachments tr.historicalAttachmentRow td a {
+    color: #666;
+}
+
+#contentOptions {
+    list-style: none;
+    margin: 0;
+    padding: 0;
+}
+
+#exportContentTree {
+    list-style-type: none;
+    margin: 5px 0;
+}
+
+#contentOptionAllNote {
+    color: #666;
+    font-weight: normal;
+}
+
+.hidden,
+li.hidden {
+    display: none;
+    visibility: hidden;
+}
+#main {
+    text-align: left;
+    background-color: #fff;
+}
+#header {
+    min-height: 1.8em;
+    line-height: 1.8;
+    margin: 0;
+    padding: 0;
+}
+#quick-search {
+    margin: 0;
+    padding: 0;
+}
+#quick-search fieldset {
+    float: right;
+    border: none;
+    margin: 0;
+    padding: 0;
+}
+#quick-search legend {
+    display: none;
+}
+#quick-search .placeholded {
+    color: #666;
+}
+#quick-search-query {
+    width: 13em;
+}
+/* default user navigation styles for themes using the old markup */
+#user-control-panel, #page-view-panel, #page-prefs-list {
+    list-style: none;
+    margin: 0;
+    padding: 0;
+}
+#user-control-panel li,
+#page-view-panel li,
+#page-prefs-list li,
+.userNavBar li { /* deprecated styles provided for themes written prior to 2.8 */
+    list-style: none;
+    display: inline;
+    color: #666;
+    font-size: 0.95em;
+    padding: 0 0 0 0.3em;
+}
+#user-control-panel a {
+    color: #666;
+}
+#user-control-panel li.first {
+    border:medium none;
+}
+#user-control-panel li {
+    border-left: 1px solid #666;
+    padding-left: 0.5em;
+}
+#page-view-panel li {
+    float: right;
+}
+
+#breadcrumbs {
+    list-style: none;
+    padding: 0;
+    margin: 0;
+    overflow: auto;
+}
+
+#breadcrumbs li {
+    white-space: nowrap;
+    display: inline;
+    float: left;
+    margin: 0 .2em 0 0;
+    line-height: 1.8em;
+    padding-left: 15px;
+    background: url(../../../images/decoration/white_breadcrumbs_indicator.png);
+    background-repeat: no-repeat;
+    background-position: 3px center;
+}
+
+#breadcrumbs li.first {
+    padding-left: 0;
+    background-image: none;
+}
+
+#breadcrumbs li a {
+    text-decoration: none;
+}
+
+#breadcrumbs li a:hover {
+    text-decoration: underline;
+}
+
+#breadcrumbs li span {
+    display: block;
+}
+
+#ellipsis strong {
+    cursor: pointer;
+    font-weight: normal;
+}
+
+#breadcrumbs li.hidden-crumb {
+    display: none;
+}
+
+/** Links */
+a.icon {
+    display: block;
+    min-height: 16px;
+    text-align: left;
+    text-indent: -9999em;
+    width: 16px;
+}
+
+a.print {
+    background: url(../../../images/icons/print_16.gif) no-repeat 50% 50%;
+}
+a.feed {
+    background: url(../../../images/icons/feed-icon-16x16.png) no-repeat 50% 50%;
+}
+a.pdf {
+    background: url(../../../images/icons/attachments/pdf.gif) no-repeat 50% 50%;
+}
+a.help {
+    background: url(../../../images/icons/help_16.gif) no-repeat 50% 50%;
+}
+a.add-user {
+    background: url(../../../images/icons/classic/16/125.png) no-repeat 50% 50%;
+}
+
+a.remove-user {
+    background: url(../../../images/icons/classic/16/123.png) no-repeat 50% 50%;
+}
+
+a.groups {
+    background: url(../../../images/icons/classic/16/127.png) no-repeat 50% 50%;
+}
+
+a.cancel {
+    background: url(../../../images/icons/emoticons/error.gif) no-repeat 50% 50%;
+}
+
+a.search-icon {
+    background: url(../../../images/icons/srch_16.gif) no-repeat 50% 50%;
+}
+
+a img {
+    border: none;
+}
+
+a.texticon {
+    min-height: 16px;
+    text-align: left;
+    padding:0 10px 0 20px;
+    background-position: 0 50%;
+    outline:0 none;
+}
+
+
+/* // Links **/
+#com-atlassian-confluence h1 {
+    line-height: 2;
+    margin: 0 0 10px 0;
+    padding: 0;
+    width: 100%;
+}
+#com-atlassian-confluence h1 img {
+    float: left;
+    margin: 0 .3em 0 0;
+}
+br.clear {
+    clear: both;
+    height: 1px;
+    overflow: hidden;
+}
+#footer, #footer-warning {
+    background: #f0f0f0;
+    text-align: center;
+}
+#footer p.license, #footer p.license a {
+    background: #036;
+    color: #fff;
+    margin: 0;
+}
+#footer #poweredby {
+    background: #f0f0f0 url("../../../images/border/border_bottom.gif") repeat-x;
+    color: #666;
+    margin: 0;
+    padding: .5em;
+    list-style: none;
+}
+#footer #poweredby a, #footer-warning {
+    color: #666;
+}
+#footer #poweredby li {
+    display: inline;
+}
+#footer #poweredby li.print-only {
+    display: none;
+}
+#footer p.warning {
+    margin: 0 40px 10px 40px;
+    text-align: center;
+}
+#menu-bar, #navigation .space-browse-links {
+    float: right;
+}
+#navigation .space-browse-links ul {
+    list-style: none;
+    margin: 0;
+    padding: 0;
+}
+#menu-bar {
+    margin: 0 .5em;
+}
+table {
+    clear: left;
+}
+.space-browse-links a:link,
+.space-browse-links a:active,
+.space-browse-links a:visited {
+    border: 1px solid #3c78b5;
+    color: #000;
+    display: block;
+    font-weight: bold;
+    line-height: 2;
+    margin: 0.35em 0 -1px 0.5em;
+    padding: 0 0.5em 0 24px;
+    position: relative;
+    text-decoration: none;
+}
+.space-browse-links a:hover {
+    background-color: #036;
+    border: 1px solid #036;
+    color: #fff;
+}
+.space-browse-links a img {
+    float: left;
+    left: 4px;
+    margin: -8px 0 0;
+    position: absolute;
+    top: 50%;
+}
+#tree-div {
+    min-height:300px;
+}
+.mailLabel {
+    color: #666;
+    font-weight: bold;
+}
+
+.unparented {
+    list-style: none;
+    margin: 0;
+    padding: 0;
+}
+
+.parented {
+    list-style-image: url(../../../images/icons/link_out_bot.gif);
+}
+
+.mailthread ul {
+    list-style-image: url(../../../images/icons/link_out_bot.gif);
+}
+.selectedMail {
+  background-color: #ffc;
+  padding: 2px;
+  border: 1px solid #ddd;
+}
+
+.excerpt {
+  margin-top: 0;
+  margin-bottom: 0;
+}
+
+.captcha {
+    padding: 10px;
+}
+.captcha-image {
+    border: 1px solid #000;
+}
+
+.version-info {
+    margin-bottom: 10px;
+}
+
+/* Fix menu focus when selecting with mouse in Firefox */
+li:active, a:active {
+  outline: none;
+}
+
+/* Confluence global/space message styles */
+#messageContainer {
+    background: #fff;
+    list-style: none;
+    margin: 0 -10px;
+    padding: 0;
+}
+
+#messageContainer li {
+    padding: 5px;
+    display: none;
+}
+
+.message-close-button {
+    height: 16px;
+    width: 16px;
+    border: none;
+    float: right;
+    cursor: pointer;
+}
+
+.page-metadata-icons {
+    display: inline;
+    margin: 0;
+    padding: 0;
+    float: left;
+}
+
+.page-metadata-icons li {
+    list-style: none;
+    float: left;
+    padding: 0 5px 0 0;
+    margin: 0;
+}
+
+.page-metadata-icons a {
+	text-decoration: none;
+    vertical-align: middle;
+}
+
+.page-metadata-icons a.page-restrictions span,
+.page-metadata-icons a.action-view-attachments span.page-metadata-attachments-text {
+    float: left;
+	height: 16px;
+	width: 16px;
+    text-indent: -9999em;
+}
+
+.page-metadata-icons a.page-restrictions span {
+    background: url(../../../images/icons/lock_16_grey.gif) no-repeat;
+}
+
+.page-metadata-icons a.action-view-attachments span.page-metadata-attachments-text {
+	background: url(../../../images/icons/attach_16.png) no-repeat;
+}
+
+.on-label, yes-label {
+    color: #009900;
+    font-weight: bold;
+}
+
+.off-label, no-label {
+    color: #990000;
+    font-weight: bold;
+}
+
+.margin-top-zero {
+    margin-top: 0;
+}
+
+.progress-fill-color {
+    background: #00df00;
+}
+
+.progress-background-color {
+    background: #fff;
+}
+
+.vertical-center-aligning-container {
+    display: table;
+    height: 400px;
+    /* position : relative; */
+    overflow: hidden;
+}
+
+.vertical-center-div-outer {
+    /* position : absolute;
+    top : 50%; */
+    display: table-cell;
+    vertical-align: middle;
+}
+
+.vertical-center-div-inner {
+    /* position : relative;
+    top : -50%; */
+    text-align: center;
+}
+
+.dark-grey-background {
+    background-color: #cccccc; 
+}
+
+
+/* End Confluence master stylesheet */
+
+
+
+.wiki-content,
+.wiki-content p,
+.wiki-content table,
+.wiki-content tr,
+.wiki-content td,
+.wiki-content th,
+.wiki-content ol,
+.wiki-content ul,
+.wiki-content li {
+    font-size: 10pt;
+    line-height: 13pt;
+}
+
+.wiki-content p {
+    margin: 10px 0;
+    padding: 0;
+}
+
+.wiki-content li,
+.wiki-content ul p,
+.wiki-content ol p {
+    margin: 0;
+    padding: 0;
+}
+
+.wiki-content ul {
+    list-style-type: disc;
+}
+
+.wiki-content ol,
+.wiki-content ol ol ol ol,
+.wiki-content ol ol ol ol ol ol ol,
+.wiki-content ol ol ol ol ol ol ol ol ol ol {
+    list-style-type: decimal;
+}
+
+.wiki-content ol ol,
+.wiki-content ol ol ol ol ol,
+.wiki-content ol ol ol ol ol ol ol ol,
+.wiki-content ol ol ol ol ol ol ol ol ol ol ol {
+    list-style-type: lower-alpha;
+}
+
+.wiki-content ol ol ol,
+.wiki-content ol ol ol ol ol ol,
+.wiki-content ol ol ol ol ol ol ol ol ol,
+.wiki-content ol ol ol ol ol ol ol ol ol ol ol ol {
+    list-style-type: lower-roman;
+}
+
+/*Needs the id selector because of the
+'#com-atlassian-confluence h1' entry in master.css*/
+#com-atlassian-confluence .wiki-content h1,
+.wiki-content h2,
+.wiki-content h3,
+.wiki-content h4,
+.wiki-content h5,
+.wiki-content h6 {
+    font-weight: bold;
+    line-height: normal;
+    padding: 0;
+}
+
+#com-atlassian-confluence .wiki-content h1
+{
+    font-size: 18pt;
+    margin-top: 32px;
+}
+
+.wiki-content h2 {
+    font-size: 16pt;
+    margin-top: 24px;
+}
+
+.wiki-content h3 {
+    font-size: 14pt;
+    margin-top: 20px;
+}
+
+.wiki-content h4 {
+    font-size: 12pt;
+    margin-top: 14px;
+}
+
+.wiki-content h5 {
+    font-size: 11pt;
+    margin-top: 12px;
+}
+
+.wiki-content h6 {
+    font-size: 10pt;
+    color: black;
+    margin-top: 8px;
+}
+
+.wiki-content .confluenceTable, .grid {
+    margin-left: 0px;
+    margin-right: 0;
+    margin-top: 10px;
+    margin-bottom: 10px;
+    padding: 0;
+}
+
+.wiki-content td.confluenceTd {
+    padding-right: 10px;
+}
+.wiki-content td.confluenceTd,
+.wiki-content th.confluenceTh {
+    margin: 0;
+    padding: 0;
+}
+.wiki-content-preview {
+    padding: 5px;
+    border-left: 1px solid;
+    border-right: 1px solid;
+}
+
+/* Styles for TinyMCE editor content */
+
+.mceContentBody {
+    border: none;
+    padding: 10px;
+    text-align: left;
+    background-color: #fff;
+}
+
+/* IE makes paragraphs in tables, so remove the default margin */
+.mceContentBody .confluenceTable p {
+    margin: 0;
+}
+#tab-navigation {
+    border-bottom: 1px solid;
+    margin: 0 -10px;
+    margin-bottom: 10px;
+    padding: 0 10px;
+}
+
+.tab-navigation {
+    list-style: none;
+    display: block;
+    margin: 0 0 -1px;
+    padding: 0;
+    overflow: hidden;
+}
+.tab-navigation .tab {
+    float: left;
+    display: inline;
+    font-weight: bold;
+    margin: 0 5px -1px 0;
+}
+.tab-navigation .tab a {
+    padding: .3em .4em;
+    text-decoration: none;
+    display: block;
+    -moz-border-radius-topleft: 3px;
+    -moz-border-radius-topright: 3px;
+    -webkit-border-top-left-radius: 3px;
+    -webkit-border-top-right-radius: 3px;
+}
+.tab-navigation .notab {
+    margin: 1px 1px 0 1px;
+    padding: .3em;
+    float: left;
+}
+
+/* Make the following more specific, so they aren't overriden by themes. */
+ul.tab-navigation .current a {
+    color: #000;
+    background-color: #fff;
+    border-bottom-color: #fff; /* IE */
+}
+ul.tab-navigation .current a:hover {
+    color: #000;
+    background-color: #fff;
+    border-bottom-color: #fff; /* IE */
+}
+
+/*
+ * Drop down menu stylesheet
+ */
+
+/* Menu bar layout */
+.ajs-menu-bar {
+    float: right;
+    line-height: 1.5;
+}
+.ajs-menu-bar,
+.ajs-menu-bar .ajs-button,
+.ajs-menu-bar .ajs-button a,
+.ajs-menu-bar .ajs-button span,
+.ajs-menu-bar .ajs-menu-item .ajs-menu-title,
+.ajs-menu-bar .ajs-menu-item .ajs-menu-title span,
+.ajs-menu-bar .ajs-menu-item .ajs-menu-title span span,
+.ajs-menu-bar .ajs-drop-down a,
+.ajs-menu-bar .ajs-drop-down a span,
+.ajs-menu-bar .ajs-drop-down a span span {
+     /* all containers are block-level with no margin or padding by default */
+    display: block;
+    margin: 0;
+    padding: 0;
+}
+.ajs-menu-bar .ajs-button span,
+.ajs-menu-bar .ajs-menu-item .trigger span span {
+    padding-right: 1em; /* gap after menu label, must be wider than indicator image */
+}
+.ajs-menu-bar li.ajs-menu-item,
+.ajs-menu-bar li.ajs-button {
+    float: left;
+    list-style: none;
+}
+.ajs-menu-bar li.ajs-menu-item a,
+.ajs-menu-bar li.ajs-button a {
+    line-height: 1.5;
+    text-decoration: none;
+    white-space: nowrap;
+}
+.ajs-menu-bar .ajs-button {
+    float: left;
+    line-height: 2;
+    list-style: none;
+    position: static;
+}
+#header .ajs-menu-bar li.ajs-menu-item {
+    position: relative;
+}
+
+/* Drop-down indicator icon and on-hover colour changing */
+.ajs-menu-bar .ajs-menu-item .trigger span {
+    background-image: url(../../../images/decoration/menu_indicator.gif);
+}
+.ajs-menu-bar .ajs-menu-item.opened .trigger span {
+    background-image: url(../../../images/decoration/white_menu_indicator.gif);
+}
+.ajs-menu-bar .ajs-menu-item .trigger span span {
+    background: none;
+}
+.ajs-menu-bar .ajs-button a:hover,
+.ajs-menu-bar .ajs-menu-item.opened .trigger span {
+    color: #fff; /* system colour - not derived from colour scheme */
+}
+
+/* Menu bar icons */
+.ajs-menu-bar .ajs-menu-item .trigger span {
+    background-position: 100% 50%;
+    background-repeat: no-repeat;
+}
+.ajs-menu-bar .ajs-button span,
+.ajs-menu-bar .ajs-menu-item .trigger span span {
+    background-position: 0 50%;
+    background-repeat: no-repeat;
+}
+
+/* Drop-down menu layout */
+.ajs-menu-bar li .ajs-drop-down a {
+    background: #fff no-repeat 4px 50%;
+    border: none;
+    display: block;
+    line-height: 1.6;
+    margin: 0;
+    padding: 0 0.5em 0 24px;
+    text-decoration: none;
+}
+.ajs-menu-bar .ajs-drop-down {
+    -moz-border-radius-bottomleft: 3px;
+    -moz-border-radius-bottomright: 3px;
+    -webkit-border-bottom-left-radius: 3px;
+    -webkit-border-bottom-right-radius: 3px;
+    background: #fff; /* system colour - not derived from colour scheme */
+    border: solid 1px #c1c1c1;
+    font-weight: normal;
+    min-width: 10em;
+    padding: 0;
+    position: absolute;
+    white-space: nowrap;
+    z-index: 1000;
+}
+.ajs-menu-bar .ajs-drop-down ul,
+.ajs-menu-bar ul.ajs-drop-down {
+    border-top: solid 1px #e1e1e1;
+    margin: 0;
+    padding: 5px 0;
+    list-style: none;
+}
+.ajs-menu-bar .ajs-drop-down ul.first,
+.ajs-menu-bar ul.ajs-drop-down.first {
+    border-top: none;
+}
+.ajs-menu-bar .ajs-drop-down li {
+    margin: 0;
+    padding: 0;
+}
+.ajs-menu-bar div.ajs-drop-down a {
+    background-position: .5em 50%;
+    background-repeat: no-repeat;
+    border: none;
+    display: block;
+    line-height: 2;
+    margin: 0;
+    padding: 0 1em 0 28px;
+    position: relative;
+    text-decoration: none;
+    white-space: nowrap;
+}
+.ajs-menu-bar .ajs-drop-down a img {
+    float: left;
+    height: 16px;
+    margin: .3em 0 0 -20px;
+    width: 16px;
+}
+
+/* Drop-down menu icons */
+.ajs-menu-bar .ajs-drop-down a.add-comment {
+    background-image: url(../../../images/icons/comment_16.png);
+}
+.ajs-menu-bar .ajs-drop-down a.add-attachment {
+    background-image: url(../../../images/icons/attach_16.png);
+}
+.ajs-menu-bar .ajs-drop-down a.add-page {
+    background-image: url(../../../images/icons/docs_16.gif);
+}
+.ajs-menu-bar .ajs-drop-down a.add-news {
+    background-image: url(../../../images/icons/blogentry_16.gif);
+}
+.ajs-menu-bar .ajs-drop-down a.action-view-history {
+    background-image: url(../../../images/icons/clock_16.png);
+}
+.ajs-menu-bar .ajs-drop-down a.action-view-attachments {
+    background-image: url(../../../images/icons/attach_16.png);
+}
+.ajs-menu-bar .ajs-drop-down a.action-page-favourite {
+    background-image: url(../../../images/icons/fav_off_16.png);
+}
+.ajs-menu-bar .ajs-drop-down a.ie-page-favourite-selected { /* using IE style here to make IE7 not duplicate bg */
+    background-image: url(../../../images/icons/fav_on_16.png);
+}
+.ajs-menu-bar .ajs-drop-down a.action-page-watching-space {
+    background-image: url(../../../images/icons/watching_space_16.png);
+}
+.ajs-menu-bar .ajs-drop-down a.action-page-watching {
+    background-image: url(../../../images/icons/watch_off_16.png);
+}
+.ajs-menu-bar .ajs-drop-down a.ie-page-watching-selected { /* using IE style here to make IE7 not duplicate bg */
+    background-image: url(../../../images/icons/watch_on_16.png);
+}
+.ajs-menu-bar .ajs-drop-down a.waiting {
+    background-image: url(../../../images/icons/wait.gif);
+}
+
+.ajs-menu-bar .section-secondary li a,
+.ajs-menu-bar .section-modify li a {
+    padding-left: 8px;
+    font-size: .9em;
+}
+
+/* Customisations for header menu bar */
+#header-menu-bar {
+    margin-top: 0;
+    margin-right: 5px;
+}
+#header .ajs-menu-item a {
+    float: left;
+    line-height: 1.5;
+    margin: 0;
+    text-decoration: underline;
+}
+#header .ajs-menu-bar li.ajs-menu-item,
+#header .ajs-menu-bar li.ajs-button {
+    margin: 1px 0 0 0;
+    padding: 1px 0;
+}
+#header .ajs-menu-bar li.ajs-menu-item a {
+    padding-left: 0.5em;
+}
+#header .ajs-menu-item .trigger span {
+    background-image: url(../../../images/decoration/white_menu_indicator.gif); /* header menus always use a white indicator */
+}
+#header .ajs-menu-item .trigger span span {
+    background: none;
+}
+#header .ajs-menu-bar li.ajs-menu-item a.trigger:focus {
+    outline: none;
+}
+#header .ajs-menu-bar li.ajs-menu-item a.trigger {
+    float: left;
+    text-decoration: none;
+    padding: 0 0.5em;
+}
+#header .ajs-menu-bar li.ajs-menu-item.opened .ajs-drop-down li,
+#header .ajs-menu-bar li.ajs-menu-item.opened .ajs-drop-down a {
+    background-color: #fff; /* system colour - not derived from colour scheme */
+    background-image: none;
+}
+.ajs-menu-bar .ajs-menu-item.opened,
+.ajs-menu-bar .ajs-button a {
+    -moz-border-radius: 3px;
+    -webkit-border-radius: 3px;
+}
+.ajs-menu-bar li.ajs-menu-item.opened {
+    -moz-border-radius-bottomleft: 0;
+    -moz-border-radius-bottomright: 0;
+    -webkit-border-bottom-left-radius: 0;
+    -webkit-border-bottom-right-radius: 0;
+}
+#header .ajs-menu-bar .ajs-menu-item.opened {
+    border: solid 1px;
+    border-bottom: 0;
+    margin: 1px -1px 0 -1px;
+    padding-top: 0;
+    padding-bottom: 0.1em;
+}
+
+/* Customisations for header menus */
+#header .ajs-drop-down {
+    -moz-border-radius-bottomleft: 3px;
+    -moz-border-radius-bottomright: 3px;
+    -webkit-border-bottom-left-radius: 3px;
+    -webkit-border-bottom-right-radius: 3px;
+    border-top: none;
+    left: 0;
+    margin-top: 0;
+    margin-left: -1px;
+    top: 1.67em;
+    z-index: 9;
+}
+#header .ajs-drop-down a {
+    float: none;
+    text-decoration: none;
+    padding: 2px 2em;
+}
+#header .ajs-menu-item .ajs-drop-down ul,
+#header .ajs-menu-item ul.ajs-drop-down {
+    border-top: 1px solid #cce;
+}
+#header .ajs-menu-bar .ajs-drop-down ul.first,
+#header .ajs-menu-bar ul.ajs-drop-down.first {
+    border: none;
+}
+
+/* Customisations for navigation menu bar */
+#navigation .ajs-menu-bar {
+    margin: 10px 0 0 1em;
+}
+#navigation .ajs-menu-bar .ajs-button span,
+#navigation .ajs-menu-bar .ajs-menu-item .ajs-menu-title span span {
+    padding-left: 25px; /* width of icon + gap before menu label */
+}
+/*#navigation .ajs-menu-bar li.ajs-menu-item,
+#navigation .ajs-menu-bar li.ajs-button {
+    margin-top: -10px;
+}
+*/
+#navigation .ajs-menu-bar li.ajs-menu-item .ajs-menu-title,
+#navigation .ajs-menu-bar li.ajs-button a {
+    -moz-border-radius: 3px;
+    -webkit-border-radius: 3px;
+    color: #535353; /* system colour - not derived from colour scheme */
+    padding: .35em .5em;
+    font-size: 1.1em;
+    line-height: 20px;
+}
+#navigation .ajs-menu-bar li.ajs-menu-item .ajs-menu-title {
+    -moz-border-radius-bottomleft: 0;
+    -moz-border-radius-bottomright: 0;
+    -webkit-border-bottom-left-radius: 0;
+    -webkit-border-bottom-right-radius: 0;
+}
+#navigation .ajs-menu-bar .ajs-button a.edit span {
+    background-image: url(../../../images/icons/edit_20.png);
+}
+#navigation .ajs-menu-bar .ajs-button a.view span {
+    background-image: url(../../../images/icons/view_20.png);
+}
+#navigation .ajs-menu-bar li.ajs-menu-item a.add span span {
+    background-image: url(../../../images/icons/add_20.png);
+}
+#navigation .ajs-menu-bar li.ajs-menu-item a.action span span {
+    background-image: url(../../../images/icons/tools_20.png);
+}
+#header .ajs-menu-item a.ajs-menu-title span { /* Not sure why these styles need to be duplicated for IE, but it works. */
+    background-image: url(../../../images/decoration/white_menu_indicator.gif); /* header menus always use a white indicator */
+    background-repeat: no-repeat;
+    background-position: 100% 60%; /* 60% lines up with middle of lowercase letters in IE */
+}
+#header .ajs-menu-bar .ajs-menu-item.opened {
+    border: none;
+    margin: 1px 0 0 0;
+    padding: 0;
+    padding-top: 1px;
+}
+.ajs-drop-down {
+    clear: both;
+    z-index: 500;
+}
+#header .ajs-drop-down {
+    top: 1.75em;
+}
+.ajs-menu-bar .ajs-drop-down li {
+    display: block;
+    margin: 0;
+    padding: 0;
+}
+#navigation .ajs-menu-bar .ajs-drop-down a {
+    display: block;
+    padding: 0.33em 0.67em;
+    cursor: pointer;    
+}
+#navigation .ajs-menu-bar div.ajs-drop-down a span {
+    padding: 0 0 0 21px;
+    height: 16px;
+    line-height: 16px;
+    zoom: 1;
+}
+#navigation .ajs-menu-bar .section-secondary li a,
+#navigation .ajs-menu-bar .section-modify li a {
+    padding: 0;
+}
+#navigation .ajs-menu-bar .section-secondary li a span,
+#navigation .ajs-menu-bar .section-modify li a span {
+    padding-left: 8px;
+}
+.ajs-menu-bar .ajs-drop-down a img {
+    clear: left;
+    float: none;
+    margin: .3em 0 .3em -20px;
+    vertical-align: middle;
+}
+
+#navigation .ajs-menu-bar .ajs-button a,
+#navigation .ajs-menu-bar .ajs-button a span {
+    background: none;
+    display: inline-block; /* makes the edit button have layout, but doesn't give it enormous width*/
+}
+
+.ajs-menu-bar .ajs-drop-down a.add-page,
+.ajs-menu-bar .ajs-drop-down a.add-news {
+    background: none;
+}
+.ajs-menu-bar .ajs-drop-down a.add-page span {
+    background: url(../../../images/icons/docs_16.gif) no-repeat 0 50%;
+}
+.ajs-menu-bar .ajs-drop-down a.add-news span {
+    background: url(../../../images/icons/blogentry_16.gif) no-repeat 0 50%;
+}
+
+.ajs-menu-bar .ajs-drop-down a.add-comment {
+    background-image: none;
+}
+.ajs-menu-bar .ajs-drop-down a.add-comment span {
+    filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
+        document.getElementById('confluence-context-path').content +
+        "/images/icons/comment_16.png', sizingMethod='crop')");
+    zoom: 1;
+}
+.ajs-menu-bar .ajs-drop-down a.add-attachment,
+.ajs-menu-bar .ajs-drop-down a.action-view-attachments,
+.page-metadata-icons a.action-view-attachments span.page-metadata-attachments-text {
+    background-image: none;
+}
+.ajs-menu-bar .ajs-drop-down a.add-attachment span,
+.ajs-menu-bar .ajs-drop-down a.action-view-attachments span,
+.page-metadata-icons a.action-view-attachments span.page-metadata-attachments-text {
+    filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
+        document.getElementById('confluence-context-path').content +
+        "/images/icons/attach_16.png', sizingMethod='crop')");
+    zoom: 1;
+}
+* html .page-metadata-icons a.action-view-attachments span.page-metadata-attachments-count {
+    display: inline-block;  /* IE6 */
+    text-indent: 9999em;
+}
+.ajs-menu-bar .ajs-drop-down a.action-view-history {
+    background-image: none;
+}
+.ajs-menu-bar .ajs-drop-down a.action-view-history span {
+    filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
+        document.getElementById('confluence-context-path').content +
+        "/images/icons/clock_16.png', sizingMethod='crop')");
+    zoom: 1;
+}
+.ajs-menu-bar .ajs-drop-down a.action-page-favourite {
+    background-image: none;
+}
+.ajs-menu-bar .ajs-drop-down a.action-page-favourite span {
+    filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
+        document.getElementById('confluence-context-path').content +
+        "/images/icons/fav_off_16.png', sizingMethod='crop')");
+    zoom: 1;
+}
+.ajs-menu-bar .ajs-drop-down a.ie-page-favourite-selected {
+    background-image: none;
+}
+.ajs-menu-bar .ajs-drop-down a.ie-page-favourite-selected span {
+    filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
+        document.getElementById('confluence-context-path').content +
+        "/images/icons/fav_on_16.png', sizingMethod='crop')");
+    zoom: 1;
+}
+.ajs-menu-bar .ajs-drop-down a.action-page-watching-space {
+    background-image: none;
+}
+.ajs-menu-bar .ajs-drop-down a.action-page-watching-space span {
+    filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
+        document.getElementById('confluence-context-path').content +
+        "/images/icons/watching_space_16.png', sizingMethod='crop')");
+    zoom: 1;
+}
+.ajs-menu-bar .ajs-drop-down a.action-page-watching {
+    background-image: none;
+}
+.ajs-menu-bar .ajs-drop-down a.action-page-watching span {
+    filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
+        document.getElementById('confluence-context-path').content +
+        "/images/icons/watch_off_16.png', sizingMethod='crop')");
+    zoom: 1;
+}
+.ajs-menu-bar div.ajs-drop-down a.ie-page-watching-selected {
+    background-image: none;
+}
+.ajs-menu-bar .ajs-drop-down a.ie-page-watching-selected span {
+    filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
+        document.getElementById('confluence-context-path').content +
+        "/images/icons/watch_on_16.png', sizingMethod='crop')");
+    zoom: 1;
+}
+.ajs-menu-bar .ajs-drop-down a.waiting {
+    background-image: none;
+}
+.ajs-menu-bar .ajs-drop-down a.waiting span {
+    background-image: url(../../../images/icons/wait.gif);
+    background-repeat: no-repeat;
+    filter: inherit;
+}
+#navigation .ajs-menu-bar .ajs-button a.edit span {
+    background-image: none;
+    filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
+        document.getElementById('confluence-context-path').content +
+        "/images/icons/edit_20.png', sizingMethod='crop')");
+    width: 1%;
+}
+
+#navigation .ajs-menu-bar li.ajs-menu-item a.add span span {
+    background-image: none;
+    filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
+        document.getElementById('confluence-context-path').content +
+        "/images/icons/add_20.png', sizingMethod='crop')");
+    width: 1%;
+}
+
+#navigation .ajs-menu-bar li.ajs-menu-item a.action span span {
+    background-image: none;
+    filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
+        document.getElementById('confluence-context-path').content +
+        "/images/icons/tools_20.png', sizingMethod='crop')");
+    width: 1%;
+}
+
+#navigation .ajs-menu-bar .ajs-button a.view span {
+    background-image: none;
+    filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
+        document.getElementById('confluence-context-path').content +
+        "/images/icons/view_20.png', sizingMethod='crop')");
+    width: 1%;
+}
+
+table.confluenceTable {
+    margin: 5px;
+    border-collapse: collapse;
+}
+
+td.confluenceTd, table.confluenceTable td.confluenceTd {
+    border-width: 1px;
+    border-style: solid;
+    border-color: #ccc;
+    padding: 5px;
+    vertical-align: top;
+}
+
+th.confluenceTh, table.confluenceTable th.confluenceTh {
+    border-width: 1px;
+    border-style: solid;
+    border-color: #ccc;
+    padding: 5px;
+    background-color: #f0f0f0;
+    text-align: left;
+    vertical-align: top;
+}
+
+.panel {
+    color: black;
+    padding: 0;
+    margin: 10px 20px;
+    background: #f0f0f0;
+    border-width: 1px;
+    border-style: solid;
+    overflow: hidden;
+}
+
+.alertPanel {
+    border-color: #c00;
+}
+
+.infoPanel {
+    border-color: #3c78b5;
+}
+
+.alertPanel, .infoPanel {
+    border-style: solid;
+    border-width: 1px;
+    padding: 8px;
+    margin: 10px;
+}
+
+.infopanel-heading {
+    font-weight: bold;
+	padding: 4px 0 2px 0;
+}
+
+/* basic panel (basicpanel.vmd) style */
+.basicPanelContainer {
+    border-width: 1px;
+    border-style: solid;
+    margin-top: 2px;
+    margin-bottom: 8px;
+    width: 100%;
+}
+
+.basicPanelTitle {
+    padding: 5px;
+    margin: 0;
+    background-color: #f0f0f0;
+    color: black;
+    font-weight: bold;
+}
+
+.basicPanelBody {
+    padding: 5px;
+    margin: 0;
+}
+
+.panelHeader {
+    padding: 0 12px;
+    line-height: 2; /* vertical alignment for title */
+    text-align: center;
+    border-bottom-width: 1px;
+    border-bottom-style: solid;
+}
+
+.codeHeader, .panelHeader, .panelContent {
+    background: #f0f0f0;
+}
+
+.preformattedHeader, .codeContent, .preformattedContent {
+    background: #fff;
+}
+
+.panelContent {
+    color: #000;
+    margin: 0;
+    padding: 0 12px;
+    text-align: left;
+    font-size: .95em;
+}
+
+.panelContent,
+.panelContent p, .panelContent th,
+.panelContent td, .panelContent li {
+    text-align: left;
+}
+
+
+#header {
+    width: 100%;
+}
+/*body>#header .ajs-menu-bar li .ajs-drop-down a {
+    width: expression(this.parentNode.offsetWidth - 34 + "px");
+}
+*/
+#breadcrumbs {
+    height: 1%;
+}
+#breadcrumbs li {
+    white-space: nowrap;
+}
+* html #breadcrumbs li {
+    background-image: url(../../../images/decoration/white_breadcrumbs_indicator.gif); /* IE6 */
+}
+#breadcrumbs li {
+    background-position: 3px 8px;
+}
+#wiki-editor .tab-navigation .tab a {
+    float: left;
+}
+#wiki-editor .submit-buttons {
+    display: block;
+    float: none;
+    line-height: 2;
+    text-align: right;
+}
+
+form {
+    margin: 0;
+    padding: 0;
+}
+#linkinserters,
+#preview,
+#wysiwyg {
+    margin-top: -10px;
+}
+#markup {
+    padding: 0;
+}
+#markup textarea {
+    float: right;
+    border: none;
+    width: 99.9%;
+    margin: 0;
+}
+.tab-navigation .tab {
+    float: left;
+    display: inline;
+    font-weight: bold;
+    margin: 0 5px -1px 0;
+    position: relative;
+}
+.tab-navigation .tab a {
+    display: inline-block; /* anchors were making tabs very wide in Clickr theme in IE */
+}
+#wiki-editor .tab-navigation .current a {
+    background-color: #fff;
+    border-bottom: none;
+    color: #000;
+    padding-bottom: 0.4em;
+}
+a.icon {
+    height: 16px;
+}
+#tree-div {
+    min-height: 300px;
+    height: auto !important;
+    height: 300px;
+}
+h1 #content-title {
+    margin: 0;
+    display: block;
+    width: 95%;
+}
+h1 span.title-text {
+    height: 1%;
+}
+#com-atlassian-confluence h1 {
+    width: auto;
+}
+div.editable-title {
+    height: 1%;
+    margin: 0;
+}
+#tab-navigation {
+    zoom: 1;
+}
+ul#editor-tabs {
+    margin-bottom: 10px;
+}
+/*
+    Styles for macros bundled in Renderer.
+*/
+
+.panelMacro {
+    margin: 10px 20px;
+    overflow: hidden; /* fix width next to floated content */
+}
+
+.panelMacro table {
+    text-align: left;
+    padding: 0 20px;
+    width: 100%;
+}
+
+.panelMacro td, .panelMacro p {
+    font-size: 1em;
+    padding: 14px 0;
+}
+
+.searchMacro {
+    font-size: 10pt;
+    margin: 10px 0;
+}
+
+.searchMacro .result {
+    margin-top: 3px;
+    padding: 0 5px 5px 5px;
+    border-bottom: 1px solid #ddd;
+}
+
+.searchMacro .resultSummary {
+    margin-bottom: 7px;
+}
+
+.rssMacro {
+    font-size: 10pt;
+}
+
+.rssMacro table {
+    margin: 10px 0;
+    width: 100%;
+    border-collapse: collapse;
+}
+
+.rssMacro table th,
+.rssMacro table td {
+    border: 1px solid #ccc;
+    padding: 4px;
+}
+
+.rssMacro table th {
+    background: #f0f0f0;
+}
+
+/* Code styles */
+.code {
+    border-width: 1px;
+    border-style: dashed;
+    overflow: auto;
+}
+
+.code, .preformatted {
+    background-color: #fff;
+}
+
+.code pre, .preformatted pre { /* needs 'pre' to override TinyMCE style */
+    font-family:"Courier New", Courier, monospace;
+    line-height: 1.3;
+}
+
+.code-keyword {
+  color: #000091;
+  background-color: inherit;
+}
+
+.code-object {
+  color: #910091;
+  background-color: inherit;
+}
+
+.code-quote {
+  color: #009100;
+  background-color: inherit;
+}
+
+.code-comment {
+  color: #808080;
+  background-color: inherit;
+}
+
+.code-xml .code-keyword {
+  color: inherit;
+  font-weight: bold;
+}
+
+.code-tag {
+  color: #000091;
+  background-color: inherit;
+}
+
+/* Recently Updated Styles */
+.recentlyUpdatedItem {
+	border-bottom: #f0f0f0 1px solid;
+	border-top: #f0f0f0 1px solid;
+	margin: 10px 0 0 0;
+	padding: 0;
+	border-spacing: 0;
+	width: 100%;
+    text-decoration: none;
+    border-collapse: collapse;
+}
+
+.recentlyUpdatedItem td {
+    padding: 10px;
+    border-bottom: #f0f0f0 1px solid;
+    vertical-align: top;
+}
+
+.recentlyUpdatedItem .authorAndDate {
+	background-color: #f0f0f0;
+	width: 25%;
+}
+
+.recentlyUpdatedItem .date {
+    margin-top: 4px;
+    font-size: 90%;
+    color: #666;
+}
+
+.recentlyUpdatedItem .profilePic {
+    float: right;
+    background-color: #f0f0f0;
+    margin: 0 2px;
+}
+
+.recentlyUpdatedItem .twixie {
+    padding: 10px 0 0 4px;
+}
+
+.recentlyUpdatedItem .icon {
+    padding: 8px 0 0 1px;
+}
+
+.recentlyUpdatedItem .details {
+    padding-left: 7px;
+}
+
+.recentlyUpdatedItem .summary, .recentlyUpdatedItem .thumbnail {
+    margin-top: 3px;
+    color: #666;
+}
+
+.moreRecentlyUpdatedItems {
+    text-align: right;
+    margin-top: 10px;
+    font-size: 10pt;
+}
+
+a.content-type-page span {
+    background-image: url(../../../images/icons/docs_16.gif);
+}
+
+a.content-type-blogpost span {
+    background-image: url(../../../images/icons/blogentry_16.gif);
+}
+
+a.content-type-comment span {
+    background-image: url(../../../images/icons/comment_16.gif);
+}
+
+a.content-type-spacedesc span {
+    background-image: url(../../../images/icons/web_16.gif);
+}
+
+a.content-type-personalspacedesc span {
+    background-image: url(../../../images/icons/personal_space_16.gif);
+}
+
+a.content-type-mail span {
+    background-image: url(../../../images/icons/mail_content_16.gif);
+}
+
+a.content-type-attachment span {
+    background-image: url(../../../images/icons/attachments/file.gif);
+}
+
+a.content-type-file span {
+    background-image: url(../../../images/icons/attachments/file.gif);
+}
+
+a.content-type-attachment-application-pdf span {
+    background-image: url(../../../images/icons/attachments/pdf.gif);
+}
+
+a.content-type-attachment-image span {
+    background-image: url(../../../images/icons/attachments/image.gif);
+}
+
+a.content-type-attachment-text-xml span {
+    background-image: url(../../../images/icons/attachments/xml.gif);
+}
+
+a.content-type-attachment-text-html span {
+    background-image: url(../../../images/icons/attachments/html.gif);
+}
+
+a.content-type-attachment-text span {
+    background-image: url(../../../images/icons/attachments/text.gif);
+}
+
+a.content-type-attachment-application-zip span {
+    background-image: url(../../../images/icons/attachments/zip.gif);
+}
+
+a.content-type-attachment-application-excel span {
+    background-image: url(../../../images/icons/attachments/excel.gif);
+}
+
+a.content-type-attachment-application-powerpoint span {
+    background-image: url(../../../images/icons/attachments/powerpoint.gif);
+}
+
+a.content-type-attachment-application-word span {
+    background-image: url(../../../images/icons/attachments/word.gif);
+}
+
+a.content-type-attachment-java span {
+    background-image: url(../../../images/icons/attachments/java.gif);
+}
+
+a.content-type-attachment-file span {
+    background-image: url(../../../images/icons/attachments/file.gif);
+}
+/* Information plugin styles */
+
+.noteMessage, .warningMessage, .infoMessage, .tipMessage {
+    border-style: solid;
+    border-width: 1px;
+    text-align: center;
+    padding: 5px;
+    overflow: hidden; /* fix width next to floated content */
+}
+
+.noteMessage {
+    border-color: #f0c000;
+    background: #ffffce;
+}
+
+.warningMessage {
+    border-color: #c00;
+    background: #fcc;
+}
+
+.infoMessage {
+    border-color: #3c78b5;
+    background: #d8e4f1;
+}
+
+.tipMessage {
+    border-color: #090;
+    background-color: #dfd;
+}
+
+table.infoMacro td, table.warningMacro td, table.tipMacro td, table.noteMacro td {
+    border: none;
+}
+
+.informationMacroPadding {
+    padding: 5px 0 0 5px;
+}
+
+.noteMacro, .warningPanel {
+    background-color: #ffffce;
+}
+#addition .noteMacro {
+    border-style: solid;
+    border-width: 1px;
+    border-color: #f0c000;
+    background-color: #ffffce;
+    text-align:left;
+    padding: 10px;
+    width: 100%;
+    margin: 5px 20px;
+}
+
+#addition .noteMacro td {
+    font-size: 10pt;
+    padding: 2px;
+    padding-right: 15px;
+}
+
+#addition .noteMacro p {
+    font-size: 10pt;
+}
+
+#addition .noteMacro b {
+    font-size: 10pt;
+}
+
+#addition table.noteMacro td {
+    border: none;
+}
+
+#replying .noteMacro {
+    border-style: solid;
+    border-width: 1px;
+    border-color: #f0c000;
+    background-color: #ffffce;
+    text-align:left;
+    padding: 10px;
+    width: 100%;
+    margin: 5px 20px;
+}
+
+#replying .noteMacro td {
+    font-size: 10pt;
+    padding: 2px;
+    padding-right: 15px;
+}
+
+#replying .noteMacro p {
+    font-size: 10pt;
+}
+
+#replying .noteMacro b {
+    font-size: 10pt;
+}
+
+#replying table.noteMacro td {
+    border: none;
+}
+
+.tipMacro {
+    background-color: #dfd;
+}
+
+.warningMacro {
+    background-color: #fcc;
+}
+
+.infoMacro {
+    background-color: #d8e4f1;
+}
+
+.warningPanel {
+    border-style: solid;
+    border-width: 1px;
+    padding: 8px;
+    margin: 10px;
+}
+
+.warningPanel {
+    border-color: #f0c000;
+}
+
+
+
+
+/* Layout plugin styles */
+
+.sectionMacro,
+.sectionMacro p,
+.sectionMacro ul,
+.sectionMacro ol {
+    font-size: 10pt;
+}
+
+table.sectionMacro td {
+    border: none;
+}
+
+table.sectionMacroWithBorder td.columnMacro {
+    border-style: dashed;
+    border-width: 1px;
+    border-color: #ccc;
+}
+
+
+/*
+    Colors for Confluence (included for all themes by default).
+*/
+
+
+h1, h2, h3, h4, h5, h6,
+.wiki-content h1,
+.wiki-content h2,
+.wiki-content h3,
+.wiki-content h4,
+.wiki-content h5,
+.wiki-content h6,
+.pagetitle,
+.steptitle,
+.substeptitle,
+.formtitle,
+a.blogHeading,
+.more-comments a,
+.label,
+label,
+th.confluenceTh,
+table.confluenceTable th.confluenceTh,
+table.admin th,
+.form-element-large,
+.form-element-small,
+#com-atlassian-confluence .mce_h1 span.mceText,
+#com-atlassian-confluence .mce_h2 span.mceText,
+#com-atlassian-confluence .mce_h3 span.mceText,
+#com-atlassian-confluence .mce_h4 span.mceText,
+#com-atlassian-confluence .mce_h5 span.mceText,
+#com-atlassian-confluence .mce_h6 span.mceText {
+    color: #003366;
+}
+
+.wiki-content h1,
+.wiki-content h2 {
+ 	border-bottom-color: #3c78b5;
+}
+
+.wiki-content-preview {
+    border-left-color: #3c78b5;
+    border-right-color: #3c78b5;
+}
+
+.pageSectionHeader {
+    border-bottom-color: #3c78b5;
+}
+
+.panel {
+    border-color: #3c78b5;
+}
+
+.panelHeader,
+.menuheading,
+.pageheader,
+.sectionbottom {
+    border-bottom-color: #3c78b5;
+}
+
+.topRow {
+    border-top-color: #3c78b5;
+}
+
+.tabletitle, .pageSectionHeader, .section-header h2 {
+    color: #003366;
+}
+.tabletitle, .pageSectionHeader {
+	border-bottom-color: #3c78b5;
+}
+
+a:link,
+a:visited,
+a:active,
+a:hover,
+#default-labels-header a.add {
+	color: #003366;
+}
+
+h1 a:hover {
+    border-bottom-color: #003366;
+}
+
+/* use logoSpaceLink instead.
+.spacenametitle,
+.spacenametitle a,
+.spacenametitle a:visited {
+    color: #999999;
+}
+*/
+.spacenametitle-printable,
+.spacenametitle-printable a,
+.spacenametitle-printable a:visited {
+    color: #999999;
+}
+
+.navItemOver,
+.navItemOver a,
+.navItemOver a:visited,
+.navItemOver a:hover {
+    color: #ffffff;
+    background-color: #003366;
+}
+
+.navItem {
+    background-color: #3c78b5;
+}
+
+.navItem a,
+.navItem a:hover,
+.navItem a:visited {
+    color: #ffffff;
+}
+
+.tableview th {
+    color: #003366;
+    border-bottom-color: #3c78b5;
+}
+
+blockquote {
+    border-left-color: #3c78b5;
+}
+
+.navBackgroundBox {
+    background: #3c78b5;
+}
+
+.previewBoxTop,
+.previewContent,
+.previewBoxBottom,
+.functionbox {
+    border-color: #3c78b5;
+}
+
+.smalltext-blue {
+    color: #3c78b5;
+}
+
+.tabnav,
+.comment .tabnav,
+ul.tabnav {
+    border-bottom-color: #3c78b5;
+}
+
+.tabnav .tabs a {
+    border-color: #3c78b5;
+    background: #3c78b5;
+}
+
+.tabnav .tabs a:link, .tabnav .tabs a:visited {
+    color: #ffffff;
+}
+.tabnav .tabs a:hover {
+    color: #ffffff;
+    background: #003366;
+    border-color: #003366;
+}
+
+.tabnav .spaceActionLinks a:link,
+.tabnav .spaceActionLinks a:visited {
+    color: #003366;
+}
+
+.foldertab-box {
+	border-left-color: #3c78b5;
+	border-right-color: #3c78b5;
+	border-bottom-color: #3c78b5;
+}
+
+#squaretab a {
+    border-color: #3c78b5;
+}
+
+#squaretab a:link, #squaretab a:visited {
+    background-color: #3c78b5;
+}
+
+#squaretab a:hover {
+    color: #ffffff;
+    background-color: #003366;
+    border-color: #003366;
+}
+
+table.blogcalendar {
+    border-color: #3c78b5;
+}
+
+.blogcalendar th.calendarhead,
+a.calendarhead,
+a.calendarhead:link,
+a.calendarhead:visited,
+a.calendarhead:hover {
+    background-color: #3c78b5;
+    color: #ffffff;
+}
+
+.searchGroupHeading {
+    background-color: #3c78b5;
+    color: #ffffff;
+}
+
+.permissionTab {
+    background: #3c78b5;
+    color: #ffffff;
+}
+
+.permissionSuperTab {
+    background: #003366;
+    color: #ffffff;
+}
+
+/* styles for links in the top bar */
+.topBarDiv a:link,
+.topBarDiv a:visited,
+.topBarDiv a:active,
+.topBarDiv a:hover,
+.topBarDiv {
+    color: #ffffff;
+}
+
+.topBar {
+    background-color: #003366;
+}
+
+.basicPanelContainer {
+    border-color: #3c78b5;
+}
+
+.greynavbar {
+    border-top-color: #3c78b5
+}
+
+div.license-personal {
+   background-color: #003366;
+   color: #ffffff;
+}
+
+div.license-personal a {
+   color: #ffffff;
+}
+
+.minitab {
+    border-bottom-color: #3c78b5;
+}
+
+.minitab a {
+    border-top-color: #3c78b5;
+    border-right-color: #3c78b5;
+    border-left-color: #3c78b5;
+}
+
+.minitab .unselected {
+    border-bottom-color: #3c78b5;
+    background: #3c78b5;
+}
+
+#header {
+    background-color: #003366;
+}
+#header a,
+#breadcrumbs,
+#header .ajs-menu-bar li.ajs-menu-item a.trigger {
+    color: #ffffff;
+}
+.breadcrumbs {
+ 	border-color: #3c78b5;
+}
+
+#navigation, #tab-navigation {
+    border-bottom-color: #3c78b5;
+}
+
+.ajs-menu-bar li.ajs-menu-item.opened .ajs-drop-down a {
+    color: #535353;
+}
+#header .ajs-menu-bar li.ajs-menu-item.opened .ajs-drop-down a {
+    color: #003366;
+}
+
+#navigation .ajs-menu-bar .ajs-button a:hover,
+/* .ajs-menu-bar li.ajs-menu-item.opened, */
+.ajs-menu-bar .ajs-menu-item li.active a,
+.ajs-menu-bar li.ajs-menu-item.opened .ajs-drop-down li.active a,
+#header .ajs-menu-bar li.ajs-menu-item.opened .ajs-drop-down li.active a {
+    color: #ffffff;
+    background-color: #6699cc;
+}
+#header .ajs-menu-bar li.ajs-menu-item.opened,
+#header .ajs-menu-bar li.ajs-menu-item.opened a.trigger {
+    background-color: #336699;
+    border-color: #336699;
+}
+.ajs-menu-bar li.ajs-menu-item.opened a.trigger {
+    background-color: #6699cc;
+}
+
+#header .ajs-drop-down {
+    border-color: #003366;
+}
+#header .ajs-menu-bar .ajs-drop-down li.separator {
+    border-top-color: #003366;
+}
+
+.tab-navigation .tab a {
+    background-color: #3c78b5;
+    border: 1px solid #3c78b5;
+    color: #ffffff;
+}
+.tab-navigation .tab a:hover {
+    color: #ffffff;
+    background-color: #003366;
+    border-bottom-color: #003366;
+}
+
+
+
+/***** Pre 2.8 markup styles for backwards compatability ******/
+#foldertab {
+    border-bottom-color: #3c78b5;
+}
+
+#foldertab li a {
+    border-color: #3c78b5;
+    background: #3c78b5;
+}
+
+#foldertab li a:link,
+#foldertab li a:visited {
+    color: #ffffff;
+}
+#foldertab li a:hover {
+    color: #ffffff;
+    background: #003366;
+    border-color: #003366;
+}
+
+.logoSpaceLink,
+.logoSpaceLink a:link,
+.logoSpaceLink a:visited,
+.logoSpaceLink a:active {
+    color: #999999;
+}
+
+.logoSpaceLink a:hover {
+    color: #003366;
+}
+
+.selectedminitab {
+    border-color: #3c78b5
+}
+
+.unselectedminitab {
+	border-color: #3c78b5;
+	background: #3c78b5;
+}
+
+.tabletitle, .heading-text-color {
+    color: #003366;
+}
+
+a.unselectedminitab:hover {
+	color: #ffffff;
+	background: #003366;
+	border-color: #003366;
+}
+
+ol.autocompleter li.focused {
+	background: #6699cc;
+	color: #ffffff;
+}
+
+/* End colour styles for Confluence */
+
+/*
+    This stylesheet defines styles that only apply to the Default theme. Styles common to all themes should go in
+    master.css
+*/
+
+body {
+    /* Page-level left and right padding. Internal content that needs to be full-width should use 'margin: 0 -10px'. */
+    margin: 0;
+    border-left: solid #fff 10px;
+    border-right: solid #fff 10px;
+    font-family: Helvetica, Arial, sans-serif;
+    position: relative;
+}
+
+#header {
+    margin: 0 -10px;
+    padding: 0 10px;
+    /*overflow: auto;*/
+}
+
+.email{
+    /* offset the negative margin set by the header for emails only */
+    margin: 10px;
+}
+
+#user-control-panel, #page-view-panel {
+    float: right;
+}
+
+#com-atlassian-confluence h1 img {
+    max-height: 2.5em; /* scale logo image with font size */
+}
+#com-atlassian-confluence h1 img.custom {
+    height: auto;
+}
+
+h1 span.title-text {
+    display: table; /* page title wrapping drops straight down */
+}
+h1 a:hover {
+    color: #369;
+}
+.editable-title {
+    margin: 0 10px 0 58px;
+}
+
+#main {
+    border-top: solid #fff 10px;
+    border-bottom: solid #fff 10px;
+}
+
+#content {
+    clear: left;
+}
+#content.space {
+    margin-top: 10px;
+}
+
+#quick-search-submit {
+    display: none;
+}
+
+#user-control-panel {
+    display: none;   
+}
+
+#user-control-panel li {
+    border-left: solid 1px;
+}
+
+#user-control-panel li.first {
+    border: none;
+}
+
+#user-control-panel li, #page-view-panel li, #page-prefs-list li {
+    color: #666;
+    float: left;
+    font-size: .9em;
+    margin: 0 0 0 .3em;
+    padding: 0 0 0 .3em;
+}
+
+#user-control-panel a {
+    color: #666;
+}
+
+#navigation {
+    display: inline;
+}
+
+.page-actions {
+    float: right;
+    border: solid 1px #ccc;
+    padding: 5px;
+    margin-left: 10px;
+}
+
+.remove-control {
+    display: none;
+}
+
+.page-metadata {
+    color: #666;
+    font-size: 0.9em;
+    margin: 10px 0;
+}
+.page-metadata a:link,
+.page-metadata a:active,
+.page-metadata a:hover,
+.page-metadata a:visited {
+    color: #666;
+    font-style: normal;
+}
+
+.section-header {
+    margin-bottom: 5px;
+    padding: 2px 0;    
+}
+
+/* All links are set to action.linkColor but section header links are grey */
+.section-header a:link,
+.section-header a:active,
+.section-header a:hover,
+.section-header a:visited {
+    color: #666;
+}
+
+h2.section-title,
+.pageSectionTitle {
+    font-size: 12pt;
+    font-weight: bold;
+    color: black;
+    margin-top: 20px;
+    padding: 0;
+    display: inline;
+}
+
+.section-title a:link,
+.section-title a:active,
+.section-title a:hover,
+.section-title a:visited,
+a.pageSectionTitle:link,
+a.pageSectionTitle:active,
+a.pageSectionTitle:hover,
+a.pageSectionTitle:visited {
+    color: black;
+}
+
+#sidebar {
+    clear: right;
+    float: right;
+    width: 16em;
+    margin-left: 10px;
+}
+
+#content.space,
+#content.edit form.markup {
+    margin-right: 17em;
+}
+.sidebar-content {
+    margin: 10px 0 0 1em;
+}
+.blogcalendar {
+    width: 15em;
+}
+.blogcalendar th a.calendarhead,
+.blogcalendar th.calendarhead {
+    font-size: 1em;
+}
+.blogcalendar td,
+.blogcalendar th {
+    font-size: .85em;
+}
+
+/* folder tab link styles */
+.tabnav .tabs a {
+    padding: 5px 5px 4px;
+    margin: 5px 3px 0 0;
+    border-width: 1px;
+    border-style: solid;
+    border-bottom: none;
+    text-decoration: none;
+    display: block;
+    float: left;
+}
+
+.tabnav .tabs a.current {
+    background: white;
+    border-bottom: 1px solid white;
+    color: black;
+}
+.tabnav .tabs a.current:link, .tabnav .tabs a.current:visited {
+    color: black;
+}
+.tabnav .tabs a.current:hover {
+    background: white;
+    border-bottom: 1px solid white;
+    color: black;
+}
+
+/* list page navigational tabs */
+.tabnav, .comment .tabnav {
+    padding: 0;
+    margin: 0;
+    border-bottom-width: 1px;
+    border-bottom-style: solid;
+    float: left;
+    display: inline;
+    list-style-position: outside;
+    width: 100%;
+    font-weight: bold;
+    font-size: 10pt;
+}
+
+.after-tabnav {
+    clear: both;
+}
+
+.tabnav li.tabs {
+    list-style: none;
+    margin: 0 0 -1px 10px;
+    float: left;
+    display: block;
+}
+
+
+/* dashboard customization */
+#spacesLabel {
+    padding: 4px 6px;
+    float: left;
+    margin-top: 5px;
+}
+
+#footer #poweredby {
+    font-size: 0.9em;
+    margin: 0 -10px;
+}
+
+
+
+