Author: Jeff Potts

Dogs and Cats: EMC, Microsoft, IBM, & Alfresco release CMIS

EMC, Microsoft, IBM, and Alfresco are announcing today a new specification for interoperability between content management systems (EMC press release, Alfresco press release). The specification is called CMIS which stands for Content Management Interoperability Services (full specification). Other major players involved with the spec include OpenText, Oracle, and SAP.

What the spec outlines is essentially an abstraction layer between content-centric applications and back-end repositories. The abstraction layer is implemented as a set of services (SOAP-based and REST-based). The services are primarily focused on CRUD functions but they also include a SQL-like query language. In his blog post on CMIS, John Newton says that CMIS will become “the SQL of content management”.

This means that, theoretically, a content-centric application can be written that will work with any back-end CMS that implements CMIS. If it sounds like JCR that’s because the two share the same goal, but CMIS is broader because it is language-independent. (Not to be a buzz kill but think about how many applications you’ve seen where the underlying JCR repository could truly be swapped out at no “cost”. It is too early to tell whether that will get any better with CMIS).

In what is really a “dogs and cats living together” moment, think about
this: The new Alfresco Share client (or any Surf-based web application
for that matter) can now be used as the front-end for any
CMIS-compliant repository like Sharepoint or Documentum. (Maybe that’d be a nice “bridge” to have in place while you’re migrating off of those legacy repositories!)

In my post back in June (Slinging some ideas around RESTful content) I mentioned Apache Jackrabbit, Apache Sling, and how there ought to be a standard, REST-based API for working with content repositories. I wondered if Alfresco’s inclusuion of Abdera, Apache’s implementation of the ATOM Publishing Protocol, into the Labs code line signaled Alfresco’s move in that direction. Well, CMIS is that standard. And if you look at Alfresco’s Draft CMIS Implementation, you’ll see that Abdera is, in fact, in the mix.

Back during my Documentum days, a spec was mentioned called iECM that I thought Documentum and maybe AIIM were working on together. But then it seemed like it kind of died. The goals (and some of the details) sound eerily familiar to CMIS. Could the popularity of more modern content management API’s like Alfresco’s web scripts and Apache Sling have spurred the legacy vendors into actually doing something about interoperability for real? (I just saw in John Newton’s blog post that iECM did spawn CMIS but it doesn’t speak to the motivation of the other vendors).

You can try out Alfresco’s CMIS implementation by downloading the latest Labs 3.0 B build.

Here, here! Asay says most analysts are laggards

I really liked Matt Asay’s post on industry analysts. His primary point is that firms like Gartner and Forrester really aren’t that forward-looking. Matt says,

“…They tell an enterprise buyer from whom she should have purchased
software and hardware a few years ago, not where she should invest IT
dollars tomorrow. As an example, despite the massive influx of
open-source vendors in the enterprise, Gartner persists in believing that open source is years away from making a dent in the enterprise, and you’ll rarely find an open-source vendor in a Gartner Magic Quadrant.”

Gartner’s portals and collaboration summit I went to in Vegas last year (Day 1, Day 2, Day 3) really frustrated me because when open source was mentioned, it was spun primarily as a risky investment not worthy of the enterprise. My initial reaction was that firms like Gartner are threatened by open source because most open source projects will never pay the kind of money Gartner demands to have their software “reviewed” and included in the mystical quadrant. Matt’s post goes to a more fundamental issue which is that they just don’t get it.

Alfresco dynamic list constraints example

Jean Barmash has published an example showing how to do dynamic list constraints for Alfresco properties. His example accepts a Lucene query to populate the list but it can easily be extended to query anything you want.UPDATE (12/1/2009):The link to Jean’s example in my original post wasn’t a permalink. I’ve corrected that. To clarify:

  • Jean’s post on dynamically updating dependent dropdowns is here.
  • His original post on data-driven dropdowns is here.

Obviously, these two techniques can be combined.

Progress on the Alfresco book

Several readers have asked how the book I’m writing on Alfresco development is coming along. First of all, thanks for asking. It has been quite a project. The first draft of the entire book is now complete. What’s happening now is that a group of technical reviewers from Alfresco, Optaros, and Packt, the book’s publisher, are going through the chapters and providing comments. So far, I’ve been able to turn those around quickly but I anticipate an increasing volume of feedback as we move into the later, more technical, chapters.

I’m pretty excited about how it is coming together. If you like the tone and scope of the Alfresco Developer Series of tutorials you’re going to like the book. The book is full of hands-on examples so it should be really good for people that are new to the Alfresco platform.

It would be great if we could publish by the time the North American Community Conference happens in Washington D.C. on October 9th, but to be honest, I’m not exactly sure what the schedule looks like from here on out. I’ll give another update as we get closer to publication.

Open Source CMS Alfresco Releases 3.0 Preview

Alfresco has just announced the availability of the Alfresco Labs 3.0 Preview. If you’ve been regularly updating from HEAD there may not be a whole lot of stuff that’s new to you but if you haven’t, it might be a good time to see what the team in Maidenhead has been up to.

The first thing you’ll notice is that Alfresco has changed the name of their freely-available Community edition to “Labs”. Alfresco has always insisted that this edition is a developer build that really isn’t suitable for production use. The name change is an attempt to further drive that point home.

Surf’s Up

Alfresco Surf is essentially Alfresco’s name for the web script framework plus some pre-built components with a framework for defining and assembling pages. The web script framework (and therefore, Surf-based sites) can now be run separately from the Alfresco repository process. This has actually been possible since 2.9 Community but now Alfresco is starting to do something with it (See “Share the Love”). In fact, some of my Optaros teammates have been working hard for Alfresco (as a client) to develop some of the content-centric components that are part of Surf and one of the new clients, Share. So Surf is essentially a web application development framework built on REST, JavaScript, FreeMarker, and YUI that you could use to build your own web apps without ever touching an Alfresco repository if you really wanted to. Assuming you do want to pull content from the repository, Surf let’s you make remote calls from within Web Script controllers back to the Alfresco repository, or via AJAX using YUI components from the browser.

Share the Love

Alfresco is using Surf to build its new web client offerings. One such offering is called Share. If you’ve been following Alfresco’s progress you’ll probably recognize it by its code name, Slingshot. Share is a collaborative workspace that allows you to spawn “sites” that include things like a Document Library, Blog, Discussion Forum, Wiki, Team Calendar, and Activity Feeds. Activity Feeds are sort of like a Facebook News Feed, but instead of tracking who poked whom you are being alerted when someone updates a document, makes a new blog post, etc.. The Share client will be the core for Alfresco’s frontal assault on Microsoft Sharepoint.

Speaking of, Share implements the SharePoint protocol. What does that really mean? It means that if one of the things you liked about Microsoft SharePoint was how you could work with a SharePoint Shared Workspace from within Microsoft Office applications, you no longer have to settle for an all-Microsoft stack on the back-end. You can use an Alfresco server instead. That means your users can have the functionality they like when collaborating on Office apps, while the IT department gets to keep their options open from operating system to database to application server and doesn’t have to worry about scalability concerns inherent in SharePoint. Unlike prior Alfresco add-ons for Microsoft Office integration, this approach requires no additional installations on the client because Office already has the hooks for talking to SharePoint, and Alfresco Share implements the SharePoint protocol.

Jon Newton, Alfresco CTO, said in his blog post on the release, that we should expect another Labs update in September with an Enterprise release to follow some time in October.

Apache CouchDB looks interesting

Here’s something to add to my “dive deeper when I have the time” list: Apache CouchDB. It’s a document database accessible via REST, which by itself isn’t terribly unique. What caught my eye was that it was built from the ground-up to be distributed. You can replicate documents across multiple nodes, maintain partial replicas, and sync for offline use. The roadmap has some significant features that need to be implemented before you most people would use it in production, but still, it’s something to keep an eye on.

Kablink press release goes kerplunk

I don’t know why this rankled me so much. Maybe I should just write it off as somebody’s PR firm getting a little too aggressive. But check out this claim made in an announcement yesterday by open source collaboration software company Kablink (formerly ICEcore):

“The only open source collaboration solution to offer
workflow” (Source)

I know. I had to read it twice.

Maybe Kablink defines “open source” or “collaboration” or “workflow” differently than I do. But solutions like Plone, Drupal, and Alfresco have had workflow of some kind for quite a while. It isn’t like there’s just one other open source collaboration offering out there with workflow, there are several. I’m not sure how Kablink thought they’d get this one past anyone. Maybe they’ll comment here to attempt to justify their claim.

Call it what you want, just not “KM”

My friend and former colleague Tom Pierce has recently started blogging on Enterprise 2.0 over at EnterpriseBlend.com. One of his recent posts talks about whether or not social computing is the end of Knowledge Management (KM), that somewhat nefarious term for extracting, organizing, and sharing the knowledge from the heads of employees that ultimately forms a competitive advantage. He makes the point that KM concepts are still valid, it is just the technology that is changing. I agree that the technology is changing, and I agree there is still a need for KM, but I do think the way we approach KM now is shifting.

To me, Enterprise 2.0 is the new and preferred way to implement KM. The problem with past KM approaches was that it was too structured, too top-down. Heavy-handed, overly-rigid, formal approaches to anything rarely succeed. They usually end in rebellion, or, at best, apathy. Sharing knowledge because you are passionate about it and because you want to do it is a lot more fun, rewarding, and meaningful than doing it because it is a bullet point on your yearly review.

Formal KM initiatives I saw succeed Back in the Day did so because there were a small number of people within an organization who were paid to shepherd the information as their full-time job. This might have been a corporate librarian or an SME tasked to manage and grow a community of practice, for example. What we now know and what we now have the capability to leverage practically is the power of the network fueled by ubiquitous connectivity, massive storage capacity, and ever-increasing processor speeds that can index the whole mess. Knowledge management at that kind of scale can’t and won’t wait for you to figure out what your taxonomy needs to be. And you don’t need to figure it out–The taxonomy will just be.

It’s not all about the technology. Yes, the tools are better. But Enterprise 2.0 does better at KM not just based on the technology alone. It’s because Enterprise 2.0 is the anti-KM. It’s bottom-up. It has little or no structure. It’s about forming loose and accidental connections with others. If there are potential barriers to KM success this time around, I think it is that, for some types of organizations, this organic, bottom-up approach is antithetical to their current corporate culture. If they can’t change that–and it is so difficult to do–I think they’ll lose competitive advantage and become unable to compete effectively over time. For some, they’ll realize this too late, like maybe the day after all of the Baby Boomers decide to retire and move to southern Florida.