zondag 13 mei 2012

5 Steps to Alfresco development using Jeff Pott's Alfresco Developer Series Tutorials

If you're new to Alfresco development it can be difficult to know where to begin. There is a lot of information in the wiki and the forums but these are not the step-by-step guides you need to get started quickly.

One of the best resources to start are Alfresco community manager Jeff Pott's tutorials. These well written tutorials cover the most important extension points of the Alfresco document repository. After reading them you will know the basics to start a successful Alfresco project.

Most of these tutorials were updated recently to cover the latest Alfresco versions.


Step 1: Defining the content model

The first step in every Alfresco project is defining a content model. The content model is a list of content types and their corresponding metadata fields.

Working with Custom Content Types teaches you to create a content model, expose the model in the Share UI, performing searches and doing CRUD operations against your custom content types.

The other articles in the series build on the examples included here.


Step 2: Extending the Repository: Behaviours and Actions

Next up are actions and behaviors. These make your content model come alive.

Actions let you encapsulate an operation on the repository so it can be executed from a rule, from custom Java or Javascript code or remotely using the web services API.

Behaviors are a way to couple behavior to your custom content types, if you want to trigger some code on creation or update of a document this is the way to go. You could say behaviors are an advanced version of rules.


Step 3: Web Scripts

Web Scripts allow you to extend Alfresco with your own RESTful API. Common use cases are creating a simple form, administration tool or custom view or to integrate with other applications. They are also used extensively inside to Alfresco Share UI.

Intro to the Web Script Framework

Step 4: Workflow

Content is almost always created or used in the context of a business process. In this tutorial Jeff explains how to implement content-based business processes by leveraging the Alfresco Activiti workflow engine. 

Activiti was created by the jBPM developers and supports the BPMN 2.0 standard.


Step 5: Integrating with Alfresco: the CMIS Web Services

The last step  in this series is CMIS. CMIS is a standard for accessing Enterprise Content Management systems like Alfresco. It is the recommended way to access content that's stored inside Alfresco form external applications.

There are two implementations: the SOAP web services and the AtomPub RESTful API. Alfresco supports both.

Getting Started with CMIS


The book

Because of the success of these tutorials they were reworked and published in the excellent book titled the Alfresco Developer Guide. If you want to learn more or just prefer a paper version over online tutorials this book is highly recommended!

Buy the book on Amazon (support this site by using the link below):


Alfresco Developer Guide



What's next?

The Alfresco Developer Series focuses on the Alfresco repository. Most projects require more extensive customization and extension of the Alfresco Share UI which is not really dealt with in these tutorials. I will cover this in a later article.

Subscribe to this blog so you don't miss the next post.