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.

Gartner Portals, Content, and Collaboration Conference: Day 1 Notes

Tom Austin’s keynote
This was a good opening keynote, primarily aimed at getting IT leaders to realize that their job isn’t simply to take orders but to be the key enabler of innovation in the business.

Gartner research shows that most IT shops stop at “operations & hygiene” and “improving productivity & lowering costs”. What they should be focusing on is “improving performance of non-routine tasks” and “helping the organization innovate”. The personal tools and social services the IT organization puts in place and supports will be key enablers of those goals.

Workplace architecture

In a study of around 2000 companies, Gartner found that there are “Two faces of the workplace”. Roughly half of the respondents are in an organization of “Leaders”. The other half are organizations of “Directors”. Director organizations are those in which IT is essentially an order-taker. They see their job really as being the low-cost technology provider for the business and not much more. Leader organizations are much more entrepreneurial. The IT orgs in Leader companies see themselves as key enablers to innovation. The type of organization you are in can be a predictor of the success of the introduction of social tools and technologies. (It can also be a source of stress–if you are more entrepreneurial and you find yourself in a “Director” organization, the odds are that your tenure at that job will be short-lived).

At this point the conversation shifted to some high-level info on key vendors…

IBM

  • Workplace brand is essentially dead
  • Now have 23% of the content management market through its FileNet acquisition
  • Quickr product is their answer to MOSS
  • More “2.0” than Microsoft
  • At the mention of “Notes 8” I immediately felt old

Oracle

  • Web 2.0 and future strategy based on the WebCenter Suite.
  • Stellent, a second-tier player with consistently good functionality, was a good acquisition for Oracle.

Microsoft

  • Sharepoint 2007 is not enterprise-ready
  • Grassroots, viral spread of WSS (the free, low-end version of Sharepoint) is working extremely well

General content management tidbits

  • CM systems live b/w 5 and 10 years
  • Flexibility, openness, interoperability are key because of this longevity
  • Up-front license cost usually less than 20% of the TCO over the life of the system so don’t get so wrapped around the axle about up-front licensing costs

Clash of the Titans: IBM, Microsoft, & Google

Five technologies that are disruptive to the “titans”:

  • SAAS
  • Web 2.0
  • Consumerization
  • Global Class Infrastructure
  • Open Source

IBM:

  • #1 portal
  • Huge IM install base with Sametime
  • All about custom (because it drives services, for which IBM gets over half of its revenue)
  • All about focusing on the biggest of the big customers

Microsoft:

  • Pervasive office suite
  • Meteoric Sharepoint growth
  • All about commodity
  • Take technology to the masses, become the exclusive provider, then increase prices.
  • Web-based applications threaten Microsoft’s core model
  • “Sharepoint is the athlete’s foot of 2007. You leave it alone and it spreads everywhere.”

Say Goodbye to Enterprise Content Management

The term “Enterprise Content Management” is really shifting from an umbrella term describing the different types of content management (document management, WCM, imaging, records management, etc.) to a term that describes a management discipline.

1990 – 2006: Thick clients, closed source, monolithic platforms/repositories
2007 and beyond: Federated repositories, SOA, Web 2.0, SAAS, open source

Gartner sees most companies interested in deploying Basic Content Services (see below) and then building vertical apps on top of a more formal content infrastructure where appropriate.

Basic Content Services (BCS)

  • Good enough is good enough
  • Pays for itself quickly
  • Addresses needs of 65% of the user population
  • Everyone should be rolling this out now
  • Average spend on content management is $475,000 for 250 users

Top business problems addressed by content management:

  • Loan origination
  • Litigation support
  • Claims processing
  • Case management
  • Contract management
  • Correspondence management

Solution Provider Sessions

The “Solution Provider” sessions were extremely weak. These were essentially speaking slots the premium sponsors of the conference paid for. The first one I attended, sponsored by BEA, was ostensibly a deep dive on Facebook. After two slides on Facebook it devolved into a BEA product demo.

The second BEA solution provider session was a customer case study on how an insurance company used BEA’s Aqualogic platform to roll out custom portals for their clients. Unfortunately, there wasn’t a lot of information shared with regard to challenges overcome, what worked well, or anything specific about how the platform was uniquely qualified for the solution.

Challenges of Enterprise 2.0 Adoption, Andrew McAfee

I’ve added McAfee’s blog to my aggregator within the last few months and I’ve enjoyed his posts. I was excited to get to hear him speak. This session was definitely the highlight of the day. Here are some rough notes…

Attributes of Enterprise 2.0 use:

  • Platform technologies: Enterprise 2.0 is about platform–not channel (ie, email)–technologies like blogs and wikis.
  • Social: The solutions are primarily about getting people together (not integrating data or systems)
  • Complementary with existing structures
  • Collective (subject to network effects)
  • Convergent
  • Emergent
  • Open
  • Undirected/autonomous
  • Non-credentialist. No one cares about your title or role. What’s important is what you do/say after you’ve joined the conversation.
  • Dynamic
  • Navigable. (McAfee did a survey of the audience in which he asked how many people thought their intranet was easier to navigate than the public internet. Only one hand shot up).
  • Extensible

McAfee really stressed the point that if you try to put too many controls on these systems (too much structure, roles/entitlements, workflow) you’ll totally screw up the intended purpose and really miss out completely on the business benefit.
Ease of use is a huge problem in adoption of these systems. McAfee referenced a study in which one of his colleagues determined that people typically overweight the incumbent technology’s benefits by 3 and underweight the prospective technology’s benefits by 3. He referred to this as email’s “9x” problem. Basically, any Enterprise 2.0 solution has got to be 10x better than email.

Beyond ease of use, other adoption problems included the concept of personal benefits versus cost and incentives to participate.

McAfee referred folks to cases2.com for case studies on Enterprise 2.0 use.

Alfresco 2.1 Enterprise is available

Looks like Alfresco 2.1 Enterprise is now available. Congrats, Alfresco. I know you’ve been very busy since the Community release of 2.1 a couple of months ago getting the Enterprise release ready.

We’ve been implementing an Alfresco WCM solution for a client on the west coast this summer based on the 2.1 code. We’ve been pleased with the new release and with Alfresco’s responsiveness to Jira issues we created as we uncovered the inevitable bugs in the beta builds.

The web content publish date/expiration date functionality and the web script framework (roll your own REST API) are probably the most significant 2.1 features leveraged in the solution.
At some point I’ll probably be able to do a case study or a podcast on what we built. Until then I will say that the solution leverages Alfresco’s document management capabilities, web content management capabilities, and a client-built, custom application loosely-coupled with the repository through REST. The strengths of each of those sub-systems is leveraged to achieve the overall set of business requirements.

This approach of letting individual parts make up the solution rather than trying to implement a monolithic WCM package that is responsible for every aspect of a web site worked very well for this particular client. Alfresco was a good fit specifically because it doesn’t try to handle both the content management and the content presentation. Instead, it focuses on being a solid repository with lots of options for integrating the repository with other systems. It is this separation from the presentation layer that really distinguishes Alfresco from other open source content management systems. The ease with which solutions can be built on top of the repository is what distinguishes it from proprietary content management systems. (That and the licensing model).
While I’m thinking about it, one side note on the web script/REST framework. I’ve seen some analysts and even John Newton mention Alfresco’s new REST-based functionality as “architecture”. I don’t want to diminish the value of the web scripts framework–it is a great way to set up an API for other apps to leverage without the heaviness of a SOAP-based service call. But to call it an “architecture” or to imply that something was fundamentally changed in how Alfresco works is a bit much. I really see it simply as an additional–albeit powerful and flexible–way to work with the repository.
It may seem like hair-splitting but when I saw an analyst (sorry, I’ve misplaced the reference) voice concern over Alfresco “moving to a new architecture” it seemed like maybe Alfresco had over-played it a bit. At the end of the day, the new REST framework is a great tool that you might choose to leverage or you might not. If Alfresco refactors some of its web client to use it, great. If other projects like Liferay decide to build integrations with Alfresco based on the REST framework, that’s a good thing too. But people shouldn’t get the impression that Alfresco has changed anything fundamental about the repository with the addition of this new framework.

New Alfresco tutorial on working with a custom content model

UPDATE (2012): I’ve recently published a second edition of this tutorial that updates the original with Alfresco Share and CMIS.

UPDATE (2014): I’ve moved the tutorial and the source code to GitHub. The HTML version of the tutorial is here. It has been updated for Maven and AMPs.

I’ve written a new article (with sample files) that talks about how to extend Alfresco with your own content model and how to work with content that leverages that model via the Web Services API. All of the examples are written in Java but I do include one in PHP just for grins.

Most of the code is based on the Alfresco SDK Web Services sample code, but I’ve tweaked it here and there and I break it down into smaller chunks with commentary. I also think it is good to have one example to follow that takes you from designing the content model to implementing it to writing code that might leverage it.

More about the Alfresco Developer Series.

West Coast Alfresco/Liferay Meetup July 18th

I’m terribly disappointed that I won’t be able to make it, but I wanted to pass it on: There’s an Alfresco/Liferay Meetup in Ontario, California on July 18th. The format will be a collection of small roundtables. It should be a great opportunity for people who are exploring Alfresco and Liferay (together or separately) to learn more and for others to share their knowledge and experiences. If you are on or near the West Coast you should check it out. Learn more and sign up at http://web.meetup.com/44/.

Alfresco-LDAP integration notes

Getting Alfresco to authenticate against LDAP is a pretty straightforward task that’s documented on the Alfresco wiki. But this week I’ve had to play around with a few specific implementation details beyond just users in a directory with plain-text passwords and simple authentication. Here are some rough notes that might save others some time.

Alfresco-LDAP notes

  • If “admin” is still your administrative user, don’t forget to set up a corresponding entry for the admin user in your LDAP directory.
  • “Simple” authentication works when OpenLDAP stores either plain text passwords or MD5 passwords (Base64-encoded). If your MD5 passwords happen to be in hex you can convert them to Base64 using your favorite programming language. I used perl.
  • “DIGEST-MD5” authentication works when OpenLDAP stores plain text passwords but I could not get it to work when using MD5 passwords.
  • “DIGEST-MD5” authentication only works when OpenLDAP is configured to support DIGEST-MD5 as a SASL mechanism. Query the LDAP server’s “Supported SASL Mechanisms” property to see if DIGEST-MD5 is listed.
  • If you are compiling OpenLDAP from source, you must configure it with the –with-cyrus-sasl flag. In order to be able to do this, you must already have Cyrus SASL installed.
  • There are two ways user home folders can get created: (1) When a user logs in for the first time, but before a user sync has occurred or (2) When a user sync occurs. How the user folder gets created is configured differently in each case. In the first case, the bean referenced by the defaultProvider property of the homeFolderManager bean configured in authentication-services-context.xml is used. For the sync, the cm:homeFolderProvider key value in the ldap authentication context XML file references the HomeFolderProvider bean. If you want the behavior to be consistent, you’ll need to make sure to point to the same HomeFolderProvider bean in both places.
  • There are several HomeFolderProvider beans configured OOTB. For example, the userHomesHomeFolderProvider bean creates the user’s home folder as a folder under User Homes named using the user’s user ID.
  • If you want to store a password in SASL’s database, use saslpasswd2 -c
  • If a user does not exist in SASL’s database it will look for the userPassword attribute in the LDAP directory.
  • You must add authz-regexp entries to slapd.conf to map the SASL authorization requests to actual LDAP entries.
  • Once your openldap server is running with SASL enabled, you may need to use the -x command-line switch when using things like ldapsearch, ldapadd, and ldapmodify if you still want to use simple authentication.

If I get some time I may reorganize these rough notes into an easier-to-follow step-by-step setup guide.