In this getting started guide you are going to read the description of how to create your first responsive application from scratch, using the Alfresco Application Development Framework (from now on named ADF). The Alfresco ADF is provided by Alfresco as Open Source, to build custom applications on top of the Alfresco Content Services and Alfresco Process Services. We won’t introduce here the basis of the Alfresco ADF, because we would like to focus the content on the creation of your first ADF Project. To better describe the tasks, we are going to use “a step by step“ approach, more practical and easy to follow for our goal. If you would prefer to discover other details about ADF, please go through the content listed below.
For further details about the Alfresco ADF, please refer to the alfresco-ng2-components GitHub Project, with a friendly (and technical) overview of all the available components. For requests of support, questions and feedback, don’t forget to participate to the Community of Developers dedicated to the ADF or to the Gitter space dedicated to the Alfresco Angular components.
Creating your first application with Alfresco ADF is very straightforward, even if you are not an expert into all the requested languages and technologies. Below you can find the list of prerequisites you should check, to prepare your environment to the creation of your first ADF application.
Introduction to the Alfresco ADF architecture
In this introduction, we are going to introduce and describe the core services used as basis from your upcoming application. From an architectural point of view, the application created with Alfresco ADF is a front-end layer, completely decoupled from the back-end layer. The back-end layer is defined by a collection of RESTFul based services, as represented in the following picture.
In the following content we are going to introduce the prerequisites to develop a fully featured Alfresco ADF application.
NodeJS and Angular CLI
To install Node.js into your environment (and npm as a consequence) you can follow the various guides and tutorials over the web. Please take a look at the link here, for further details about the available distributions and support for its installation.
Another prerequisite of your development environment is Angular CLI to initialize, develop, scaffold and maintain Angular applications. Alfresco ADF supports Angular CLI 1.6.1, but it is compliance with newer versions too. To check which version is installed into your environment, you can run the command below into a terminal (valid for Linux and Windows based Operating Systems).
Alfresco Content Services
Alfresco Content Services is used by Alfresco ADF as part of the core services, but it can be optionally used if content services are required. Installing Alfresco Content Services as Alfresco ADF service layer is a regular and standard installation, without any exception or constraint.
The minimum Alfresco Content Services version supported by Alfresco ADF is 5.2 (201612 GA release for Community Edition). Both the editions (Community and the so called Enterprise) are supported.
NOTE: In the past versions of Alfresco ADF, some configurations of Alfresco Content Services were requested to allow CORS. This is not requested anymore, because of the use of a proxy, managed directly from the Alfresco ADF application.
Alfresco Process Services
Alfresco Process Services powered by Activiti, is used by Alfresco ADF as part of the core services, but it can be optionally used if process services are required. Installing Alfresco Process Services as Alfresco ADF service layer is a regular and standard installation, without any exception or constraint.
The minimum Alfresco Process Services version supported by Alfresco ADF is 1.6.4+/1.7.x. Currently, only the Alfresco Process Services distribution is supported.
In the past versions of Alfresco ADF, some configurations of Alfresco Process Services were requested to allow CORS. This is not requested anymore, because of the use of a proxy, managed directly from the Alfresco ADF application.
Common credentials in ACS and APS
If both Alfresco Content Services and Alfresco Process Services are required, it is recommended to have the same users and credentials in both the systems. With “same credentials” we mean the same users available, with the same username and password.
For this purpose, we suggest to create a new user with Administrator’s permits into Alfresco Content Services, with username firstname.lastname@example.org and admin as password (the default Administrator credentials in Alfresco Process Services).
All the content available in this getting started guide has been developed and tested using Alfresco ADF v2.0 release. Below the full list of platforms, languages, frameworks and tools used here.
- Linux Ubuntu 17.10 as Operating System.
- Alfresco Process Services powered by Activiti version 1.7.0 release for Linux (running on port 9999).
- Alfresco Content Services Community Edition 201707 GA release for Linux (running on port 8080).
- Node.js version 8.9.3.
Any variation to the listed versions and tools could affect the success of the tutorial, even if the involved technologies and tasks have been defined in as general a way as possible so as not to depend on any specific context or platform. Please let us know of any issue or problem. The best way to provide feedback is through the Community Portal dedicated to the Alfresco ADF or using the Gitter space dedicated to the Alfresco Angular components.