This is my review about an Alfresco book, this post is taken from my website Open4Dev.
Alfresco 3 Web Content Management is the first book totally dedicated to Alfresco WCM, it is published by Packt Publishing and it is written by Munwar Shariff, Amita Bhandari, Pallika Majmudar and Vinita Choudhary.
First I would like to thank Packt Publishing for providing me a free printed copy of this book. I would like to preface that this is the first and unique collection of topics about Alfresco WCM that is very different from Alfresco DM (Document Management) and I think that it was not easy at all to write this book for the authors.
The first half of the book proves well written and all the topics are described in the right way, but I think that the second half doesn't reach the main goal in terms of clearness.
This is probably because the architecture and the components of Alfresco WCM are quite complicated in the second section and more than once readers will not find any explanation about all the code provided with the book. But they will find a sentence about importing the related book code in Alfresco without explaining what you are including in that space or in a part of the classpath.
I reiterate that the subject is not easy to explain, but perhaps using simple examples for the book and leave some complex examples in the code would have sufficed.
I would have appreciated a much larger section about rendition templates (XSLT and Freemarker) because if you know only all of the technologies mentioned in the "Who this book is written for" section probably you can't understand very well what is a templating language.
This first chapter introduces the Alfresco model, its publication system and it describes the main concepts behind the Alfresco WCM. The most important components described here are Sandboxes and Web Forms. Sandboxes are one of the cool feature of Alfresco that allows editors to work on a specific section of the website without change the state of other views owned by others.
This introduction is necessary because the Alfresco WCM is not very easy to understand the first time for developers that don't know enough about Web Content Management.
In this second chapter are described all the possible ways to install Alfresco WCM with all the procedures dedicated to all the operating systems. This is very useful for developers that doesn't know Alfresco at all.
The third chapter discusses about how to start to create your website and how to manage changes with sandboxes. The Step-by-Step guide shows you how to create a new Web Project and how to add users and roles. Finally you will find a section about the virtual server used for the user preview of pages.
Chapter 4 is dedicated to one of the most important topic in Alfresco WCM that is Web Forms. This is the component used to generate HTML forms and all the related contents in Alfresco WCM. This chapter will guide you defining your Web Forms components Step-by-Step. At the end of this chapter readers will find only some pages about FreeMarker describing only the Alfresco WCM dedicated objects of the FreeMarker API integrated in Alfresco.
Another important chapter that I want to mention is the chapter dedicated to Alfresco Surf because this is a new MVC framework created by Alfresco and released to the Spring Community. Here you will find the architecture of Surf and a reference for all the available objects in the Surf API. This is a great chapter that explains very well how the framework works and what are all the components in the page scope.
The last section of the book leaves a bad taste in mouth because there are several examples of heterogeneous integration, that are very useful for experenced readers, but which could leave many questions open for readers less experienced.
Finally I think this is undeniably a very useful book, but unfortunately can not be used as the unique source of information but requires the use of additional sources for those readers who do not have a thorough knowledge of the Web Content Management.
Unfortunately, I must point out that sometimes I found myself looking for a reference to a subject that some readers may not know and that in the book has not been explained well enough.