Currently (CMIS 1.0cd04), you can query for properties defined in an aspect, which is good. But full support for aspects is going to be critical for Alfresco-based CMIS implementations. Without it, CMIS clients cannot discover properties defined in aspects by interrogating getType, which I would think would be a big problem. Additionally, relationships defined as part of an aspect are completely invisible to CMIS which means CRUD functions on such relationships are completely unavailable.
What is the proper forum for getting feedback to OASIS that some form of aspects need to be supported, at least as an optional capability? I mean, if something so crucial to a repository such as the ability to support queries can be treated as an optional capability, which seems unbelievable to me, surely aspects can merit the same designation?
I hope this is something that can get in before final approval. I don't want to see Alfresco add a proprietary extension to CMIS to support aspects. With aspects being used so prevalently, it will seriously hamper interoperability and our ability to create truly agnostic CMIS clients if the spec is not changed.
private final static String COMMON_ASSET_FROM_CLAUSE = "FROM cmis:document AS d " + "JOIN ws:webasset AS wa ON d.cmisbjectId = wa.cmisbjectId " + "JOIN cm:author AS a ON d.cmisbjectId = a.cmisbjectId " + "JOIN cm:titled AS t ON d.cmisbjectId = t.cmisbjectId ";
Unfortunately, the query returns zero rows if the aspect isn't present, so if you add your own aspect and aspect props to this query, it works, but only if all documents you are interested in have the aspect applied.