You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by jp...@apache.org on 2016/12/29 22:56:26 UTC

svn commit: r1776507 - in /chemistry/cmislib/trunk/src: cmislib/ cmislib/atompub/ cmislib/browser/ doc/src/ tests/

Author: jpotts
Date: Thu Dec 29 22:56:25 2016
New Revision: 1776507

URL: http://svn.apache.org/viewvc?rev=1776507&view=rev
Log:
Cleanup inline docs to close #CMIS-873. Add/edit RST (doc) files to be up-to-date with project restructure

Added:
    chemistry/cmislib/trunk/src/doc/src/bindings.rst
    chemistry/cmislib/trunk/src/doc/src/codemisc.rst
Removed:
    chemistry/cmislib/trunk/src/doc/src/sample-data.rst
Modified:
    chemistry/cmislib/trunk/src/cmislib/atompub/__init__.py
    chemistry/cmislib/trunk/src/cmislib/browser/__init__.py
    chemistry/cmislib/trunk/src/cmislib/cmis_services.py
    chemistry/cmislib/trunk/src/cmislib/domain.py
    chemistry/cmislib/trunk/src/cmislib/exceptions.py
    chemistry/cmislib/trunk/src/cmislib/messages.py
    chemistry/cmislib/trunk/src/cmislib/model.py
    chemistry/cmislib/trunk/src/cmislib/util.py
    chemistry/cmislib/trunk/src/doc/src/about.rst
    chemistry/cmislib/trunk/src/doc/src/code.rst
    chemistry/cmislib/trunk/src/doc/src/conf.py
    chemistry/cmislib/trunk/src/doc/src/examples.rst
    chemistry/cmislib/trunk/src/doc/src/index.rst
    chemistry/cmislib/trunk/src/doc/src/install.rst
    chemistry/cmislib/trunk/src/doc/src/tests.rst
    chemistry/cmislib/trunk/src/tests/__init__.py

Modified: chemistry/cmislib/trunk/src/cmislib/atompub/__init__.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/cmislib/atompub/__init__.py?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/cmislib/atompub/__init__.py (original)
+++ chemistry/cmislib/trunk/src/cmislib/atompub/__init__.py Thu Dec 29 22:56:25 2016
@@ -1 +1,21 @@
-__author__ = 'jpotts'
+#
+#      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.
+#
+from cmislib.atompub.binding import AtomPubBinding, RepositoryService
+
+__all__ = ["AtomPubBinding", "RepositoryService"]

Modified: chemistry/cmislib/trunk/src/cmislib/browser/__init__.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/cmislib/browser/__init__.py?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/cmislib/browser/__init__.py (original)
+++ chemistry/cmislib/trunk/src/cmislib/browser/__init__.py Thu Dec 29 22:56:25 2016
@@ -1 +1,21 @@
-__author__ = 'jpotts'
+#
+#      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.
+#
+from cmislib.browser.binding import BrowserBinding, RepositoryService
+
+__all__ = ["BrowserBinding", "RepositoryService"]

Modified: chemistry/cmislib/trunk/src/cmislib/cmis_services.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/cmislib/cmis_services.py?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/cmislib/cmis_services.py (original)
+++ chemistry/cmislib/trunk/src/cmislib/cmis_services.py Thu Dec 29 22:56:25 2016
@@ -19,7 +19,7 @@
 #
 
 """
-Module containing the base Binding class and other service objects.
+This module contains the base Binding class and other service objects.
 """
 from cmislib.exceptions import CmisException, RuntimeException, \
     ObjectNotFoundException, InvalidArgumentException, \

Modified: chemistry/cmislib/trunk/src/cmislib/domain.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/cmislib/domain.py?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/cmislib/domain.py (original)
+++ chemistry/cmislib/trunk/src/cmislib/domain.py Thu Dec 29 22:56:25 2016
@@ -18,7 +18,7 @@
 #      under the License.
 #
 """
-Module containing the domain objects used to work with a CMIS provider.
+This module contains the domain objects used to work with a CMIS provider.
 """
 import logging
 
@@ -161,7 +161,7 @@ class CmisObject(object):
         u'someFolder2'
         >>> props = {'cmis:name': 'someFolderFoo'}
         >>> folder.updateProperties(props)
-        <cmislib.model.Folder object at 0x103ab1210>
+        <cmislib.atompub.binding.AtomPubFolder object at 0x103ab1210>
         >>> folder.getName()
         u'someFolderFoo'
 
@@ -269,7 +269,7 @@ class CmisObject(object):
 
         >>> acl = folder.getACL()
         >>> acl.getEntries()
-        {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x10071a8d0>, 'jdoe': <cmislib.model.ACE object at 0x10071a590>}
+        {u'GROUP_EVERYONE': <cmislib.atompub.binding.AtomPubACE object at 0x10071a8d0>, 'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x10071a590>}
 
         The optional onlyBasicPermissions argument is currently not supported.
         """
@@ -286,7 +286,7 @@ class CmisObject(object):
         >>> acl = folder.getACL()
         >>> acl.addEntry(ACE('jdoe', 'cmis:write', 'true'))
         >>> acl.getEntries()
-        {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x10071a8d0>, 'jdoe': <cmislib.model.ACE object at 0x10071a590>}
+        {u'GROUP_EVERYONE': <cmislib.atompub.binding.AtomPubACE object at 0x10071a8d0>, 'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x10071a590>}
         """
 
         pass
@@ -853,7 +853,7 @@ class Repository(object):
         with a StringIO and then calls createDocument.
 
         >>> repo.createDocumentFromString('testdoc5', parentFolder=testFolder, contentString='Hello, World!', contentType='text/plain')
-        <cmislib.model.Document object at 0x101352ed0>
+        <cmislib.atompub.binding.AtomPubDocument object at 0x101352ed0>
         """
 
         pass
@@ -878,7 +878,7 @@ class Repository(object):
 
         >>> f = open('sample-a.pdf', 'rb')
         >>> doc = folder.createDocument('sample-a.pdf', contentFile=f)
-        <cmislib.model.Document object at 0x105be5e10>
+        <cmislib.atompub.binding.AtomPubDocument object at 0x105be5e10>
         >>> f.close()
         >>> doc.getTitle()
         u'sample-a.pdf'
@@ -1037,7 +1037,7 @@ class ResultSet(object):
         >>> for result in resultSet.getResults():
         ...     result
         ...
-        <cmislib.model.Document object at 0x104851810>
+        <cmislib.atompub.binding.AtomPubDocument object at 0x104851810>
         """
 
         pass
@@ -1064,7 +1064,7 @@ class ResultSet(object):
         >>> for result in results:
         ...     result
         ...
-        <cmislib.model.Document object at 0x10480bc90>
+        <cmislib.atompub.binding.AtomPubDocument object at 0x10480bc90>
         """
 
         pass
@@ -1081,7 +1081,7 @@ class ResultSet(object):
         >>> for result in results:
         ...     result
         ...
-        <cmislib.model.Document object at 0x10480bc90>
+        <cmislib.atompub.binding.AtomPubDocument object at 0x10480bc90>
         """
 
         pass
@@ -1097,7 +1097,7 @@ class ResultSet(object):
         >>> for result in results:
         ...     result
         ...
-        <cmislib.model.Document object at 0x10480bc90>
+        <cmislib.atompub.binding.AtomPubDocument object at 0x10480bc90>
         """
 
         pass
@@ -1115,7 +1115,7 @@ class ResultSet(object):
         >>> for result in results:
         ...     result
         ...
-        <cmislib.model.Document object at 0x10480bc90>
+        <cmislib.atompub.binding.AtomPubDocument object at 0x10480bc90>
         """
 
         pass
@@ -1217,7 +1217,7 @@ class Document(CmisObject):
         >>> doc.isCheckedOut()
         False
         >>> doc.checkout()
-        <cmislib.model.Document object at 0x103a25ad0>
+        <cmislib.atompub.binding.AtomPubDocument object at 0x103a25ad0>
         >>> pwc = doc.getPrivateWorkingCopy()
         >>> pwc.getTitle()
         u'sample-b (Working Copy).pdf'
@@ -1263,7 +1263,7 @@ class Document(CmisObject):
         >>> doc.isCheckedOut()
         True
         >>> pwc.checkin()
-        <cmislib.model.Document object at 0x103a8ae90>
+        <cmislib.atompub.binding.AtomPubDocument object at 0x103a8ae90>
         >>> doc.isCheckedOut()
         False
 
@@ -1461,7 +1461,7 @@ class Folder(CmisObject):
 
         >>> f = open('250px-Cmis_logo.png', 'rb')
         >>> subFolder.createDocument('logo.png', contentFile=f)
-        <cmislib.model.Document object at 0x10410fa10>
+        <cmislib.atompub.binding.AtomPubDocument object at 0x10410fa10>
         >>> f.close()
 
         If you wanted to set one or more properties when creating the doc, pass
@@ -1470,7 +1470,7 @@ class Folder(CmisObject):
         >>> props = {'cmis:someProp':'someVal'}
         >>> f = open('250px-Cmis_logo.png', 'rb')
         >>> subFolder.createDocument('logo.png', props, contentFile=f)
-        <cmislib.model.Document object at 0x10410fa10>
+        <cmislib.atompub.binding.AtomPubDocument object at 0x10410fa10>
         >>> f.close()
 
         To specify a custom object type, pass in a property called
@@ -1926,7 +1926,7 @@ class ACL(object):
         >>> acl.addEntry('jpotts', 'cmis:read', 'true')
         >>> acl.addEntry('jsmith', 'cmis:write', 'true')
         >>> acl.getEntries()
-        {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x100731410>, u'jdoe': <cmislib.model.ACE object at 0x100731150>, 'jpotts': <cmislib.model.ACE object at 0x1005a22d0>, 'jsmith': <cmislib.model.ACE object at 0x1005a2210>}
+        {u'GROUP_EVERYONE': <cmislib.atompub.binding.AtomPubACE object at 0x100731410>, u'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x100731150>, 'jpotts': <cmislib.atompub.binding.AtomPubACE object at 0x1005a22d0>, 'jsmith': <cmislib.atompub.binding.AtomPubACE object at 0x1005a2210>}
         """
 
         pass
@@ -1937,10 +1937,10 @@ class ACL(object):
         Removes the :class:`ACE` entry given a specific principalId.
 
         >>> acl.getEntries()
-        {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x100731410>, u'jdoe': <cmislib.model.ACE object at 0x100731150>, 'jpotts': <cmislib.model.ACE object at 0x1005a22d0>, 'jsmith': <cmislib.model.ACE object at 0x1005a2210>}
+        {u'GROUP_EVERYONE': <cmislib.atompub.binding.AtomPubACE object at 0x100731410>, u'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x100731150>, 'jpotts': <cmislib.atompub.binding.AtomPubACE object at 0x1005a22d0>, 'jsmith': <cmislib.atompub.binding.AtomPubACE object at 0x1005a2210>}
         >>> acl.removeEntry('jsmith')
         >>> acl.getEntries()
-        {u'GROUP_EVERYONE': <cmislib.model.ACE object at 0x100731410>, u'jdoe': <cmislib.model.ACE object at 0x100731150>, 'jpotts': <cmislib.model.ACE object at 0x1005a22d0>}
+        {u'GROUP_EVERYONE': <cmislib.atompub.binding.AtomPubACE object at 0x100731410>, u'jdoe': <cmislib.atompub.binding.AtomPubACE object at 0x100731150>, 'jpotts': <cmislib.atompub.binding.AtomPubACE object at 0x1005a22d0>}
         """
 
         pass
@@ -1955,7 +1955,7 @@ class ACL(object):
         >>> acl.addEntry(ACE('jsmith', 'cmis:write', 'true'))
         >>> acl.addEntry(ACE('jpotts', 'cmis:write', 'true'))
         >>> acl.entries
-        {'jpotts': <cmislib.model.ACE object at 0x1012c7310>, 'jsmith': <cmislib.model.ACE object at 0x100528490>}
+        {'jpotts': <cmislib.atompub.binding.AtomPubACE object at 0x1012c7310>, 'jsmith': <cmislib.atompub.binding.AtomPubACE object at 0x100528490>}
         >>> acl.getXmlDoc()
         <xml.dom.minidom.Document instance at 0x1012cbb90>
         >>> acl.clearEntries()

Modified: chemistry/cmislib/trunk/src/cmislib/exceptions.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/cmislib/exceptions.py?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/cmislib/exceptions.py (original)
+++ chemistry/cmislib/trunk/src/cmislib/exceptions.py Thu Dec 29 22:56:25 2016
@@ -19,7 +19,7 @@
 #
 
 """
-Module containing exceptions.
+This module contains exceptions used throughout the API.
 """
 class CmisException(Exception):
 

Modified: chemistry/cmislib/trunk/src/cmislib/messages.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/cmislib/messages.py?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/cmislib/messages.py (original)
+++ chemistry/cmislib/trunk/src/cmislib/messages.py Thu Dec 29 22:56:25 2016
@@ -19,7 +19,7 @@
 #
 
 """
-Common strings.
+This module contains common strings.
 """
 NO_ACL_SUPPORT = 'This repository does not support ACLs'
 NO_CHANGE_LOG_SUPPORT = 'This repository does not support change logs'

Modified: chemistry/cmislib/trunk/src/cmislib/model.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/cmislib/model.py?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/cmislib/model.py (original)
+++ chemistry/cmislib/trunk/src/cmislib/model.py Thu Dec 29 22:56:25 2016
@@ -18,7 +18,7 @@
 #      under the License.
 #
 """
-Module containing the CmisClient object, which is responsible for
+The model module contains the CmisClient object, which is responsible for
 keeping track of connection information. The name 'model' is no longer
 really appropriate, but it is kept for backwards compatibility.
 """

Modified: chemistry/cmislib/trunk/src/cmislib/util.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/cmislib/util.py?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/cmislib/util.py (original)
+++ chemistry/cmislib/trunk/src/cmislib/util.py Thu Dec 29 22:56:25 2016
@@ -18,7 +18,7 @@
 #      under the License.
 #
 """
-Module containing handy utility functions.
+This module contains handy utility functions.
 """
 import re
 import iso8601

Modified: chemistry/cmislib/trunk/src/doc/src/about.rst
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/doc/src/about.rst?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/doc/src/about.rst (original)
+++ chemistry/cmislib/trunk/src/doc/src/about.rst Thu Dec 29 22:56:25 2016
@@ -22,37 +22,18 @@ The goal of this project is to create a
 
 The library is being developed with the following guidelines:
  * Developers using this API should be able to work with CMIS domain objects without having to worry about the underlying implementation details.
- * The library will use the Resftul AtomPub Binding.
- * The library will conform to the `CMIS spec <http://docs.oasisopen.org/cmis/CMIS/v1.0/cd06/cmis-spec-v1.0.pdf>`_ as closely as possible. Several public CMIS repositories are being used to test the API. 
+ * The library will use the Resftul AtomPub Binding and the Browser Binding (added with CMIS 1.1).
+ * The library will conform to the `CMIS spec <http://docs.oasis-open.org/cmis/CMIS/v1.1/CMIS-v1.1.html>`_ as closely as possible. Several public CMIS repositories are being used to test the API.
  * The library should have no hard-coded URL's. It should be able to get everything it needs regarding how to work with the CMIS service from the CMIS service URL response and subsequent calls.
  * There shouldn't have to be a vendor-specific version of this library. The goal is for it to be interoperable with CMIS-compliant providers.
 
 Quick Example
 -------------
 This should give you an idea of how easy and natural it is to work with the API:
-  >>> cmisClient = cmislib.CmisClient('http://localhost:8080/alfresco/cmisatom', 'admin', 'admin')
+  >>> cmisClient = cmislib.CmisClient('http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom', 'admin', 'admin')
   >>> repo = cmisClient.defaultRepository
   >>> rootFolder = repo.rootFolder
   >>> children = rootFolder.getChildren()
   >>> newFolder = rootFolder.createFolder('testDeleteFolder folder')
   >>> props = newFolder.properties
   >>> newFolder.delete()
-
-To-Do's
--------
-Miscellaneous
- * createDocumentFromSource
- * getProperties filter
- * getContentStream stream id
-
-Unfiling/multifiling support
- * createDocument without a parent folder (unfiled)
-
-  * The spec does not yet support this. Although the spec does say that a folder ID is optional, it does not specify which URL to post the unfiled document to.
-
-Policies
- * Policy object
- * createPolicy
- * applyPolicy
- * removePolicy
- * getAppliedPolicies

Added: chemistry/cmislib/trunk/src/doc/src/bindings.rst
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/doc/src/bindings.rst?rev=1776507&view=auto
==============================================================================
--- chemistry/cmislib/trunk/src/doc/src/bindings.rst (added)
+++ chemistry/cmislib/trunk/src/doc/src/bindings.rst Thu Dec 29 22:56:25 2016
@@ -0,0 +1,59 @@
+..
+   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.
+
+Bindings
+========
+
+The CMIS specification supports multiple bindings. You can think of a binding as
+a communication protocol. The specification provides for three bindings:
+
+ * Atom Pub
+ * Browser (JSON)
+ * Web Services (SOAP)
+
+Although the spec supports three, cmislib supports only two of these bindings:
+Atom Pub and Browser.
+
+When instantiating a :class:`CmisClient`, if you do not specify a binding, cmislib
+will use the Atom Pub binding, by default.
+
+To use a different binding, such as the Browser binding, import it, then pass it
+to the CmisClient constructor, like this:
+
+    >>> from cmislib.browser.binding import BrowserBinding
+    >>> client = CmisClient('http://localhost:8080/alfresco/api/-default-/cmis/versions/1.1/browser', 'admin', 'admin', binding=BrowserBinding())
+
+Make sure you specify the appropriate service URL for the binding you've chosen,
+otherwise cmislib will be unable to parse the response appropriately.
+
+Each of the two bindings modules contain implementations of the classes defined
+in :mod:`cmislib.domain`. So, for example, if you execute a query that returns
+documents and you are using the Atom Pub binding, what you'll get back are instances
+of :class:`cmislib.atompub.AtomPubDocument` which implements :class:`cmislib.domain.Document`.
+
+The :mod:`cmislib.atompub` Module
+---------------------------------
+
+.. automodule:: cmislib.atompub
+   :members:
+
+The :mod:`cmislib.browser` Module
+---------------------------------
+
+.. automodule:: cmislib.browser
+   :members:

Modified: chemistry/cmislib/trunk/src/doc/src/code.rst
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/doc/src/code.rst?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/doc/src/code.rst (original)
+++ chemistry/cmislib/trunk/src/doc/src/code.rst Thu Dec 29 22:56:25 2016
@@ -22,21 +22,21 @@ Code
 The :mod:`cmislib.model` Module
 -------------------------------
 
-The :mod:`cmislib.model` Module contains all the CMIS domain objects. The ones you will work with are listed as top level package elements. When working with the repository, the first thing you need to do is grab an instance of :class:`cmislib.CmisClient`, passing it the repository endpoint URL, username, and password.
+When working with the repository, the first thing you need to do is grab an instance of :class:`cmislib.CmisClient`, passing it the repository endpoint URL, username, and password.
 
-For example, in Alfresco 4 and higher, the repository endpoint is
-'http://localhost:8080/alfresco/cmisatom'. In earlier versions of
-Alfresco, the endpoint is
-'http://localhost:8080/alfresco/s/api/cmis'. In both cases, the
-default username and password are 'admin' and 'admin'.
+For example, in Alfresco 4.2 and higher, the repository endpoint for CMIS 1.1 and the Atom Pub binding is
+'http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom'. Earlier versions have different URLs.
+The default username and password are typically 'admin' and 'admin'.
 
->>> cmisClient = cmislib.CmisClient('http://localhost:8080/alfresco/s/cmis', 'admin', 'admin')
+So, to connect to an Alfresco server running on localhost, you would use:
+
+>>> cmisClient = cmislib.CmisClient('http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom', 'admin', 'admin')
 
 From there you can get the default repository...
 
 >>> repo = cmisClient.defaultRepository
 
-or a specific repository if you know the repository ID.
+An Alfresco server has a single repository. Servers from other vendors may have multiple repositories. In those cases, you can get a specific repository if you know the repository ID.
 
 >>> repo = cmisClient.getRepository('83beb297-a6fa-4ac5-844b-98c871c0eea9')
 
@@ -45,6 +45,14 @@ Once you have that, you're off to the ra
 .. automodule:: cmislib.model
    :members:
 
+The :mod:`cmislib.domain` Module
+--------------------------------
+
+These are the generic domain objects that establish the interface to the cmislib API. Regardless of which actual binding you use (AtomPub or Browser), you will work with these objects.
+
+.. automodule:: cmislib.domain
+   :members:
+
 The :mod:`cmislib.net` Module
 -----------------------------
 
@@ -52,7 +60,7 @@ The :mod:`cmislib.net` Module contains t
 
 .. automodule:: cmislib.net
    :members: RESTService
-   
+
 The :mod:`tests` Module
 -------------------------------
 

Added: chemistry/cmislib/trunk/src/doc/src/codemisc.rst
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/doc/src/codemisc.rst?rev=1776507&view=auto
==============================================================================
--- chemistry/cmislib/trunk/src/doc/src/codemisc.rst (added)
+++ chemistry/cmislib/trunk/src/doc/src/codemisc.rst Thu Dec 29 22:56:25 2016
@@ -0,0 +1,46 @@
+..
+   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.
+
+Miscellaneous Code
+==================
+
+This page documents modules of lesser importance.
+
+The :mod:`cmislib.cmis_services` Module
+---------------------------------------
+
+.. automodule:: cmislib.cmis_services
+   :members:
+
+The :mod:`cmislib.exceptions` Module
+------------------------------------
+
+.. automodule:: cmislib.exceptions
+   :members:
+
+The :mod:`cmislib.messages` Module
+------------------------------------
+
+.. automodule:: cmislib.messages
+  :members:
+
+The :mod:`cmislib.util` Module
+------------------------------
+
+.. automodule:: cmislib.util
+   :members:

Modified: chemistry/cmislib/trunk/src/doc/src/conf.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/doc/src/conf.py?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/doc/src/conf.py (original)
+++ chemistry/cmislib/trunk/src/doc/src/conf.py Thu Dec 29 22:56:25 2016
@@ -59,7 +59,7 @@ master_doc = 'index'
 
 # General information about the project.
 project = u'Apache Chemistry cmislib'
-copyright = u'2013, Apache Software Foundation'
+copyright = u'2016, Apache Software Foundation'
 
 # The version info for the project you're documenting, acts as replacement for
 # |version| and |release|, also used in various other places throughout the
@@ -266,7 +266,7 @@ texinfo_documents = [
 epub_title = u'Apache Chemistry cmislib Documentation'
 epub_author = u'Jeff Potts'
 epub_publisher = u'Jeff Potts'
-epub_copyright = u'2013, Apache Software Foundation'
+epub_copyright = u'2016, Apache Software Foundation'
 
 # The language of the text. It defaults to the language option
 # or en if the language is not set.

Modified: chemistry/cmislib/trunk/src/doc/src/examples.rst
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/doc/src/examples.rst?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/doc/src/examples.rst (original)
+++ chemistry/cmislib/trunk/src/doc/src/examples.rst Thu Dec 29 22:56:25 2016
@@ -23,7 +23,7 @@ Examples
 ========
 There's nothing in cmislib that is specific to any particular vendor. Once you give it your CMIS provider's service URL and some credentials, it figures out where to go from there.
 
-Let's look at some examples using Alfresco's public CMIS repository.
+Let's look at some examples using a local install of Alfresco Community Edition.
 
 -----------------------
 Get a Repository object
@@ -34,33 +34,36 @@ Get a Repository object
 
     >>> from cmislib import CmisClient
 
- #. Point the CmisClient at the repository's service URL 
+ #. Point the CmisClient at the repository's service URL
 
-    >>> client = CmisClient('http://cmis.alfresco.com/cmisatom', 'admin', 'admin')
+    >>> client = CmisClient('http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom', 'admin', 'admin')
 
  #. Get the default repository for the service
 
     >>> repo = client.defaultRepository
     >>> repo.id
-    u'83beb297-a6fa-4ac5-844b-98c871c0eea9'
+    u'-default-'
 
  #. Get the repository's properties. This for-loop spits out everything cmislib knows about the repo.
 
     >>> repo.name
-    u'Main Repository'
+    u''
     >>> info = repo.info
     >>> for k,v in info.items():
         ...     print "%s:%s" % (k,v)
         ...
-        cmisSpecificationTitle:Version 1.0 Committee Draft 04
-        cmisVersionSupported:1.0
+        cmisVersionSupported:1.1
+        principalAnonymous:guest
+        principalAnyone:GROUP_EVERYONE
         repositoryDescription:None
-        productVersion:3.2.0 (r2 2440)
-        rootFolderId:workspace://SpacesStore/aa1ecedf-9551-49c5-831a-0502bb43f348
-        repositoryId:83beb297-a6fa-4ac5-844b-98c871c0eea9
-        repositoryName:Main Repository
+        changesOnType:cmis:folder
+        changesIncomplete:true
+        productVersion:5.2.0 (r133656-b12)
+        rootFolderId:000f9013-af35-430e-912f-67328f106279
+        repositoryId:-default-
+        repositoryName:None
         vendorName:Alfresco
-        productName:Alfresco Repository (Community)
+        productName:Alfresco Community
 
 -------------------
 Folders & Documents
@@ -73,7 +76,7 @@ Once you've got the Repository object yo
     >>> root = repo.rootFolder
     >>> someFolder = root.createFolder('someFolder')
     >>> someFolder.id
-    u'workspace://SpacesStore/91f344ef-84e7-43d8-b379-959c0be7e8fc'
+    u'92133bfd-8b69-4e97-9af2-761a09f29e01'
 
  #. Then, you can create some content:
 
@@ -87,12 +90,12 @@ Once you've got the Repository object yo
     ...     print '%s:%s' % (k,v)
     ...
     cmis:contentStreamMimeType:text/plain
-    cmis:creationDate:2009-12-18T10:59:26.667-06:00
+    cmis:creationDate:2016-12-29 14:53:47.430000-06:00
     cmis:baseTypeId:cmis:document
     cmis:isLatestMajorVersion:false
     cmis:isImmutable:false
     cmis:isMajorVersion:false
-    cmis:objectId:workspace://SpacesStore/2cf36ad5-92b0-4731-94a4-9f3fef25b479
+    cmis:objectId:c4bc9d00-5bf0-404d-8f0a-a6260f6d21ae;1.0
 
 ----------------------------------
 Searching For & Retrieving Objects
@@ -102,11 +105,8 @@ There are several different ways to grab
  * You can run a CMIS query
  * You can ask the repository to give you one for a specific path or object ID
  * You can traverse the repository using a folder's children and/or descendants
- 
+
  #. Let's find the doc we just created with a full-text search.
-  
-    .. note::
-       Note that I'm currently seeing a problem with Alfresco in which the CMIS service returns one less result than what's really there):
 
     >>> results = repo.query("select * from cmis:document where contains('test')")
     >>> for result in results:
@@ -119,19 +119,19 @@ There are several different ways to grab
 
     >>> someDoc = repo.getObjectByPath('/someFolder/Test Document')
     >>> someDoc.id
-    u'workspace://SpacesStore/2cf36ad5-92b0-4731-94a4-9f3fef25b479'
+    'c4bc9d00-5bf0-404d-8f0a-a6260f6d21ae;1.0'
 
  #. Or their object ID, like this:
- 
-    >>> someDoc = repo.getObject('workspace://SpacesStore/2cf36ad5-92b0-4731-94a4-9f3fef25b479')
+
+    >>> someDoc = repo.getObject('c4bc9d00-5bf0-404d-8f0a-a6260f6d21ae;1.0')
     >>> someDoc.name
     u'Test Document'
- 
+
  #. Folder objects have getChildren() and getDescendants() methods that will return a list of :class:`CmisObject` objects:
- 
-	>>> children= someFolder.getChildren()
+
+	>>> children = someFolder.getChildren()
 	>>> for child in children:
 	...     print child.name
-	... 
+	...
 	Test Document
-	Test Document2  
+	Test Document2

Modified: chemistry/cmislib/trunk/src/doc/src/index.rst
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/doc/src/index.rst?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/doc/src/index.rst (original)
+++ chemistry/cmislib/trunk/src/doc/src/index.rst Thu Dec 29 22:56:25 2016
@@ -32,11 +32,12 @@ Contents:
    about.rst
    install.rst
    examples.rst
+   bindings.rst
    code.rst
+   codemisc.rst
    devguide.rst
    tests.rst
    docs.rst
-   sample-data.rst
 
 Indices and tables
 ==================
@@ -44,4 +45,3 @@ Indices and tables
 * :ref:`genindex`
 * :ref:`modindex`
 * :ref:`search`
-

Modified: chemistry/cmislib/trunk/src/doc/src/install.rst
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/doc/src/install.rst?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/doc/src/install.rst (original)
+++ chemistry/cmislib/trunk/src/doc/src/install.rst Thu Dec 29 22:56:25 2016
@@ -22,15 +22,15 @@ Installation
 Requirements
 ------------
 These requirements must be met:
- - Python 2.6.x
- - CMIS provider compliant with CMIS 1.0
+ - Python 2.6.x or Python 2.7.x. Python 3.x is not supported.
+ - CMIS provider compliant with CMIS 1.0 or CMIS 1.1
 
 Steps
 -----
  #. If you don't have `Python <http://www.python.org>`_ installed already, do so.
  #. If you don't have `setuptools <http://pypi.python.org/pypi/setuptools>`_ installed already, do so.
  #. Once setuptools is installed, type `easy_install cmislib`
- #. That's it! 
+ #. That's it!
 
 Once you do that, you should be able to fire up Python on the command-line and import cmislib successfully.
 

Modified: chemistry/cmislib/trunk/src/doc/src/tests.rst
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/doc/src/tests.rst?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/doc/src/tests.rst (original)
+++ chemistry/cmislib/trunk/src/doc/src/tests.rst Thu Dec 29 22:56:25 2016
@@ -31,7 +31,7 @@ This code includes unit tests. To run th
    python cmislibtest.py
 
 .. note::
-   http://cmis.alfresco.com is a freely-available, hosted CMIS service. If you want to use that for testing, the URL is http://cmis.alfresco.com/s/cmis and the username and password are admin/admin. See the wiki for other known CMIS test servers.
+   See the wiki for other known CMIS test servers.
 
 If everything goes well, you should see::
 

Modified: chemistry/cmislib/trunk/src/tests/__init__.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/tests/__init__.py?rev=1776507&r1=1776506&r2=1776507&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/tests/__init__.py (original)
+++ chemistry/cmislib/trunk/src/tests/__init__.py Thu Dec 29 22:56:25 2016
@@ -16,4 +16,4 @@
 #      specific language governing permissions and limitations
 #      under the License.
 #
-from cmislibtests import *
+from tests import *