Searching
To be able to search for content is one of the main requirements you would have on an interface like CMIS. It actually provides great functionality for Full-Text Search (FTS) and metadata search. When the CMIS specification was developed, a lot of thought was given to which query language should be used for searching that would not require everyone to start over and learn a new syntax. So they decided to use the ANSI SQL-92 standard as the base for the CMIS Query Language (QL), and the CMIS QL is implemented as a subset of ANSI-SQL with some extensions. What this means is that you can search using a normal SQL query like the following:
SELECT * FROM cmis:document WHERE cmis:name LIKE '%alfresco%';
This is pretty cool. We know what this means; search for all documents (that is, all content with base type set to cmis:document
) in the repository that have the value of the meta-data property cmis:name
containing the string alfresco
. We can actually think of all the types in the repository...