Magnolia 4.5 reached end of life on June 30, 2016. This branch is no longer supported, see End-of-life policy.
CMIS (Content Management Interoperability Services) is a specification for improving interoperability between enterprise content management systems. CMIS makes it possible to expose documents stored in a Magnolia repository to other systems. This means you can access and edit documents residing in the DMS using a "consumer" application such as Microsoft SharePoint, Alfresco or Photoshop. The documents are exposed to the consumer as if they were local documents. Magnolia's CMIS implementation is based on Apache Chemistry.
CMIS is a Community Edition module (4.5 and higher). Download the module from the Nexus repository.
To install the module, see the general module installation instructions.
See the general module uninstalling instructions and advice.
The CMIS module depends on several libraries. The easiest way to include them is to add a dependency XML into your Maven project. Maven will retrieve them automatically when you build the project.
<dependency> <groupId>info.magnolia.cmis</groupId> <artifactId>magnolia-module-cmis</artifactId> <version>1.0</version> </dependency>
Make sure you have the
magnolia.forge.releases mirror registered in Maven
settings.xml. You can either add the mirror yourself or execute the Maven artifact. Then update your project
pom.xml and define a dependency to the CMIS module pom.
Alternatively, add the dependent libraries manually in the
Some of the web services libraries are included in the JDK installation. If you are adding libraries manually, replace old libraries with the latest ones. If you see errors that suggest a version conflict, it may be that you have a different version of a required library in the JDK. We strongly recommend using Maven to build your war file; Maven detects and resolves library conflicts or gives an error if the conflict cannot be resolved automatically.
The CMIS module provides an installation task for the extraction of dependencies. With most application servers the task works fine. However, if you use the unextracted WAR deployment that JBoss offers, the task will likely fail to deploy sun-jaxws.xml.
sun-jaxws.xml is a proprietary deployment descriptor needed when Web services are deployed as a standard WAR archive on a non-Java EE5 servlet container using Sun's reference implementation.
Sun's RI uses WSServletContextListener as the listener for servlet context events and WSServlet as the dispatcher servlet; both of which have to be declared in web.xml. The sun-jaxws.xml file is then required to define web service end points for the WSServlet to let it know to which end point a service request must be dispatched. - Stack Overflow: sun-jaxws.xml - When is it needed and when not?
Deploy the sun-jaxws.xml file to your WEB-INF directory. The file is inside the CMIS JAR file in
/info/magnolia/module/cmis/overlay-files/WEB-INF/sun-jaxws.xml. Copy it by hand or define a Maven overlay in the configuration element of your Maven WAR plugin to automate the deployment.
<configuration> <overlays> <overlay> <groupId>info.magnolia.cmis</groupId> <artifactId>magnolia-module-cmis</artifactId> <type>jar</type> <includes> <include>/info/magnolia/module/cmis/overlay-files/WEB-INF/sun-jaxws.xml</include> </includes> <targetPath>WEB-INF/sun-jaxws.xml</targetPath> </overlay> </overlays> </configuration>
Magnolia is a CMIS-compliant repository. This means that Magnolia provides both a SOAP binding and a REST binding for accessing content. Each binding has a binding URL. Enter the URL in your consumer client such as SharePoint in order to see the content of the exposed repository.
SOAP-based Web services are well-known and used in many organizations. The SOAP binding maps directly to the CMIS domain model, services and method.
When accessing content with SOAP Web services the binding URL is:
The REST protocol is commonly used in Web 2.0 applications. You may recognize it from blogs and RSS. CMIS makes the content available in the AtomPub format. When accessing content with RESTful AtomPub, the binding URL is:
CMIS Workbench is CMIS desktop client for developers. It is a repository browser and an interactive testbed for the OpenCMIS client API. You can use it to test and demonstrate CMIS access to Magnolia.
To connect to the
dmsworkspace in Magnolia.
The application displays the contents of the
dms workspace. Folders and documents in the
dms workspace are displayed in the left pane. Double-click to open them.
Using CMIS you can expose the Magnolia
dms repository to SharePoint users, where it will appear as a standard SharePoint folder.
C:\Program Files\Microsoft\SharePoint 2010 Administration Toolkit\Content Management Interoperability Services (CMIS) Connectors\spcmis.wsp. This package contains the Consumer features you need to access Magnolia content.
Run the following command:
Add-SPSolution -LiteralPath 'C:\Program Files\Microsoft\SharePoint 2010 Administration - Toolkit\Content Management Interoperability Services (CMIS) Connectors\spcmis.wsp'
spscmis.wsp, choose the appropriate deployment settings, and click Deploy Solutions.
Magnoliarepository form the list and click Apply.
The Web Part is added on the page. It displays the contents of the
To demonstrate content access:
Why is this module not listed under the 5.4.x documentation anymore? Has the CMIS module been replaced by another, or does it not work with the 5.4.x versions yet/anymore?
Last time I checked the CMIS module was not yet migrated to Magnolia 5. But according to 5.x Modules Migration it should work but has not been tested. I raised an issue to update the documentation. DOCU-622