You are here

The Alfresco OpenCMIS Extension for CMIS 1.0

For existing CMIS 1.0 applications, the Alfresco Content Services OpenCMIS Extension extended OpenCMIS to provide support for aspects.
Note: If you are using the current CMIS 1.1 API, aspects are exposed as secondary types. You do not need to use this extension.

In Alfresco Content Services, aspects are a fundamental concept related to content modeling. Aspects allow the addition of behaviors to existing content types. The CMIS specification does not include aspects in its scope, but it does provide extension points that allow additional functionality.

CMIS extensions are XML fragments inserted in different parts of a CMIS object. The aspect fragments are documented on the Alfresco Wiki. So, they are available to all CMIS clients out there including OpenCMIS.

However, programming with CMIS extensions can be complex, and can require quite a lot of code. OpenCMIS does all the XML parsing for you but since it knows nothing about aspects, it can not provide simple, elegant interfaces.

That is where the "Alfresco Content Services OpenCMIS Extension" steps in. It seamlessly merges the aspect properties with the CMIS object properties and provides interfaces to get, add, and remove aspects. It does this by replacing the OpenCMIS internal object factory with an object factory that is aspect-aware. It processes and adds aspect fragments for you, behind the scenes, eliminating complexity in your code.

Sending feedback to the Alfresco documentation team

You don't appear to have JavaScript enabled in your browser. With JavaScript enabled, you can provide feedback to us using our simple form. Here are some instructions on how to enable JavaScript in your web browser.