chemistry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r785594 [7/10] - in /websites/staging/chemistry/trunk/content: ./ images/ resources/
Date Thu, 17 Feb 2011 17:18:08 GMT
Added: websites/staging/chemistry/trunk/content/opencmis-inmemory-repository.html
==============================================================================
--- websites/staging/chemistry/trunk/content/opencmis-inmemory-repository.html (added)
+++ websites/staging/chemistry/trunk/content/opencmis-inmemory-repository.html Thu Feb 17 17:18:07 2011
@@ -0,0 +1,314 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+  <head>
+    <link type="text/css" rel="stylesheet" href="http://incubator.apache.org/chemistry/resources/site.css"></link>
+    <script src="http://incubator.apache.org/chemistry/resources/space.js" type="text/javascript"></script>
+    <meta name="keywords" content="CMIS, Content Management Interoperability Service, ECM, Enterprise Content Management, OASIS, integration standards, Chemistry, OpenCMIS"/>
+    <meta name="description" content"Apache Chemistry, CMIS Implementation" />
+    <title>
+Apache Chemistry - OpenCMIS InMemory Repository
+    </title>
+  </head>
+<body onload="init()">
+  <table width="100%" cellpadding="0" cellspacing="0">
+    <tr width="100%">
+      <td id="cell-0-0">&nbsp;</td>
+      <td id="cell-0-1">&nbsp;</td>
+      <td id="cell-0-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-1-0">&nbsp;</td>
+      <td id="cell-1-1">
+        <div style="padding: 5px;">
+          <div id="banner">
+          <!-- Banner -->
+<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
+<TR>
+<TD align="left" class="topbardiv" nowrap="">
+<A href="http://incubator.apache.org/chemistry" title="Apache Chemistry">
+<IMG border="0" src="http://incubator.apache.org/chemistry/images/chemistry_logo_small.png"/>
+</A>
+</TD>
+<TD align="right" nowrap="">
+<A href="http://incubator.apache.org/" title="The Apache Software Foundation Incubator">
+<IMG border="0" src="http://incubator.apache.org/images/apache-incubator-logo.png">
+</A>
+</TD>
+</TR>
+</TABLE>
+          <!-- Banner -->
+          </div>
+        </div>
+        <div id="top-menu">
+          <table border="0" cellpadding="1" cellspacing="0" width="100%">
+            <tr>
+              <td>
+                <div align="left">
+                <!-- Breadcrumbs -->
+<a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/opencmis.html">OpenCMIS</a>&nbsp;&raquo&nbsp;<a href="/opencmis-inmemory-repository.html">OpenCMIS InMemory Repository</a>
+                <!-- Breadcrumbs -->
+                </div>
+              </td>
+              <td>
+                <div align="right">
+                <!-- Quicklinks -->
+<P><A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A> <A href="sitemap.html" title="SiteMap">Site Map</A></P>
+                <!-- Quicklinks -->
+                </div>
+              </td>
+            </tr>
+          </table>
+        </div>
+      </td>
+      <td id="cell-1-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-2-0">&nbsp;</td>
+      <td id="cell-2-1">
+        <table>
+          <tr height="100%" valign="top">
+            <td height="100%">
+              <div id="wrapper-menu-page-right">
+                <div id="wrapper-menu-page-top">
+                  <div id="wrapper-menu-page-bottom">
+                    <div id="menu-page">
+                    <!-- NavigationBar -->
+                    <H3><A name="Navigation-Overview"></A>Overview</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A></LI>
+   <LI><A href="sitemap.html" title="SiteMap">Site Map</A></LI>
+   <LI><A href="http://mail-archives.apache.org/mod_mbox/incubator-chemistry-dev/" class="external-link" rel="nofollow">Mailing List</A></LI>
+   <LI><A href="https://issues.apache.org/jira/browse/CMIS" class="external-link" rel="nofollow">Issue Tracking</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Search"></A>Search</H3>
+
+<DIV style="padding: 0px 0px 0px 20px;">
+<FORM action="http://www.google.com/search" method="get" style="font-size: 10px;">
+<INPUT name="ie" type="hidden" value="UTF-8"></INPUT>
+<INPUT name="oe" type="hidden" value="UTF-8"></INPUT>
+  <INPUT maxlength="255" name="q" size="12" type="text" value=""></INPUT>
+  <INPUT name="btnG" type="submit" value="Search"></INPUT>
+  <INPUT name="domains" type="hidden" value="incubator.apache.org/chemistry"></INPUT>
+  <INPUT name="sitesearch" type="hidden" value="incubator.apache.org/chemistry"></INPUT>
+</FORM>
+</DIV>
+
+
+<H3><A name="Navigation-CMISforJava"></A>CMIS for Java</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="opencmis.html" title="OpenCMIS">OpenCMIS</A></LI>
+   <LI><A href="opencmis-modules.html" title="OpenCMIS Modules">Overview</A></LI>
+   <LI><A href="opencmis-client-api.html" title="OpenCMIS Client API">Client API</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/opencmis/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+   <LI><A href="http://incubator.apache.org/chemistry/javadoc/index.html" class="external-link" rel="nofollow">JavaDoc</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISforPython"></A>CMIS for Python</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="cmislib.html" title="cmislib">cmislib</A></LI>
+   <LI><A href="http://incubator.apache.org/chemistry/cmislib-doc/" class="external-link" rel="nofollow">cmislib Documentation</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/cmislib/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISforPHP"></A>CMIS for PHP</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="phpclient.html" title="phpclient">CMIS PHP Client</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/phpclient/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISfor.NET"></A>CMIS for .NET</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="dotcmis.html" title="DotCMIS">DotCMIS</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/dotcmis/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Sponsorship"></A>Sponsorship</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</A></LI>
+   <LI><A href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">Sponsoring Apache</A></LI>
+</UL>
+
+                    <!-- NavigationBar -->
+                    </div>
+                </div>
+              </div>
+            </div>
+           </td>
+           <td height="100%">
+             <!-- Content -->
+             <div class="wiki-content"><p><a name="OpenCMISInMemoryRepository-OpenCMISInMemoryRepository"></a></p>
+<h1 id="opencmis_inmemory_repository">OpenCMIS InMemory Repository</h1>
+<p>This repository is not intended for production use!</p>
+<p>The OpenCMIS In-Memory Repository is an implementation of a CMIS repository
+that holds content and metadata in memory. Therefore, all data stored in
+the repository is lost after each restart. This implementation has two main
+purposes:</p>
+<ol>
+<li>Provide a fast backend for testing purposes without any additional
+dependencies or configuration.<br />
+</li>
+<li>Provide a sample implementation for the server interface of OpenCMIS.</li>
+</ol>
+<p><a name="OpenCMISInMemoryRepository-Status"></a></p>
+<h2 id="status">Status</h2>
+<p>The code is unstable and under development. Expect any interface to
+change at any time.
+  The following features are implemented:</p>
+<ul>
+<li>Type System and Repository Service <br />
+</li>
+<li>Navigation  <br />
+</li>
+<li>Object Service <br />
+</li>
+<li>Versioning</li>
+</ul>
+<p>Not supported are currently:</p>
+<ul>
+<li>Query <br />
+</li>
+<li>Relationships <br />
+</li>
+<li>ACLs <br />
+</li>
+<li>Policies <br />
+</li>
+<li>Renditions <br />
+</li>
+<li>Unfiling</li>
+</ul>
+<p><a name="OpenCMISInMemoryRepository-BuildandDeploytheRepository"></a></p>
+<h2 id="build_and_deploy_the_repository">Build and Deploy the Repository</h2>
+<ol>
+<li><a href="opencmis-how-to-build.html">How to build OpenCMIS</a></li>
+<li>A ready-to-use WAR file should now exist in
+<em>/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/target</em>.</li>
+<li>Deploy the WAR file to your favorite servlet engine.</li>
+<li>AtomPub endpoint: <em>http://<host>:<port>/<context>/atom</em>
+    Web Services endpoint:
+<em>http://<host>:<port>/<context>/services/RepositoryService</em></li>
+</ol>
+<p><a name="OpenCMISInMemoryRepository-ConfiguretheRepository"></a></p>
+<h2 id="configure_the_repository">Configure the Repository</h2>
+<p>The CMIS specification does not currently provide support for creating a
+repository or administrative capabilities such as the creation of type
+definitions.</p>
+<p>The in-memory repository therefore provides settings that allows the server
+to bootstrap itself, so that on successful startup, the server is in a
+usable state. These settings include the repository id, its type
+definitions and an initial folder/document data set.</p>
+<p>The types to be made available must be provided in a Java class as code. By
+default, the class
+<em>org.apache.chemistry.opencmis.inmemory.types.DefaultTypeSystemCreator.java</em>
+is provided. You can take this as an example if you want to provide your
+own custom types. Such a class must implement the
+<em>org.apache.chemistry.opencmis.inmemory.TypeCreator</em> interface which
+consists of a single method that returns a list of <em>TypeDefinition</em>
+objects. This method will be called once during startup.</p>
+<p>Some clients just support read-only access. The in-memory repository
+supports such clients by providing the possibility to fill a repository on
+start-up with data (folders and documents). The folder and document types
+to be used can be configured and also the number of documents and folders
+that are created. Those configuration parameters start with the prefix
+<em>RepositoryFiller.</em> </p>
+<p>Bootstrap settings are set in the repository.properties file
+(<em>/WEB-INF/classes/repository.properties</em>). </p>
+<div class="codehilite"><pre><span class="c1"># In Memory Settings</span>
+ <span class="c1"># The class that enables the in-memory repository as server implementation</span>
+<span class="n">class</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">chemistry</span><span class="o">.</span><span class="n">opencmis</span><span class="o">.</span><span class="n">inmemory</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">InMemoryServiceFactoryImpl</span>
+
+ <span class="c1"># A repository that is created on start-up</span>
+<span class="n">InMemoryServer</span><span class="o">.</span><span class="n">RepositoryId</span><span class="o">=</span><span class="n">A1</span>
+
+ <span class="c1"># The class that used to initialize the type system (creates all types</span>
+</pre></div>
+
+
+<p>that are available)
+    InMemoryServer.TypesCreatorClass=org.apache.chemistry.opencmis.inmemory.types.DefaultTypeSystemCreator</p>
+<div class="codehilite"><pre><span class="c1"># settings to initialize a repository with data on start-up</span>
+  <span class="c1"># enable or disable</span>
+<span class="n">RepositoryFiller</span><span class="o">.</span><span class="n">Enable</span><span class="o">=</span><span class="n">true</span>
+  <span class="c1"># Type id of documents that are created</span>
+<span class="n">RepositoryFiller</span><span class="o">.</span><span class="n">DocumentTypeId</span><span class="o">=</span><span class="n">ComplexType</span>
+  <span class="c1"># Type id of folders that are created</span>
+<span class="n">RepositoryFiller</span><span class="o">.</span><span class="n">FolderTypeId</span><span class="o">=</span><span class="n">cmis:folder</span>
+  <span class="c1"># Number of documents created per folder</span>
+<span class="n">RepositoryFiller</span><span class="o">.</span><span class="n">DocsPerFolder</span><span class="o">=</span><span class="mi">3</span>
+  <span class="c1"># Number of folders created per folder</span>
+<span class="n">RepositoryFiller</span><span class="o">.</span><span class="n">FolderPerFolder</span><span class="o">=</span><span class="mi">2</span>
+  <span class="c1"># number of folder levels created (depth of hierarchy)</span>
+<span class="n">RepositoryFiller</span><span class="o">.</span><span class="n">Depth</span><span class="o">=</span><span class="mi">3</span>
+  <span class="c1"># Size of content for documents (0=do not create content), default=0</span>
+<span class="n">RepositoryFiller</span><span class="o">.</span><span class="n">ContentSizeInKB</span><span class="o">=</span><span class="mi">32</span>
+  <span class="c1"># properties to set for a document</span>
+<span class="n">RepositoryFiller</span><span class="o">.</span><span class="n">DocumentProperty</span><span class="mf">.0</span><span class="o">=</span><span class="n">StringProp</span>
+<span class="c1">#RepositoryFiller.DocumentProperty.1=StringPropMV</span>
+  <span class="c1"># properties to set for a folder</span>
+<span class="c1">#RepositoryFiller.FolderProperty.0=StringFolderProp</span>
+</pre></div></div>
+             <!-- Content -->
+           </td>
+          </tr>
+        </table>
+     </td>
+     <td id="cell-2-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+     <td id="cell-3-0">&nbsp;</td>
+     <td id="cell-3-1">
+       <div id="footer">
+       <!-- Footer -->
+       <div id="site-footer">
+          
+          Apache Chemistry, Apache, the Apache feather logo, and the Apache 
+          Chemistry project logo are trademarks of The Apache Software 
+          Foundation.<br /><br />
+          Content Management Interoperability Services (CMIS) is an
+          <a href="http://www.oasis-open.org/committees/cmis/">OASIS</a>
+          specification.
+          
+       </div>
+       <!-- Footer -->
+       </div>
+     </td>
+     <td id="cell-3-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-4-0">&nbsp;</td>
+      <td id="cell-4-1">&nbsp;</td>
+      <td id="cell-4-2">&nbsp;</td>
+    </tr>
+  </table>
+</body>
+</html>

Added: websites/staging/chemistry/trunk/content/opencmis-maven-release-documentation.html
==============================================================================
--- websites/staging/chemistry/trunk/content/opencmis-maven-release-documentation.html (added)
+++ websites/staging/chemistry/trunk/content/opencmis-maven-release-documentation.html Thu Feb 17 17:18:07 2011
@@ -0,0 +1,380 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+  <head>
+    <link type="text/css" rel="stylesheet" href="http://incubator.apache.org/chemistry/resources/site.css"></link>
+    <script src="http://incubator.apache.org/chemistry/resources/space.js" type="text/javascript"></script>
+    <meta name="keywords" content="CMIS, Content Management Interoperability Service, ECM, Enterprise Content Management, OASIS, integration standards, Chemistry, OpenCMIS"/>
+    <meta name="description" content"Apache Chemistry, CMIS Implementation" />
+    <title>
+Apache Chemistry - OpenCMIS Maven Release Documentation
+    </title>
+  </head>
+<body onload="init()">
+  <table width="100%" cellpadding="0" cellspacing="0">
+    <tr width="100%">
+      <td id="cell-0-0">&nbsp;</td>
+      <td id="cell-0-1">&nbsp;</td>
+      <td id="cell-0-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-1-0">&nbsp;</td>
+      <td id="cell-1-1">
+        <div style="padding: 5px;">
+          <div id="banner">
+          <!-- Banner -->
+<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
+<TR>
+<TD align="left" class="topbardiv" nowrap="">
+<A href="http://incubator.apache.org/chemistry" title="Apache Chemistry">
+<IMG border="0" src="http://incubator.apache.org/chemistry/images/chemistry_logo_small.png"/>
+</A>
+</TD>
+<TD align="right" nowrap="">
+<A href="http://incubator.apache.org/" title="The Apache Software Foundation Incubator">
+<IMG border="0" src="http://incubator.apache.org/images/apache-incubator-logo.png">
+</A>
+</TD>
+</TR>
+</TABLE>
+          <!-- Banner -->
+          </div>
+        </div>
+        <div id="top-menu">
+          <table border="0" cellpadding="1" cellspacing="0" width="100%">
+            <tr>
+              <td>
+                <div align="left">
+                <!-- Breadcrumbs -->
+<a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/opencmis.html">OpenCMIS</a>&nbsp;&raquo&nbsp;<a href="/opencmis-maven-release-documentation.html">OpenCMIS Maven Release Documentation</a>
+                <!-- Breadcrumbs -->
+                </div>
+              </td>
+              <td>
+                <div align="right">
+                <!-- Quicklinks -->
+<P><A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A> <A href="sitemap.html" title="SiteMap">Site Map</A></P>
+                <!-- Quicklinks -->
+                </div>
+              </td>
+            </tr>
+          </table>
+        </div>
+      </td>
+      <td id="cell-1-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-2-0">&nbsp;</td>
+      <td id="cell-2-1">
+        <table>
+          <tr height="100%" valign="top">
+            <td height="100%">
+              <div id="wrapper-menu-page-right">
+                <div id="wrapper-menu-page-top">
+                  <div id="wrapper-menu-page-bottom">
+                    <div id="menu-page">
+                    <!-- NavigationBar -->
+                    <H3><A name="Navigation-Overview"></A>Overview</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A></LI>
+   <LI><A href="sitemap.html" title="SiteMap">Site Map</A></LI>
+   <LI><A href="http://mail-archives.apache.org/mod_mbox/incubator-chemistry-dev/" class="external-link" rel="nofollow">Mailing List</A></LI>
+   <LI><A href="https://issues.apache.org/jira/browse/CMIS" class="external-link" rel="nofollow">Issue Tracking</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Search"></A>Search</H3>
+
+<DIV style="padding: 0px 0px 0px 20px;">
+<FORM action="http://www.google.com/search" method="get" style="font-size: 10px;">
+<INPUT name="ie" type="hidden" value="UTF-8"></INPUT>
+<INPUT name="oe" type="hidden" value="UTF-8"></INPUT>
+  <INPUT maxlength="255" name="q" size="12" type="text" value=""></INPUT>
+  <INPUT name="btnG" type="submit" value="Search"></INPUT>
+  <INPUT name="domains" type="hidden" value="incubator.apache.org/chemistry"></INPUT>
+  <INPUT name="sitesearch" type="hidden" value="incubator.apache.org/chemistry"></INPUT>
+</FORM>
+</DIV>
+
+
+<H3><A name="Navigation-CMISforJava"></A>CMIS for Java</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="opencmis.html" title="OpenCMIS">OpenCMIS</A></LI>
+   <LI><A href="opencmis-modules.html" title="OpenCMIS Modules">Overview</A></LI>
+   <LI><A href="opencmis-client-api.html" title="OpenCMIS Client API">Client API</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/opencmis/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+   <LI><A href="http://incubator.apache.org/chemistry/javadoc/index.html" class="external-link" rel="nofollow">JavaDoc</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISforPython"></A>CMIS for Python</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="cmislib.html" title="cmislib">cmislib</A></LI>
+   <LI><A href="http://incubator.apache.org/chemistry/cmislib-doc/" class="external-link" rel="nofollow">cmislib Documentation</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/cmislib/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISforPHP"></A>CMIS for PHP</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="phpclient.html" title="phpclient">CMIS PHP Client</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/phpclient/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISfor.NET"></A>CMIS for .NET</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="dotcmis.html" title="DotCMIS">DotCMIS</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/dotcmis/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Sponsorship"></A>Sponsorship</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</A></LI>
+   <LI><A href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">Sponsoring Apache</A></LI>
+</UL>
+
+                    <!-- NavigationBar -->
+                    </div>
+                </div>
+              </div>
+            </div>
+           </td>
+           <td height="100%">
+             <!-- Content -->
+             <div class="wiki-content"><ul>
+<li><a href="#OpenCMISMavenReleaseDocumentation-OpenCMISReleaseDocumentation">OpenCMIS Release Documentation</a></li>
+<li><a href="#OpenCMISMavenReleaseDocumentation-Introduction">Introduction</a></li>
+<li><a href="#OpenCMISMavenReleaseDocumentation-BuildEnvironments">Build Environments</a></li>
+<li><a href="#OpenCMISMavenReleaseDocumentation-ReleaseArtifacts">Release Artifacts</a>
+         * <a href="#OpenCMISMavenReleaseDocumentation-DocumentationandJavaDoc">Documentation and JavaDoc</a></li>
+<li><a href="#OpenCMISMavenReleaseDocumentation-Preparation">Preparation</a><ul>
+<li><a href="#OpenCMISMavenReleaseDocumentation-ReleaseManager">Release Manager</a></li>
+<li><a href="#OpenCMISMavenReleaseDocumentation-Version">Version</a></li>
+<li><a href="#OpenCMISMavenReleaseDocumentation-OpenIssues">Open Issues</a></li>
+<li><a href="#OpenCMISMavenReleaseDocumentation-UnitTestsandIntegrationTests">Unit Tests and Integration Tests</a></li>
+<li><a href="#OpenCMISMavenReleaseDocumentation-ApacheLicenseandCodeStyle">Apache License and Code Style</a></li>
+<li><a href="#OpenCMISMavenReleaseDocumentation-ReleaseNotes">Release Notes</a></li>
+<li><a href="#OpenCMISMavenReleaseDocumentation-ReleaseTag">Release Tag</a></li>
+<li><a href="#OpenCMISMavenReleaseDocumentation-ReleaseBranch">Release Branch</a></li>
+</ul>
+</li>
+<li><a href="#OpenCMISMavenReleaseDocumentation-ReleaseCandidate">Release Candidate</a><ul>
+<li><a href="#OpenCMISMavenReleaseDocumentation-PublishingTheRelease">Publishing The Release</a></li>
+</ul>
+</li>
+<li><a href="#OpenCMISMavenReleaseDocumentation-PostReleaseCleanup">Post Release Cleanup</a></li>
+</ul>
+<p><a name="OpenCMISMavenReleaseDocumentation-OpenCMISReleaseDocumentation"></a></p>
+<h1 id="opencmis_release_documentation">OpenCMIS Release Documentation</h1>
+<p><a name="OpenCMISMavenReleaseDocumentation-Introduction"></a></p>
+<h2 id="introduction">Introduction</h2>
+<p>This document describes the release process for Apache Chemistry OpenCMIS.
+It heavily refers to <a href="http://maven.apache.org/developers/release/apache-release.html">standard Apache procedures to release</a>
+ Maven based projects at Apache. Also [general incubator best practices|http://incubator.apache.org/guides/releasemanagement.html]
+ have been implemented.</p>
+<p><a name="OpenCMISMavenReleaseDocumentation-BuildEnvironments"></a></p>
+<h2 id="build_environments">Build Environments</h2>
+<p>OpenCMIS is built and released with <a href="http://maven.apache.org">Maven2</a>
+ and uses the [Apache POM version 7|http://svn.apache.org/repos/asf/maven/pom/tags/apache-7/pom.xml]
+ .</p>
+<p><a name="OpenCMISMavenReleaseDocumentation-ReleaseArtifacts"></a></p>
+<h2 id="release_artifacts">Release Artifacts</h2>
+<p>An OpenCMIS release (<a href="https://repository.apache.org/index.html#nexus-search;gav~org.apache.chemistry.opencmis~~0.1.0-incubating-SNAPSHOT">see an exampled of all released packages here</a>
+) consists of:</p>
+<ul>
+<li>
+<p>All POMs/JARs/WARs built as part of the standard Maven build process. For
+an overview on the released modules see artifacts with groupId
+<em>org.apache.chemistry.opencmis</em> in the <a href="https://repository.apache.org/index.html#nexus-search;gav~org.apache.chemistry.opencmis~~~~">Apache Maven Repository</a>
+. In detail, per every module, where applicable, the following artifacts
+are produced:
+<strong> <em>Main artifact</em>: <em><artifactId>-<version>.<ext></em></strong> <em>Source artifact</em>: <em><artifactId>-<version>-sources.<ext></em>
+<strong> <em>Javadoc artifact</em>: <em><artifactId>-<version>-javadoc.<ext></em></strong> <em>POM</em>: <em><artifactId>-<version>.pom</em></p>
+</li>
+<li>
+<p>Also the following additional <em>distribution commodity packages</em> are
+provided as part of the release:
+<strong> A source-release bundle containing all files the sources necessary to
+build all other artifacts.
+<strong><em> <em>Package formats</em>: zip.&nbsp;</em></strong> <em>Name</em>: <em>chemistry-opencmis-<version>-source-release.<ext></em></strong> A package containing offline HTML documentation and the full javadocs:
+<strong><em> <em>Package formats</em>: tar.gz and zip.&nbsp;</em></strong> <em>Name</em>: <em>chemistry-opencmis-<version>-docs.<ext></em>
+<strong> A client distribution bundle with all the client related JARs:
+<strong><em> <em>Package formats</em>: tar.gz and zip.&nbsp;</em></strong> <em>Name</em>:&nbsp;<em>chemistry-opencmis-dist-<version>-client.<ext></em></strong> A client bundle (as above) with OpenCMIS Client JARs and&nbsp;all
+dependencies.
+<strong><em> <em>Package formats</em>: tar.gz and zip.&nbsp;</em></strong> <em>Name</em>:
+<em>chemistry-opencmis-client-impl-<version>-with-dependencies.<ext></em>
+<strong> A bundle containing the OpenCMIS server WARs and support
+<strong><em> <em>Package formats</em>: tar.gz and zip.&nbsp;</em></strong> <em>Name</em>:&nbsp;<em>chemistry-opencmis-dist-<version>-server.<ext></em></strong> A bundle containing all OpenCMIS server related WARs (<em>inmemory,
+fileshare, browser)</em>
+<strong><em> <em>Package formats</em>: tar.gz and zip.&nbsp;</em></strong> <em>Name</em>: <em>chemistry-opencmis-dist-<version>-server-webapps.<ext></em></p>
+</li>
+</ul>
+<p><a name="OpenCMISMavenReleaseDocumentation-DocumentationandJavaDoc"></a></p>
+<h4 id="documentation_and_javadoc">Documentation and JavaDoc</h4>
+<p>The documentation that will be part of the release must match the code. All
+examples in the documentation must work. The Java package documentation
+must be up-to-date. The JavaDoc must be generated with Maven without
+warnings.</p>
+<p>The Maven site documentation will be generated as part of the release and deployed as part of the vote at http:/people.apache.org/~gabriele/opencmis/<version> (<a href="http://people.apache.org/~gabriele/chemistry/opencmis/0.1.0-incubating-SNAPSHOT/">see an example</a>
+) .
+Later, upon release approval, this will be synced in a sub folder of <a href="http://incubator.apache.org/chemistry/">http://incubator.apache.org/chemistry/</a>
+ and linked from the wiki home page. This will allow to publish up to date
+Java Doc and test reports.</p>
+<p><a name="OpenCMISMavenReleaseDocumentation-Preparation"></a></p>
+<h2 id="preparation">Preparation</h2>
+<p><a name="OpenCMISMavenReleaseDocumentation-ReleaseManager"></a></p>
+<h3 id="release_manager">Release Manager</h3>
+<p>A release manager must be appointed for a release. He or she is in charge
+of the release process, following the guidelines and eventually generating
+the release artifacts. The release manager might tailor the process for a
+specific release.</p>
+<p><a name="OpenCMISMavenReleaseDocumentation-Version"></a></p>
+<h3 id="version">Version</h3>
+<p>The OpenCMIS community decides if the release will be a major or a minor
+release and agrees on a version number. The string "-incubating" will be
+attached to incubator release version numbers.</p>
+<p><a name="OpenCMISMavenReleaseDocumentation-OpenIssues"></a></p>
+<h3 id="open_issues">Open Issues</h3>
+<p>There must not be any open JIRA issues for this release.  There might be
+open issues for future releases.</p>
+<p><a name="OpenCMISMavenReleaseDocumentation-UnitTestsandIntegrationTests"></a></p>
+<h3 id="unit_tests_and_integration_tests">Unit Tests and Integration Tests</h3>
+<p>All unit tests and integration tests must succeed on a clean machine
+(starting with an empty local Maven repository).</p>
+<p><a name="OpenCMISMavenReleaseDocumentation-ApacheLicenseandCodeStyle"></a></p>
+<h3 id="apache_license_and_code_style">Apache License and Code Style</h3>
+<p>Each source code file must have a current ASF license header. The source
+code should follow the OpenCMIS code style.</p>
+<p><a name="OpenCMISMavenReleaseDocumentation-ReleaseNotes"></a></p>
+<h3 id="release_notes">Release Notes</h3>
+<p>Each release must provide a RELEASE-NOTES.txt file in the base directory of
+the source bundle. It must contain all known issues and should contain a
+description of all the changes since the previous release. The release
+notes should also contain the minimum target Java version and a list of all
+dependencies with their minimum version.
+NOTICE.txt and LICENSE.txt must be present in all bundles and must be
+up-to-date.</p>
+<p><a name="OpenCMISMavenReleaseDocumentation-ReleaseTag"></a></p>
+<h3 id="release_tag">Release Tag</h3>
+<p>A tag has to be created for every release candidate. The naming rule for
+the tags is <em>tags/chemistry-opencmis-<version>-RC<number></em>.
+This is created as part of the Maven release process. The tag will be
+renamed to the final version number upon vote approval.</p>
+<p><a name="OpenCMISMavenReleaseDocumentation-ReleaseBranch"></a></p>
+<h3 id="release_branch">Release Branch</h3>
+<p>A branch has to be created for every release. The naming rule for this
+branch is <em>branches/chemistry-opencmis-<version>-release</em>.
+This has to be created manually upon release approval.</p>
+<p><a name="OpenCMISMavenReleaseDocumentation-ReleaseCandidate"></a></p>
+<h2 id="release_candidate">Release Candidate</h2>
+<p>Once all preparations are done, a release candidate will be built.</p>
+<p>All release candidates must be cryptographically signed. The string
+"-RC<number>" will be attached to the version number of the release
+candidate artifacts, where <number> is the number of the release candidate
+starting with 1. If more than one release candidate is required a new tag
+has to be created and release candidate number will be increased by one.</p>
+<p>The release candidate artifacts:</p>
+<ul>
+<li><em>Maven artifacts</em> will be <a href="http://incubator.apache.org/guides/releasemanagement.html">staged</a>
+ on <em>repository.apache.org</em>&nbsp;</li>
+<li><em>Distribution commodity packages</em>&nbsp;are staged
+at&nbsp;{color:#003366}http:/people.apache.org/~<em><username></em>/opencmis/<version>/dist/{color}&nbsp;</li>
+<li>The <em>generated site reports/javadocs</em> will be staged
+at&nbsp;{color:#003366}http:/people.apache.org/~<em><username></em>/opencmis/<version>/site/{color}</li>
+</ul>
+<p>Once candidate artifacts are available, release manager kicks off the <a href="http://incubator.apache.org/guides/releasemanagement.html#best-practice-incubator-release-vote">VOTE process</a>
+.</p>
+<p>If the vote fails, the raised issues will be fixed, a new release candidate
+will be built and the VOTE process will be  restarted.</p>
+<p>If the release candidate gets approved, we can proceed to release
+publishing.</p>
+<p><a name="OpenCMISMavenReleaseDocumentation-PublishingTheRelease"></a></p>
+<h3 id="publishing_the_release">Publishing The Release</h3>
+<p>If the release candidate gets approved, we can proceed to release
+publishing:</p>
+<ul>
+<li><em>release candidate maven artifacts</em> are&nbsp;<em>promoted</em> as in the Apache
+Maven Repository and made available at <a href="https://repository.apache.org/content/groups/public/org/apache/chemistry/">https://repository.apache.org/content/groups/public/org/apache/chemistry/</a></li>
+<li>Maven&nbsp;artifacts are automatically synced to Maven Central [http://repo1.maven.org/maven2]
+&nbsp;</li>
+<li><em>release candidate commodity packages</em> are synced (together with their
+checksum and signatures) to <a href="http://www.apache.org/dist/incubator/chemistry">http://www.apache.org/dist/incubator/chemistry</a></li>
+<li><em>maven site</em> is synced to <a href="http://incubator.apache.org/chemistry/maven-site/&lt;version&gt;">http://incubator.apache.org/chemistry/maven-site/<version></a>
+ and back-linked from [http://incubator.apache.org/chemistry/index.html]</li>
+<li><em>project version</em> at&nbsp;<a href="http://incubator.apache.org/chemistry/index.html">http://incubator.apache.org/chemistry/index.html</a>
+&nbsp;is updated</li>
+<li><em>release tag is renamed</em> to final version</li>
+<li>release branch is created</li>
+<li><em>Release is closed</em> in <a href="https://issues.apache.org/jira/secure/project/ManageVersions.jspa?pid=12310936" /></li>
+<li>
+<p><em>Release is announced</em> to&nbsp;</p>
+</li>
+<li>
+<p>{noformat}
+general@incubator.apache.org chemistry-dev@incubator.apache.org</p>
+<p>h2. Post Release Cleanup</p>
+<ul>
+<li>Remove release candidate artifacts and sites</li>
+</ul>
+</li>
+</ul></div>
+             <!-- Content -->
+           </td>
+          </tr>
+        </table>
+     </td>
+     <td id="cell-2-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+     <td id="cell-3-0">&nbsp;</td>
+     <td id="cell-3-1">
+       <div id="footer">
+       <!-- Footer -->
+       <div id="site-footer">
+          
+          Apache Chemistry, Apache, the Apache feather logo, and the Apache 
+          Chemistry project logo are trademarks of The Apache Software 
+          Foundation.<br /><br />
+          Content Management Interoperability Services (CMIS) is an
+          <a href="http://www.oasis-open.org/committees/cmis/">OASIS</a>
+          specification.
+          
+       </div>
+       <!-- Footer -->
+       </div>
+     </td>
+     <td id="cell-3-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-4-0">&nbsp;</td>
+      <td id="cell-4-1">&nbsp;</td>
+      <td id="cell-4-2">&nbsp;</td>
+    </tr>
+  </table>
+</body>
+</html>

Added: websites/staging/chemistry/trunk/content/opencmis-modules.html
==============================================================================
--- websites/staging/chemistry/trunk/content/opencmis-modules.html (added)
+++ websites/staging/chemistry/trunk/content/opencmis-modules.html Thu Feb 17 17:18:07 2011
@@ -0,0 +1,268 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+  <head>
+    <link type="text/css" rel="stylesheet" href="http://incubator.apache.org/chemistry/resources/site.css"></link>
+    <script src="http://incubator.apache.org/chemistry/resources/space.js" type="text/javascript"></script>
+    <meta name="keywords" content="CMIS, Content Management Interoperability Service, ECM, Enterprise Content Management, OASIS, integration standards, Chemistry, OpenCMIS"/>
+    <meta name="description" content"Apache Chemistry, CMIS Implementation" />
+    <title>
+Apache Chemistry - OpenCMIS Modules
+    </title>
+  </head>
+<body onload="init()">
+  <table width="100%" cellpadding="0" cellspacing="0">
+    <tr width="100%">
+      <td id="cell-0-0">&nbsp;</td>
+      <td id="cell-0-1">&nbsp;</td>
+      <td id="cell-0-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-1-0">&nbsp;</td>
+      <td id="cell-1-1">
+        <div style="padding: 5px;">
+          <div id="banner">
+          <!-- Banner -->
+<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
+<TR>
+<TD align="left" class="topbardiv" nowrap="">
+<A href="http://incubator.apache.org/chemistry" title="Apache Chemistry">
+<IMG border="0" src="http://incubator.apache.org/chemistry/images/chemistry_logo_small.png"/>
+</A>
+</TD>
+<TD align="right" nowrap="">
+<A href="http://incubator.apache.org/" title="The Apache Software Foundation Incubator">
+<IMG border="0" src="http://incubator.apache.org/images/apache-incubator-logo.png">
+</A>
+</TD>
+</TR>
+</TABLE>
+          <!-- Banner -->
+          </div>
+        </div>
+        <div id="top-menu">
+          <table border="0" cellpadding="1" cellspacing="0" width="100%">
+            <tr>
+              <td>
+                <div align="left">
+                <!-- Breadcrumbs -->
+<a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/opencmis.html">OpenCMIS</a>&nbsp;&raquo&nbsp;<a href="/opencmis-modules.html">OpenCMIS Modules</a>
+                <!-- Breadcrumbs -->
+                </div>
+              </td>
+              <td>
+                <div align="right">
+                <!-- Quicklinks -->
+<P><A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A> <A href="sitemap.html" title="SiteMap">Site Map</A></P>
+                <!-- Quicklinks -->
+                </div>
+              </td>
+            </tr>
+          </table>
+        </div>
+      </td>
+      <td id="cell-1-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-2-0">&nbsp;</td>
+      <td id="cell-2-1">
+        <table>
+          <tr height="100%" valign="top">
+            <td height="100%">
+              <div id="wrapper-menu-page-right">
+                <div id="wrapper-menu-page-top">
+                  <div id="wrapper-menu-page-bottom">
+                    <div id="menu-page">
+                    <!-- NavigationBar -->
+                    <H3><A name="Navigation-Overview"></A>Overview</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A></LI>
+   <LI><A href="sitemap.html" title="SiteMap">Site Map</A></LI>
+   <LI><A href="http://mail-archives.apache.org/mod_mbox/incubator-chemistry-dev/" class="external-link" rel="nofollow">Mailing List</A></LI>
+   <LI><A href="https://issues.apache.org/jira/browse/CMIS" class="external-link" rel="nofollow">Issue Tracking</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Search"></A>Search</H3>
+
+<DIV style="padding: 0px 0px 0px 20px;">
+<FORM action="http://www.google.com/search" method="get" style="font-size: 10px;">
+<INPUT name="ie" type="hidden" value="UTF-8"></INPUT>
+<INPUT name="oe" type="hidden" value="UTF-8"></INPUT>
+  <INPUT maxlength="255" name="q" size="12" type="text" value=""></INPUT>
+  <INPUT name="btnG" type="submit" value="Search"></INPUT>
+  <INPUT name="domains" type="hidden" value="incubator.apache.org/chemistry"></INPUT>
+  <INPUT name="sitesearch" type="hidden" value="incubator.apache.org/chemistry"></INPUT>
+</FORM>
+</DIV>
+
+
+<H3><A name="Navigation-CMISforJava"></A>CMIS for Java</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="opencmis.html" title="OpenCMIS">OpenCMIS</A></LI>
+   <LI><A href="opencmis-modules.html" title="OpenCMIS Modules">Overview</A></LI>
+   <LI><A href="opencmis-client-api.html" title="OpenCMIS Client API">Client API</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/opencmis/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+   <LI><A href="http://incubator.apache.org/chemistry/javadoc/index.html" class="external-link" rel="nofollow">JavaDoc</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISforPython"></A>CMIS for Python</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="cmislib.html" title="cmislib">cmislib</A></LI>
+   <LI><A href="http://incubator.apache.org/chemistry/cmislib-doc/" class="external-link" rel="nofollow">cmislib Documentation</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/cmislib/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISforPHP"></A>CMIS for PHP</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="phpclient.html" title="phpclient">CMIS PHP Client</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/phpclient/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISfor.NET"></A>CMIS for .NET</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="dotcmis.html" title="DotCMIS">DotCMIS</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/dotcmis/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Sponsorship"></A>Sponsorship</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</A></LI>
+   <LI><A href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">Sponsoring Apache</A></LI>
+</UL>
+
+                    <!-- NavigationBar -->
+                    </div>
+                </div>
+              </div>
+            </div>
+           </td>
+           <td height="100%">
+             <!-- Content -->
+             <div class="wiki-content"><p><a name="OpenCMISModules-OpenCMISModules"></a></p>
+<h1 id="opencmis_modules">OpenCMIS Modules</h1>
+<p>OpenCMIS is divided into four groups of modules:
+<em> </em>chemistry-opencmis-commons<em>: Modules used by all other modules.
+</em> <em>chemistry-opencmis-client</em>: CMIS client related modules.
+<em> </em>chemistry-opencmis-server<em>: CMIS server framework related modules.
+</em> <em>chemistry-opencmis-test</em>: Test modules that are not required at runtime.</p>
+<p>!opecncmis-layers.png|align=center!</p>
+<p><a name="OpenCMISModules-ModuleDescription"></a></p>
+<h2 id="module_description">Module Description</h2>
+<p><a name="OpenCMISModules-Commons"></a></p>
+<h3 id="commons">Commons</h3>
+<p><a name="OpenCMISModules-chemistry-opencmis-commons-api"></a></p>
+<h4 id="chemistry-opencmis-commons-api">chemistry-opencmis-commons-api</h4>
+<p>Interfaces, enums and exceptions used across all other modules.</p>
+<p><a name="OpenCMISModules-chemistry-opencmis-commons-impl"></a></p>
+<h4 id="chemistry-opencmis-commons-impl">chemistry-opencmis-commons-impl</h4>
+<p>Implementations of the interface defined in chemistry-opencmis-commons-api.
+It also generates and contains the JAXB classes.</p>
+<p><a name="OpenCMISModules-Client"></a></p>
+<h3 id="client">Client</h3>
+<p><a name="OpenCMISModules-chemistry-opencmis-client-api"></a></p>
+<h4 id="chemistry-opencmis-client-api">chemistry-opencmis-client-api</h4>
+<p>Client API used by applications. See <a href="opencmis-client-api.html">OpenCMIS Client API</a>
+ for details.</p>
+<p><a name="OpenCMISModules-chemistry-opencmis-client-impl"></a></p>
+<h4 id="chemistry-opencmis-client-impl">chemistry-opencmis-client-impl</h4>
+<p>Implementations of the client API.</p>
+<p><a name="OpenCMISModules-chemistry-opencmis-client-bindings"></a></p>
+<h4 id="chemistry-opencmis-client-bindings">chemistry-opencmis-client-bindings</h4>
+<p>CMIS client AtomPub and Web Services binding implementation. See <a href="opencmis-client-bindings.html">OpenCMIS Client Bindings</a>
+ for details.</p>
+<p><a name="OpenCMISModules-Server"></a></p>
+<h3 id="server">Server</h3>
+<p><a name="OpenCMISModules-chemistry-opencmis-server-bindings"></a></p>
+<h4 id="chemistry-opencmis-server-bindings">chemistry-opencmis-server-bindings</h4>
+<p>CMIS server AtomPub and Web Services binding implementation. See <a href="opencmis-server-framework.html">OpenCMIS Server Framework</a>
+ for details.</p>
+<p><a name="OpenCMISModules-chemistry-opencmis-server-support"></a></p>
+<h4 id="chemistry-opencmis-server-support">chemistry-opencmis-server-support</h4>
+<p>Convenience classes for repository connectors. This module contains the
+CMIS query parser.</p>
+<p><a name="OpenCMISModules-chemistry-opencmis-server-inmemory"></a></p>
+<h4 id="chemistry-opencmis-server-inmemory">chemistry-opencmis-server-inmemory</h4>
+<p>CMIS in-memory repository for test purposes. See <a href="opencmis-inmemory-repository.html">OpenCMIS InMemory Repository</a>
+ for details.</p>
+<p><a name="OpenCMISModules-chemistry-opencmis-server-fileshare"></a></p>
+<h4 id="chemistry-opencmis-server-fileshare">chemistry-opencmis-server-fileshare</h4>
+<p>CMIS file system repository for test purposes. See <a href="opencmis-fileshare-repository.html">OpenCMIS FileShare Repository</a>
+ for details.</p>
+<p><a name="OpenCMISModules-Test"></a></p>
+<h3 id="test">Test</h3>
+<p><a name="OpenCMISModules-chemistry-opencmis-test-fit"></a></p>
+<h4 id="chemistry-opencmis-test-fit">chemistry-opencmis-test-fit</h4>
+<p>Integration tests covering the whole stack.</p>
+<p><a name="OpenCMISModules-chemistry-opencmis-test-browser"></a></p>
+<h4 id="chemistry-opencmis-test-browser">chemistry-opencmis-test-browser</h4>
+<p>Simple web based CMIS client. See <a href="opencmis-browser.html">OpenCMIS Browser</a>
+ for details.</p>
+<p><a name="OpenCMISModules-chemistry-opencmis-test-util"></a></p>
+<h4 id="chemistry-opencmis-test-util">chemistry-opencmis-test-util</h4>
+<p>Utility classes for tests.</p>
+<p><a name="OpenCMISModules-chemistry-opencmis-test-tools"></a></p>
+<h4 id="chemistry-opencmis-test-tools">chemistry-opencmis-test-tools</h4>
+<p>Development tools.</p></div>
+             <!-- Content -->
+           </td>
+          </tr>
+        </table>
+     </td>
+     <td id="cell-2-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+     <td id="cell-3-0">&nbsp;</td>
+     <td id="cell-3-1">
+       <div id="footer">
+       <!-- Footer -->
+       <div id="site-footer">
+          
+          Apache Chemistry, Apache, the Apache feather logo, and the Apache 
+          Chemistry project logo are trademarks of The Apache Software 
+          Foundation.<br /><br />
+          Content Management Interoperability Services (CMIS) is an
+          <a href="http://www.oasis-open.org/committees/cmis/">OASIS</a>
+          specification.
+          
+       </div>
+       <!-- Footer -->
+       </div>
+     </td>
+     <td id="cell-3-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-4-0">&nbsp;</td>
+      <td id="cell-4-1">&nbsp;</td>
+      <td id="cell-4-2">&nbsp;</td>
+    </tr>
+  </table>
+</body>
+</html>

Added: websites/staging/chemistry/trunk/content/opencmis-release-documentation.html
==============================================================================
--- websites/staging/chemistry/trunk/content/opencmis-release-documentation.html (added)
+++ websites/staging/chemistry/trunk/content/opencmis-release-documentation.html Thu Feb 17 17:18:07 2011
@@ -0,0 +1,348 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+  <head>
+    <link type="text/css" rel="stylesheet" href="http://incubator.apache.org/chemistry/resources/site.css"></link>
+    <script src="http://incubator.apache.org/chemistry/resources/space.js" type="text/javascript"></script>
+    <meta name="keywords" content="CMIS, Content Management Interoperability Service, ECM, Enterprise Content Management, OASIS, integration standards, Chemistry, OpenCMIS"/>
+    <meta name="description" content"Apache Chemistry, CMIS Implementation" />
+    <title>
+Apache Chemistry - OpenCMIS Release Documentation
+    </title>
+  </head>
+<body onload="init()">
+  <table width="100%" cellpadding="0" cellspacing="0">
+    <tr width="100%">
+      <td id="cell-0-0">&nbsp;</td>
+      <td id="cell-0-1">&nbsp;</td>
+      <td id="cell-0-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-1-0">&nbsp;</td>
+      <td id="cell-1-1">
+        <div style="padding: 5px;">
+          <div id="banner">
+          <!-- Banner -->
+<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
+<TR>
+<TD align="left" class="topbardiv" nowrap="">
+<A href="http://incubator.apache.org/chemistry" title="Apache Chemistry">
+<IMG border="0" src="http://incubator.apache.org/chemistry/images/chemistry_logo_small.png"/>
+</A>
+</TD>
+<TD align="right" nowrap="">
+<A href="http://incubator.apache.org/" title="The Apache Software Foundation Incubator">
+<IMG border="0" src="http://incubator.apache.org/images/apache-incubator-logo.png">
+</A>
+</TD>
+</TR>
+</TABLE>
+          <!-- Banner -->
+          </div>
+        </div>
+        <div id="top-menu">
+          <table border="0" cellpadding="1" cellspacing="0" width="100%">
+            <tr>
+              <td>
+                <div align="left">
+                <!-- Breadcrumbs -->
+<a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/opencmis.html">OpenCMIS</a>&nbsp;&raquo&nbsp;<a href="/opencmis-release-documentation.html">OpenCMIS Release Documentation</a>
+                <!-- Breadcrumbs -->
+                </div>
+              </td>
+              <td>
+                <div align="right">
+                <!-- Quicklinks -->
+<P><A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A> <A href="sitemap.html" title="SiteMap">Site Map</A></P>
+                <!-- Quicklinks -->
+                </div>
+              </td>
+            </tr>
+          </table>
+        </div>
+      </td>
+      <td id="cell-1-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-2-0">&nbsp;</td>
+      <td id="cell-2-1">
+        <table>
+          <tr height="100%" valign="top">
+            <td height="100%">
+              <div id="wrapper-menu-page-right">
+                <div id="wrapper-menu-page-top">
+                  <div id="wrapper-menu-page-bottom">
+                    <div id="menu-page">
+                    <!-- NavigationBar -->
+                    <H3><A name="Navigation-Overview"></A>Overview</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A></LI>
+   <LI><A href="sitemap.html" title="SiteMap">Site Map</A></LI>
+   <LI><A href="http://mail-archives.apache.org/mod_mbox/incubator-chemistry-dev/" class="external-link" rel="nofollow">Mailing List</A></LI>
+   <LI><A href="https://issues.apache.org/jira/browse/CMIS" class="external-link" rel="nofollow">Issue Tracking</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Search"></A>Search</H3>
+
+<DIV style="padding: 0px 0px 0px 20px;">
+<FORM action="http://www.google.com/search" method="get" style="font-size: 10px;">
+<INPUT name="ie" type="hidden" value="UTF-8"></INPUT>
+<INPUT name="oe" type="hidden" value="UTF-8"></INPUT>
+  <INPUT maxlength="255" name="q" size="12" type="text" value=""></INPUT>
+  <INPUT name="btnG" type="submit" value="Search"></INPUT>
+  <INPUT name="domains" type="hidden" value="incubator.apache.org/chemistry"></INPUT>
+  <INPUT name="sitesearch" type="hidden" value="incubator.apache.org/chemistry"></INPUT>
+</FORM>
+</DIV>
+
+
+<H3><A name="Navigation-CMISforJava"></A>CMIS for Java</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="opencmis.html" title="OpenCMIS">OpenCMIS</A></LI>
+   <LI><A href="opencmis-modules.html" title="OpenCMIS Modules">Overview</A></LI>
+   <LI><A href="opencmis-client-api.html" title="OpenCMIS Client API">Client API</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/opencmis/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+   <LI><A href="http://incubator.apache.org/chemistry/javadoc/index.html" class="external-link" rel="nofollow">JavaDoc</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISforPython"></A>CMIS for Python</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="cmislib.html" title="cmislib">cmislib</A></LI>
+   <LI><A href="http://incubator.apache.org/chemistry/cmislib-doc/" class="external-link" rel="nofollow">cmislib Documentation</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/cmislib/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISforPHP"></A>CMIS for PHP</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="phpclient.html" title="phpclient">CMIS PHP Client</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/phpclient/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISfor.NET"></A>CMIS for .NET</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="dotcmis.html" title="DotCMIS">DotCMIS</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/dotcmis/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Sponsorship"></A>Sponsorship</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</A></LI>
+   <LI><A href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">Sponsoring Apache</A></LI>
+</UL>
+
+                    <!-- NavigationBar -->
+                    </div>
+                </div>
+              </div>
+            </div>
+           </td>
+           <td height="100%">
+             <!-- Content -->
+             <div class="wiki-content"><p><a name="OpenCMISReleaseDocumentation-OpenCMISReleaseDocumentation"></a></p>
+<h1 id="opencmis_release_documentation">OpenCMIS Release Documentation</h1>
+<p><a name="OpenCMISReleaseDocumentation-Introduction"></a></p>
+<h2 id="introduction">Introduction</h2>
+<p>This document describes the release guidelines for Apache Chemistry
+OpenCMIS.</p>
+<p><a name="OpenCMISReleaseDocumentation-BuildEnvironments"></a></p>
+<h2 id="build_environments">Build Environments</h2>
+<p>OpenCMIS has to be built with Maven 2.</p>
+<p><a name="OpenCMISReleaseDocumentation-ReleaseArtifacts"></a></p>
+<h2 id="release_artifacts">Release Artifacts</h2>
+<p>An OpenCMIS release consists of:
+<em> A source bundle containing all files that are necessary to build all
+other artifacts. It also contains the JavaDoc of the client API, the client
+bindings API and the server SPI as well as additional documentation and
+examples.
+Package formats: tar.gz and zip. 
+Name: </em>chemistry-opencmis-<version>-source.<ext>*</p>
+<ul>
+<li>
+<p>A client bundle containing all OpenCMIS JARs that are necessary to build
+a CMIS client application.
+Package formats: tar.gz and zip. 
+Name: <em>chemistry-opencmis-<version>-client.<ext></em></p>
+</li>
+<li>
+<p>A client bundle (as above) with all dependencies. 
+Package formats: tar.gz and zip. 
+Name: <em>chemistry-opencmis-<version>-client-dep.<ext></em></p>
+</li>
+<li>
+<p>A server bundle containing all OpenCMIS JARs and WARs and dependencies
+that are necessary to build a CMIS server. 
+Package formats: tar.gz and zip. 
+Name: <em>chemistry-opencmis-<version>-server.<ext></em></p>
+</li>
+<li>
+<p>An InMemory repository bundle containing a ready-to-deploy WAR.
+Package formats: tar.gz and zip. 
+Name: <em>chemistry-opencmis-<version>-server-inmemory.<ext></em></p>
+</li>
+<li>
+<p>A FileShare repository bundle containing a ready-to-deploy WAR.
+Package formats: tar.gz and zip. 
+Name: <em>chemistry-opencmis-<version>-server-fileshare.<ext></em></p>
+</li>
+<li>
+<p>A browser bundle containing a ready-to-deploy WAR.
+Package formats: tar.gz and zip.
+Name: <em>chemistry-opencmis-<version>-browser.<ext></em></p>
+</li>
+</ul>
+<p><a name="OpenCMISReleaseDocumentation-Preparation"></a></p>
+<h2 id="preparation">Preparation</h2>
+<p><a name="OpenCMISReleaseDocumentation-ReleaseManager"></a></p>
+<h3 id="release_manager">Release Manager</h3>
+<p>A release manager must be appointed for a release. He or she is in charge
+of the release process, following the guidelines and eventually generating
+the release artifacts. The release manager might tailor the process for a
+specific release.</p>
+<p><a name="OpenCMISReleaseDocumentation-Version"></a></p>
+<h3 id="version">Version</h3>
+<p>The OpenCMIS community decides if the release will be a major or a minor
+release and agrees on a version number. The string "-incubating" will be
+attached to incubator release version numbers.</p>
+<p><a name="OpenCMISReleaseDocumentation-OpenIssues"></a></p>
+<h3 id="open_issues">Open Issues</h3>
+<p>There must not be any open JIRA issues for this release.  There might be
+open issues for future releases.</p>
+<p><a name="OpenCMISReleaseDocumentation-UnitTestsandIntegrationTests"></a></p>
+<h3 id="unit_tests_and_integration_tests">Unit Tests and Integration Tests</h3>
+<p>All unit tests and integration tests must succeed on a clean machine
+(starting with an empty local Maven repository).</p>
+<p><a name="OpenCMISReleaseDocumentation-DocumentationandJavaDoc"></a></p>
+<h3 id="documentation_and_javadoc">Documentation and JavaDoc</h3>
+<p>The documentation that will be part of the release must match the code. All
+examples in the documentation must work. The Java package documentation
+must be up-to-date.
+The JavaDoc must be generated with Maven without warnings. </p>
+<p><a name="OpenCMISReleaseDocumentation-ApacheLicenseandCodeStyle"></a></p>
+<h3 id="apache_license_and_code_style">Apache License and Code Style</h3>
+<p>Each source code file must have a current ASF license header. The source
+code should follow the OpenCMIS code style.</p>
+<p><a name="OpenCMISReleaseDocumentation-ReleaseNotes"></a></p>
+<h3 id="release_notes">Release Notes</h3>
+<p>Each release must provide a RELEASE-NOTES.txt file in the base directory of
+the source bundle. It must contain all known issues and should contain a
+description of all the changes since the previous release. The release
+notes should also contain the minimum target Java version and a list of all
+dependencies with their minimum version.
+NOTICE.txt and LICENSE.txt must be present in all bundles and must be
+up-to-date.</p>
+<p><a name="OpenCMISReleaseDocumentation-ReleaseBranch"></a></p>
+<h3 id="release_branch">Release Branch</h3>
+<p>A branch has to be created for every release. The naming rule for this
+branch is <em>branches/chemistry-opencmis-<version>-release</em>. 
+A tag has to be created for every release candidate. The naming rule for
+the tags is <em>tags/chemistry-opencmis-<version>-RC<number></em>. </p>
+<p><a name="OpenCMISReleaseDocumentation-ReleaseCandidate"></a></p>
+<h2 id="release_candidate">Release Candidate</h2>
+<p>Once all preparations are done, a release candidate will be built. All
+release candidates must be cryptographically signed. The string
+"-RC<number>" will be attached to the version number of the release
+candidate artifacts, where <number> is the number of the release candidate
+starting with 1. If more than one release candidate is required a new tag
+has to be created and release candidate number will be increased by one.
+The release candidate artifacts will be made available on
+<em>people.apache.org</em> and the release manager kicks off the VOTE process.</p>
+<p>If the vote fails, the raised issues will be fixed, a new release candidate
+will be built and the VOTE process will be  restarted. </p>
+<p>If the release candidate gets approved, the release candidate artifacts
+will be renamed and become the release artifacts. </p>
+<p><a name="OpenCMISReleaseDocumentation-ReleaseTool"></a></p>
+<h3 id="release_tool">Release Tool</h3>
+<p>There is release tool that simplifies the creation of a release candidate. </p>
+<ol>
+<li>Prerequisites: Java &gt;= 1.5, ant &gt;= 1.8, Maven 2, SVN command line tools,
+wget, GPG</li>
+<li>Create a new folder and copy <em>build.xml</em> from <em>trunk/release-tool</em> to
+this folder.</li>
+<li>Open <em>build.xml</em> with your favorite editor and adjust the following
+property values: snapshot version, release version, release candidate,
+tools.</li>
+<li>Run <em>ant prepare</em>. This will create new sub-folders, check out the
+current trunk, adjust the <em>pom.xml</em> files and download the documentation.</li>
+<li>Check everything. Check again. </li>
+<li>Delete your local Maven repository.</li>
+<li>Run <em>ant build</em>. This will compile the whole project, run the JUnit
+tests and the integration test and create the JavaDoc. This will take some
+time.</li>
+<li>Make sure the build was successful. Make sure that there no warnings.</li>
+<li>Run <em>ant pack</em>. This will generate the release artifacts. You might be
+asked for the passphrase of your private GPG key.</li>
+<li>The <em>release</em> folder should now contain all release artifacts. Check
+them all carefully. Check again.</li>
+<li>If you are convinced that all artifacts are ok, upload <em>all artifacts</em> to
+<em>people.apache.org</em> and let the Chemistry community know.</li>
+<li>If this is the first release candidate for this release, create a release
+branch.</li>
+<li>Create a new release candidate tag.</li>
+</ol>
+<p><a name="OpenCMISReleaseDocumentation-PublishingTheRelease"></a></p>
+<h2 id="publishing_the_release">Publishing The Release</h2>
+<p><a name="OpenCMISReleaseDocumentation-PostReleaseCleanup"></a></p>
+<h2 id="post_release_cleanup">Post Release Cleanup</h2></div>
+             <!-- Content -->
+           </td>
+          </tr>
+        </table>
+     </td>
+     <td id="cell-2-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+     <td id="cell-3-0">&nbsp;</td>
+     <td id="cell-3-1">
+       <div id="footer">
+       <!-- Footer -->
+       <div id="site-footer">
+          
+          Apache Chemistry, Apache, the Apache feather logo, and the Apache 
+          Chemistry project logo are trademarks of The Apache Software 
+          Foundation.<br /><br />
+          Content Management Interoperability Services (CMIS) is an
+          <a href="http://www.oasis-open.org/committees/cmis/">OASIS</a>
+          specification.
+          
+       </div>
+       <!-- Footer -->
+       </div>
+     </td>
+     <td id="cell-3-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-4-0">&nbsp;</td>
+      <td id="cell-4-1">&nbsp;</td>
+      <td id="cell-4-2">&nbsp;</td>
+    </tr>
+  </table>
+</body>
+</html>

Added: websites/staging/chemistry/trunk/content/opencmis-server-framework.html
==============================================================================
--- websites/staging/chemistry/trunk/content/opencmis-server-framework.html (added)
+++ websites/staging/chemistry/trunk/content/opencmis-server-framework.html Thu Feb 17 17:18:07 2011
@@ -0,0 +1,337 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+  <head>
+    <link type="text/css" rel="stylesheet" href="http://incubator.apache.org/chemistry/resources/site.css"></link>
+    <script src="http://incubator.apache.org/chemistry/resources/space.js" type="text/javascript"></script>
+    <meta name="keywords" content="CMIS, Content Management Interoperability Service, ECM, Enterprise Content Management, OASIS, integration standards, Chemistry, OpenCMIS"/>
+    <meta name="description" content"Apache Chemistry, CMIS Implementation" />
+    <title>
+Apache Chemistry - OpenCMIS Server Framework
+    </title>
+  </head>
+<body onload="init()">
+  <table width="100%" cellpadding="0" cellspacing="0">
+    <tr width="100%">
+      <td id="cell-0-0">&nbsp;</td>
+      <td id="cell-0-1">&nbsp;</td>
+      <td id="cell-0-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-1-0">&nbsp;</td>
+      <td id="cell-1-1">
+        <div style="padding: 5px;">
+          <div id="banner">
+          <!-- Banner -->
+<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
+<TR>
+<TD align="left" class="topbardiv" nowrap="">
+<A href="http://incubator.apache.org/chemistry" title="Apache Chemistry">
+<IMG border="0" src="http://incubator.apache.org/chemistry/images/chemistry_logo_small.png"/>
+</A>
+</TD>
+<TD align="right" nowrap="">
+<A href="http://incubator.apache.org/" title="The Apache Software Foundation Incubator">
+<IMG border="0" src="http://incubator.apache.org/images/apache-incubator-logo.png">
+</A>
+</TD>
+</TR>
+</TABLE>
+          <!-- Banner -->
+          </div>
+        </div>
+        <div id="top-menu">
+          <table border="0" cellpadding="1" cellspacing="0" width="100%">
+            <tr>
+              <td>
+                <div align="left">
+                <!-- Breadcrumbs -->
+<a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/opencmis.html">OpenCMIS</a>&nbsp;&raquo&nbsp;<a href="/opencmis-server-framework.html">OpenCMIS Server Framework</a>
+                <!-- Breadcrumbs -->
+                </div>
+              </td>
+              <td>
+                <div align="right">
+                <!-- Quicklinks -->
+<P><A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A> <A href="sitemap.html" title="SiteMap">Site Map</A></P>
+                <!-- Quicklinks -->
+                </div>
+              </td>
+            </tr>
+          </table>
+        </div>
+      </td>
+      <td id="cell-1-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-2-0">&nbsp;</td>
+      <td id="cell-2-1">
+        <table>
+          <tr height="100%" valign="top">
+            <td height="100%">
+              <div id="wrapper-menu-page-right">
+                <div id="wrapper-menu-page-top">
+                  <div id="wrapper-menu-page-bottom">
+                    <div id="menu-page">
+                    <!-- NavigationBar -->
+                    <H3><A name="Navigation-Overview"></A>Overview</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A></LI>
+   <LI><A href="sitemap.html" title="SiteMap">Site Map</A></LI>
+   <LI><A href="http://mail-archives.apache.org/mod_mbox/incubator-chemistry-dev/" class="external-link" rel="nofollow">Mailing List</A></LI>
+   <LI><A href="https://issues.apache.org/jira/browse/CMIS" class="external-link" rel="nofollow">Issue Tracking</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Search"></A>Search</H3>
+
+<DIV style="padding: 0px 0px 0px 20px;">
+<FORM action="http://www.google.com/search" method="get" style="font-size: 10px;">
+<INPUT name="ie" type="hidden" value="UTF-8"></INPUT>
+<INPUT name="oe" type="hidden" value="UTF-8"></INPUT>
+  <INPUT maxlength="255" name="q" size="12" type="text" value=""></INPUT>
+  <INPUT name="btnG" type="submit" value="Search"></INPUT>
+  <INPUT name="domains" type="hidden" value="incubator.apache.org/chemistry"></INPUT>
+  <INPUT name="sitesearch" type="hidden" value="incubator.apache.org/chemistry"></INPUT>
+</FORM>
+</DIV>
+
+
+<H3><A name="Navigation-CMISforJava"></A>CMIS for Java</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="opencmis.html" title="OpenCMIS">OpenCMIS</A></LI>
+   <LI><A href="opencmis-modules.html" title="OpenCMIS Modules">Overview</A></LI>
+   <LI><A href="opencmis-client-api.html" title="OpenCMIS Client API">Client API</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/opencmis/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+   <LI><A href="http://incubator.apache.org/chemistry/javadoc/index.html" class="external-link" rel="nofollow">JavaDoc</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISforPython"></A>CMIS for Python</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="cmislib.html" title="cmislib">cmislib</A></LI>
+   <LI><A href="http://incubator.apache.org/chemistry/cmislib-doc/" class="external-link" rel="nofollow">cmislib Documentation</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/cmislib/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISforPHP"></A>CMIS for PHP</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="phpclient.html" title="phpclient">CMIS PHP Client</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/phpclient/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-CMISfor.NET"></A>CMIS for .NET</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="dotcmis.html" title="DotCMIS">DotCMIS</A></LI>
+   <LI><A href="https://svn.apache.org/repos/asf/chemistry/dotcmis/trunk" class="external-link" rel="nofollow">Source Code</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Sponsorship"></A>Sponsorship</H3>
+
+<UL class="alternate" type="square">
+   <LI><A href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</A></LI>
+   <LI><A href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">Sponsoring Apache</A></LI>
+</UL>
+
+                    <!-- NavigationBar -->
+                    </div>
+                </div>
+              </div>
+            </div>
+           </td>
+           <td height="100%">
+             <!-- Content -->
+             <div class="wiki-content"><p><a name="OpenCMISServerFramework-OpenCMISServerFramework"></a></p>
+<h1 id="opencmis_server_framework">OpenCMIS Server Framework</h1>
+<p>The OpenCMIS Server Framework provides a server implementation of both CMIS
+bindings, AtomPub and Web Services, and maps them to Java interfaces.
+Requests and data from CMIS clients are converted and pushed to a
+repository connector. The connector translates the CMIS calls into native
+repository calls.</p>
+<p><a name="OpenCMISServerFramework-RepositoryConnectorDevelopment"></a></p>
+<h2 id="repository_connector_development">Repository Connector Development</h2>
+<p>This is a brief description of the interfaces and classes a repository
+connector has to extend and implement. For interface details see the
+OpenCMIS Server Framework SPI JavaDoc.</p>
+<p><a name="OpenCMISServerFramework-FrameworkEntryPoint"></a></p>
+<h3 id="framework_entry_point">Framework Entry Point</h3>
+<p>A repository connector has to extend the <em>AbstractServiceFactory</em> class.
+This class manages the objects that implement the CMIS service interface.
+There is only one active instance of this factory class per servlet
+context. The class name has to be set in the configuration file
+<em>/WEB-INF/classes/repository.properties</em>.</p>
+<div class="codehilite"><pre><span class="c1"># set fully qualified class name</span>
+<span class="n">class</span><span class="o">=</span><span class="n">org</span><span class="o">.</span><span class="n">repository</span><span class="o">.</span><span class="n">ServicesFactory</span>
+</pre></div>
+
+
+<p>The configuration file may contain more key-value pairs. They are passed to
+the <em>init</em> method of the <em>AbstractServiceFactory</em> object when the
+servlet context starts up.</p>
+<p>For each request the <em>getService</em> method will be called and a
+<em>CallContext</em> object will be passed. This <em>CallContext</em> object contains
+data about the request, such as the used binding, the repository id,
+username and password. The <em>getService</em> method must return an object that
+implements the <em>CmisService</em> interface. This object will only be used in
+this thread. When the object is not needed anymore, the <em>close</em> method on
+the object will be called.</p>
+<p>It is up to the repository connector how these service objects are created
+and maintained. It is possible to create such an object for each request or
+keep an instance per thread in a ThreadLocal or manage service objects in a
+pool. If you reuse a service object make sure that it doesn't hold any
+state from previous requests.</p>
+<p><a name="OpenCMISServerFramework-ServiceInterface"></a></p>
+<h3 id="service_interface">Service Interface</h3>
+<p>The <em>CmisService</em> interface contains all operations of the CMIS
+specification and a few more. Most methods are named after the operations
+described in the CMIS specification. There are a few exceptions to that
+rule because the AtomPub binding doesn't always allow a one-to-one mapping.
+Those divergences are explained in the JavaDoc.</p>
+<p>The methods take the same parameters as described in the CMIS
+specification. There are also a few exceptions that are explained in the
+JavaDoc.</p>
+<p>It is recommended to extend the <em>AbstractCmisService</em> class instead of
+implementing the <em>CmisService</em> interface directly.
+<em>AbstractCmisService</em> contains several convenience methods and covers all
+AtomPub specifics in a generic way.</p>
+<p><a name="OpenCMISServerFramework-AtomPubSpecifics"></a></p>
+<h3 id="atompub_specifics">AtomPub Specifics</h3>
+<p>The AtomPub binding needs more object data than many of the operations
+return. Therefore a repository connector has to provide <em>ObjectInfo</em>
+objects through the <em>getObjectInfo</em> method. <em>AbstractCmisService</em>
+provides a generic implementation of <em>getObjectInfo</em>. If you don't notice
+any performance issue with the AtomPub binding, you don't have to bother
+with <em>ObjectInfo</em> objects.</p>
+<p>If the generic assembly of <em>ObjectInfo</em> objects raises a problem, a
+repository connector can build them itself. <em>AbstractCmisService</em>
+provides a <em>addObjectInfo</em> method that takes and manages <em>ObjectInfo</em>
+objects. Which objects are required for which operation is documented in
+the JavaDoc.</p>
+<p><a name="OpenCMISServerFramework-AuthenticationFramework"></a></p>
+<h3 id="authentication_framework">Authentication Framework</h3>
+<p>Authentication information is transported to the service implementation via
+the <em>CallContext</em> object. The <em>CallContext</em> is basically a Map and can
+contain any kind of data. The OpenCMIS server fills it by default with a
+username and a password from either HTTP basic authentication for the
+AtomPub binding or WS-Security (UsernameToken) for the Web Services
+binding.</p>
+<p>Other authentication methods can be plugged in if needed. Here is how this
+works for the two CMIS bindings.</p>
+<p><a name="OpenCMISServerFramework-AtomPubauthentication"></a></p>
+<h4 id="atompub_authentication">AtomPub authentication</h4>
+<p>For the AtomPub binding a new class implementing the interface
+<em>org.apache.chemistry.opencmis.server.impl.atompub.CallContextHandler</em>
+has to be created. It gets the <em>HttpServletRequest</em> object of the current
+request and returns key-value pairs that are added to the <em>CallContext</em>.
+See the JavaDoc for details.</p>
+<p>The new <em>CallContext</em> handler can be activated by changing the servlet init parameter <em>callContextHandler</em> in {{/WEB-INF/web.xml]
+}}.</p>
+<div class="codehilite"><pre><span class="nt">&lt;init-param&gt;</span>
+  <span class="nt">&lt;param-name&gt;</span>callContextHandler<span class="nt">&lt;/param-name&gt;</span>
+  <span class="nt">&lt;param-value&gt;</span>org.example.opencmis.MyCallContextHandler<span class="nt">&lt;/param-value&gt;</span>
+<span class="nt">&lt;/init-param&gt;</span>
+</pre></div>
+
+
+<p><a name="OpenCMISServerFramework-WebServicesauthentication"></a></p>
+<h4 id="web_services_authentication">Web Services authentication</h4>
+<p>For the Web Services binding a new <em>SOAPHandler</em> class has to be created
+and registered in <em>/WEB-INF/sun-jaxws.xml</em>.</p>
+<p>The <em>handleMessage</em> method should look like this:</p>
+<div class="codehilite"><pre><span class="n">public</span> <span class="n">boolean</span> <span class="n">handleMessage</span><span class="p">(</span><span class="n">SOAPMessageContext</span> <span class="n">context</span><span class="p">)</span> <span class="p">{</span>
+  <span class="n">Boolean</span> <span class="n">outboundProperty</span> <span class="o">=</span> <span class="p">(</span><span class="n">Boolean</span><span class="p">)</span>
+        <span class="n">context</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">MessageContext</span><span class="o">.</span><span class="n">MESSAGE_OUTBOUND_PROPERTY</span><span class="p">);</span>
+  <span class="k">if</span> <span class="p">(</span><span class="n">outboundProperty</span><span class="o">.</span><span class="n">booleanValue</span><span class="p">())</span> <span class="p">{</span>
+    <span class="sr">//</span> <span class="n">we</span> <span class="n">are</span> <span class="n">only</span> <span class="n">looking</span> <span class="n">at</span> <span class="n">inbound</span> <span class="n">messages</span>
+    <span class="k">return</span> <span class="n">true</span><span class="p">;</span>
+  <span class="p">}</span>
+
+  <span class="sr">//</span> <span class="k">do</span> <span class="n">whatever</span> <span class="n">you</span> <span class="n">have</span> <span class="n">to</span> <span class="k">do</span> <span class="n">here</span>
+  <span class="n">String</span> <span class="n">user</span> <span class="o">=</span> <span class="o">...</span>
+  <span class="n">String</span> <span class="n">secret</span> <span class="o">=</span> <span class="o">...</span>
+
+  <span class="sr">//</span> <span class="n">set</span> <span class="n">up</span> <span class="n">key</span><span class="o">-</span><span class="n">value</span> <span class="n">pairs</span> <span class="k">for</span> <span class="n">the</span> <span class="n">CallContext</span>
+  <span class="n">Map</span><span class="o">&lt;</span><span class="n">String</span><span class="p">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">callContextMap</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HashMap</span><span class="o">&lt;</span><span class="n">String</span><span class="p">,</span> <span class="n">String</span><span class="o">&gt;</span><span class="p">();</span>
+  <span class="n">callContextMap</span><span class="o">.</span><span class="n">put</span><span class="p">(</span><span class="s">&quot;org.example.opencmis.user&quot;</span><span class="p">,</span> <span class="n">user</span><span class="p">);</span>
+  <span class="n">callContextMap</span><span class="o">.</span><span class="n">put</span><span class="p">(</span><span class="s">&quot;org.example.opencmis.secret&quot;</span><span class="p">,</span> <span class="n">secret</span><span class="p">);</span>
+
+  <span class="sr">//</span> <span class="n">add</span> <span class="n">key</span><span class="o">-</span><span class="n">value</span> <span class="n">pairs</span> <span class="n">the</span> <span class="n">SOAP</span> <span class="n">message</span> <span class="n">context</span>
+  <span class="n">context</span><span class="o">.</span><span class="n">put</span><span class="p">(</span><span class="n">AbstractService</span><span class="o">.</span><span class="n">CALL_CONTEXT_MAP</span><span class="p">,</span> <span class="n">callContextMap</span><span class="p">);</span>
+  <span class="n">context</span><span class="o">.</span><span class="n">setScope</span><span class="p">(</span><span class="n">AbstractService</span><span class="o">.</span><span class="n">CALL_CONTEXT_MAP</span><span class="p">,</span> <span class="n">Scope</span><span class="o">.</span><span class="n">APPLICATION</span><span class="p">);</span>
+
+  <span class="k">return</span> <span class="n">true</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p><a name="OpenCMISServerFramework-RepositoryConnectorDeployment"></a></p>
+<h2 id="repository_connector_deployment">Repository Connector Deployment</h2>
+<p>The OpenCMIS build process creates a WAR file in
+<em>/chemistry-opencmis-server/chemistry-opencmis-server/target</em>. This WAR
+file should be used as a template. It can be deployed as it is but doesn't
+do anything.</p>
+<p>In order to use your connector, copy your compiled connector code into this
+WAR file and overwrite <em>/WEB-INF/classes/repository.properties</em>.</p>
+<p>Have a look at the <a href="opencmis-fileshare-repository.html">OpenCMIS FileShare Repository</a>
+ test repository code and <em>pom.xml</em>. It's a simple example of a
+repository connector.</p></div>
+             <!-- Content -->
+           </td>
+          </tr>
+        </table>
+     </td>
+     <td id="cell-2-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+     <td id="cell-3-0">&nbsp;</td>
+     <td id="cell-3-1">
+       <div id="footer">
+       <!-- Footer -->
+       <div id="site-footer">
+          
+          Apache Chemistry, Apache, the Apache feather logo, and the Apache 
+          Chemistry project logo are trademarks of The Apache Software 
+          Foundation.<br /><br />
+          Content Management Interoperability Services (CMIS) is an
+          <a href="http://www.oasis-open.org/committees/cmis/">OASIS</a>
+          specification.
+          
+       </div>
+       <!-- Footer -->
+       </div>
+     </td>
+     <td id="cell-3-2">&nbsp;</td>
+    </tr>
+    <tr width="100%">
+      <td id="cell-4-0">&nbsp;</td>
+      <td id="cell-4-1">&nbsp;</td>
+      <td id="cell-4-2">&nbsp;</td>
+    </tr>
+  </table>
+</body>
+</html>



Mime
View raw message