Use these instructions to install the Transform Service using the distribution zip and connect it to an instance of Alfresco Content Services.
The Transform Service distribution zip file includes all the files required to provide the transformation and metadata extraction capabilities. Ensure that you’ve installed the Prerequisites before continuing.
- Browse to Hyland Community and download alfresco-transform-service-distribution-x.x.x.zip, where x.x.x is the version number.
-
Extract the zip file into a system directory; for example,
<installLocation>/.
In this directory you’ll see the following content including three runnable JAR files, with x.x.x in the names being their version numbers:
- alfresco-shared-file-store-controller-x.x.x.jar
- alfresco-transform-core-aio-boot-x.x.x.jar
- alfresco-transform-router-x.x.x.jar
- README.md
- IPTC Content Model
- Needs to be bootstrapped into Alfresco Content Services for IPTC Metadata extraction to work, unless you are using Alfresco Content Services version 7.1.0+. See Supported Platforms for more information.
-
Start Active MQ.
For example, run the following command from the ActiveMQ installation directory:
bin/activemq start
For more information on installing and configuring ActiveMQ, see the Configure ActiveMQ section in the Alfresco Content Services documentation.
Check the output to ensure that it starts successfully.
Make a note of the TCP URL, with example format tcp://server:port, where server is the host name of the server where ActiveMQ is installed. This is used in later steps.
Content Services uses ActiveMQ for message queuing with various products, including the Transform Service.
-
Start the Shared File Store (SFS) controller:
java -DfileStorePath="/path/to/your/AlfrescoFileStore" \ -Dscheduler.contract.path="/path/to/tempdir/scheduler.json" \ -jar alfresco-shared-file-store-controller-x.x.x.jarCheck the output to ensure that it starts successfully.
By default, files are stored in fileStorePath=/tmp/Alfresco. This can be modified using the fileStorePath parameter as shown in the above example.
The SFS allows components such as the repository, and the Transform Service to share a common place to store and retrieve files, for example, to enable transforms from an input source file to an output target file.
Note: Adding the scheduler contract path property to SFS startup is only required if running Windows. -
Start the all-in-one Transform Core Engine Spring Boot app:
java -DPDFRENDERER_EXE="<alfresco-pdf-renderer_installation_dir>/alfresco-pdf-renderer" \ -DLIBREOFFICE_HOME="<libreoffice_installation_dir>" \ -DIMAGEMAGICK_ROOT="<imagemagick_installation_dir>" \ -DIMAGEMAGICK_DYN="<imagemagick_installation_dir>/lib" \ -DIMAGEMAGICK_EXE="<imagemagick_installation_dir>/bin/convert" \ -DACTIVEMQ_URL="failover:(tcp://<server>:61616)?timeout=3000" \ -DFILE_STORE_URL="http://<server>:8099/alfresco/api/-default-/private/sfs/versions/1/file" \ -jar alfresco-transform-core-aio-boot-x.x.x.jarNote: LibreOffice, ImageMagick and Alfresco PDF Renderer binaries needs to be installed on the server where the all-in-one core T-Engine is setup. See the Prerequisites for more details. You may need to change the paths depending on your operating system.For example:
java -DPDFRENDERER_EXE="/usr/local/acs74/alfresco-pdf-renderer/alfresco-pdf-renderer" \ -DLIBREOFFICE_HOME="/usr/local/acs74/libreoffice" \ -DIMAGEMAGICK_ROOT="/usr/local/acs74/imagemagick" \ -DIMAGEMAGICK_DYN="/usr/local/acs74/imagemagick" \ -DIMAGEMAGICK_EXE="/usr/local/acs74/imagemagick/convert" \ -DIMAGEMAGICK_CODERS="/usr/local/acs74/imagemagick/modules-Q16HDRI/coders" \ -DIMAGEMAGICK_CONFIG="/usr/local/acs74/imagemagick/config-Q16HDRI" \ -DACTIVEMQ_URL="failover:(tcp://localhost:61616)?timeout=3000" \ -DFILE_STORE_URL="http://localhost:8099/alfresco/api/-default-/private/sfs/versions/1/file" \ -jar /usr/local/acs74/bin/alfresco-transform-core-aio-boot-x.x.x.jarCheck the output to ensure that it starts successfully.
The all-in-one core T-Engine combines the five T-Engines (i.e. LibreOffice, ImageMagick, Alfresco PDF Renderer, Tika, and Misc) into one single engine. All functionality that’s available in the five T-Engines is available in the all-in-one core T-Engine. The command-line options provide the paths to the installation locations and the URL of the messaging broker.
-
Start the Transform Router Spring Boot app:
java -DCORE_AIO_QUEUE="org.alfresco.transform.engine.aio.acs" \ -DCORE_AIO_URL="http://localhost:8090" \ -DACTIVEMQ_URL="failover:(tcp://localhost:61616)?timeout=3000" \ -DFILE_STORE_URL="http://localhost:8099/alfresco/api/-default-/private/sfs/versions/1/file" \ -jar alfresco-transform-router-x.x.x.jarCheck the output to ensure that it starts successfully.
The Transform Router allows simple (single-step) and pipeline (multi-step) transforms that are passed to the Transform Engines. The command-line options provide the router with the required data for T-Engines, queuing, and file-store URL.
-
Set the following properties in the
<TOMCAT_HOME>/shared/classes/alfresco-global.properties
file:
# ActiveMQ properties: messaging.broker.url=failover:(tcp://server:61616)?timeout=3000 messaging.broker.username=$MQUSER messaging.broker.password=$MQPASS # Shared File Store properties: sfs.url=http://localhost:8099 sfs.endpoint=${sfs.url}/alfresco/api/-default-/private/sfs/versions/1 # Transform Router properties: transform.service.enabled=true transform.service.url=http://<Transform Service host>:8095/ # Transform Core properties: localTransform.core-aio.url=http://<Transform Service host>:8090/This overrides the default properties provided by Content Services.
Note: Any changes to alfresco-global.properties require you to restart Alfresco Content Services to apply the updates. See the Using alfresco-global.properties section in the Alfresco Content Services documentation for more information. - Check that the configuration is set up correctly for your environment.
- Restart Alfresco Content Services.
-
Ensure that the environment is up and running:
- Check the logs for Content Services startup.
- Monitor ActiveMQ by accessing the Web Console, e.g. http://localhost:8161/admin/.
- Temporarily enable TransformDebug in the repository if you want to see detailed debug log entries.
- Navigate to Digital Workspace or Share, and upload a file (such as a .jpg, .png, .docx etc.).
-
Check the logs to see the metadata and work performed for the uploaded
file. These should be available in the Spring Boot apps:
- alfresco-transform-router
- alfresco-transform-core-aio
Files should also be available in the specified path for the alfresco-shared-file-store. However, these files will only temporarily appear in the Shared File Store until explicitly deleted by the repository and/or expired and cleaned up.