Jeff Potts

Author
+ Follow
since Sep 24, 2012
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Jeff Potts

Kevin,

Yes, CMIS is an industry standard that let's you work with repositories like Alfresco, SharePoint, FileNet, and many others.

Regarding REST, the CMIS specification requires that CMIS-compliant servers support both a RESTful AtomPub binding and a SOAP-based Web Services binding. If you are writing an application that consumes CMIS you can choose the binding that is appropriate for your particular needs. In CMIS 1.1, a third binding is added--it's JSON-based and is called the browser binding.

You can use the bindings directly if you want. But most people get tired of parsing the responses themselves. That's one of the nice things about using a client library. For Java developers, the most popular client library for CMIS is OpenCMIS, which is part of Apache Chemistry. But there are client libraries available for many other languages. In addition to Java, Apache Chemistry includes client libraries for Python, PHP, and C#. Client libraries for other languages can be found around the net.

Jeff
Alec,

That's really common. I added a little sidebar in Chapter 1 that cites AIIM, which is an association that tracks such things, saying that 72% of larger organizations have three or more content repositories. Until CMIS, people have had to do exactly what you did--write one-off adapters for each one. CMIS helps solve that problem by providing a single API that will work across all of those repositories. Now, when someone says, "We want to integrate with the XYZ repository," developers can say, "No problem, I know CMIS," and then use Java or any other language that can make HTTP/S calls to do it.

Jeff
The book is intended for people who are completely new to the Content Management Interoperability Services (CMIS) standard. The standard defines a vendor-neutral, language independent way to work with rich content repositories. Those rich content repositories could be Content Management Systems, Document Management Systems, Records Management Systems, Digital Asset Management Systems, Web Content Management Systems, etc.

If you've never worked with systems like that, it's not a problem. We explain everything as we go along.

If you are a Java developer and you are writing applications (desktop, web, mobile--it doesn't really matter) that deal with a lot of files, and you need to manage those files in an open, standards-based way, you'll learn a lot from the book.

Jeff
You are close, but you are thinking about it as a "federated" model, which the specification really does not provide for. The CMIS specification allows you to use one common API and query language, though. So if you have those three systems you can use the exact same code to query each one in turn and then aggregate those results using your own logic. But CMIS does not federate multiple CMIS servers into a common logical server--you cannot issue one query and have CMIS execute it against all of the CMIS-compliant servers in your organization.

Jeff
Joomla and Drupal are both Content Management Systems (CMSs). I can't speak for Joomla, but I do know that Drupal is a consumer of CMIS. That means it can easily create, query for, update, and delete content that resides in a CMIS-compliant server. Using CMIS is a very common approach for integrating Drupal and CMIS servers like Alfresco.

These systems could also be CMIS-compliant servers, but someone would have to do that work. They are not CMIS providers out-of-the-box.

Jeff
Thanks, everyone! Glad to be hear to answer questions about Content Management Interoperability Services (CMIS)!

Jeff