Archive

Posts Tagged ‘Alfresco’

Alfresco Coming of Age?

July 17, 2009 doquent Leave a comment

I have worked with Documentum way longer than with Alfresco. Couple of years ago I started dabbling with Alfresco and started using it as a personal content repository at home. It was ridiculously easy to set up and exceptionally stable on Linux even with that early version. At that time, most Documentum professionals I talked to wouldn’t give a serious thought about it.

How times have changed! I think that recession may also have helped Alfresco like it is helping organizations such as Walmart and Kroger. These stores near my home have renovated and look overstocked. And they are not dealing in just the traditional stuff. The Walmart store seems to be stocking all the stuff that I would usually go to Home Depot for! But this is not a post about recession so let me not digress.

Let me not take anything away from Alfresco. It is earning the reputation based on its virtues – the recession may just be hastening its arrival on the grand stage. Quite a few professionals still mention it with caveats about its suitability for non-critical systems. I feel that it is just a matter of time.

Within the last few months I have seen two Documentum vendors become Alfresco partners. There are probably more but these are the ones I have known well and worked with. With the discretionary spending drying up it seems that service providers are being forced to diversify. The Alfresco market should definitely help them get the sales pipeline filling up again, even if at lower rates.

Then there are respected Documentum professionals such as Laurence Hart (Pie) and Johnny Gee who have started exploring Alfresco and sharing their opinions. I am sure there are many others in the Documentum community in a similar situation. I haven’t gone out trying to identify any trends – these are just the thoughts triggering from the events in my usual environment. When Documentum professionals get seriously involved with Alfresco, I can envision cross-pollination of ideas and experiences resulting in creative and effective solutions for customers.

Book Review: Alfresco Developer Guide

January 29, 2009 doquent 1 comment

Alfresco Developer Guide

This is a review of the book – Alfresco Developer Guide by Jeff Potts. Click on the cover image to see the publisher page for the book. The book is published by PACKT Publishing – an active supporter of open-source projects.

Disclaimers / Disclosures

  1. This review represents my independent opinion.
  2. I have not been paid for this review.
  3. The publisher has provided me with a free copy of the book for writing this review.

Approach

This review does not attempt to provide information about the Alfresco platform outside the context of the book. The review focuses on what the book offers, what it does well, and where it could have done better. Content outline and information about the author is present on the publisher’s page for the book.

Review

While Alfresco by Munwar Shariff got you started with Alfresco, Alfresco Developer Guide by Jeff Potts gets you going. The first book provides good overview of the breadth of features and Alfresco Developer Guide dives deep into customization for Alfresco-based solutions. Content management is a general requirement but its applications vary significantly. Without accommodating the specific needs of the business, a content management system (CMS) would usually be little more than a glorified file system.

As I started reading the book, it quickly became evident that the author had significant hands-on experience with customizing Alfresco. The book has detailed examples with code and screenshots. The step-by-step directions with practical advice and recommendations make it easy to follow. The book uses Alfresco 2.2 Enterprise and 3.0 Labs versions. In one sentence, I would characterize this book as an illustrated handbook for customizing Alfresco.

The book starts with a description of the Alfresco Platform. This includes overview of content management, the architecture of Alfresco-based solutions, the example used throughout the book, and various kinds of customizations that can be done with Alfresco. It is followed by directions for setting up an Alfresco development environment using Eclipse. Detailed discussion of customization starts with creating custom models – which includes types, associations, and aspects. The UI changes and programmatic access to go with custom content model are also discussed. Automated processing of content with actions, behaviors, transformers, and extractors is discussed next. Web client customization discusses how to adapt the UI for specific needs. The book also discusses implementation of RESTful API using Web Scripts. Workflows are an important feature of content management systems. The book discusses implementation of advanced workflows using jBPM. jBPM enables you to implement complex workflows within Alfresco platform. Web Content management is a popular and common application of content management systems. The book discusses web content management on Alfresco using Alfresco WCM. The book concludes with a discussion on security, including incorporating Alfresco in a Single-Sign-On solution. The appendix includes API reference and examples.

Given my experience with EMC Documentum, I couldn’t help but compare the details with how I do things with Documentum. This book provided the depth to make such a comparison possible. One would normally use this book as a reference to jump to the task at hand and follow a step-by-step example. If you need to understand the breadth, you can skip over example details and read it in a flow. However, in my opinion, the best value provided by this book is in terms of best practices and practical advice which is hard to find in product documentation.

The author does not skimp on sharing practical advice. A fundamental advice is around separation of solution files from Alfresco files. The author also discusses various options for packaging and deployment of customizations. The troubleshooting tools and practices discussed would benefit any Alfresco developer. Modeling best practices are also very important since the custom content model is usually the foundation of a custom solution on Alfresco. When creating a solution for a large organization, advice about handling large directories for user/group synchronization would be handy. Other tips such as dealing with cross-domain scripting limitation and implementing Single-Sign-On also add value.

I think that it is a great book for people who are already working with Alfresco or another content management system. Readers new to the content management space may need a gentler introduction to the concepts and to Alfresco before they can derive maximum value out of this book.

Conclusion

Even if you had the expertise to write this book, you might want to keep a copy handy if you frequently implement solutions using Alfresco. If you are new to Alfresco this book is even more valuable. If you are new to content management in general then you may want to ramp up with some other resources before making the best use of this book.