About the Book

This book takes you through a set of exercises as if you were rolling out and customizing the platform for a fictional organization called SomeCo, which wants to roll out Alfresco enterprise-wide. By the time you’ve worked through the entire book, you will be familiar with the entire platform. You’ll be prepared to make your own customizations whether they are part of a Document Management solution, a web site that uses Alfresco for content storage, or an entire custom application built on Alfresco’s REST API. This book will give you the knowledge and confidence you need to make Alfresco do what you need it to do.

Who this book is written for

This book is for Java developers, and you will get most from the book if you already work with Java; but you need not have prior experience on Alfresco. Although Alfresco makes heavy use of open source frameworks such as Spring, Hibernate, JavaServer Faces, and Lucene, no prior experience using these is assumed or necessary.

Where to Purchase

You can buy the book directly from Packt Publishing, Amazon, and other book stores. The book is available in both hardcopy and as a PDF. If you see a web site offering the book as a free download, it is pirated. Please report all such links to copyright@packtpub.com.

A Note about Relevance

The Alfresco Developer Guide was published in the Fall of 2008. Although it was originally written for Alfresco 2.2 Enterprise and Alfresco 2.9 Community, it is still a highly relevant and valuable resource for developers getting started with Alfresco. That’s because the fundamental set of core functionality and extension points have changed very little across releases.

Also, I’ve made sure that the source code that accompanies the book works with the latest Alfresco releases both Enterprise and Community.

Are there new areas of Alfresco that the book doesn’t currently cover? Yes. Surf is only addressed in a minor way (in an Appendix only available online) and CMIS isn’t discussed at all. Those areas are changing rapidly so I’m going to give them time to gel before I do another edition. Watch for blog posts on these topics.

Sample Chapter

There are a few different chapters available for download, free of charge, that will give you a feel for the book:

  • Chapter 3 starts where all Alfresco projects should begin: defining the content model. You’ll learn how to define the content model as well as how to expose the model to the Alfresco web client. Once you’ve got it in place, you’ll write some Java code that utilizes the Web Services API to test out the model. This will also be your first taste of the JavaScript API. The exercises set up the initial content model for SomeCo.
  • Appendix C was originally intended for the book, but did not make it into the final published version. Appendix C covers basic installation steps, Alfresco AMP files, and a brief intro to Alfresco Surf concepts.
  • Building an Alfresco Custom User Interface was also originally intended for the book. It discusses DoCASU, an custom user interface that can be used as an alternative to the Alfresco Explorer web client. Unlike the rest of the book, this chapter is less of a how-to and more of a technical case study on how DoCASU was built. (See also, the DoCASU Project Page).

Source Code

The source code that accompanies the book can be downloaded from the Alfresco Developer Guide Support Page on Packt Publishing’s site. Originally, I included all of the source code as a single archive with separate Eclipse projects for each chapter and different folders or projects to handle the minor differences between the two flavors of Alfresco: Enterprise versus Community. As Alfresco continued to release software, I started tagging the entire code base for the book according to Alfresco release. Now, the Packt download link contains that entire set of source code. If you’d rather download only the source code that is specific to the release of Alfresco you work with, I host a set of smaller source code downloads for that purpose.

Blog Posts

Here is a selection of book-related blog posts (or just hit the Alfresco Book category):