4.4.1.2. Content drives as CMIS Repositories

The Content drive is used to expose as an isolated repository via the CMIS service. Operations on the repository will reflect the drive immediately.

Tip

When working with CMIS repositories, it is important to understand that a repository reflects a Content Drive, which is a sub-tree in JCR workspace. Two or more drives can be mapped to the same workspace or a sub-tree. As a result, changes in one repository can affect others. Refer to the Content drives mappings to know actual location of a content you will access or change.

Use Case: Browse Drives via getRepository

curl -o repos.xml -u root:gtn http://localhost:8080/rest/private/cmisatom/

The output file repos.xml contains a list of CMIS repositories (Content drives):


<service>
    <workspace>
        <atom:title type="text">.organization.employees</atom:title>
        <cmisra:repositoryInfo>
            <cmis:repositoryId>.organization.employees</cmis:repositoryId>
            <cmis:repositoryName>.organization.employees</cmis:repositoryName>
            <cmis:rootFolderId>f48349e17f0000010138880df837a1cc</cmis:rootFolderId>
        </cmisra:repositoryInfo>
        ...
    </workspace>
    <workspace><!-- .organization.management.executive-board --></workspace>
    <workspace><!-- .platform.administrators --></workspace>
    <workspace><!-- .platform.users --></workspace>
    <workspace><!-- .platform.web-contributors --></workspace>
    <workspace><!-- Collaboration --></workspace>
    <workspace><!-- Managed Sites --></workspace>
    <workspace><!-- Personal Documents --></workspace>
    <workspace><!-- Trash --></workspace>
</service>

<service>
    <workspace>
        <atom:title type="text">Collaboration</atom:title>
        <cmisra:repositoryInfo>
            <cmis:repositoryId>Collaboration</cmis:repositoryId>
            <cmis:repositoryName>Collaboration</cmis:repositoryName>
            <cmis:repositoryDescription>xCMIS (eXo SP)</cmis:repositoryDescription>
            <cmis:vendorName>eXo</cmis:vendorName>
            <cmis:productName>xCMIS (eXo SP)</cmis:productName>
            <cmis:productVersion>1.1</cmis:productVersion>
            <cmis:rootFolderId>00exo0jcr0root0uuid0000000000000</cmis:rootFolderId>
            <cmis:latestChangeLogToken/>
            <cmis:cmisVersionSupported>1.0</cmis:cmisVersionSupported>
            <cmis:thinClientURI/>
            <cmis:changesIncomplete>true</cmis:changesIncomplete>
            <cmis:principalAnonymous>__anonim</cmis:principalAnonymous>
            <cmis:principalAnyone>any</cmis:principalAnyone>
            <cmis:capabilities></cmis:capabilities>
            <cmis:aclCapability></cmis:aclCapability>
        </cmisra:repositoryInfo>
        <collection href="http://localhost:8080/rest/private/cmisatom/Collaboration/types"></collection>
        <collection href="http://localhost:8080/rest/private/cmisatom/Collaboration/unfiled"></collection>
        <collection href="http://localhost:8080/rest/private/cmisatom/Collaboration/checkedout"></collection>
        <collection href="http://localhost:8080/rest/private/cmisatom/Collaboration/query"></collection>
        <collection href="http://localhost:8080/rest/private/cmisatom/Collaboration/children/00exo0jcr0root0uuid0000000000000"></collection>
        <cmisra:uritemplate><!-- objectbyid --></cmisra:uritemplate>
        <cmisra:uritemplate><!-- objectbypath --></cmisra:uritemplate>
        <cmisra:uritemplate><!-- query --></cmisra:uritemplate>
        <cmisra:uritemplate><!-- typebyid --></cmisra:uritemplate>
        <cmisra:uritemplate><!-- changes --></cmisra:uritemplate>
        <atom:link title="Type descendants" rel="http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants" type="application/cmistree+xml" href="http://localhost:8080/rest/private/cmisatom/Collaboration/typedescendants"/>
        <atom:link title="Root folder descendants" rel="http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants" type="application/cmistree+xml" href="http://localhost:8080/rest/private/cmisatom/Collaboration/descendants/00exo0jcr0root0uuid0000000000000"/>
        <atom:link title="Root folder tree" rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" type="application/cmistree+xml" href="http://localhost:8080/rest/private/cmisatom/Collaboration/foldertree/00exo0jcr0root0uuid0000000000000"/>
    </workspace>
</service>

Here is the collection of services and predefined templates which can be used from the client side to request resources related to this repository. For example, to get the Content node of the drive by path, the objectbypath template can be used:

http://localhost:8080/rest/private/cmisatom/{repositoryId}/objectbypath?path={path}&amp;filter={filter}&amp;includeAllowableActions={includeAllowableActions}&amp;includePolicyIds={includePolicyIds}&amp;includeRelationships={includeRelationships}&amp;includeACL={includeACL}&amp;renditionFilter={renditionFilter}

Note

Find the full description of all specified services in the CMIS specification.

Copyright ©. All rights reserved. eXo Platform SAS
blog comments powered byDisqus