cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco CMIS compatibility

lasithc
Champ in-the-making
Champ in-the-making
Hi,

I tried few scenarios with Alfresco OpenCMIS extension. What can I see is, this extension has no support to most of the OpenCMIS properties and we need to use their own instead. E.g with extension we can't use cmis:description (OpenCMIS property) instead of we have to use cm:description. So this extension is not backward compatible with CMIS (Open CMIS).

Think about a scenario where I want to use this extension with CMIS compatible repository. Then since we can't use cmis:description with extension, we can't set a description of a document on that CMIS compatible repository. Although we can't use cm:description(alfresco) since our CMIS compatible repository is not compatible with this.

What my point here is it is fine to add your own properties but meanwhile it is better to stay compatible with CMIS properties.

Regards
2 REPLIES 2

jpotts
World-Class Innovator
World-Class Innovator
I think it is a good ideal to try to stay with the content model defined by CMIS, but it is not practical for most content-centric applications. Most custom apps need their own custom content model. That includes Alfresco's own web clients. The property you mention, cm:description, is not defined by the spec, it is defined by Alfresco's content model. When you create your own content model you are likely to have your own types and properties as well.

If you need your application to work across different repositories, you'll likely have to have a content model mapping. That's because not only does that other repository have an entirely different content model, they may also have different rules for naming properties. For example, not all CMIS repositories use namespaces in their content models. So another repository might call their description field "dm:desc" or just "desc".

The point is that when Alfresco adds its own content model (or when you add your own content model) you are not breaking compliance with CMIS. CMIS gives you the flexibility to have properties named in the way that makes sense for your repository.

By the way, if you need to work with cm:description (or any other property defined in an aspect), because it is defined in an aspect, you'll need to use the <a href="http://code.google.com/a/apache-extras.org/p/alfresco-opencmis-extension/">Alfresco OpenCMIS Extension</a>. In CMIS 1.1, aspects are called secondary types and are supported natively, so when Alfresco supports secondary types, you won't need to use that extension.

Jeff

ritesh
Champ in-the-making
Champ in-the-making
Hi jpotts, so if I´m using a custom content model and CMIS but not developing in Java, how can I set set/access custom properties? (I´m suppossing the Alfresco OpenCMIS Extension libraries are only for Java)