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 powered by Activiti. 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.
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.
Alfresco ADF requires Node.js JavaScript runtime built, together with its package ecosystem named npm. Alfresco ADF supports Node.js 8.9.3 as official long term supported version, 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).
node -v
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).
ng --version
To install Angular CLI into your environment you can follow the various guides and tutorials over the web. Please take a look at the link here, for the official documentation.
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 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 powered by Activiti were requested to allow CORS. This is not requested anymore, because of the use of a proxy, managed directly from the Alfresco ADF application.
If both Alfresco Content Services and Alfresco Process Services powered by Activiti 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 admin@app.activiti.com and admin as password (the default Administrator credentials in Alfresco Process Services powered by Activiti).
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.
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.
Blog posts and updates about Application Development Framework (ADF).
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.