Book review: Alfresco Enterprise Content Management

I’ve recently finished the new Alfresco book. The bottom-line on this book is this: End-users evaluating or learning to use Alfresco may find the book helpful. Most chapters are aimed at teaching people how to work with the web client. For this audience, the book does a pretty good job of presenting a logical progression through the product. Although most of the information in the book is readily available through the Alfresco wiki, forums, demos, and documentation, the book pulls it together in a hassle-free, portable format. Technical users, however, will be disappointed. If you want technical depth this book isn’t for you. Before you shell out the $60 you really need to consider what kind of information you are looking for. You may ultimately be better off surfing blogs, forums, and wikis.
When I originally saw the announcement for the book, I was excited. Shelf space is one datapoint that can be used to measure technology adoption and maturity. More specifically, I was hoping the book would be a one stop shop for business users as well as technical users–sort of an Alfresco Unleashed. But as the preface clearly states, “This book is not targeted at developers who want to change the core code structure of Alfresco.” I don’t necessarily want to change the “core code structure,” but I do want to implement, customize, and extend Alfresco for my clients. In that respect my expectations for the book turned out to be way too high. For now, at least, from a technical publication standpoint, Alfresco has yet to be “Unleashed” or “Exposed”.
Workflow is an example where the book could have gone into much more depth, particularly with the introduction of the JBPM integration in release 1.4. But the chapter on workflow focuses almost exclusively on the simple folder-based workflow functionality. Although there is a section on advanced workflow using JBPM, it only skims the surface by providing the steps one goes through to define an advanced workflow. It does this at such a high level it really provides little value other than to inform the reader that there’s such a thing as advanced workflow.

Other topics that got little or no attention include details on Alfresco’s approach to content storage and the underlying relational database schema, LDAP integration/syncronization, scheduling jobs, and the Alfresco SDK. The book is written for Alfresco 1.4 so the new WCM offering included in 2.0 is completely unaddressed.
Aside from the depth issue, the book could use a bit more organization and a more thorough editing job to be more relevant to the intended audience and to resolve some of the more glaring typos and grammatical problems.

Here’s an example of one aspect of the organizational problem. The book is primarily focused at end- and power-users of Alfresco who need to work with the web client (out of a total of 13 chapters, the first 10 are squarely focused on that use case). But Shariff mixes in details on configuration tasks that end-users would never do such as defining content types and tweaking the web client configuration XML. An alternative approach would have been to keep those first 10 chapters clean of any tasks requiring configuration changes and make it purely about web client how-to. Later chapters could have then gone into configuration.

I did find some useful tidbits in the book. The sections on dashlets and Freemarker in Chapter 11, “Customizing the User Interface” were useful to me as well as Chapter 13 on imaging.
Writing on technical books on Enterprise Content Management is tough. There are many different use cases, some of which differ greatly in what’s deemed critical functionality, often depending on industry and type of organization. Plus there are usually many potential approaches for customizing and extending the underlying platforms. Multiply that by the speed of change we’re currently experiencing in the ECM market and it’s a wonder anyone writes on the topic at all. In fact, I sometimes wonder how relevant traditional technical publications are for such dynamic topics, but I digress.

Shariff should be commended for being the first to publish a real book on Alfresco. I know others will follow. Hopefully, right now, somewhere someone’s frantically cranking out chapters and code snippets. To you I say, keep at it! Shariff may have been first to the punch, but Alfresco is still waiting to be Unleashed!