Alfresco Source Code Walkthrough

cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco Source Code Walkthrough

Alfresco Employee
4 1 557

Alfresco Content Service deployment includes several services in order to provide different features for the product.

 

Alfresco Content Service DeploymentAlfresco Content Service Deployment

This blog post describes how these services are deployed, packaged and built from source code.

Resources

alfresco

This service is a WAR application deployed in Tomcat.

activemq

This service is an standard ActiveMQ with some customizations available in https://github.com/Alfresco/alfresco-docker-activemq

transform-misc

This Spring Boot service runs as a standalone application.

alfresco-pdf-renderer

This Spring Boot service runs as a standalone application.

imagemagick

This Spring Boot service runs as a standalone application.

libreoffice

This Spring Boot service runs as a standalone application.

tika

This Spring Boot service runs as a standalone application.

solr6

This service is a WAR deployed in a Jetty server.

share

This service is a WAR deployed in Tomcat server.

content-app

This service is an Angular app deployed on an NGINX or Apache Httpd server

proxy

This service is a customized NGINX server with some customizations available in https://github.com/Alfresco/acs-ingress/tree/acs-community-ingress

 

Building Alfresco from Source Code

In order to build the projects, following software needs to be installed in your computer:

  • Java 11
  • Maven 3
  • Docker (only to build Docker Images)
  • Node.js (only for content-app)

Every service is built from source code, packaged and published to Docker Hub as Docker Image or to Nexus Repository as ZIP Distribution file. Every GitHub project includes instructions on how to perform these operations.

Let's take SearchServices project as sample in order to build this service from source code.

Step 1: Clone the source code from GitHub

$ git clone https://github.com/Alfresco/SearchServices.git

Step 2: Build the Maven Project

$ cd SearchServices/search-services
$ mvn clean package -DskipTests

Step 3: ZIP Distribution file is produced by this Maven build in the following path

packaging/target/alfresco-search-services-2.1.0-SNAPSHOT.zip

Step 4: Docker Image can be built from packaging folder

$ cd packaging/target/docker-resources
$ docker build . -t searchservices:local
...
Successfully built a656068d4ec3
Successfully tagged searchservices:local

In case you want to build an specific version instead of master branch, just checkout the version tag (2.0.1 in the sample below) after cloning the project from GitHub.

$ git checkout 2.0.1

 

About the Author
Angel Borroy is Senior Software Engineer in Alfresco. Over the last 15 years, he has been working as a software architect on Java, BPM, document management and electronic signatures. He has been working with Alfresco during the last years to customize several implementations in large organizations and to provide add-ons to the Community based on Record Management and Electronic Signature. He writes (sometimes) on his personal blog http://angelborroy.wordpress.com. He is (proud) member of the Order of the Bee. Angel Borroy is Engineer at Alfresco.
1 Comment
Moderator
Moderator

Thanks for this useful post. I am trying to compare these community and enterprise image references:

https://github.com/Alfresco/acs-deployment/blob/master/docker-compose/community-docker-compose.yml#L...

https://github.com/Alfresco/acs-deployment/blob/master/docker-compose/6.2.N-docker-compose.yml#L64

These are using "alfresco-transform-core-aio (transform-core-aio)" instead of individual images.

Is there a difference between using "transform-core-aio" than using "alfresco-pdf-renderer, tika, imagemagick, libreoffice" ?