Nuxeo Updates Its Apache Chemistry CMIS Implementation

Apache Chemistry (we introduced you to some time ago) is progressing under the watchful eye of Enterprise CMS vendor Nuxeo (news, site) and other contributors. The latest news -- updated Nuxeo Chemistry bindings to allow for better support for CMIS.

What’s New in Apache Chemistry

Furthering CMIS support, Nuxeo’s team (as told by their own director of R&D Florent Guillaume) has accomplished the following:

  • Improved search with fulltext search with CONTAINS() to do queries like SELECT cmis:name FROM cmis:document WHERE CONTAINS('foobar').
  • Plus, the ability to be able to use the IN_TREE() and IN_FOLDER() predicates.
  • Per the specification, the SQL keywords are now case-insensitive. Complex Boolean functions are working as well.
  • CRUD-wise, a number of the CMIS domain model features have been completed, including object move, folder tree, folder descendants, delete and delete descendants.
  • To test a CMIS repository, there’s now the ability to use a command line client.
  • Other additional fixes have been done, including serving the types according to the latest 1.0CD06 draft, a number of fixes to make more CMIS clients happy have been included.

As of now, only the AtomPub bindings of CMIS are supported and are still work in progress. The modules allow reading, creation and queries, but not yet updates through CMIS.

Who Else is Playing

In the true spirit of open source, Nuxeo has others pitching in on their Apache Chemistry based CMIS implementation. Some are reporting bugs in the Apache JIRA bug tracker, others offer help and patches, says Guillaume, who is the main committer on the project. Those involved include people from EntropySoft, Libero, Alfresco, Day, SourceSense, Saperion, EMC, CityTech, Open Text and others.

Learning Opportunities

Alfresco, for example, is contributing to the TCK, which helps server implementors find out easily if their products have bugs.

Getting More Info on Nuxeo CMIS Efforts

Keep on CMISing

While not all the changes Nuxeo is making are compliant with the latest CMIS draft 1.0cd06, but that is, certainly, the goal, according to the vendor. Nuxeo plans to keep on coding features (such as contributing SOAP bindings and implementing versioning, renditions, ACLs, etc. in the Nuxeo bindings) and fixing reported bugs.

What’s interesting is that two implementors of new CMIS client libraries in non-Java languages have expressed interest in contributing their code to the Apache Chemistry project. They are Jeff Potts at Optaros (Python) and Shane Johnson at CityTech Inc. (Flex). Pending legal red tape this collaboration should be happening in the near future and will help grow the Chemistry community.

Look out for more news in the Apache Chemistry field.