It seems that I have become a regular reviewer of Alfresco books for Packt. The publisher invited me to review the latest book about Alfresco and provided me a free copy of the book to review. I was somewhat excited about reading this book because the purpose of the book was to provide “minimum theory…maximum action.” I assumed that this book would be filled with tons of sample code that I could use on a regular basis.
If you are a first time Alfresco developer and have not read many books on Alfresco, Snig’s cookbook is an excellent reference. If you have read other Alfresco books, about half the material will be familiar and is what you would typically find in Alfresco tutorial. If you have already implemented several Alfresco applications, go directly to the workflow chapter; you probably already know the solutions/sample code presented in the rest of the cookbook.
Chp 1-5 covers the various features of Alfresco from both a user and administrator perspective. Skip these chapters if you are familiar with Alfresco already.
Chp 6-7 talks about simple UI customization and how to configure custom content types, aspects, and search. Again, there is nothing new if you have played with Alfresco before.
1) Getting Ready (intro to the problem)
2) How to do it (instructions/solution overview)
3) How it works (technical explanation of the solution)
4) There’s more (optional supplemental info).
Sample code is great for users who are not interested in learning to build Alfresco solutions. Snig’s “How it works” section presents the secret sauce on what the sample code does and how it solves the problem. I strongly believe that explaining how to solve the problem is more valuable than the actual solution itself. Snig does a good job of explaining the solutions he presents throughout the book.
Chp 9 goes into more detail about FreeMarker templates. If you haven’t worked with FreeMarker templates, Snig presents plenty of examples that are useful from a day-to-day perspective.
Chp 10 discusses web scripts provided by Alfresco. These scripts are built as RESTful APIs and can be customized without java or Eclipse. Some of the solutions include:
1) Show home details -> good for describing user/project profiles
2) Display details of document (via search) -> good example of how to render in JSON
3) Sending emails using mail templates -> details how to include ticket in calling another web script, so that user doesn’t have to enter his credentials again.
Chp 11 is best chapter in the book; it covers how Alfresco uses jBPM from top to bottom. Snig presents an excellent example of how to build a workflow using SDLC as sample process. He then describes how it works in great detail. For this chapter, I wished he covered how it works before how to do it.
Chp 12-14 covers additional features of Alfresco, like integration with Outlook, email, and file server. These chapters detail how to configure these features and do not provide samples on how to customize the integrations.
I would recommend this book to someone who was asked to start building a prototype tomorrow. If you are planning to learn Alfresco as profession, there are other books about Alfresco that cover the theory in more detail.