Category: Content Management

Enterprise Content Management (ECM), Web Content Management (WCM), Document Management (DM). Whatever you call it this category covers market happenings and lessons learned.

Alfresco ECM is 96% cheaper than legacy ECM vendors?

If you are evaluating ECM solutions, particularly if you are interested in cost, you need to take a look at Alfresco’s TCO Whitepaper. In it, Alfresco uses licensing numbers they snagged from the United States government to compare the first year costs of their solution with EMC/Documentum, OpenText, and Sharepoint.

When the whitepaper came to my attention, I expected it to be Marketing hype, full of soft numbers and exaggerated claims. While readers must take the paper with a grain of salt considering the obvious bias of the source, Alfresco does a good job of avoiding Marketing speak for the most part and simply laying out the facts. The whitepaper shows line item detail for licensing and support for the first year. If you want to include supporting infrastructure (OS, application server, database) in your analysis those are provided for you as well.

The paper shows that for document management plus collaboration and integration with SharePoint, you’d have to pay EMC/Documentum $863,937.98 for a 1000 user configuration as opposed to $318,738 for SharePoint and $33,500 for Alfresco for similarly-sized systems with equivalent functionality. Those numbers exclude the supporting infrastructure software.

So what’s the fine print? Here are some considerations…

The numbers Alfresco used are from a government price list. It isn’t clear to me whether those numbers are “list” or are a negotiated, reduced rate, but from my past experience with Documentum, I’d say they are closer to list. I don’t think it is likely that anyone would actually pay $800k for a 1000-user Documentum system. Even if you were to negotiate 50% off of those numbers, though, the difference is still significant.

A portion of the “first year’s cost” is maintenance and that recurs every year. For Alfresco you are only paying for maintenance, so the entire $33.5k will be due every year. Using the numbers from the whitepaper your Documentum maintenance bill would be about $115k every year. I think in all cases, the maintenance is probably understated for what typical clients will pay because most will want “top shelf” SLA’s. The numbers used here are for lower levels of service.

The legacy vendors have 1000’s of product configuration options. The line items Alfresco chose to include for the Documentum configuration look roughly right, but with so many options you can’t say with certainty that what’s listed is what everyone who needs a 1000-user document management system built with Documentum will use. So tweak the table using the quote your vendor gave you and come to your own conclusions.

Alfresco showed a 2-CPU configuration for their 1000-user config priced at $33,500 which included a test server. Then they showed a “high availability” config with a $9,250 up-charge. But they didn’t double the procs. If you’re going to be HA, you’ll need at least two of everything. While they did double the test server procs, they didn’t double the production server procs so the HA version of the 1000-user config should be more like $76,250, in my opinion. Incidentally, it isn’t clear to me what you get for that extra $9,250. I have an open question with the Alfresco folks to clarify both issues.

What about services? Honestly, it’s usually a wash. There are things you can get done faster because you can see the source code but there are other things you may end up spending more time on. When it comes to services, the primary value of open source is in the ability to spend less on the software and still end up getting something closer to what you actually need through customizations (See “Why Open Source?”).

Obviously, big decisions like this should never be made on cost alone. Documentum, FileNet, SharePoint, and Alfresco aren’t perfectly interchangeable. You still have to figure out which one is a better fit for you along all sorts of dimensions. But the stark analysis Alfresco is providing is likely to get a lot of attention from buyers who are particularly price-sensitive in today’s market.

Alfresco Surf overview: Recorded webinar available online

I’m looking forward to the Surf Code Camp we’re conducting on Tuesday in Munich. If you’re attending and you want a little taste of the framework, Alfresco has a one hour recorded webinar available. If you don’t get a chance to watch it prior to the Code Camp, that’s okay. We’re covering everything that’s discussed in that webinar and more. Some people have said that they would rather not come in cold, so this is for those folks.

I know not everyone’s been able to get to a Code Camp. We’re going to work with Alfresco to get the presentations, labs, code samples, and maybe even the VMWare image posted at some point this quarter in case people want to go through the material on their own.

Alfresco Developer Guide readers react positively

Thanks so much to everyone who has commented on the blog, sent an email, mentioned the book in a blog post, or written a review on my book, Alfresco Developer Guide. I’m glad you’re finding it helpful. Keep that feedback coming. While I’m thinking about it, here are some links related to the book you might find helpful:

  • A free chapter can be downloaded from the Alfresco Content Community. You’ll need an Alfresco Content Community login (it’s free).
  • One of my Optaros colleagues, Olivier Pépin, and I, originally wrote a chapter on Optaros’ open source alternative web client, DoCASU, but we had to make it a download for space reasons. You can download the “bonus chapter” from Optaros (email address required).
  • Appendix C talks about installing Alfresco, AMPs, import/export, and Surf. This was originally intended to be included in the book as well, but it’s been provided as a download instead.

Alfresco 3.0 Surf Code Camp Boston Wrapped Up

We hosted a good crowd of folks at Optaros headquarters in Boston today for our second Code Camp around Alfresco 3.0 Surf. Alfresco’s own Dr. Yong Qu was on hand to provide an early gift to campers–a live demo of Alfresco’s browser-based site designer tool, Web Studio. It looked like it was coming along nicely. The new tool is in Labs head but I haven’t had a chance to take a look so it was great that Yong was able to show us how it worked.

Yong showed a quick demo in which he stepped through a site creation wizard. Behind the scenes, Web Studio was creating a new web project in the Alfresco WCM store and configuring a user sandbox. Once the site was created, Yong put the site in edit mode. It makes more sense when you see it but what happens is a tray opens up that contains various lists of templates, components, and assets that can be dragged-and-dropped onto regions on the site’s pages. Once put in place, the component can be configured. Again, behind the scenes, Web Studio is creating the Surf model objects in the Alfresco WCM store (Code Campers become painfully aware of the variety and number of model objects required to build a Surf site because they do it by hand all day in the labs).

It’ll be a while (multiple months?) before Web Studio makes it into Enterprise. Until then, try it out. And while you’re in there, look at the library of components. Alfresco is hoping you will be inspired to create and submit additional components that can be similarly shared with the community.

The next Optaros-led Alfresco 3.0 Surf Code Camp will be in Munich on January 13th. I’ll be there as well as some of my other Optaros teammates, Alfresco will be there, and we’re hoping you will be there too. Read more details on the Munich event and sign up here.

Catching up on XForms, XRX, XProc, and Orbeon

I recently spent a little time looking at open source components we could assemble to provide a basic web form authoring solution embedded within one of our SaaS offerings. Rather than full-blown Web Content Management, all that the solution really called for was the ability for non-technical users to enter data in a form and to upload binary objects which may be related in some way to that form data. There could be several forms with some chunks of forms being reused, and at some point, it might be nice for non-technical people to create their own forms.

For the forms piece I immediately thought of XForms because (1) I knew we wanted the data stored as XML and (2) I like the MVC pattern that XForms follows.

It had been a while since I played with XForms directly. Alfresco’s web forms engine is currently based on the Chiba implementation of XForms, but you don’t normally get exposed to the XForms details. There are a few things going on in the world of XForms that caught my attention:

XProc. XProc is a W3C specification for an XML Pipeline Language. If you’ve ever worked with Apache Cocoon you’ll get this concept immediately as Cocoon was an early implementor of the XML pipeline approach. Think of raw XML going in a pipeline on one end, having it processed with one or more steps as it goes through the pipeline, and then possibly new XML emerging from the other end. Those processing steps can be thought of as modules that can be reused and recombined in different ways to build new pipelines.

One of our past clients was doing something similar to this with their own home grown solution. They were taking XML data feeds from sporting events, and then performing various operations on that XML before it was eventually posted on the web site in the form of scoreboards and stats pages. They called the process definition a “workflow” and it was described in XML. XProc would be ideal for something like that.

XRX. XRX stands for XForms/REST/XQuery. It is not a standard–it’s an approach for building web applications. It means using XForms on the front-end to present and capture data, REST between the front-end and the back-end, and XQuery to retrieve and transform XML from the back-end. This approach allows you to build a web application without any object-relational mapping. The data you are dealing with is always XML so there is no translation necessary.

eXist. eXist is an open source, native XML database. If you’re dealing exclusively in XML, why go to the trouble of translating your XML into rows and columns (and then back in to XML when it is retrieved)? Native XML databases do a better job of storing XML with no translation required while preserving your ability to efficiently do things like XQuery and XPath statements across the entire scope of your dataset. I had previously played with Apache Xindice but Xindice doesn’t support XQuery which is a major focus for eXist (plus, things seem a little quiet over at the Xindice project).

Orbeon Forms is a server-side XForms implementation. If you’re looking for an open source forms solution, you need to take a look. Orbeon is XForms, XProc, and eXist, all rolled into a single offering. You can merge the Orbeon WAR file with your web app’s WAR or you can deploy Orbeon in its own web app and simply tell it to handle all of the XForms tasks. Orbeon also has a graphical forms builder but I didn’t get a chance to play with that.

Thinking I might want to use Apache Sling/Jackrabbit as my repository, I decided to see how easy it would be to persist the XForms data into Jackrabbit instead of eXist, as Orbeon’s tutorial does by default. As I suspected, it turned out to be a 2 minute task. Because Sling provides a REST API into Jackrabbit, and because XForms can persist data via REST natively, it was simply a matter of changing the post URL from the eXist REST URL to the Sling REST URL and it was a done deal. Deciding whether or not Jackrabbit (instead of or in combination with eXist) is the right way to go is a decision for another day.

I’ll provide an update at some point down the road after we’ve done some implementation work on this embedded forms stuff and we’ll see how it actually held up.

I’m Sorry I’ve Neglected You, Server-side JavaScript Debugger

What can I say, Server-side JavaScript Debugger? You’ve been there all along, willing to help if only you were asked, and I was too set in my ways to pay you any attention. I don’t know, maybe it was all of those Java-backed web scripts that I was hooked on. But when I needed you, I just updated log4j.properties and you came through, no questions asked:

log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=on

Some will say that your Swing UI is a little hard on the eyes. Ignore them. Let them print logger.log messages all day while you and I step back and forth through code with reckless abandon!

Alfresco encourages WCM users to stay on 2.2 SP2

I don’t normally cover release announcements unless they are significant. Today Alfresco announced the release of 2.2 SP2. This one is noteworthy because it includes “key enhancements” to Alfresco WCM. Alfresco is encouraging WCM users to stay on the 2.2 code line rather than upgrade to 3.0 because these enhancements are not yet merged into 3.0. Alfresco says they will be part of the 3.1 release which will likely be some time in February.People running on the DM side of the house can upgrade to whichever release makes sense. Obviously, Alfresco hopes that is 3.0. Many clients deploy solutions that span both DM and WCM. My hunch is that waiting for 3.1 will make the most sense in those cases. 

Alfresco Surf Code Camp comes to Boston

We’ve just announced a new Code Camp date and city. We’ll be doing a Code Camp on Alfresco Surf in Boston on December 16th (Code Camp Details). Our New York City event filled quickly so if you want to attend you should sign up now. Hope to see you there.

BTW, the Code Camp in Munich looks like it will be some time during the week of January 12th. Obviously it will be posted here, at Optaros.com, and at Alfresco.com when it finalizes.