Enterprise Content Management - The Single Platform Approach

June 22nd, 2009 by Michael Uzquiano

Alfresco 3.2 Labs is due out in a couple of days and I wanted to share some thoughts on where we’re headed with the product.  Alfresco 3.2 Enterprise (due in August) will be a significant release, the development of which has provided us the opportunity to step back a bit and invest further into our Enterprise Content Management platform.

For those who have been in the industry for awhile, it is worth noting that there have long existed several disciplines around what is often termed Enterprise Content Management (or ECM).  These disciplines, when combined together, provide the full range of capabilities for managing content in an enterprise-scale business.

Evolution of ECM

In the mid-nineties, the first “content management” companies appeared.  For the most part, they grew out of database companies and essentially began by introducing a light metadata wrapper around tables.  Many companies focused on simple content (let us say “desktop content”) which, at that point in time, was largely what people were used to.

Unstructured content (sometimes referred to as binary content) largely composed this segment and document solutions appeared to address the management of metadata and relationships between documents.  Thus was born the moniker of which many are familiar - DM (or Document Management).  Entrepreneurial ventures in that domain included Documentum and FileNet among many others.  Both were later acquired by larger companies (EMC and IBM, respectively) when the dotcom downturn entered the scene.

By the end of the nineties, there was a real effort within another segment of content management”- this time focused around the web.  Many recognized that “web content” (consisting of things like web pages, display pages for product items, navigation structures, templates and widgets) were a different kind of thing from standard documents.  They required a clear separation of data from presentation.  They also required management of changesets of content all at once.  And so, new WCM (Web Content Management) products began to appear on the market to address this management challenge.

At Alfresco, we refer to web content data modeling as the modeling of semantic content.  These are things like press releases, articles or list items that you wish to have appear on your web site.  We use the term presentation content to refer to presentation logic intended to render these semantic content elements to the end user - they specifically describe things like templates, JSP pages, Freemarker, scripts and so forth.  Web Content Management systems, at the time, did their very best to try to manage all these kinds of files.  A very arduous task for 1990’s technology!

Around that time, some of the leaders in WCM included Interwoven and Vignette.  As you might guess, both of these companies were also acquired (by Autonomy and Open Text, respectively).  These happened more recently but many would argue they were the natural conclusion of the dotcom downturn and the lack of further investment into their products.

The last discipline I’d like to mention is that of Records Management (or RM).  The dotcom fallout and the related financial losses compelled major economies to revise their regulatory requirements and, in many cases, introduce new regulations to public markets.  Existing Enterprise Content Management companies sought to quickly introduce products into these markets which allowed for management of complex policies and records on top of enterprise content.  Very few companies truly built RM solutions which were well-integrated to other products in their suites.  Many acquired RM technologies and then left it to their marketing teams to promote as a unified solution.  Total cost to the customer?  High.

All told, the “content management” market expanded very quickly for about ten years (let us say, 1995-2005) and came to incorporate a breadth of disciplines.  Here, we’ve identified the disciplines of DM, WCM and RM.  These were assembled through acquisitions and, in some cases, rapid product development though the downturn in the economy really disabled the investment which would have been required to create a nice, unified product offering.

By building through acquisition, products were essentially isolated from one another.  Any integration between them so as to offer a holistic approach was relegated to a marketing objective.  Woeful customers bought into this and then later learned of the high cost of actually achieving the integrated solution.

Furthermore, the downturn economy after 2001 really encouraged companies to forego proper integration investment.  Rather than spend valuable cash to provide a more integrated and more valuable product, companies chose to preserve their cash and simply present the collection of products to the market as one solution.

Alfresco and Alfresco ECM 3.2

Alfresco was started in 2005.  We named the company Alfresco because wanted to provide a fresh way of looking at content management.  While we believed in basing our product on open-source and open-platform approaches, we also wanted to build something that was unified and clean.  A product that could address these various disciplines (DM, RM, WCM, etc) with one repository and one set of configuration files.

The timing was opportune as well as it allowed us to build a company with fantastic core engineers from Documentum, Interwoven, Vignette and other companies that had endured the successes and failures of the ECM market.  As with anything else, you learn from your mistakes and I think Alfresco has benefitted quite a lot from that.

One of the key engineering concepts was to provide a singular content repository that could behave as a platform for applications that served any of the disciples (DM, WCM, RM and others).  We sought to provide a single mechanism for expressing and managing content behaviours and delivery.  We felt that with a fresh start on an open platform, the opportunity existed to avoid the tangle of disparate repositories and systems.

Alfresco 3.2 continues this effort by providing complete and simplified repository clustering.  Web Content Management users will be happy to learn that they can now fully cluster their authoring and web runtime environments (ASRs).  The configuration process for doing so is identical to the approach you would take for DM or for RM.

Alfresco 3.2 also provides a new deployment engine which has pluggable adapters so that it can be used to transport content to a variety of receivers.  Of course, we continue to provide support for file system (FSR) and Alfresco (ASR) receivers but we’ve made it much easier (and much better) to write your own.  This will allow our customers to deploy content from Alfresco to custom databases or third-party applications (such as Exist or CouchDB).

Be sure to check out the Labs Release of Alfresco 3.2 in early July!

Michael

Web Framework 3.0 - Alfresco Surf!

August 1st, 2008 by Michael Uzquiano

With the Labs release of Alfresco 3.0, we’ve reached a significant summit in our re-engineering effort around the Alfresco presentation tier.

The Alfresco 3.0 Labs release features an interesting, different approach to the Alfresco UI which is focused entirely around ease of use.  It meshes together many social computing approaches into a unified productivity application.  It’s receiving a great amount of press with focus being on its Web 2.0 approach, its ability to provide a strong alternative to SharePoint and its versatility as a SharePoint complement (via the open source SharePoint connector).

Many in the community, however, will recognize that the engine powering Alfresco 3.0 is non-other than the new Alfresco Web Framework.  I find this very exciting because the new web framework originated directly from the community.  As such, it incorporated a lot of insight and a lot thought as to how a solid site construction model and page dispatcher should work.

As was relayed in San Jose earlier this year, the Alfresco engineering team looked at what the community built and took several weeks to really challenge and understand the approach.  The concepts were strong and our goal was to fit it naturally to the already-extensive scripting and templating facilities provided by Alfresco’s Web Scripts, Freemarker and server-side JavaScript APIs.

We worked on this for several months.  The result is the Alfresco Surf Platform.  This platform gives application builders a full site construction object model and a way to snap together pieces to build web sites in a way that is very familiar to most.  Concepts like pages, templates, components, themes, chromes and more are now introduced.  Everything is modeled as XML and left extensible.

The most interesting aspect to this, I feel, is that the underlying mechanics are a natural extension of Alfresco’s architecture.  The goal - to leave things very extensible but provide enough context so that things can be glued together very quickly.  There is a strong emphasis on scripting.  You can build entire web sites, components and applications within Alfresco Surf and you will very likely not even have to restart your server.

This is very fundamental to us as we press forward with the remainder of what we promised in San Jose - a fully functional drag-and-drop application builder.  A web studio.  A self-assembly tool.  The full realization of what we as a community produced with Alfresco Dynamic Website.  We’re still considering names for this graphical construction tool but some suggestions have included Alfresco Web Studio and Alfresco Surface.  I rather like the latter.  Surfacing your Alfresco Content and Services.  I’m not a marketing person but I feel that has a nice feel.  What do you think?

Alfresco Surf is in Labs right now and we’re looking at having it hit the enterprise release in October along with the rest of Alfresco 3.0.

Vignette collapses under the weight of its own management

July 31st, 2008 by Michael Uzquiano

I received word today that Vignette has laid off a significant amount of its workforce.  That should surprise very few people after their earning announcement in which they could provide absolutely no strategy for how they intend to save their sinking ship.

At Alfresco, we’ve grown our organization while trying to learn from the mistakes of our competition.  The big elephants like Vignette may have good intentions, but they are eroding quickly.  Their business model no longer works.  And they are apparently the last ones to figure this out.

Vignette could serve as wonderful material for a business school case study.  Indecisiveness.  Middle managers up the whazoo.  Lack of communication.  Analysis paralysis.  Too many cooks in the kitchen.

Yes - but the problem, really, is that they’re losing the people that they should keep.  And they’re keeping the people that they should lose.

In the end, there isn’t much difference between a customer and an investor.  Both are taking a chance on a company and its products.  They’re trusting in their word.  An investor who seeks to place $1 of their money into a company must ask where that money will be spent.  Customers should ask the same thing.

I feel that the open source model (or as some might further define, any model of greater transparency) enables businesses to actually deliver on that message.

At Alfresco, we’re trying to do more of this.  With services like Alfresco Network, we aim to give more information to our customers - to let them see, with greater certainty, the outcome of their investment.  How has it impacted the code?  How has it impacted their projects?

It has integrity.  It is measurable.  That’s the value of the new business model.

And that’s where the old businesses are falling over.  Customers cannot trust in how their money is being spent.  It isn’t simply that Vignette’s brand has lost its trust - it’s that the products actually do not work.

Why?  Because managers don’t know how to develop good code.

Give them credit, though, for knowing how to keep their jobs.

Web Framework 3.0

April 2nd, 2008 by Michael Uzquiano

Over the past few weeks, I’ve spent a lot of time migrating core code from the Dynamic Website project into Alfresco Web Framework 3.0.

As many of you know, the Web Framework 3.0 work is a new project that was started not too long ago. It is an entirely separate web-tier project that provides a lightweight backbone for building web applications and web sites. It includes Alfresco Web Scripts and Freemarker processing engines and now also includes a ready-to-go dispatcher, object model and web script APIs for building your own web sites.

The Web Framework 3.0 project forms the foundation at Alfresco for several initiatives. The two most important ones are the Web Client 3.0 and the Alfresco Network products. These two applications will use the Web Framework 3.0 project as a foundation and then build upon it to deliver the end-user applications.

One of the best things about this whole process was that we were able to take a community-built project (Dynamic Website) and pull it apart to separate out the very best bits. As such, the Web Framework 3.0 now includes:

  • A rich XML object model for describing navigation, pages, templates, components, component bindings, content associations and request context.
  • A lightweight servlet-based dispatcher that quickly assembles your web application by consulting the XML configured for request states.
  • Interfaces for request context factories, page mappers, link builders, persistence and more. These elements and more are driven from configuration files, allowing you to plug in your own dispatching behaviors (for instance, URL mapping behaviors).
  • The full Alfresco Web Script and Freemarker Processing engine.
  • Enhanced support within Web Scripts to make one or more remote calls to server endpoints to fetch data (JSON, XML) and merge into data sets for downstream processing. Think of the Web Script Engine as an aggregator of remote services on behalf of the client end user.
  • Support for templates / layouts written in Java, HTML, JSP, Freemarker or as WebScripts (Freemarker with a Javascript behavior). That’s the list, so far. There will also soon be support for dynamic, drag and drop layout assembly. This is something that was in Dynamic Website that I have not yet ported. But I will!
  • Support for page components written in Java, HTML, JSP or as WebScripts.
  • Several prebundled web components. So far, these include things like Markup Components, Image Components, Navigation Components and the like. These are being assembled into a “Web Component Library” from which you will be able to draw more advanced components like Google Gadgets, Maps, Newsfeeds and more.
  • Sample implementations provided out of the box for a Public Web Site, Intranet and Project workspace. These provide reference implementations to help you get up and running quickly.
  • The ability to self-assemble your own Alfresco Web application and Web Experience.

It’s very exciting stuff and progress is moving swiftly!

One of the very interesting and fun to solve problems in doing a migration like this is that you have to figure out where to “draw the line”. The goal is to keep the framework as lightweight and snappy as possible while still providing the efficiency gains that come from ease-of-use.

To do so, I feel we made several good decisions.

First, we kept the Web Script Framework isolated and on its own. Thus, folks who want to just build the Web Script engine and produce a WAR file with the Web Script engine standalone can still do so.

Second, we created the Web Framework project and ported over only the dispatcher and model pieces from Dynamic Website. Thus, the Web Framework itself can build and remains lightweight. It produces a fairly small JAR file.

Finally, we retained within the Dynamic Website project all of the bits that make up the user interface. Thus, Dynamic Website will continue into the future. It will be one of many applications that utilize Web Framework 3.0.

Over the next few weeks, attention will shift to focus on Web Client 3.0 and the application of this framework toward Project Spaces, Document libraries, Activity tracking and group workspaces.  Very cool stuff!

Stay tuned for more news!

Alfresco Dynamic Website

February 29th, 2008 by Michael Uzquiano

Boy, what a week!

I’m sitting in Heathrow airport at the moment after a very exciting week of strategy and technology discussions with Alfresco and its talented engineering team.  The subject - Alfresco Dynamic Website and our approach as a company going forward.

Over the past few months, several of us have started the process of building a modern, open-platform and open-source web application framework for use with Alfresco WCM.  Alfresco WCM has been around for some time but up until today, Alfresco hasn’t offered a web application and web site “construction tool”.  We now aim to offer one.

The impetus for doing so is that we feel that we’re able to deliver a solution that far exceeds the offerings of proprietary companies.  Not only are these offerings usually far too expensive to purchase or maintain, but they also generally don’t work very well.

Why is that?  Well, for the most part, they’re based on a 1998 architecture that solved a very static problem.  They’re based on what legacy companies had to do in order to best leverage the products of multiple acquisitions.  They aren’t unified frameworks.  Far from it.

That’s why this week was so much fun.  We brought together a number of best practices and perspectives from ex-employees and consultants from the legacy WCM application vendors - principally, Vignette, Interwoven and Documentum.

From a technical perspective, we considered what worked and what didn’t work.  We looked at feedback that we’ve received from our customers - information about what they liked about legacy products and what they disliked.  We looked at hidden costs of owning a legacy system.

All through this, we asked the important question - how do we deliver superior customer satisfaction?  How do we make the framework intuitive and easy?  How do we leverage the best of open source components today to build something that is fresh and new?  Something from 2008… not 1998.
This is a great time for Alfresco.  After several years of product maturity, we’re now in a position to bring to market a WCM web site and application building solution that uses all of our prior investments to apply the mashup site building concepts to the age old WCM web site problem.

We will deliver a great solution.  Ten times the power.  Ten times cheaper.

We have a great community.  A great commitment to open source.  Great customers and great feedback.  Great partners and a great pool of technical talent from which we can draw.  I’m very excited.

As we move forward on the development work, I will post blog entries here to share my thoughts and our vision for WCM.  But if you want that vision in a nutshell, consider your current legacy WCM solution.  Imagine if it worked the way you hoped it would.  Imagine that it didn’t cost you a fortune in up-front licensing and maintenance.

Stay tuned!

Michael


Alfresco Home | Legal | Privacy | Accessibility | Site Map | RSS  RSS

© 2009 Alfresco Software, Ltd, All Rights Reserved