You are here

The SkyVault OpenCMIS Extension

The SkyVault OpenCMIS Extension extends OpenCMIS to provide support for SkyVault aspects.

In SkyVault, aspects are a fundamental concept related to content modeling. Aspects allow the addition of behaviours 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 SkyVault aspect fragments are documented on the SkyVault 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 "SkyVault OpenCMIS Extension" steps in. It seamlessly merges the SkyVault 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 SkyVault aspect fragments for you, behind the scenes, eliminating complexity in your code.