Monthly Archive for December, 2008

Alfresco Developer Guide (Book Review)

Alfresco Developer Guide by Jeff PottsAlfresco Developer Guide, by Jeff Potts, is the second title about Alfresco recently published by Packt Publishing, after Alfresco Enterprise Content Management Implementation, by Munwar Shariff, that was published almost two years ago.

For those who don’t know, Alfresco is the leading Open Source Enterprise Content Management system and is rapidly gaining acceptance in many enterprises, thanks to its rich feature set and ease of implementation.

Given the brisk pace of development of the product over the recent months, a new volume on Alfresco was eagerly awaited by many. This one mostly covers Alfresco 2.2, with some mentions about the new features introduced in version 3.0, whose official release happened shortly after the book was published. So it hit the shelves with a bit of unfortunate timing, but luckily none of the content of the book is to be considered obsolete, as all the APIs that used to work with 2.2 still work with 3.0. Still, a bit more coverage of 3.0 would have been great, but we can hope that maybe more will be added in a second edition.

Speaking of the content that is in this edition, readers will be able to find in-depth coverage of almost all aspects of the Alfresco platform, from a developer point of view. The target audience of the book is indeed developers who want to customize and extend Alfresco, and create new applications on top of it. Good overviews of content modeling, Web Client (Alfresco’s own web-based management console) customizations, behaviors, transformers and extractors, Web Scripts, advanced workflows, and security are provided, with plenty of detailed examples of configurations and API usage.

A long chapter is dedicated to the Web Content Management (WCM) add-on product and the book closes with appendixes containing a concise reference of APIs and configuration properties. Thankfully, the author and the publisher did not opt for including a complete reprint of the APIs in order to beef up the page count. Instead, a list of the main Java classes and Javascript root objects is provided, but developers will have to refer to the online documentation for a complete reference.

A section of this reference that many readers will find to be extremely useful is a detailed description of the Lucene search syntax. On the other hand, page 271 talks about a Surf API reference to be found in the appendix, but there isn’t one there. Surf is the new web application framework included in version 3, so they probably couldn’t find the time to provide some documentation for it in time for publishing. As I wrote above, this is understandable, given the timing, but let’s hope the second edition amends these shortcomings.

My overall judgment of the book is definitely positive, anyway. The author does an excellent job of maintaining a good balance between breadth and depth, and the narrative of each chapter manages to capture well the attention of the reader, guiding him from simple concepts to more complex scenarios in a very natural progression. Readers are expected to have a good working knowledge of Java, XML, and Java web application development. Some basic knowledge of Javascript will be useful too.

If I have a specific complaint about the content is that the index is too thin and many concepts are not referenced there. This is a defect that does not compromise the overall usefulness of the book, however.

The author, Jeff Potts, is an accomplished ECM consultant and long-time Alfresco expert. You can read more from him at his website ecmarchitect.com.

I have been given permission by the publisher to make a PDF copy of Chapter 3, Working with Content Models available for download. Just click here if you want to read it.

(3)

Better? NOT!

Vatican opposes de-criminalising same sex unions -Times Online: “The Vatican has said it opposes a European Union proposal for a United Nations declaration formally condemning discrimination against homosexuals, which it claims would ‘de-criminalise’ same sex unions.

Monsignor Celestino Migliore, the Holy See’s permanent observer at the UN, said the Catechism of the Roman Catholic Church forbade ‘unjust discrimination’ against homosexuals. However outlawing discrimination by means of a UN declaration meant that states which did not recognise same sex marriages would come under pressure to do so.

All countries of the European Union have signed a draft declaration drawn up by France, which currently holds the rotating EU Presidency, condemning “discrimination based on sexual orientation and gender identity”. France is due to submit the draft declaration at the UN General Assembly on 10 December, the sixtieth anniversary of the UN declaration of human rights.

Over 80 countries in the world currently outlaw same-sex relations, with punishments range from short prison sentences to life imprisonment and even death by execution.”

Let me see if I get this right: 80 countries discriminate unjustly against their citizens on the basis of their sexual orientation alone. The EU wants to stop this, at least verbally. The Vatican, on the other hand, opposes this resolution, basically because it thinks it would put pressure on some of the discriminators.

The point is that the proposed resolution does not endorse same-sex marriage in any way. So the Vatican does not want the UN to condemn states who harass, imprison, torture and kill homosexual, because it thinks doing so would put undue pressure on states who do not recognize gay marriage, including those states, such as Italy, who signed the declaration?

Are you fucking kidding me? Can there be an organization which is more abject, twisted and morally disgusting than the Catholic Church?

Well, I guess one could reply that any church or any form of organized religion is similarly despicable, and one would have a point, I’m afraid.

For those who do not speak Italian, the title is a bad pun on the name of Monsignor Migliore. “Migliore” is Italian for “better”.