Content Management Interoperability Services (CMIS) connector overview (SharePoint Server 2010)
Updated: December 2, 2010
This article describes the Content Management Interoperability Services (CMIS) connector for Microsoft SharePoint Server 2010, which enables SharePoint users to interact with content that is stored in any repository that has implemented the CMIS standard. The connector also makes SharePoint Server 2010 content available to any application that has implemented the CMIS standard. The CMIS connector is available as part of the SharePoint 2010 Administration Toolkit. For more information, see SharePoint 2010 Administration Toolkit (SharePoint Server 2010) [ http://technet.microsoft.com/en-us/library/cc508851.aspx ] .
The CMIS connector for SharePoint Server 2010 includes two features:
- The Content Management Interoperability Services (CMIS) Consumer Web Part
- The Content Management Interoperability Services (CMIS) Producer
In this article:
- About the CMIS standard and specification
- About the CMIS Producer and CMIS Consumer Web Part
- Installing and configuring the CMIS connector
- Bindings and permissions
- Mapping the CMIS data model to SharePoint concepts
About the CMIS standard and specification
CMIS is a Web services standard that allows content-enabled applications to interact seamlessly with any application that has implemented it. By providing access to multiple repositories with the CMIS Producer and consuming and rendering the data the CMIS Consumer Web Part, SharePoint Server 2010 becomes a CMIS-compliant system that interoperates with any platform that has implemented the CMIS standard.
The CMIS interface can be layered on top of an existing Content Management System (CMS) and its programming interfaces. It defines a universal, generic set of capabilities provided by a CMS and a set of services designed to work with those capabilities. The standard is not intended to prescribe how specific features should be implemented within those CMS, and is not intended to exhaustively expose all of the system's capabilities through the CMIS interfaces. For more information, see the Content Management Interoperability Services (CMIS) Version 1.0 specification [ http://go.microsoft.com/fwlink/?LinkId=199562 ] (http://go.microsoft.com/fwlink/?LinkId=199562).
About the CMIS Producer and CMIS Consumer Web Part
The CMIS connector in the Toolkit is made up of two components:
- The Content Management Interoperability Services (CMIS) Consumer Web Part, which can be added to any SharePoint page. This Web Part displays and lets users interact with the contents of any CMIS-compliant repository.
- The Content Management Interoperability Services (CMIS) Producer, which allows applications to interact with SharePoint lists and document libraries programmatically by using the interfaces that are defined in the CMIS standard.
When these components are installed on SharePoint Server 2010, the server supports CMIS with connectors that connect to CMIS Web services and display list views of data from selected CMIS-compliant data sources, or repositories, to authenticated users.
The CMIS specification describes data model, services, Restful AtomPub binding, extensions, collections, feeds, resources, and Web services binding details. A data source is CMIS-compliant if it adheres to the CMIS specification. The CMIS components in the Toolkit comply with the CMIS specification.
Note: |
Configuring the CMIS Producer and CMIS Consumer Web Part requires an understanding of expected address formats, authentication options, and terminology defined in the CMIS spec. For additional information about details not covered in this article, see the CMIS specification. |
Installing and configuring the CMIS connector
The CMIS producer obtains the same results from SOAP and REST Web services. The CMIS Web service exposes SharePoint lists as CMIS repositories. When a request is processed, the CMIS Producer loads a CMIS repository object that holds the basic list information. The Producer returns data in the form of a CMIS response structure, and if needed, it also returns data in the body of the response.
The CMIS Consumer Web Part connects to the CMIS producer and gets repository information based on address and authentication information entered in its Connection Options section.
Installing the CMIS connector
The CMIS connector is installed with the SharePoint 2010 Administration Toolkit. To learn how to install the toolkit, see Installing the SharePoint 2010 Administration Toolkit (SharePoint Server 2010) [ http://technet.microsoft.com/en-us/library/cc508849.aspx ] . When you install the Toolkit, the CMIS Producer and CMIS Consumer Web Part are installed automatically.
Configuring the CMIS connector
After the installation is complete, activate and configure the CMIS Producer and the CMIS Consumer Web Part, as follows.
To activate and deploy the CMIS connector features
- Verify that you meet the following minimum requirements: See Add-SPShellAdmin [ http://technet.microsoft.com/en-us/library/ff607596.aspx ] .
- On the Start menu, click All Programs.
- Click Microsoft SharePoint 2010 Products.
- Click SharePoint 2010 Management Shell.
- At the Windows PowerShell command prompt, type the following command to add the solution to the farm solution gallery:
Add-SPSolution –LiteralPath 'C:\Program Files\Microsoft\SharePoint 2010 Administration Tookit\Content Management Interoperability Services (CMIS) Connectors\spcmis.wsp'
- To deploy the solution, from the SharePoint Server 2010 Central Administration Web site, click System Settings and then click Manage Farm Solutions.
- Click spscmis.wsp, choose the appropriate deployment settings, and then click Deploy Solutions.
Note: |
When deployment is complete, Solution Properties should show that the solution was successfully deployed to all target sites. |
Important: |
When selecting solution details, remember which site you designate as the producer. In order to avoid an error later that states that the solution cannot be activated, open IIS Manager and verify that the Web application that will host the producer has only one header entry in the Bindings section. |
- On the Site Actions menu of the site that contains the content to be consumed, click Site Settings, choose Manage site features, and click Activate to activate the CMIS Producer feature.
- On the Site Actions menu of the site where the CMIS Consumer Web Part will be added, click Site Settings, choose Manage site features, and click Activate to activate the CMIS Consumer Web Part feature.
To add the CMIS Consumer Web Part to a page in the consumer site collection
- Change the page to Edit Mode, click Insert on the ribbon, and select the CMIS Consumer Web Part.
- Edit the Appearance, Layout, and Advanced properties.
- Edit the Connection Options.
- Type the appropriate WSDL address in the Specify WSDL Address field, as shown in the following table. The CMIS connector supports the SOAP WSDL by default. You can connect a third-party connector to the REST Atom Service binding if you know the address of the producer site, the GUID for the list or library, and the CMIS command that you want to use to interact with the REST ATOM service.
Protocol | URL format | Description |
SOAP WSDL | http://webURL/_vti_bin/CMISSoapwsdl.aspx | webURL represents the URL that locates the SPList on the producer site. |
REST Atom Service | http://web/_vti_bin/cmis/rest/[repositoryid]?command | web represents the producer site. [repository id] is the list or library GUID, and command is a command that exists in the CMIS specification (for example, getRepositoryInfo). |
- Select the WS-Security Required check box, and click Basic or Digest, depending on the type of CMIS authentication that the CMIS repository is set up to use. For more information, see the "Bindings and permissions" section later in the article.
- Click Get Repository list to query the CMIS producer and return a list of available CMIS-compliant repositories.
- Select the repository from the Select Repository list that contains the data to display in the CMIS Consumer Web Part.
- Click OK to apply settings and save changes.
Bindings and permissions
The CMIS standard defines a domain model, Web services, and Restful AtomPub bindings that can be used by applications to work with one or more content management repositories. The SOAP and AtomPub bindings defined in the CMIS specification are functionally equivalent and consistent—each protocol only defines the syntax for how methods are invoked and how responses are formatted. All of the same CMIS functionality is exposed regardless of which protocol is used.
Note: |
The CMIS Producer uses an ASPX page to generate WSDL, not the standard built-in SharePoint 2010 WSDL redirection logic. Many producer endpoints are defined in the Web.config file, which are used to determine the correct endpoint based on the authorization settings of the Web application. |
The CMIS standard has two concepts of permissions, as follows:
- Basic permissions include read, write, and all. A user with Read permissions can only view data from a repository. A user with Write permissions can contribute to a repository, and a user with All permissions has full control.
- Digest permissions are those that are defined by and expressed by a repository. These permissions do not have an explicitly defined meaning in the CMIS specification. They can be looked up at runtime using CMIS interfaces.
The CMIS specification maps allowable actions to the access control level (ACL) permissions defined for a repository. A client application can discover how the permissions that are exposed by the repository affect what actions a user can perform by way of CMIS. Other factors can affect whether a user can perform an action. For example, to check out an object from the repository, a user may need both the appropriate permission and the item must not already be checked out.
Mapping the CMIS data model to SharePoint concepts
The CMIS standard specification uses specific terminology that has equivalents inSharePoint Server 2010. The following table defines key CMIS concepts and maps them to their SharePoint equivalents.
Concept in CMIS specification | Definition | SharePoint equivalent |
Repository | The repository is the conceptual root of the CMIS server instance, and also the root server of CMIS content. All of the other concepts in CMIS are scoped locally within a repository instance. | The SPList (T:Microsoft.SharePoint.SPList [ http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.aspx ] ) and SPDocumentLibrary (T:Microsoft.SharePoint.SPDocumentLibrary [ http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.SPDocumentLibrary.aspx ] ) objects |
Object type | Definition of the object types allowed or in use in the repository. | The SPContentType (T:Microsoft.SharePoint.SPContentType [ http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.SPContentType.aspx ] ) object |
Document object | The object in a CMIS repository whose object type is a descendant of the Folder base object type. The Folder object can contain Folders. | The SPFolder (T:Microsoft.SharePoint.SPFolder [ http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.SPFolder.aspx ] ) object |
Version series | The collection of objects in the version history of a document object. | The SPListItem (T:Microsoft.SharePoint.SPListItem [ http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.%20SPListItem.aspx ] ) and SPListItemVersion (T:Microsoft.SharePoint.SPListItemVersion [ http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.SPListItemVersion.aspx ] ) objects Note: SPListItem covers both documents in a document library or list items in a list. |
Query | A query supplied by the CMIS consumer by way of the CMIS SQL query grammar that is used to get a collection of results for objects in the repository that match the criteria specified in the query. | The SPQuery (T:Microsoft.SharePoint.SPQuery [ http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.SPQuery.aspx ] ) object |
Change log | A collection of change event entries that record changes made to content in a repository, arranged in ascending order based on when the event occurred. | The SPChangeCollection (T:Microsoft.SharePoint.SPChangeCollection [ http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.SPChangeCollection.aspx ] ) object |
Allowable actions | An enumeration of Booleans representing the set of actions that the current user can perform against a particular object at a point in time. Whether an action is allowed is determined by combining the current user’s permissions and the current state of the object. | Not supported |
Access Control Entry (ACE)/Access Control Log (ACL) | An Access Control Entry lists a set of permissions that a principal, such as a user or group, has an on an object. | Not supported |
Content stream | See Section 3.1.7 of the CMIS specification. | The SPFile (T:Microsoft.SharePoint.SPFile [ http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.SPFile.aspx ] ) object that is associated with an SPListItem (T:Microsoft.SharePoint.SPListItem [ http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.SPListItem.aspx ] ) object |
Path | The URL property (Web-relative URL) of the SPFolder object. | The SPFolder object (T:Microsoft.SharePoint.SPFolder [ http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.SPLFolder.aspx ] ) |
Relationship | Not applicable. | Not supported |
Rendition | Not applicable. | Not supported |
See Also
Other Resources
HTTP Extensions for Distributed Authoring (WebDAV) [ http://www.ietf.org/rfc/rfc2518.txt ]
Business Data Connectivity Service Authentication [ http://msdn.microsoft.com/en-us/library/ms566523.aspx ]
Business Data Connectivity Service Authorization [ http://msdn.microsoft.com/en-us/library/ms497953.aspx ]
Business Data Connectivity Service Authentication [ http://msdn.microsoft.com/en-us/library/ms566523.aspx ]
Business Data Connectivity Service Authorization [ http://msdn.microsoft.com/en-us/library/ms497953.aspx ]
Change History
Date | Description | Reason |
December 2, 2010 | Updated SOAP WSDL URL and REST ATOM URL formats, and provided guidance for third parties about how to connect to the REST ATOM binding. | Content update |
August 12, 2010 | Initial publication |
No comments:
Post a Comment