chemistry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r992345 [1/2] - in /websites/staging/chemistry/trunk/content: ./ docs/cmis-samples/ docs/cmis-samples/about/ docs/cmis-samples/css/ docs/cmis-samples/mkdocs/ docs/cmis-samples/samples/access-control/ docs/cmis-samples/samples/allowable-acti...
Date Fri, 08 Jul 2016 16:17:57 GMT
Author: buildbot
Date: Fri Jul  8 16:17:56 2016
New Revision: 992345

Log:
Staging update by buildbot for chemistry

Added:
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/retention/
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/retention/index.html
Modified:
    websites/staging/chemistry/trunk/content/   (props changed)
    websites/staging/chemistry/trunk/content/docs/cmis-samples/about/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/css/chemistry.css
    websites/staging/chemistry/trunk/content/docs/cmis-samples/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/mkdocs/search_index.json
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/access-control/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/allowable-actions/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/capabilities/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/changelog/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/content/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/create-objects/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/create-session/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/delete-objects/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/exceptions/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/extensions/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/lists/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/move-objects/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/operation-context/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/properties/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/queries/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/retrieve-objects/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/types/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/update-objects/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/versions/index.html
    websites/staging/chemistry/trunk/content/docs/cmis-samples/sitemap.xml

Propchange: websites/staging/chemistry/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Jul  8 16:17:56 2016
@@ -1 +1 @@
-1750074
+1751941

Modified: websites/staging/chemistry/trunk/content/docs/cmis-samples/about/index.html
==============================================================================
--- websites/staging/chemistry/trunk/content/docs/cmis-samples/about/index.html (original)
+++ websites/staging/chemistry/trunk/content/docs/cmis-samples/about/index.html Fri Jul  8 16:17:56 2016
@@ -225,6 +225,12 @@
 </li>
 
                         
+                            
+<li >
+    <a href="../samples/retention/index.html">Retention and Holds</a>
+</li>
+
+                        
                         </ul>
                     </li>
                 
@@ -246,7 +252,7 @@
                 </li>
                 
                     <li >
-                        <a rel="next" href="../samples/access-control/index.html">
+                        <a rel="next" href="../samples/retention/index.html">
                             <i class="fa fa-arrow-left" aria-hidden="true"></i> Previous
                         </a>
                     </li>
@@ -283,10 +289,10 @@
 <p>Created by the <a href="https://chemistry.apache.org/">Apache Chemistry PMC</a>.</p>
 <p>If you have any questions, subscribe to the <a href="https://lists.apache.org/list.html?dev@chemistry.apache.org">Apache Chemistry Dev Mailing List</a>. If you find an error, please create an <a href="https://issues.apache.org/jira/browse/CMIS">issue</a>.</p>
 <p>License: <a href="https://www.apache.org/licenses/">Apache 2.0</a></p>
-<p><a href="https://chemistry.apache.org/">Apache Chemistry</a>, <a href="https://chemistry.apache.org/">Apache</a>, the Apache feather logo, and the Apache Chemistry project logo are trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.<br />
-Content Management Interoperability Services (CMIS) is an <a href="http://www.oasis-open.org/committees/cmis/">OASIS</a> specification.</p>
+<p><a href="https://chemistry.apache.org/">Apache Chemistry</a>, <a href="https://www.apache.org/" target="_blank">Apache</a>, the Apache feather logo, and the Apache Chemistry project logo are trademarks of <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a>.<br />
+Content Management Interoperability Services (CMIS) is an <a href="http://www.oasis-open.org/committees/cmis/" target="_blank">OASIS</a> specification.</p>
 <hr />
-<p>Documentation built with <a href="http://www.mkdocs.org/">MkDocs</a> using the modified <a href="https://sourcefoundry.org/cinder/">Cinder</a> theme. </p></div>
+<p>Documentation built with <a href="http://www.mkdocs.org/" target="_blank">MkDocs</a> using the modified <a href="https://sourcefoundry.org/cinder/" target="_blank">Cinder</a> theme. </p></div>
         
     </div>
 
@@ -336,4 +342,4 @@ Content Management Interoperability Serv
     </body>
 
 </html>
-<!-- last update: 2016-06-24 10:25:44.517113 -->
\ No newline at end of file
+<!-- last update: 2016-07-08 16:12:05.189989 -->
\ No newline at end of file

Modified: websites/staging/chemistry/trunk/content/docs/cmis-samples/css/chemistry.css
==============================================================================
--- websites/staging/chemistry/trunk/content/docs/cmis-samples/css/chemistry.css (original)
+++ websites/staging/chemistry/trunk/content/docs/cmis-samples/css/chemistry.css Fri Jul  8 16:17:56 2016
@@ -83,6 +83,10 @@ div[class~="note"] p[class~="admonition-
 <i class="fa fa-exclamation-triangle" aria-hidden="true"></i>
 }
 
+div[class~="note"] code {
+    background-color: transparent;
+}
+
 .warning {
     color: white;
     background-color: #f04124;
@@ -100,4 +104,8 @@ div[class~="warning"] p[class~="admoniti
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
     content: "\f071\00a0";
+}
+
+div[class~="warning"] code {
+    background-color: transparent;
 }
\ No newline at end of file

Modified: websites/staging/chemistry/trunk/content/docs/cmis-samples/index.html
==============================================================================
--- websites/staging/chemistry/trunk/content/docs/cmis-samples/index.html (original)
+++ websites/staging/chemistry/trunk/content/docs/cmis-samples/index.html Fri Jul  8 16:17:56 2016
@@ -225,6 +225,12 @@
 </li>
 
                         
+                            
+<li >
+    <a href="samples/retention/index.html">Retention and Holds</a>
+</li>
+
+                        
                         </ul>
                     </li>
                 
@@ -290,7 +296,7 @@
 <h1 id="apache-chemistry-cmis-code-samples">Apache Chemistry CMIS Code Samples</h1>
 <hr />
 <p><img alt="CMIS" src="./img/cmis.png" style="float:left; margin-right: 20px;" /></p>
-<p><a href="https://www.oasis-open.org/committees/cmis">CMIS (Content Management Interoperability Services)</a> is an OASIS standard enabling information sharing between different Content Management Systems.</p>
+<p><a href="https://www.oasis-open.org/committees/cmis" target="_blank">CMIS (Content Management Interoperability Services)</a> is an OASIS standard enabling information sharing between different Content Management Systems.</p>
 <div style="clear:both"></div>
 
 <hr />
@@ -298,8 +304,11 @@
 <p><img alt="Apache Chemistry" src="./img/chemistry-logo.png" style="float:left; margin-right: 20px;" /></p>
 <ul>
 <li><a href="https://chemistry.apache.org/java/opencmis.html">Apache Chemistry OpenCMIS</a> - a CMIS library for Java</li>
-<li><a href="https://chemistry.apache.org/dotnet/portcmis.html">Apache Chemistry PortCMIS</a> - a CMIS library for.Net</li>
+<li><a href="https://chemistry.apache.org/dotnet/portcmis.html">Apache Chemistry PortCMIS</a> - a CMIS library for .Net</li>
 </ul>
+<p>We assume that you have a rough understanding of CMIS. This is not a CMIS introduction course.</p>
+<p>Many code samples are marked with <span class="cmis">CMIS 1.0</span> or <span class="cmis">CMIS 1.1</span>. Those tags indicate the CMIS specification version that the server has to support to use the feature.</p>
+<p>Throughout the code samples you will find references to sections in the <a href="https://docs.oasis-open.org/cmis/CMIS/v1.1/CMIS-v1.1.pdf" target="_blank">CMIS 1.1 specification</a>; tags like <span class="spec">Spec 1.5</span>. We recommend that you have the specification document ready to hand. </p>
 <div class="admonition note">
 <p class="admonition-title">Under Development</p>
 <p>This sample collection is under development. Some areas are only sparely covered or not covered at all, yet.
@@ -307,11 +316,11 @@ Also some code samples lack a meaningful
 </div>
 <hr />
 <h2 id="apache-chemistry">Apache Chemistry&trade;</h2>
-<p><a href="https://chemistry.apache.org">Apache Chemistry</a> provides open source client and server implementations of <a href="https://docs.oasis-open.org/cmis/CMIS/v1.0/">CMIS 1.0</a> and <a href="https://docs.oasis-open.org/cmis/CMIS/v1.1/">CMIS 1.1</a> for multiple programming languages (Java, .Net, Python, PHP, Objective-C, JavaScript, &hellip;).  </p>
+<p><a href="https://chemistry.apache.org">Apache Chemistry</a> provides open source client and server implementations of <a href="https://docs.oasis-open.org/cmis/CMIS/v1.0/" target="_blank">CMIS 1.0</a> and <a href="https://docs.oasis-open.org/cmis/CMIS/v1.1/" target="_blank">CMIS 1.1</a> for multiple programming languages (Java, .Net, Python, PHP, Objective-C, JavaScript, &hellip;).  </p>
 <hr />
 <p><em>Do you want to know more about CMIS and Apache Chemistry?</em></p>
 <p><img alt="CMIS and Apache Chemistry in Action" src="./img/apache-chemistry-in-action.png" style="float:left; margin-right: 20px;" /></p>
-<p>The book <a href="https://www.manning.com/mueller/">CMIS and Apache Chemistry in Action</a> is a comprehensive guide to the CMIS standard and related ECM concepts. In it, you&rsquo;ll tackle hands-on examples for building applications on CMIS repositories from both the client and the server sides. You&rsquo;ll find working examples using the Apache Chemistry APIs for Java, Python, C#, Objective-C, and PHP, but you can use the techniques you&rsquo;ll learn in this book to work with CMIS repositories using any language that can speak HTTP - including JavaScript.</p>
+<p>The book <a href="https://www.manning.com/books/cmis-and-apache-chemistry-in-action" target="_blank">CMIS and Apache Chemistry in Action</a> is a comprehensive guide to the CMIS standard and related ECM concepts. In it, you&rsquo;ll tackle hands-on examples for building applications on CMIS repositories from both the client and the server sides. You&rsquo;ll find working examples using the Apache Chemistry APIs for Java, Python, C#, Objective-C, and PHP, but you can use the techniques you&rsquo;ll learn in this book to work with CMIS repositories using any language that can speak HTTP - including JavaScript.</p>
 <div style="clear:both"></div>
 
 <hr />
@@ -347,7 +356,7 @@ Also some code samples lack a meaningful
 
 <h3 id="portcmis">PortCMIS</h3>
 <p><a href="https://chemistry.apache.org/dotnet/portcmis.html">PortCMIS</a> is a CMIS client library for .Net. It is a Portable Class Library that runs on servers, desktops, and Windows Mobile.</p>
-<p>To get started with PortCMIS, download the <a href="https://chemistry.apache.org/dotnet/portcmis.html">PortCMIS client binaries</a>. You have the choice of either plain DLLs or NUPGK packages. It is also availabe on <a href="https://www.nuget.org/packages/PortCMIS/">nuget</a>:</p>
+<p>To get started with PortCMIS, download the <a href="https://chemistry.apache.org/dotnet/portcmis.html">PortCMIS client binaries</a>. You have the choice of either plain DLLs or NUPGK packages. It is also availabe on <a href="https://www.nuget.org/packages/PortCMIS/" target="_blank">nuget</a>:</p>
 <pre><code>PM&gt; Install-Package PortCMIS 
 </code></pre>
 
@@ -405,4 +414,4 @@ For new projects it is recommend to use
     </body>
 
 </html>
-<!-- last update: 2016-06-24 10:25:44.020313 -->
\ No newline at end of file
+<!-- last update: 2016-07-08 16:12:04.652720 -->
\ No newline at end of file

Modified: websites/staging/chemistry/trunk/content/docs/cmis-samples/mkdocs/search_index.json
==============================================================================
--- websites/staging/chemistry/trunk/content/docs/cmis-samples/mkdocs/search_index.json (original)
+++ websites/staging/chemistry/trunk/content/docs/cmis-samples/mkdocs/search_index.json Fri Jul  8 16:17:56 2016
@@ -2,12 +2,12 @@
     "docs": [
         {
             "location": "/index.html", 
-            "text": "Apache Chemistry CMIS Code Samples\n\n\n\n\n\n\nCMIS (Content Management Interoperability Services)\n is an OASIS standard enabling information sharing between different Content Management Systems.\n\n\n\n\n\n\n\nThis is a collection of code samples for \n\n\n\n\n\n\nApache Chemistry OpenCMIS\n - a CMIS library for Java\n\n\nApache Chemistry PortCMIS\n - a CMIS library for.Net\n\n\n\n\n\n\nUnder Development\n\n\nThis sample collection is under development. Some areas are only sparely covered or not covered at all, yet.\nAlso some code samples lack a meaningful description. If you want help, please see the \nabout page\n.\n\n\n\n\n\n\nApache Chemistry\n\n\nApache Chemistry\n provides open source client and server implementations of \nCMIS 1.0\n and \nCMIS 1.1\n for multiple programming languages (Java, .Net, Python, PHP, Objective-C, JavaScript, \n).  \n\n\n\n\nDo you want to know more about CMIS and Apache Chemistry?\n\n\n\n\nThe book \nCMIS and Apache Chemistry
  in Action\n is a comprehensive guide to the CMIS standard and related ECM concepts. In it, you\nll tackle hands-on examples for building applications on CMIS repositories from both the client and the server sides. You\nll find working examples using the Apache Chemistry APIs for Java, Python, C#, Objective-C, and PHP, but you can use the techniques you\nll learn in this book to work with CMIS repositories using any language that can speak HTTP - including JavaScript.\n\n\n\n\n\n\n\nOpenCMIS\n\n\nOpenCMIS\n is a CMIS client library and a CMIS server framework for Java. It also provides developer tools such as the \nCMIS Workbench\n and the \nInMemory Repository\n. OpenCMIS runs on servers, desktops, and Android.\n\n\nThe code samples in this documentation cover the OpenCMIS client API. If you want to build a CMIS server with OpenCMIS, refer to the \nOpenCMIS Server Development Guide\n.\n\n\nTo get started with OpenCMIS, download the \nOpenCMIS client libraries\n or use Maven or Grad
 le to get the client libraries.\n\n\nMaven\n\n\nReplace \n[OpenCMIS version]\n with the latest version number, e.g. \n0.14.0\n.\n\n\ndependency\n\n    \ngroupId\norg.apache.chemistry.opencmis\n/groupId\n\n    \nartifactId\nchemistry-opencmis-client-impl\n/artifactId\n\n    \nversion\n[OpenCMIS version]\n/version\n\n\n/dependency\n\n\n\n\n\nFor Android:\n\n\ndependency\n\n    \ngroupId\norg.apache.chemistry.opencmis\n/groupId\n\n    \nartifactId\nchemistry-opencmis-android-client\n/artifactId\n\n    \nversion\n[OpenCMIS version]\n/version\n\n\n/dependency\n\n\n\n\n\nGradle\n\n\nReplace \n[OpenCMIS version]\n with the latest version number, e.g. \n0.14.0\n.\n\n\ncompile group: 'org.apache.chemistry.opencmis', name: 'chemistry-opencmis-client-impl', version: '[OpenCMIS version]'\n\n\n\n\nFor Android:\n\n\ncompile group: 'org.apache.chemistry.opencmis', name: 'chemistry-opencmis-android-client', version: '[OpenCMIS version]'\n\n\n\n\nPortCMIS\n\n\nPortCMIS\n is a CMIS client library for
  .Net. It is a Portable Class Library that runs on servers, desktops, and Windows Mobile.\n\n\nTo get started with PortCMIS, download the \nPortCMIS client binaries\n. You have the choice of either plain DLLs or NUPGK packages. It is also availabe on \nnuget\n:\n\n\nPM\n Install-Package PortCMIS \n\n\n\n\nDotCMIS\n\n\nDotCMIS\n is the predecessor of \nPortCMIS\n.\nThe APIs are very similar and most of the PortCMIS samples should also work with DotCMIS.\n\n\nThe high-level differences between DotCMIS and PortCMIS are described on \nthis page\n.\nFor new projects it is recommend to use PortCMIS.", 
+            "text": "Apache Chemistry CMIS Code Samples\n\n\n\n\n\n\nCMIS (Content Management Interoperability Services)\n is an OASIS standard enabling information sharing between different Content Management Systems.\n\n\n\n\n\n\n\nThis is a collection of code samples for \n\n\n\n\n\n\nApache Chemistry OpenCMIS\n - a CMIS library for Java\n\n\nApache Chemistry PortCMIS\n - a CMIS library for .Net\n\n\n\n\nWe assume that you have a rough understanding of CMIS. This is not a CMIS introduction course.\n\n\nMany code samples are marked with \nCMIS 1.0\n or \nCMIS 1.1\n. Those tags indicate the CMIS specification version that the server has to support to use the feature.\n\n\nThroughout the code samples you will find references to sections in the \nCMIS 1.1 specification\n; tags like \nSpec 1.5\n. We recommend that you have the specification document ready to hand. \n\n\n\n\nUnder Development\n\n\nThis sample collection is under development. Some areas are only sparely covered or not c
 overed at all, yet.\nAlso some code samples lack a meaningful description. If you want help, please see the \nabout page\n.\n\n\n\n\n\n\nApache Chemistry\n\n\nApache Chemistry\n provides open source client and server implementations of \nCMIS 1.0\n and \nCMIS 1.1\n for multiple programming languages (Java, .Net, Python, PHP, Objective-C, JavaScript, \n).  \n\n\n\n\nDo you want to know more about CMIS and Apache Chemistry?\n\n\n\n\nThe book \nCMIS and Apache Chemistry in Action\n is a comprehensive guide to the CMIS standard and related ECM concepts. In it, you\nll tackle hands-on examples for building applications on CMIS repositories from both the client and the server sides. You\nll find working examples using the Apache Chemistry APIs for Java, Python, C#, Objective-C, and PHP, but you can use the techniques you\nll learn in this book to work with CMIS repositories using any language that can speak HTTP - including JavaScript.\n\n\n\n\n\n\n\nOpenCMIS\n\n\nOpenCMIS\n is a CMIS cli
 ent library and a CMIS server framework for Java. It also provides developer tools such as the \nCMIS Workbench\n and the \nInMemory Repository\n. OpenCMIS runs on servers, desktops, and Android.\n\n\nThe code samples in this documentation cover the OpenCMIS client API. If you want to build a CMIS server with OpenCMIS, refer to the \nOpenCMIS Server Development Guide\n.\n\n\nTo get started with OpenCMIS, download the \nOpenCMIS client libraries\n or use Maven or Gradle to get the client libraries.\n\n\nMaven\n\n\nReplace \n[OpenCMIS version]\n with the latest version number, e.g. \n0.14.0\n.\n\n\ndependency\n\n    \ngroupId\norg.apache.chemistry.opencmis\n/groupId\n\n    \nartifactId\nchemistry-opencmis-client-impl\n/artifactId\n\n    \nversion\n[OpenCMIS version]\n/version\n\n\n/dependency\n\n\n\n\n\nFor Android:\n\n\ndependency\n\n    \ngroupId\norg.apache.chemistry.opencmis\n/groupId\n\n    \nartifactId\nchemistry-opencmis-android-client\n/artifactId\n\n    \nversion\n[OpenCMIS v
 ersion]\n/version\n\n\n/dependency\n\n\n\n\n\nGradle\n\n\nReplace \n[OpenCMIS version]\n with the latest version number, e.g. \n0.14.0\n.\n\n\ncompile group: 'org.apache.chemistry.opencmis', name: 'chemistry-opencmis-client-impl', version: '[OpenCMIS version]'\n\n\n\n\nFor Android:\n\n\ncompile group: 'org.apache.chemistry.opencmis', name: 'chemistry-opencmis-android-client', version: '[OpenCMIS version]'\n\n\n\n\nPortCMIS\n\n\nPortCMIS\n is a CMIS client library for .Net. It is a Portable Class Library that runs on servers, desktops, and Windows Mobile.\n\n\nTo get started with PortCMIS, download the \nPortCMIS client binaries\n. You have the choice of either plain DLLs or NUPGK packages. It is also availabe on \nnuget\n:\n\n\nPM\n Install-Package PortCMIS \n\n\n\n\nDotCMIS\n\n\nDotCMIS\n is the predecessor of \nPortCMIS\n.\nThe APIs are very similar and most of the PortCMIS samples should also work with DotCMIS.\n\n\nThe high-level differences between DotCMIS and PortCMIS are desc
 ribed on \nthis page\n.\nFor new projects it is recommend to use PortCMIS.", 
             "title": "Home"
         }, 
         {
             "location": "/index.html#apache-chemistry-cmis-code-samples", 
-            "text": "CMIS (Content Management Interoperability Services)  is an OASIS standard enabling information sharing between different Content Management Systems.    This is a collection of code samples for     Apache Chemistry OpenCMIS  - a CMIS library for Java  Apache Chemistry PortCMIS  - a CMIS library for.Net    Under Development  This sample collection is under development. Some areas are only sparely covered or not covered at all, yet.\nAlso some code samples lack a meaningful description. If you want help, please see the  about page .", 
+            "text": "CMIS (Content Management Interoperability Services)  is an OASIS standard enabling information sharing between different Content Management Systems.    This is a collection of code samples for     Apache Chemistry OpenCMIS  - a CMIS library for Java  Apache Chemistry PortCMIS  - a CMIS library for .Net   We assume that you have a rough understanding of CMIS. This is not a CMIS introduction course.  Many code samples are marked with  CMIS 1.0  or  CMIS 1.1 . Those tags indicate the CMIS specification version that the server has to support to use the feature.  Throughout the code samples you will find references to sections in the  CMIS 1.1 specification ; tags like  Spec 1.5 . We recommend that you have the specification document ready to hand.    Under Development  This sample collection is under development. Some areas are only sparely covered or not covered at all, yet.\nAlso some code samples lack a meaningful description. If you want help, please see the  ab
 out page .", 
             "title": "Apache Chemistry CMIS Code Samples"
         }, 
         {
@@ -272,7 +272,7 @@
         }, 
         {
             "location": "/samples/retrieve-objects/index.html", 
-            "text": "Retrieving Objects\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nGetting the Root Folder\n\n\nAll repositories have to provide a root folder. It\ns the entry point for \nbrowsing\n the repository content. The root folder might be completely empty and useless for repositories that only support \nunfiled\n objects.\n\n\nOpenCMIS (Java)\n\n\nFolder rootFolder = session.getRootFolder();\n\n\n\n\nPortCMIS (C#)\n\n\nIFolder rootFolder = Session.GetRootFolder();\n\n\n\n\nGetting Objects by ID\n\n\nAll objects in a repository must have a unique object ID and can be retrieved by this ID. If the user has no permissions to see the object, an \nobjectNotFound\n exception is thrown.\n\n\nUse an \nOperation Context\n to define which details of the object should be returned.\n\n\nOpenCMIS (Java)\n\n\nCmisObject cmisObject = session.getObject(id);\n\nif (cmisObject instanceof Document) {\n    Document document = (Document) cmisObject;\n} else if (cmisObject instanceof Folder) {\n    Folder 
 folder = (Folder) cmisDocument;\n} else {\n    ...\n}\n\n\n\n\nPortCMIS (C#)\n\n\nICmisObject cmisObject = Session.GetObject(id);\n\nif (cmisObject is IDocument) {\n    IDocument document = cmisObject as IDocument;\n} else if (cmisObject is IFolder) {\n    IFolder folder = cmisDocument as IFolder;\n} else {\n    ...\n}\n\n\n\n\nGetting Objects by Path\n\n\nA \nfiled\n object has one or more paths and can be retrieved by this path. If the user has no permissions to see the object, an \nobjectNotFound\n exception is thrown.\n\n\nMost repositories use the \ncmis:name\n property of the folders and the object to assemble the path. But it is possible that the path segments don\u2019t match the names.\n\n\nUse an \nOperation Context\n to define which details of the object should be returned.\n\n\nOpenCMIS (Java)\n\n\nString path = \n/User Homes/customer1/document.odt\n;\nCmisObject cmisObject = session.getObjectByPath(path);\n\n// get the object ID\nString id = cmisObject.getId();\n\n// we
  know it is a filable object, we just retrieved it by path\nFileableCmisObject fileableCmisObject = (FileableCmisObject) cmisObject;\n\n// get all paths, there must be at least one\nList\nString\n paths = fileableCmisObject.getPaths();\n\n// get all parent folders, there must be at least one\nList\nFolder\n parents = fileableCmisObject.getParents();\n\n\n\n\nPortCMIS (C#)\n\n\nstring path = \n/User Homes/customer1/document.odt\n;\nICmisObject cmisObject = Session.GetObjectByPath(path);\n\n// get the object ID\nstring id = cmisObject.Id;\n\n// we know it is a filable object, we just retrieved it by path\nIFileableCmisObject fileableCmisObject = cmisObject as IFileableCmisObject;\n\n// get all paths, there must be at least one\nIList\nstring\n paths = fileableCmisObject.Paths;\n\n// get all parent folders, there must be at least one\nIList\nIFolder\n parents = fileableCmisObject.Parents;\n\n\n\n\nGetting Folder Children\n\n\nThe page about \nlists\n explains how paging works.\n\n\nUse
  an \nOperation Context\n to define which details of the objects should be returned.\n\n\nOpenCMIS (Java)\n\n\nFolder folder = ...\n\nfor (CmisObject child: folder.getChildren()) {\n    System.out.println(child.getName());\n}\n\n\n\n\nPortCMIS (C#)\n\n\nIFolder folder = ...\n\nforeach (ICmisObject child in folder.GetChildren()) {\n    Console.WriteLine(child.Name);\n}\n\n\n\n\nUnderstanding the Object Cache\n\n\nBy default, OpenCMIS and PortCMIS cache objects. That is, the object returned by \ngetObject()\n or \ngetObjectbyPath()\n\ncan be stale. There are multiple ways to deal with that.\n\n\nRefresh the object data that is returned from \ngetObject()\n\n\nOpenCMIS (Java)\n\n\nCmisObject cmisObject = session.getObject(id);\ncmisObject.refresh(); // contacts the repository and refreshes the object\ncmisObject.refreshIfOld(60 * 1000); // ... or refreshes the object only if the data is older than a minute\n\n\n\n\nPortCMIS (C#)\n\n\nICmisObject cmisObject = Session.GetObject(id);\ncmi
 sObject.Refresh(); // contacts the repository and refreshes the object\ncmisObject.RefreshIfOld(60 * 1000); // ... or refreshes the object only if the data is older than a minute\n\n\n\n\nTurn off the session cache completely\n\n\nOpenCMIS (Java)\n\n\nsession.getDefaultContext().setCacheEnabled(false);\n\n\n\n\nPortCMIS (C#)\n\n\nSession.DefaultContext.CacheEnabled = false;\n\n\n\n\nTurn off caching for this \ngetObject()\n call\n\n\nSee also the page about the \nOperation Context\n.\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = session.createOperationContext();\noc.setCacheEnabled(false);\n\nCmisObject cmisObject = session.getObject(id, oc);\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = session.CreateOperationContext();\noc.CacheEnabled = false;\n\nICmisObject cmisObject = Session.GetObject(id, oc);\n\n\n\n\nClear the session cache\n\n\nThis is not recommended!\n\n\nOpenCMIS (Java)\n\n\nsession.clear();\n\n\n\n\nPortCMIS (C#)\n\n\nSession.Clear();", 
+            "text": "Retrieving Objects\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nGetting the Root Folder\n\n\nAll repositories have to provide a root folder. It\ns the entry point for \nbrowsing\n the repository content. The root folder might be completely empty and useless for repositories that only support \nunfiled\n objects.\n\n\nOpenCMIS (Java)\n\n\nFolder rootFolder = session.getRootFolder();\n\n\n\n\nPortCMIS (C#)\n\n\nIFolder rootFolder = Session.GetRootFolder();\n\n\n\n\nGetting Objects by ID\n\n\nAll objects in a repository must have a unique object ID and can be retrieved by this ID. If the user has no permissions to see the object, an \nobjectNotFound\n exception is thrown.\n\n\nUse an \nOperation Context\n to define which details of the object should be returned.\n\n\nOpenCMIS (Java)\n\n\nCmisObject cmisObject = session.getObject(id);\n\nif (cmisObject instanceof Document) {\n    Document document = (Document) cmisObject;\n} else if (cmisObject instanceof Folder) {\n    Folder 
 folder = (Folder) cmisDocument;\n} else {\n    ...\n}\n\n\n\n\nPortCMIS (C#)\n\n\nICmisObject cmisObject = Session.GetObject(id);\n\nif (cmisObject is IDocument) {\n    IDocument document = cmisObject as IDocument;\n} else if (cmisObject is IFolder) {\n    IFolder folder = cmisDocument as IFolder;\n} else {\n    ...\n}\n\n\n\n\nGetting Objects by Path\n\n\nA \nfiled\n object has one or more paths and can be retrieved by this path. If the user has no permissions to see the object, an \nobjectNotFound\n exception is thrown.\n\n\nMost repositories use the \ncmis:name\n property of the folders and the object to assemble the path. But it is possible that the path segments don\u2019t match the names.\n\n\nUse an \nOperation Context\n to define which details of the object should be returned.\n\n\nOpenCMIS (Java)\n\n\nString path = \n/User Homes/customer1/document.odt\n;\nCmisObject cmisObject = session.getObjectByPath(path);\n\n// get the object ID\nString id = cmisObject.getId();\n\n// we
  know it is a filable object, we just retrieved it by path\nFileableCmisObject fileableCmisObject = (FileableCmisObject) cmisObject;\n\n// get all paths, there must be at least one\nList\nString\n paths = fileableCmisObject.getPaths();\n\n// get all parent folders, there must be at least one\nList\nFolder\n parents = fileableCmisObject.getParents();\n\n\n\n\nPortCMIS (C#)\n\n\nstring path = \n/User Homes/customer1/document.odt\n;\nICmisObject cmisObject = Session.GetObjectByPath(path);\n\n// get the object ID\nstring id = cmisObject.Id;\n\n// we know it is a filable object, we just retrieved it by path\nIFileableCmisObject fileableCmisObject = cmisObject as IFileableCmisObject;\n\n// get all paths, there must be at least one\nIList\nstring\n paths = fileableCmisObject.Paths;\n\n// get all parent folders, there must be at least one\nIList\nIFolder\n parents = fileableCmisObject.Parents;\n\n\n\n\nGetting Folder Children\n\n\nThe page about \nlists\n explains how paging works.\n\n\nUse
  an \nOperation Context\n to define which details of the objects should be returned.\n\n\nOpenCMIS (Java)\n\n\nFolder folder = ...\n\nfor (CmisObject child: folder.getChildren()) {\n    System.out.println(child.getName());\n}\n\n\n\n\nPortCMIS (C#)\n\n\nIFolder folder = ...\n\nforeach (ICmisObject child in folder.GetChildren()) {\n    Console.WriteLine(child.Name);\n}\n\n\n\n\nUnderstanding the Object Cache\n\n\nBy default, OpenCMIS and PortCMIS cache objects. That is, the object returned by \ngetObject()\n or \ngetObjectbyPath()\n\ncan be stale. There are multiple ways to deal with that.\n\n\nRefresh the object data that is returned from \ngetObject()\n\n\nOpenCMIS (Java)\n\n\nCmisObject cmisObject = session.getObject(id);\ncmisObject.refresh(); // contacts the repository and refreshes the object\ncmisObject.refreshIfOld(60 * 1000); // ... or refreshes the object only if the data is older than a minute\n\n\n\n\nPortCMIS (C#)\n\n\nICmisObject cmisObject = Session.GetObject(id);\ncmi
 sObject.Refresh(); // contacts the repository and refreshes the object\ncmisObject.RefreshIfOld(60 * 1000); // ... or refreshes the object only if the data is older than a minute\n\n\n\n\nTurn off the session cache completely\n\n\nOpenCMIS (Java)\n\n\nsession.getDefaultContext().setCacheEnabled(false);\n\n\n\n\nPortCMIS (C#)\n\n\nSession.DefaultContext.CacheEnabled = false;\n\n\n\n\nTurn off caching for this \ngetObject()\n call\n\n\nSee also the page about the \nOperation Context\n.\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = session.createOperationContext();\noc.setCacheEnabled(false);\n\nCmisObject cmisObject = session.getObject(id, oc);\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = Session.CreateOperationContext();\noc.CacheEnabled = false;\n\nICmisObject cmisObject = Session.GetObject(id, oc);\n\n\n\n\nClear the session cache\n\n\nThis is not recommended!\n\n\nOpenCMIS (Java)\n\n\nsession.clear();\n\n\n\n\nPortCMIS (C#)\n\n\nSession.Clear();", 
             "title": "Retrieving Objects"
         }, 
         {
@@ -317,7 +317,7 @@
         }, 
         {
             "location": "/samples/retrieve-objects/index.html#turn-off-caching-for-this-getobject-call", 
-            "text": "See also the page about the  Operation Context .  OpenCMIS (Java)  OperationContext oc = session.createOperationContext();\noc.setCacheEnabled(false);\n\nCmisObject cmisObject = session.getObject(id, oc);  PortCMIS (C#)  IOperationContext oc = session.CreateOperationContext();\noc.CacheEnabled = false;\n\nICmisObject cmisObject = Session.GetObject(id, oc);", 
+            "text": "See also the page about the  Operation Context .  OpenCMIS (Java)  OperationContext oc = session.createOperationContext();\noc.setCacheEnabled(false);\n\nCmisObject cmisObject = session.getObject(id, oc);  PortCMIS (C#)  IOperationContext oc = Session.CreateOperationContext();\noc.CacheEnabled = false;\n\nICmisObject cmisObject = Session.GetObject(id, oc);", 
             "title": "Turn off caching for this getObject() call"
         }, 
         {
@@ -467,7 +467,7 @@
         }, 
         {
             "location": "/samples/content/index.html", 
-            "text": "Working with Content\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nSpec 2.1.4.2\n\n\nContent Streams\n\n\nContent Stream objects are used to send and fetch content. They contain a file name, a \nMIME type\n, the stream length, and the stream.\n\n\nIn some cases, the stream length is unknown (\nnull\n). OpenCMIS and PortCMIS don\u2019t rely on it and your application shouldn\nt either. \n\n\nYou can create content stream objects manually or implement the interface yourself, but OpenCMIS and PortCMIS provide some convenience methods for this.\n\n\nOpenCMIS (Java)\n\n\n// create a simple ContentStream object\nContentStream cs1 = session.getObjectFactory().createContentStream(filename, length, mimeType, stream);\n\n// create a ContentStream object from a byte array\nContentStream cs2 = ContentStreamUtils.createByteArrayContentStream(filename, bytes, mimeType);\n\n// create a ContentStream object from a string\nContentStream cs3 = ContentStreamUtils.createTextContentStream(filena
 me, content);\n\n// create a ContentStream object from file\nContentStream cs4 = ContentStreamUtils.createFileContentStream(file);\n\n\n\n\nPortCMIS (C#)\n\n\n// create a simple IContentStream object\nIContentStream cs1 = Session.ObjectFactory.CreateContentStream(filename, length, mimeType, stream);\n\n// create a IContentStream object from a byte array\nIContentStream cs2 = ContentStreamUtils.CreateByteArrayContentStream(filename, bytes, mimeType);\n\n// create a IContentStream object from a string\nIContentStream cs3 = ContentStreamUtils.CreateTextContentStream(filename, content);\n\n\n\n\nMIME Types\n\n\nWhen you create a new document or update the content of a document, you have to provide a MIME type.\nIf you don\nt know the MIME type, use \napplication/octet-stream\n.\n\n\nOpenCMIS can guess the MIME type based on the file extension.\nIf you need a more thorough MIME type detection, have a look at \nApache Tika\n.\n\n\nOpenCMIS (Java)\n\n\nString mimeType = MimeTypes.getMIMETy
 pe(\ntxt\n); // MIME type for a .txt file\n\n\n\n\nFor .Net 4.5+ you can use \nSystem.Web.MimeMapping.GetMimeMapping\n.\n\n\nPortCMIS (C#)\n\n\nstring mimeType = MimeMapping.GetMimeMapping(\ntext.txt\n);\n\n\n\n\nGetting Content\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nThe code snippets below show how to get the content of document. If a document has no content, \ngetContentStream()\n returns \nnull\n.\n\n\nOpenCMIS (Java)\n\n\nDocument document = ...\nContentStream contentStream = document.getContentStream();\nInputStream stream = contentStream.getStream();\n\n\n\n\nPortCMIS (C#)\n\n\nIDocument document = ...\nIContentStream contentStream = document.GetContentStream();\nStream stream = contentStream.Stream;\n\n\n\n\nGetting Partial Content\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nIt\ns also possible to get only a part of the content.\n\n\nOpenCMIS (Java)\n\n\nDocument document = ...\n\n// skip the first 100 bytes\n// use null to start from the beginning\nBigInteger offset = BigInteger.valueOf(100)
 ;\n\n// only read 200 bytes\n// use null to read to the end of the stream\nBigInteger length = BigInteger.valueOf(200); \n\nContentStream contentStream = document.getContentStream(offset, length);\nInputStream stream = contentStream.getStream();\n\n\n\n\nPortCMIS (C#)\n\n\nIDocument document = ...\n\n// skip the first 100 bytes\n// use null to start from the beginning\nlong? offset = 100;\n\n// only read 200 bytes\n// use null to read to the end of the stream\nlong? length = 200;\n\nIContentStream contentStream = document.GetContentStream(offset, length);\nStream stream = contentStream.Stream;\n\n\n\n\nUpdating Content\n\n\nOverwriting Content\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nOpenCMIS (Java)\n\n\nDocument document = ...\n\nContentStream contentStream = ...\n\ndocument.setContentStream(contentStream, true);\n\n\n\n\nPortCMIS (C#)\n\n\nIDocument document = ...\n\nIContentStream contentStream = ...\n\ndocument.SetContentStream(contentStream, true);\n\n\n\n\nDeleting Content\n\n\nCMIS 1
 .0\n\n\nCMIS 1.1\n\n\n\n\nWarning\n\n\nSome repositories  don\nt support documents without content. Check the \nrepository capabilities\n if that\ns the case or check the\n\nAllowable Actions\n of the document.\n\n\n\n\nOpenCMIS (Java)\n\n\nDocument document = ...\ndocument.deleteContentStream();\n\n\n\n\nPortCMIS (C#)\n\n\nIDocument document = ...\ndocument.DeleteContentStream();\n\n\n\n\nAppending Content\n\n\nCMIS 1.1\n\n\n\n\nWarning\n\n\nNot all repositories support appending content. It is not possible to discover wheter a repository supports it or not.\nIf you append content be prepared to catch a \nnotSupported\n exception. \n\n\n\n\nOpenCMIS (Java)\n\n\nDocument document = ...\n\nContentStream contentStream = ...\nboolean isLastChunk = true; // indicates that this is the last part of the content \n\ndocument.appendContentStream(contentStream, isLastChunk);\n\n\n\n\nPortCMIS (C#)\n\n\nIDocument document = ...\n\nIContentStream contentStream = ...\nbool isLastChunk = true; //
  indicates that this is the last part of the content \n\ndocument.AppendContentStream(contentStream, isLastChunk);\n\n\n\n\nWorking with Renditions\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nSpec 2.1.4.2\n\n\nRenditions are alternative versions of a document. For example, a rendition could be a PDF of an Office document. Thumbnails are a special kind of renditions and could also exist for non-document objects.\n\nCMIS only supports server managed renditions. A CMIS client cannot upload, modify, or delete a rendition.\n\n\nGetting the List of Renditions\n\n\n\n\nNote\n\n\nThe list of renditions is only available if it has been requested with an \nOperation Context\n.\n\n\n\n\nOpenCMIS (Java)\n\n\nDocument document = ...\n\nfor (Rendition rendition: document.getRenditions()) {\n    System.out.println(rendition.getTitle() + \n: \n + rendition.getStreamId());\n}\n\n\n\n\nPortCMIS (C#)\n\n\nIDocument document = ...\n\nforeach (IRendition rendition in folder.Renditions) {\n    Console.WriteLine(ren
 dition.Title + \n: \n + rendition.StreamId);\n}\n\n\n\n\nGetting Rendition Content\n\n\nThe rendition content can be retrieved either for an Rendition object (see above) or directly from the document with a stream ID.\n\n\nOpenCMIS (Java)\n\n\nDocument document = ...\nRendition rendition = ...\n\nContentStream cs1 = document.getContentStream(rendition.getStreamId());\n\nContentStream cs2 = rendition.getContentStream();\n\n\n\n\nPortCMIS (C#)\n\n\nIDocument document = ...\nIRendition rendition = ...\n\nIContentStream cs1 = document.GetContentStream(rendition.StreamId);\n\nIContentStream cs2 = rendition.GetContentStream();", 
+            "text": "Working with Content\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nSpec 2.1.4.2\n\n\nContent Streams\n\n\nContent Stream objects are used to send and fetch content. They contain a file name, a \nMIME type\n, the stream length, and the stream.\n\n\nIn some cases, the stream length is unknown (\nnull\n). OpenCMIS and PortCMIS don\u2019t rely on it and your application shouldn\nt either. \n\n\nYou can create content stream objects manually or implement the interface yourself, but OpenCMIS and PortCMIS provide some convenience methods for this.\n\n\nOpenCMIS (Java)\n\n\n// create a simple ContentStream object\nContentStream cs1 = session.getObjectFactory().createContentStream(filename, length, mimeType, stream);\n\n// create a ContentStream object from a byte array\nContentStream cs2 = ContentStreamUtils.createByteArrayContentStream(filename, bytes, mimeType);\n\n// create a ContentStream object from a string\nContentStream cs3 = ContentStreamUtils.createTextContentStream(filena
 me, content);\n\n// create a ContentStream object from file\nContentStream cs4 = ContentStreamUtils.createFileContentStream(file);\n\n\n\n\nPortCMIS (C#)\n\n\n// create a simple IContentStream object\nIContentStream cs1 = Session.ObjectFactory.CreateContentStream(filename, length, mimeType, stream);\n\n// create a IContentStream object from a byte array\nIContentStream cs2 = ContentStreamUtils.CreateByteArrayContentStream(filename, bytes, mimeType);\n\n// create a IContentStream object from a string\nIContentStream cs3 = ContentStreamUtils.CreateTextContentStream(filename, content);\n\n\n\n\nMIME Types\n\n\nWhen you create a new document or update the content of a document, you have to provide a MIME type.\nIf you don\nt know the MIME type, use \napplication/octet-stream\n.\n\n\nOpenCMIS can guess the MIME type based on the file extension.\nIf you need a more thorough MIME type detection, have a look at \nApache Tika\n.\n\n\nOpenCMIS (Java)\n\n\nString mimeType = MimeTypes.getMIMETy
 pe(\ntxt\n); // MIME type for a .txt file\n\n\n\n\nFor .Net 4.5+ you can use \nSystem.Web.MimeMapping.GetMimeMapping\n.\n\n\nPortCMIS (C#)\n\n\nstring mimeType = MimeMapping.GetMimeMapping(\ntext.txt\n);\n\n\n\n\nGetting Content\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nThe code snippets below show how to get the content of document.\n\n\n\n\nNote\n\n\nCMIS differentiates between documents with no content and documents with a content of 0 bytes.\n\nIf a document has no content, \ngetContentStream()\n returns \nnull\n. If a document has a 0 byte content, \ngetContentStream()\n returns a content stream object with an empty stream.\n\n\n\n\nOpenCMIS (Java)\n\n\nDocument document = ...\nContentStream contentStream = document.getContentStream();\nInputStream stream = contentStream.getStream();\n\n\n\n\nPortCMIS (C#)\n\n\nIDocument document = ...\nIContentStream contentStream = document.GetContentStream();\nStream stream = contentStream.Stream;\n\n\n\n\nGetting Partial Content\n\n\nCMIS 1.0\n\n\nC
 MIS 1.1\n\n\nIt\ns also possible to get only a part of the content.\n\n\nOpenCMIS (Java)\n\n\nDocument document = ...\n\n// skip the first 100 bytes\n// use null to start from the beginning\nBigInteger offset = BigInteger.valueOf(100);\n\n// only read 200 bytes\n// use null to read to the end of the stream\nBigInteger length = BigInteger.valueOf(200); \n\nContentStream contentStream = document.getContentStream(offset, length);\nInputStream stream = contentStream.getStream();\n\n\n\n\nPortCMIS (C#)\n\n\nIDocument document = ...\n\n// skip the first 100 bytes\n// use null to start from the beginning\nlong? offset = 100;\n\n// only read 200 bytes\n// use null to read to the end of the stream\nlong? length = 200;\n\nIContentStream contentStream = document.GetContentStream(offset, length);\nStream stream = contentStream.Stream;\n\n\n\n\nUpdating Content\n\n\nOverwriting Content\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nOpenCMIS (Java)\n\n\nDocument document = ...\n\nContentStream contentStream = 
 ...\n\ndocument.setContentStream(contentStream, true);\n\n\n\n\nPortCMIS (C#)\n\n\nIDocument document = ...\n\nIContentStream contentStream = ...\n\ndocument.SetContentStream(contentStream, true);\n\n\n\n\nDeleting Content\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\n\n\nWarning\n\n\nSome repositories  don\nt support documents without content. Check the \nrepository capabilities\n if that\ns the case or check the\n\nAllowable Actions\n of the document.\n\n\n\n\nOpenCMIS (Java)\n\n\nDocument document = ...\ndocument.deleteContentStream();\n\n\n\n\nPortCMIS (C#)\n\n\nIDocument document = ...\ndocument.DeleteContentStream();\n\n\n\n\nAppending Content\n\n\nCMIS 1.1\n\n\n\n\nWarning\n\n\nNot all repositories support appending content. It is not possible to discover wheter a repository supports it or not.\nIf you append content be prepared to catch a \nnotSupported\n exception. \n\n\n\n\nOpenCMIS (Java)\n\n\nDocument document = ...\n\nContentStream contentStream = ...\nboolean isLastChunk = true; //
  indicates that this is the last part of the content \n\ndocument.appendContentStream(contentStream, isLastChunk);\n\n\n\n\nPortCMIS (C#)\n\n\nIDocument document = ...\n\nIContentStream contentStream = ...\nbool isLastChunk = true; // indicates that this is the last part of the content \n\ndocument.AppendContentStream(contentStream, isLastChunk);\n\n\n\n\nWorking with Renditions\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nSpec 2.1.4.2\n\n\nRenditions are alternative versions of a document. For example, a rendition could be a PDF of an Office document. Thumbnails are a special kind of renditions and could also exist for non-document objects.\n\nCMIS only supports server managed renditions. A CMIS client cannot upload, modify, or delete a rendition.\n\n\nGetting the List of Renditions\n\n\n\n\nNote\n\n\nThe list of renditions is only available if it has been requested with an \nOperation Context\n.\n\n\n\n\nOpenCMIS (Java)\n\n\nDocument document = ...\n\nfor (Rendition rendition: document.getRen
 ditions()) {\n    System.out.println(rendition.getTitle() + \n: \n + rendition.getStreamId());\n}\n\n\n\n\nPortCMIS (C#)\n\n\nIDocument document = ...\n\nforeach (IRendition rendition in folder.Renditions) {\n    Console.WriteLine(rendition.Title + \n: \n + rendition.StreamId);\n}\n\n\n\n\nGetting Rendition Content\n\n\nThe rendition content can be retrieved either for an Rendition object (see above) or directly from the document with a stream ID.\n\n\nOpenCMIS (Java)\n\n\nDocument document = ...\nRendition rendition = ...\n\nContentStream cs1 = document.getContentStream(rendition.getStreamId());\n\nContentStream cs2 = rendition.getContentStream();\n\n\n\n\nPortCMIS (C#)\n\n\nIDocument document = ...\nIRendition rendition = ...\n\nIContentStream cs1 = document.GetContentStream(rendition.StreamId);\n\nIContentStream cs2 = rendition.GetContentStream();", 
             "title": "Working with Content"
         }, 
         {
@@ -487,7 +487,7 @@
         }, 
         {
             "location": "/samples/content/index.html#getting-content", 
-            "text": "CMIS 1.0  CMIS 1.1  The code snippets below show how to get the content of document. If a document has no content,  getContentStream()  returns  null .  OpenCMIS (Java)  Document document = ...\nContentStream contentStream = document.getContentStream();\nInputStream stream = contentStream.getStream();  PortCMIS (C#)  IDocument document = ...\nIContentStream contentStream = document.GetContentStream();\nStream stream = contentStream.Stream;", 
+            "text": "CMIS 1.0  CMIS 1.1  The code snippets below show how to get the content of document.   Note  CMIS differentiates between documents with no content and documents with a content of 0 bytes. \nIf a document has no content,  getContentStream()  returns  null . If a document has a 0 byte content,  getContentStream()  returns a content stream object with an empty stream.   OpenCMIS (Java)  Document document = ...\nContentStream contentStream = document.getContentStream();\nInputStream stream = contentStream.getStream();  PortCMIS (C#)  IDocument document = ...\nIContentStream contentStream = document.GetContentStream();\nStream stream = contentStream.Stream;", 
             "title": "Getting Content"
         }, 
         {
@@ -592,7 +592,7 @@
         }, 
         {
             "location": "/samples/operation-context/index.html", 
-            "text": "Understanding the Operation Context\n\n\nThe amount of metadata and associated information retrieved during an OpenCMIS or PortCMIS operation could be large, so certain methods return a sensible subset of the information by default, and provide additional methods that take an OperationContext. An OperationContext allows you to tune the amount of information returned by setting property filters, rendition filters, or by setting flags to include path segments, ACLs, Allowable Actions, Policies, and Relationships. The OperationContext is also used to control paging and caching in an operation.\n\n\nProperty Filter\n\n\nSpec 2.2.1.2.1\n\n\nThe property filter defines which properties the repository must return. Only select the properties you really need to keep the transferred data as small as possible. The repository may return more properties than specified.\n\n\n\n\nQuery Names\n\n\nThe property filter is a collection of query names, not property IDs. The query n
 ames and property IDs of all properties defined in the CMIS specifation are same and therefore interchangeable. That might not be the case for custom types. \n\n\n\n\n\n\nMinimal Property Filter\n\n\nOpenCMIS and PortCMIS need at least the properties \ncmis:objectId\n, \ncmis:baseTypeId\n, and \ncmis:objectTypeId\n to create objects.\nThe default operation context implementation adds these properties automatically if they are missing in the property filter.\n\n\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setFilterString(\ncmis:objectId,cmis:name,cmis:createdBy\n);\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.FilterString = \ncmis:objectId,cmis:name,cmis:createdBy\n;\n\n\n\n\nAllowable Actions\n\n\nSpec 2.2.1.2.6\n\n\nCalculating the Allowable Actions of an object can be very expensive for a repository. Don\nt request them if you don\nt need them.\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setIncludeAllowableActions(false); // don't request Allo
 wable Actions\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.IncludeAllowableActions = false; // don't request Allowable Actions\n\n\n\n\nACLs\n\n\nSpec 2.2.1.2.5\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setIncludeAcls(true); // request ACLs\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.IncludeAcls = true; // request ACLs\n\n\n\n\nRelationships\n\n\nSpec 2.2.1.2.2\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setIncludeRelationships(IncludeRelationships.BOTH); // request source and target relationships\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.IncludeRelationships = IncludeRelationships.Both; // request source and target relationships\n\n\n\n\nPolicies\n\n\nSpec 2.2.1.2.3\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setIncludePolicies(true); // request policies\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.IncludePolicies = true; // request policies\n\n\n\n\nRendition Filter\n\n\nSpec 2.2.1.2.
 4\n\n\nThe rendition filter defines which rendition details should be returned by the repository. This filter is a comma separated list of rendition kinds (e.g. \ncmis:thumbnail\n) and MIME types. \n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setRenditionFilterString(\ncmis:thumbnail,image/*\n);\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.RenditionFilterString = \ncmis:thumbnail,image/*\n;\n\n\n\n\nRendition filer examples:\n\n\n\n\n*\n (include all renditions)\n\n\ncmis:thumbnail\n (include only thumbnails)\n\n\nimage/*\n (include all image renditions)\n\n\napplication/pdf,application/x-shockwave-flash\n (include web ready renditions)\n\n\ncmis:none\n (exclude all renditions)\n\n\n\n\nOrder By\n\n\nSpec 2.2.1.2.7\n\n\nThe list of objects returned by \ngetChildren\n, \ngetCheckedOutDocs\n, and \nqueryObjects\n can be ordered. This is a comma separated list of query names, followed by an optional ascending modifier \nASC\n or descending modifier \nDESC\n for
  each query name. If the modifier is not stated, \nASC\n is assumed.\n\n\n\n\nQuery Names\n\n\nSimilar to the property filter this is a collection of query names, not property IDs.\n\n\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setOrderBy(\ncmis:createdBy DESC,cmis:name ASC\n);\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.OrderBy(\ncmis:createdBy DESC,cmis:name ASC\n);\n\n\n\n\nCaching\n\n\nAll objects retrieved by \ngetObject\n and \ngetObjectByPath\n are cached by default. If caching is turned off by an Operation Context, objects are not looked up in the cache and are not put into the cache. The methods getObject and getObjectByPath make a round-trip to the repository and get up-to-date data.\n\n\nSee also the section about the \nobject cache\n.\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setCacheEnabled(false); // no caching please\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.CacheEnabled = false; // no caching please\n\n\n\n\n
 Creating Operation Context Objects\n\n\nOpenCMIS (Java)\n\n\n// create the default operation context\nOperationContext oc1 = session.createOperationContext();\n\n// create an operation context that selects nothing except the provided properties\nOperationContext oc2 = OperationContextUtils.createMinimumOperationContext(\ncmis:objectId\n, \ncmis:name\n, \ncmis:createdBy\n);\n\n// create an operation context that selects everything\nOperationContext oc3 = OperationContextUtils.createMaximumOperationContext();\n\n\n\n\nPortCMIS (C#)\n\n\n// create the default operation context\nIOperationContext oc1 = Session.CreateOperationContext();\n\n// create an operation context that selects nothing except the provided properties\nIOperationContext oc2 = OperationContextUtils.CreateMinimumOperationContext(\ncmis:objectId\n, \ncmis:name\n, \ncmis:createdBy\n);\n\n// create an operation context that selects everything\nIOperationContext oc3 = OperationContextUtils.CreateMaximumOperationContext();",
  
+            "text": "Understanding the Operation Context\n\n\nThe amount of metadata and associated information retrieved during an OpenCMIS or PortCMIS operation could be large, so certain methods return a sensible subset of the information by default, and provide additional methods that take an OperationContext. An OperationContext allows you to tune the amount of information returned by setting property filters, rendition filters, or by setting flags to include path segments, ACLs, Allowable Actions, Policies, and Relationships. The OperationContext is also used to control paging and caching in an operation.\n\n\nProperty Filter\n\n\nSpec 2.2.1.2.1\n\n\nThe property filter defines which properties the repository must return. Only select the properties you really need to keep the transferred data as small as possible. The repository may return more properties than specified.\n\n\n\n\nQuery Names\n\n\nThe property filter is a collection of query names, not property IDs. The query n
 ames and property IDs of all properties defined in the CMIS specifation are same and therefore interchangeable. That might not be the case for custom types. \n\n\n\n\n\n\nMinimal Property Filter\n\n\nOpenCMIS and PortCMIS need at least the properties \ncmis:objectId\n, \ncmis:baseTypeId\n, and \ncmis:objectTypeId\n to create objects.\nThe default operation context implementation adds these properties automatically if they are missing in the property filter.\n\n\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setFilterString(\ncmis:objectId,cmis:name,cmis:createdBy\n);\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.FilterString = \ncmis:objectId,cmis:name,cmis:createdBy\n;\n\n\n\n\nAllowable Actions\n\n\nSpec 2.2.1.2.6\n\n\nCalculating the Allowable Actions of an object can be very expensive for a repository. Don\nt request them if you don\nt need them.\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setIncludeAllowableActions(false); // don't request Allo
 wable Actions\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.IncludeAllowableActions = false; // don't request Allowable Actions\n\n\n\n\nACLs\n\n\nSpec 2.2.1.2.5\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setIncludeAcls(true); // request ACLs\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.IncludeAcls = true; // request ACLs\n\n\n\n\nRelationships\n\n\nSpec 2.2.1.2.2\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setIncludeRelationships(IncludeRelationships.BOTH); // request source and target relationships\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.IncludeRelationships = IncludeRelationships.Both; // request source and target relationships\n\n\n\n\nPolicies\n\n\nSpec 2.2.1.2.3\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setIncludePolicies(true); // request policies\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.IncludePolicies = true; // request policies\n\n\n\n\nRendition Filter\n\n\nSpec 2.2.1.2.
 4\n\n\nThe rendition filter defines which rendition details should be returned by the repository. This filter is a comma separated list of rendition kinds (e.g. \ncmis:thumbnail\n) and MIME types. \n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setRenditionFilterString(\ncmis:thumbnail,image/*\n);\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.RenditionFilterString = \ncmis:thumbnail,image/*\n;\n\n\n\n\nRendition filer examples:\n\n\n\n\n*\n (include all renditions)\n\n\ncmis:thumbnail\n (include only thumbnails)\n\n\nimage/*\n (include all image renditions)\n\n\napplication/pdf,application/x-shockwave-flash\n (include web ready renditions)\n\n\ncmis:none\n (exclude all renditions)\n\n\n\n\nOrder By\n\n\nSpec 2.2.1.2.7\n\n\nThe list of objects returned by \ngetChildren\n, \ngetCheckedOutDocs\n, and \nqueryObjects\n can be ordered. This is a comma separated list of query names, followed by an optional ascending modifier \nASC\n or descending modifier \nDESC\n for
  each query name. If the modifier is not stated, \nASC\n is assumed.\n\n\n\n\nQuery Names\n\n\nSimilar to the property filter this is a collection of query names, not property IDs.\n\n\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setOrderBy(\ncmis:createdBy DESC,cmis:name ASC\n);\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.OrderBy(\ncmis:createdBy DESC,cmis:name ASC\n);\n\n\n\n\nCaching\n\n\nAll objects retrieved by \ngetObject\n and \ngetObjectByPath\n are cached by default. If caching is turned off by an Operation Context, objects are not looked up in the cache and are not put into the cache. The methods getObject and getObjectByPath make a round-trip to the repository and get up-to-date data.\n\n\nSee also the section about the \nobject cache\n.\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\noc.setCacheEnabled(false); // no caching please\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\noc.CacheEnabled = false; // no caching please\n\n\n\n\n
 Creating Operation Context Objects\n\n\nOpenCMIS (Java)\n\n\n// create the default operation context\nOperationContext oc1 = session.createOperationContext();\n\n// create an operation context that selects nothing except the provided properties\nOperationContext oc2 = OperationContextUtils.createMinimumOperationContext(\ncmis:objectId\n, \ncmis:name\n, \ncmis:createdBy\n);\n\n// create an operation context that selects everything\nOperationContext oc3 = OperationContextUtils.createMaximumOperationContext();\n\n\n\n\nPortCMIS (C#)\n\n\n// create the default operation context\nIOperationContext oc1 = Session.CreateOperationContext();\n\n// create an operation context that selects nothing except the provided properties\nIOperationContext oc2 = OperationContextUtils.CreateMinimumOperationContext(\ncmis:objectId\n, \ncmis:name\n, \ncmis:createdBy\n);\n\n// create an operation context that selects everything\nIOperationContext oc3 = OperationContextUtils.CreateMaximumOperationContext();\n
 \n\n\n\nUsing an Operation Context\n\n\nMany methods that retrieve objects or data accept an Operation Context object as an additional parameter.\nIf no Operation Context object is provided, a default Operation Context object defines what should be requested.\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\n\nCmisObject cmisObject1 = session.getObject(id, oc);\nCmisObject cmisObject2 = session.getObjectByPath(path, oc);\nItemIterable\nCmisObject\n children = folder.getChildren(oc);\nList\nDocument\n versions = doc.getAllVersions(oc);\n\n\n\n\nPortCMIS (C#)\n\n\nIOperationContext oc = ...\n\nICmisObject cmisObject1 = session.GetObject(id, oc);\nICmisObject cmisObject2 = session.GetObjectByPath(path, oc);\nIItemEnumerable\nICmisObject\n children = folder.GetChildren(oc);\nIList\nIDocument\n versions = doc.GetAllVersions(oc);", 
             "title": "Understanding the Operation Context"
         }, 
         {
@@ -646,8 +646,13 @@
             "title": "Creating Operation Context Objects"
         }, 
         {
+            "location": "/samples/operation-context/index.html#using-an-operation-context", 
+            "text": "Many methods that retrieve objects or data accept an Operation Context object as an additional parameter.\nIf no Operation Context object is provided, a default Operation Context object defines what should be requested.  OpenCMIS (Java)  OperationContext oc = ...\n\nCmisObject cmisObject1 = session.getObject(id, oc);\nCmisObject cmisObject2 = session.getObjectByPath(path, oc);\nItemIterable CmisObject  children = folder.getChildren(oc);\nList Document  versions = doc.getAllVersions(oc);  PortCMIS (C#)  IOperationContext oc = ...\n\nICmisObject cmisObject1 = session.GetObject(id, oc);\nICmisObject cmisObject2 = session.GetObjectByPath(path, oc);\nIItemEnumerable ICmisObject  children = folder.GetChildren(oc);\nIList IDocument  versions = doc.GetAllVersions(oc);", 
+            "title": "Using an Operation Context"
+        }, 
+        {
             "location": "/samples/lists/index.html", 
-            "text": "Working with Lists, Paging and Skipping\n\n\nIterating over a List\n\n\nOpenCMIS (Java)\n\n\nItemIterable\nSomething\n somethingList = ...\n\nfor (Something something : somethingList) {\n    ...\n}\n\n\n\n\nPortCMIS (C#)\n\n\nIItemEnumerable\nSomething\n somethingList = ...\n\nforeach (Something something in somethingList) {\n    ...\n}\n\n\n\n\nPaging and Skipping\n\n\nOpenCMIS (Java)\n\n\nItemIterable\nSomething\n somethingList = ...\n\n// get a page of 5 items\nItemIterable\nSomething\n firstFive = somethingList.getPage(5);\n\n// get a list starting with the 10th item\nItemIterable\nSomething\n skipTen = somethingList.skipTo(10);\n\n// get a page of 20 items starting at the 100th item of the orignal list\nItemIterable\nSomething\n skipTen = somethingList.skipTo(100).getPage(20);\n\n\n\n\nPortCMIS (C#)\n\n\nIItemEnumerable\nSomething\n somethingList = ...\n\n// get a page of 5 items\nIItemEnumerable\nSomething\n firstFive = somethingList.GetPage(5);\n\n// get 
 a list starting with the 10th item\nIItemEnumerable\nSomething\n skipTen = somethingList.SkipTo(10);\n\n// get a page of 20 items starting at the 100th item of the orignal list\nIItemEnumerable\nSomething\n skipTen = somethingList.SkipTo(100).GetPage(20);", 
+            "text": "Working with Lists, Paging and Skipping\n\n\nIterating over a List\n\n\nOpenCMIS (Java)\n\n\nItemIterable\nSomething\n somethingList = ...\n\nfor (Something something : somethingList) {\n    ...\n}\n\n\n\n\nPortCMIS (C#)\n\n\nIItemEnumerable\nSomething\n somethingList = ...\n\nforeach (Something something in somethingList) {\n    ...\n}\n\n\n\n\nPaging and Skipping\n\n\nOpenCMIS (Java)\n\n\nItemIterable\nSomething\n somethingList = ...\n\n// get a page of 5 items\nItemIterable\nSomething\n firstFive = somethingList.getPage(5);\n\n// get a list starting with the 10th item\nItemIterable\nSomething\n skipTen = somethingList.skipTo(10);\n\n// get a page of 20 items starting at the 100th item of the orignal list\nItemIterable\nSomething\n skipAndPage = somethingList.skipTo(100).getPage(20);\n\n\n\n\nPortCMIS (C#)\n\n\nIItemEnumerable\nSomething\n somethingList = ...\n\n// get a page of 5 items\nIItemEnumerable\nSomething\n firstFive = somethingList.GetPage(5);\n\n// 
 get a list starting with the 10th item\nIItemEnumerable\nSomething\n skipTen = somethingList.SkipTo(10);\n\n// get a page of 20 items starting at the 100th item of the orignal list\nIItemEnumerable\nSomething\n skipAndPage = somethingList.SkipTo(100).GetPage(20);", 
             "title": "Working with Lists, Paging and Skipping"
         }, 
         {
@@ -662,7 +667,7 @@
         }, 
         {
             "location": "/samples/lists/index.html#paging-and-skipping", 
-            "text": "OpenCMIS (Java)  ItemIterable Something  somethingList = ...\n\n// get a page of 5 items\nItemIterable Something  firstFive = somethingList.getPage(5);\n\n// get a list starting with the 10th item\nItemIterable Something  skipTen = somethingList.skipTo(10);\n\n// get a page of 20 items starting at the 100th item of the orignal list\nItemIterable Something  skipTen = somethingList.skipTo(100).getPage(20);  PortCMIS (C#)  IItemEnumerable Something  somethingList = ...\n\n// get a page of 5 items\nIItemEnumerable Something  firstFive = somethingList.GetPage(5);\n\n// get a list starting with the 10th item\nIItemEnumerable Something  skipTen = somethingList.SkipTo(10);\n\n// get a page of 20 items starting at the 100th item of the orignal list\nIItemEnumerable Something  skipTen = somethingList.SkipTo(100).GetPage(20);", 
+            "text": "OpenCMIS (Java)  ItemIterable Something  somethingList = ...\n\n// get a page of 5 items\nItemIterable Something  firstFive = somethingList.getPage(5);\n\n// get a list starting with the 10th item\nItemIterable Something  skipTen = somethingList.skipTo(10);\n\n// get a page of 20 items starting at the 100th item of the orignal list\nItemIterable Something  skipAndPage = somethingList.skipTo(100).getPage(20);  PortCMIS (C#)  IItemEnumerable Something  somethingList = ...\n\n// get a page of 5 items\nIItemEnumerable Something  firstFive = somethingList.GetPage(5);\n\n// get a list starting with the 10th item\nIItemEnumerable Something  skipTen = somethingList.SkipTo(10);\n\n// get a page of 20 items starting at the 100th item of the orignal list\nIItemEnumerable Something  skipAndPage = somethingList.SkipTo(100).GetPage(20);", 
             "title": "Paging and Skipping"
         }, 
         {
@@ -677,7 +682,7 @@
         }, 
         {
             "location": "/samples/queries/index.html", 
-            "text": "Executing Queries\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nSpec 2.1.14\n\n\nOpenCMIS (Java)\n\n\nItemIterable\nQueryResult\n results = session.query(\nSELECT * FROM cmis:document\n, false);\n\nfor(QueryResult hit: results) {  \n    for(PropertyData\n?\n property: hit.getProperties()) {\n\n        String queryName = property.getQueryName();\n        Object value = property.getFirstValue();\n\n        System.out.println(queryName + \n: \n + value);\n    }\n    System.out.println(\n--------------------------------------\n);\n}\n\n\n\n\nQuerying Objects\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\n\n// find all folders starting with 'a' or 'A'\nItemIterable\nCmisObject\n results =\n    session.queryObjects(\ncmis:folder\n, \ncmis:name LIKE 'a%' OR cmis:name LIKE 'A%'\n, false, oc);\n\nfor (CmisObject cmisObject : results) {\n    Folder folder = (Folder) cmisObject; // it can only be a folder\n    System.out.println(folder.getName());\n}\n\n\n\n\nUsing a Query Statem
 ent\n\n\nQuery statements are very similar to \nprepared statements\n.\n\n\nOpenCMIS (Java)\n\n\nCalendar cal = ...\nFolder folder = ...\n\nQueryStatement qs = session.createQueryStatement(\nSELECT ?, ? FROM ? WHERE ? \n TIMESTAMP ? AND IN_FOLDER(?) OR ? IN (?)\n);\n\nqs.setProperty(1, \ncmis:document\n, \ncmis:name\n);\nqs.setProperty(2, \ncmis:document\n, \ncmis:objectId\n);\nqs.setType(3, \ncmis:document\n);\n\nqs.setProperty(4, \ncmis:document\n, \ncmis:creationDate\n);\nqs.setDateTime(5, cal);\n\nqs.setId(6, folder);\n\nqs.setProperty(7, \ncmis:document\n, \ncmis:createdBy\n);\nqs.setString(8, \nbob\n, \ntom\n, \nlisa\n); \n\nString statement = qs.toQueryString();\n\nItemIterable\nQueryResult\n results = statement.query(false);", 
+            "text": "Executing Queries\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nSpec 2.1.14\n\n\nOpenCMIS (Java)\n\n\nItemIterable\nQueryResult\n results = session.query(\nSELECT * FROM cmis:document\n, false);\n\nfor(QueryResult hit: results) {  \n    for(PropertyData\n?\n property: hit.getProperties()) {\n\n        String queryName = property.getQueryName();\n        Object value = property.getFirstValue();\n\n        System.out.println(queryName + \n: \n + value);\n    }\n    System.out.println(\n--------------------------------------\n);\n}\n\n\n\n\nQuerying Objects\n\n\nOpenCMIS (Java)\n\n\nOperationContext oc = ...\n\n// find all folders starting with 'a' or 'A'\nItemIterable\nCmisObject\n results =\n    session.queryObjects(\ncmis:folder\n, \ncmis:name LIKE 'a%' OR cmis:name LIKE 'A%'\n, false, oc);\n\nfor (CmisObject cmisObject : results) {\n    Folder folder = (Folder) cmisObject; // it can only be a folder\n    System.out.println(folder.getName());\n}\n\n\n\n\nUsing a Query Statem
 ent\n\n\nQuery statements are very similar to \nprepared statements\n.\n\n\nOpenCMIS (Java)\n\n\nCalendar cal = ...\nFolder folder = ...\n\nQueryStatement qs = session.createQueryStatement(\nSELECT ?, ? FROM ? WHERE ? \n TIMESTAMP ? AND IN_FOLDER(?) OR ? IN (?)\n);\n\nqs.setProperty(1, \ncmis:document\n, \ncmis:name\n);\nqs.setProperty(2, \ncmis:document\n, \ncmis:objectId\n);\nqs.setType(3, \ncmis:document\n);\n\nqs.setProperty(4, \ncmis:document\n, \ncmis:creationDate\n);\nqs.setDateTime(5, cal);\n\nqs.setId(6, folder);\n\nqs.setProperty(7, \ncmis:document\n, \ncmis:createdBy\n);\nqs.setString(8, \nbob\n, \ntom\n, \nlisa\n); \n\n// get the compiled query statement\nString statement = qs.toQueryString();\n\n// ... or execute the query directly\nItemIterable\nQueryResult\n results = qs.query(false);", 
             "title": "Executing Queries"
         }, 
         {
@@ -692,7 +697,7 @@
         }, 
         {
             "location": "/samples/queries/index.html#using-a-query-statement", 
-            "text": "Query statements are very similar to  prepared statements .  OpenCMIS (Java)  Calendar cal = ...\nFolder folder = ...\n\nQueryStatement qs = session.createQueryStatement( SELECT ?, ? FROM ? WHERE ?   TIMESTAMP ? AND IN_FOLDER(?) OR ? IN (?) );\n\nqs.setProperty(1,  cmis:document ,  cmis:name );\nqs.setProperty(2,  cmis:document ,  cmis:objectId );\nqs.setType(3,  cmis:document );\n\nqs.setProperty(4,  cmis:document ,  cmis:creationDate );\nqs.setDateTime(5, cal);\n\nqs.setId(6, folder);\n\nqs.setProperty(7,  cmis:document ,  cmis:createdBy );\nqs.setString(8,  bob ,  tom ,  lisa ); \n\nString statement = qs.toQueryString();\n\nItemIterable QueryResult  results = statement.query(false);", 
+            "text": "Query statements are very similar to  prepared statements .  OpenCMIS (Java)  Calendar cal = ...\nFolder folder = ...\n\nQueryStatement qs = session.createQueryStatement( SELECT ?, ? FROM ? WHERE ?   TIMESTAMP ? AND IN_FOLDER(?) OR ? IN (?) );\n\nqs.setProperty(1,  cmis:document ,  cmis:name );\nqs.setProperty(2,  cmis:document ,  cmis:objectId );\nqs.setType(3,  cmis:document );\n\nqs.setProperty(4,  cmis:document ,  cmis:creationDate );\nqs.setDateTime(5, cal);\n\nqs.setId(6, folder);\n\nqs.setProperty(7,  cmis:document ,  cmis:createdBy );\nqs.setString(8,  bob ,  tom ,  lisa ); \n\n// get the compiled query statement\nString statement = qs.toQueryString();\n\n// ... or execute the query directly\nItemIterable QueryResult  results = qs.query(false);", 
             "title": "Using a Query Statement"
         }, 
         {
@@ -707,12 +712,12 @@
         }, 
         {
             "location": "/samples/allowable-actions/index.html", 
-            "text": "Checking Allowable Actions\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nOpenCMIS (Java)\n\n\nCmisObject cmisObject = ...\n\nif (cmisObject.hasAllowableAction(Action.CAN_DELETE_OBJECT)) {\n    // do it\n}\n\n\n\n\nPortCMIS (C#)\n\n\nICmisObject cmisObject = ...\n\nif (cmisObject.HasAllowableAction(PortCMIS.Enums.Action.CanDeleteObject)) {\n    // do it\n}", 
+            "text": "Checking Allowable Actions\n\n\nCMIS 1.0\n\n\nCMIS 1.1\n\n\nAllowable Actions let clients check if the current user is allowed to perform an action. Clients can and should use this, for example, to disable or remove buttons, menu items, or links that wouldn\nt work for the current user.\n\n\n\n\nNote\n\n\nCalculating the Allowable Actions can be an expensive operation for some CMIS repositories. The performance can suffer noticeably if many objects have to be returned, for example by \ngetChildren()\n. Only request the Allowable Actions if you really need them. Use an \nOperation Context\n to turn Allowable Actions on or off.\n\n\n\n\nOpenCMIS (Java)\n\n\nCmisObject cmisObject = ...\n\nif (cmisObject.hasAllowableAction(Action.CAN_DELETE_OBJECT)) {\n    // do it\n}\n\n\n\n\nPortCMIS (C#)\n\n\nICmisObject cmisObject = ...\n\nif (cmisObject.HasAllowableAction(PortCMIS.Enums.Action.CanDeleteObject)) {\n    // do it\n}", 
             "title": "Checking Allowable Actions"
         }, 
         {
             "location": "/samples/allowable-actions/index.html#checking-allowable-actions", 
-            "text": "CMIS 1.0  CMIS 1.1  OpenCMIS (Java)  CmisObject cmisObject = ...\n\nif (cmisObject.hasAllowableAction(Action.CAN_DELETE_OBJECT)) {\n    // do it\n}  PortCMIS (C#)  ICmisObject cmisObject = ...\n\nif (cmisObject.HasAllowableAction(PortCMIS.Enums.Action.CanDeleteObject)) {\n    // do it\n}", 
+            "text": "CMIS 1.0  CMIS 1.1  Allowable Actions let clients check if the current user is allowed to perform an action. Clients can and should use this, for example, to disable or remove buttons, menu items, or links that wouldn t work for the current user.   Note  Calculating the Allowable Actions can be an expensive operation for some CMIS repositories. The performance can suffer noticeably if many objects have to be returned, for example by  getChildren() . Only request the Allowable Actions if you really need them. Use an  Operation Context  to turn Allowable Actions on or off.   OpenCMIS (Java)  CmisObject cmisObject = ...\n\nif (cmisObject.hasAllowableAction(Action.CAN_DELETE_OBJECT)) {\n    // do it\n}  PortCMIS (C#)  ICmisObject cmisObject = ...\n\nif (cmisObject.HasAllowableAction(PortCMIS.Enums.Action.CanDeleteObject)) {\n    // do it\n}", 
             "title": "Checking Allowable Actions"
         }, 
         {
@@ -736,6 +741,26 @@
             "title": "Working with Policies"
         }, 
         {
+            "location": "/samples/retention/index.html", 
+            "text": "Retention and Holds\n\n\nCMIS 1.1\n\n\nSpec 2.1.16\n\n\nRetention\n\n\nSpec 2.1.16.1\n\n\nSpec 2.1.16.2\n\n\nHolds\n\n\nSpec 2.1.16.3", 
+            "title": "Retention and Holds"
+        }, 
+        {
+            "location": "/samples/retention/index.html#retention-and-holds", 
+            "text": "CMIS 1.1  Spec 2.1.16", 
+            "title": "Retention and Holds"
+        }, 
+        {
+            "location": "/samples/retention/index.html#retention", 
+            "text": "Spec 2.1.16.1  Spec 2.1.16.2", 
+            "title": "Retention"
+        }, 
+        {
+            "location": "/samples/retention/index.html#holds", 
+            "text": "Spec 2.1.16.3", 
+            "title": "Holds"
+        }, 
+        {
             "location": "/about/index.html", 
             "text": "About this Documentation\n\n\n\n\nCreated by the \nApache Chemistry PMC\n.\n\n\nIf you have any questions, subscribe to the \nApache Chemistry Dev Mailing List\n. If you find an error, please create an \nissue\n.\n\n\nLicense: \nApache 2.0\n\n\nApache Chemistry\n, \nApache\n, the Apache feather logo, and the Apache Chemistry project logo are trademarks of \nThe Apache Software Foundation\n.\n\nContent Management Interoperability Services (CMIS) is an \nOASIS\n specification.\n\n\n\n\nDocumentation built with \nMkDocs\n using the modified \nCinder\n theme.", 
             "title": "About"

Modified: websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/access-control/index.html
==============================================================================
--- websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/access-control/index.html (original)
+++ websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/access-control/index.html Fri Jul  8 16:17:56 2016
@@ -225,6 +225,12 @@
 </li>
 
                         
+                            
+<li >
+    <a href="../retention/index.html">Retention and Holds</a>
+</li>
+
+                        
                         </ul>
                     </li>
                 
@@ -251,7 +257,7 @@
                         </a>
                     </li>
                     <li >
-                        <a rel="prev" href="../../about/index.html">
+                        <a rel="prev" href="../retention/index.html">
                             Next <i class="fa fa-arrow-right" aria-hidden="true"></i>
                         </a>
                     </li>
@@ -340,4 +346,4 @@
     </body>
 
 </html>
-<!-- last update: 2016-06-24 10:25:44.499356 -->
\ No newline at end of file
+<!-- last update: 2016-07-08 16:12:05.159912 -->
\ No newline at end of file

Modified: websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/allowable-actions/index.html
==============================================================================
--- websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/allowable-actions/index.html (original)
+++ websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/allowable-actions/index.html Fri Jul  8 16:17:56 2016
@@ -225,6 +225,12 @@
 </li>
 
                         
+                            
+<li >
+    <a href="../retention/index.html">Retention and Holds</a>
+</li>
+
+                        
                         </ul>
                     </li>
                 
@@ -281,6 +287,11 @@
 <h1 id="checking-allowable-actions">Checking Allowable Actions</h1>
 <p><span class="cmis">CMIS 1.0</span>
 <span class="cmis">CMIS 1.1</span></p>
+<p>Allowable Actions let clients check if the current user is allowed to perform an action. Clients can and should use this, for example, to disable or remove buttons, menu items, or links that wouldn&rsquo;t work for the current user.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Calculating the Allowable Actions can be an expensive operation for some CMIS repositories. The performance can suffer noticeably if many objects have to be returned, for example by <code>getChildren()</code>. Only request the Allowable Actions if you really need them. Use an <a href="../operation-context/index.html#allowable-actions">Operation Context</a> to turn Allowable Actions on or off.</p>
+</div>
 <p class="opencmis">OpenCMIS (Java)</p>
 <pre><code class="java">CmisObject cmisObject = ...
 
@@ -345,4 +356,4 @@ if (cmisObject.HasAllowableAction(PortCM
     </body>
 
 </html>
-<!-- last update: 2016-06-24 10:25:44.484902 -->
\ No newline at end of file
+<!-- last update: 2016-07-08 16:12:05.143206 -->
\ No newline at end of file

Modified: websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/capabilities/index.html
==============================================================================
--- websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/capabilities/index.html (original)
+++ websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/capabilities/index.html Fri Jul  8 16:17:56 2016
@@ -225,6 +225,12 @@
 </li>
 
                         
+                            
+<li >
+    <a href="../retention/index.html">Retention and Holds</a>
+</li>
+
+                        
                         </ul>
                     </li>
                 
@@ -377,4 +383,4 @@ boolean supportsUnfiling = Boolean.TRUE.
     </body>
 
 </html>
-<!-- last update: 2016-06-24 10:25:44.078135 -->
\ No newline at end of file
+<!-- last update: 2016-07-08 16:12:04.719605 -->
\ No newline at end of file

Modified: websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/changelog/index.html
==============================================================================
--- websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/changelog/index.html (original)
+++ websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/changelog/index.html Fri Jul  8 16:17:56 2016
@@ -225,6 +225,12 @@
 </li>
 
                         
+                            
+<li >
+    <a href="../retention/index.html">Retention and Holds</a>
+</li>
+
+                        
                         </ul>
                     </li>
                 
@@ -346,4 +352,4 @@ if (events != null &amp;&amp; events.get
     </body>
 
 </html>
-<!-- last update: 2016-06-24 10:25:44.471169 -->
\ No newline at end of file
+<!-- last update: 2016-07-08 16:12:05.126765 -->
\ No newline at end of file

Modified: websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/content/index.html
==============================================================================
--- websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/content/index.html (original)
+++ websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/content/index.html Fri Jul  8 16:17:56 2016
@@ -225,6 +225,12 @@
 </li>
 
                         
+                            
+<li >
+    <a href="../retention/index.html">Retention and Holds</a>
+</li>
+
+                        
                         </ul>
                     </li>
                 
@@ -355,7 +361,12 @@ If you need a more thorough MIME type de
 <h2 id="getting-content">Getting Content</h2>
 <p><span class="cmis">CMIS 1.0</span>
 <span class="cmis">CMIS 1.1</span></p>
-<p>The code snippets below show how to get the content of document. If a document has no content, <code>getContentStream()</code> returns <code>null</code>.</p>
+<p>The code snippets below show how to get the content of document.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>CMIS differentiates between documents with no content and documents with a content of 0 bytes.<br />
+If a document has no content, <code>getContentStream()</code> returns <code>null</code>. If a document has a 0 byte content, <code>getContentStream()</code> returns a content stream object with an empty stream.</p>
+</div>
 <p class="opencmis">OpenCMIS (Java)</p>
 <pre><code class="java">Document document = ...
 ContentStream contentStream = document.getContentStream();
@@ -474,7 +485,7 @@ CMIS only supports server managed rendit
 <h3 id="getting-the-list-of-renditions">Getting the List of Renditions</h3>
 <div class="admonition note">
 <p class="admonition-title">Note</p>
-<p>The list of renditions is only available if it has been requested with an <a href="../operation-context/index.html">Operation Context</a>.</p>
+<p>The list of renditions is only available if it has been requested with an <a href="../operation-context/index.html#rendition-filter">Operation Context</a>.</p>
 </div>
 <p class="opencmis">OpenCMIS (Java)</p>
 <pre><code class="java">Document document = ...
@@ -560,4 +571,4 @@ IContentStream cs2 = rendition.GetConten
     </body>
 
 </html>
-<!-- last update: 2016-06-24 10:25:44.301995 -->
\ No newline at end of file
+<!-- last update: 2016-07-08 16:12:04.957864 -->
\ No newline at end of file

Modified: websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/create-objects/index.html
==============================================================================
--- websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/create-objects/index.html (original)
+++ websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/create-objects/index.html Fri Jul  8 16:17:56 2016
@@ -225,6 +225,12 @@
 </li>
 
                         
+                            
+<li >
+    <a href="../retention/index.html">Retention and Holds</a>
+</li>
+
+                        
                         </ul>
                     </li>
                 
@@ -560,4 +566,4 @@ ObjectId newFolderId = session.createFol
     </body>
 
 </html>
-<!-- last update: 2016-06-24 10:25:44.199682 -->
\ No newline at end of file
+<!-- last update: 2016-07-08 16:12:04.846266 -->
\ No newline at end of file

Modified: websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/create-session/index.html
==============================================================================
--- websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/create-session/index.html (original)
+++ websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/create-session/index.html Fri Jul  8 16:17:56 2016
@@ -225,6 +225,12 @@
 </li>
 
                         
+                            
+<li >
+    <a href="../retention/index.html">Retention and Holds</a>
+</li>
+
+                        
                         </ul>
                     </li>
                 
@@ -496,4 +502,4 @@ ISession session = factory.GetRepositori
     </body>
 
 </html>
-<!-- last update: 2016-06-24 10:25:44.058485 -->
\ No newline at end of file
+<!-- last update: 2016-07-08 16:12:04.695828 -->
\ No newline at end of file

Modified: websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/delete-objects/index.html
==============================================================================
--- websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/delete-objects/index.html (original)
+++ websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/delete-objects/index.html Fri Jul  8 16:17:56 2016
@@ -225,6 +225,12 @@
 </li>
 
                         
+                            
+<li >
+    <a href="../retention/index.html">Retention and Holds</a>
+</li>
+
+                        
                         </ul>
                     </li>
                 
@@ -397,4 +403,4 @@ folder.DeleteTree(true, UnfileObject.Del
     </body>
 
 </html>
-<!-- last update: 2016-06-24 10:25:44.263520 -->
\ No newline at end of file
+<!-- last update: 2016-07-08 16:12:04.915902 -->
\ No newline at end of file

Modified: websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/exceptions/index.html
==============================================================================
--- websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/exceptions/index.html (original)
+++ websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/exceptions/index.html Fri Jul  8 16:17:56 2016
@@ -225,6 +225,12 @@
 </li>
 
                         
+                            
+<li >
+    <a href="../retention/index.html">Retention and Holds</a>
+</li>
+
+                        
                         </ul>
                     </li>
                 
@@ -423,4 +429,4 @@ is not allowed for documents of that typ
     </body>
 
 </html>
-<!-- last update: 2016-06-24 10:25:44.129329 -->
\ No newline at end of file
+<!-- last update: 2016-07-08 16:12:04.768746 -->
\ No newline at end of file

Modified: websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/extensions/index.html
==============================================================================
--- websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/extensions/index.html (original)
+++ websites/staging/chemistry/trunk/content/docs/cmis-samples/samples/extensions/index.html Fri Jul  8 16:17:56 2016
@@ -225,6 +225,12 @@
 </li>
 
                         
+                            
+<li >
+    <a href="../retention/index.html">Retention and Holds</a>
+</li>
+
+                        
                         </ul>
                     </li>
                 
@@ -366,4 +372,4 @@ if (extensions != null) {
     </body>
 
 </html>
-<!-- last update: 2016-06-24 10:25:44.436606 -->
\ No newline at end of file
+<!-- last update: 2016-07-08 16:12:05.095607 -->
\ No newline at end of file




Mime
View raw message