Foundation for Developers


To purchase this content please click "Purchase" below.

The content is priced at $ 3250.00 USD per participant

By submitting this form you are confirming that you have read and agree to our privacy policy.


Applies to Alfresco versions: 4.0 

This self-paced practical course is designed to introduce you to the technology of Alfresco Enterprise Content Management. Through a combination of self-paced learning sessions, demonstrations and exercises you can begin to familiarize yourself with Alfresco technology, and gain an insight into its architecture and deployment options.


This course can be completed in 16-18 hours and allows you to pause and replay sections. You will find step-by-step instructions with video demonstrations and audio narrative, your learning is tested through a series of quizzes. The course is enhanced through online labs in a real environment.


This course is aimed at first time Alfresco users who will be involved on an Alfresco project  and who will be continuing an Alfresco learning pathway to become an Alfresco developer or expert.

This course is suitable for Project Managers, Technical Architects and Business Analysts who have a good grasp of current technology and have practical experience of configuring systems using XML.


The course can be taken without any previous Alfresco experience and does not require any other courses as a pre-requisite. It acts as a precursor to a number of other Alfresco courses.

It is a requirement that you understand XML and are able to edit XML files for configuration of the system. You should be familiar with basic system administration of an operating system such as Linux or Windows.

Course Objectives

The course will allow participants to understand what it is possible to do with the system and to make appropriate and informed decisions about when to deploy the technology and how to deploy the technology.

In order for participants to understand how development is carried out we also look at the alternative options of configuring, customizing and developing with Alfresco.

At the end of this course you should be able to:

  • Understand the components of an Alfresco ECM system and their interactions
  • Create and manipulate content in the repository
  • Understand how Alfresco manages content and metadata
  • Understand the Alfresco content model
  • Create custom object types and aspects
  • Describe the Alfresco security model
  • Configure users, groups, and roles
  • Understand repository configuration

Course Contents

This course has exercises which are carried out in a virtual labs environment. This is a real running Alfresco environment on an Ubuntu (Linux) platform. You will need to know some simple Linux commands such as ls and cd to complete the exercises.

This course is based on the following Alfresco Elements: Introducing Alfresco, architecture and technology, user interfaces, users and groups, permissions, repository configuration, managing the repository, content modeling overview, creating content models and developing applications.


Architecture and Technology

Looking at the basic building blocks of an Alfresco system, how the components fit together and the information required to build a system architecture for a production system.

  • Architecture review
  • Start-up and connecting
  • Key architecture decisions
  • Minimum configuration requirements
  • Subsystems

User Interfaces

Familiarizing you with the Alfresco user interfaces so that you can understand strength and weaknesses of each and are able to create, edit and manipulate content in the repository.

  • Standard interfaces
  • Share
  • The Share architecture

Users and Groups

In this section we will look at the creation and management of users and groups within Alfresco. We also look at the relationship between users and roles and the options for authentication within Alfresco.

  • Users
  • Groups
  • Authentication
  • Roles

Security and Permissions

Alfresco provides a very sophisticated and flexible security model, in this section we look at this model from a high level perspective. In order to provide a smooth user experience the security model is simplified through the use of roles and permission groups, we look at how these work and how you can easily manage security based on these methods.

  • Overview and Concepts
  • Authentication
  • Roles/Permission Groups
  • Managing permissions
  • Permissions
  • Low level permissions

Repository Configuration

Starting with basic principles and building on the knowledge gained in the Architecture Section we look at repository configuration and the tools available to an Alfresco System Administrator. Moving on we look at security covering users and groups, permissions and the use of external authentication such as LDAP.

  • Understand how repo configuration is done
  • What types of things can be configured
  • Configuration boot-strapping
  • Configuring Subsystems
  • Advanced configuration
  • Deploying extensions
  • Best practices

Managing the Repository

Repository management consists of the tasks required to ensure that you have a reliable and well performing repository, as well as managing on-going tasks which may change the repository or require adjustment. The regular on-going tasks include monitoring health and usage of the repository and preventative maintenance. At other times you may need to install applications and change the times and frequency of scheduled jobs. Alfresco provides a very powerful way to add rules to folder to provide creative solutions for automating and managing your content, we will look at what you might use such rules for and how you can set these rules up as an administrator or developer.

  • Installing applications
  • Scheduled jobs
  • Monitoring health
  • Monitoring usage
  • Preventative maintenance
  • Managing content using rules

Content Model Overview

In order to use Alfresco content models developers need to be able to understand the terminology behind content models, understand what a content model is and the different way models may be implemented and bootstrapped. Finally we look at the way models are manifested to the user in the user interfaces

  • Nodes, node ids
  • Relationships, types, aspects, associations
  • What is a content model
  • Built in types and aspects
  • Deploying a content model

Creating Content Models

In this section we learn how to create new content models and understand what can and can’t be done in a content model. We look at all the components of a content model and how to deploy and test new content models, best practices are covered as part of the development approach.

  • Content models explained
  • Types and properties
  • Deploying content models
  • Associations, aspects and constraints
  • User Interface Manifestation
  • Advanced Topics
  • Best practices

Developing Applications in Alfresco

In this section we look at the different approaches to application development with Alfresco, the different APIs available and help you to decide on a good approach to application development.

  • Application development choices
  • Approaches to application development
  • Source code

Technical Requirements

This course is suitable for developers who will be working in either Linux or Windows environments, however the labs environment is provided in Linux only. The course covers Alfresco 4.0 onwards. You will need the following to complete this course:

  • a web browser including IE 9 or later, Chrome, Firefox or Safari.
  • Adobe Flash Player v9 or greater
  • high speed internet connection (minimum 8Mb/sec)


You have access to the course for a period of 45 days from the day of registration.