Title | Added | Last reviewed |
---|---|---|
Working with Enterprise |
v3.0.0 |
2019-10-18 |
By default the Alfresco SDK will use Community Edition releases but it can be configured to use Enterprise Edition releases. Here you will learn how to set up a project to work with an Enterprise Edition release, highlighting the changes required to make it work.
If you would like to work with the Alfresco Enterprise Edition, then this requires just a few property changes and a license installation. You also need to have access to the private Alfresco Nexus repository and the private Alfresco Quay.io Docker registry. See:
- How to configure private Alfresco Nexus repository.
- How to configure private Alfresco Docker registry.
The very first task to complete is about installing an enterprise license, otherwise the server will remain in read-only mode. This task is required if and only if you used the All-In-One archetype or the Platform JAR archetype to generate your project. If you used the Share JAR archetype to generate your project, feel free to ignore this task and move on the next one.
If you are an Alfresco Partner or Customer, you can request an enterprise license by you opening a ticket on the Alfresco Support Portal.
The Enterprise license is nothing more and nothing less than a file with lic
extension. The Enterprise license file goes into src/main/docker/license
folder (this folder will be located under the platform JAR submodule if you're using the All-In-One archetype). The license will be copied into the ACS Docker
container before it is started. The license file name doesn't matter, but make sure that you keep it simple and maintain the lic
extension.
The configuration of the Enterprise version is straightforward when using the pom.xml
configuration file stored in the root folder of your project.
You'll need to update the following settings in the pom.xml
file:
- Change the bill of materials (BOM) dependency name:
<alfresco.bomDependencyArtifactId>acs-packaging</alfresco.bomDependencyArtifactId>
- Change the Docker ACS image name (by also prepending the Enterprise Docker Registry, Quay.io):
<docker.acs.image>quay.io/alfresco/alfresco-content-repository</docker.acs.image>
In case the desired Platform version is 6.x, you'll also need to deal with the Keystore settings, by either:
- Removing the keystore settings:
<keystore.settings></keystore.settings>
or
- Adding the Keystore creation to the existing Dockerfile:
#Add Keystore
ARG CERT_DNAME="CN=Alfresco Repository, OU=Unknown, O=Alfresco Software Ltd., L=Maidenhead, ST=UK, C=GB"
ARG CERT_VALIDITY=36525
ARG KEYSTORE_PASSWORD=mp6yc0UD9e
ARG KEYSTORE_METADATA_PASSWORD=oKIWzVdEdA
RUN mkdir -p $TOMCAT_DIR/shared/classes/alfresco/extension/keystore
RUN keytool -genseckey -dname "$CERT_DNAME" -validity ${CERT_VALIDITY} -alias metadata -keypass ${KEYSTORE_METADATA_PASSWORD} -keyalg AES -keysize 256 -keystore ${TOMCAT_DIR}/shared/classes/alfresco/extension/keystore/keystore -storetype JCEKS -storepass ${KEYSTORE_PASSWORD}
Changing these parameters instructs the project to use the proper maven dependencies and Docker images.
Depending on the needs of your project, it will probably be necessary to change the org.alfresco:alfresco-remote-api
dependency to
org.alfresco:alfresco-enterprise-remote-api
or adding any other enterprise dependency like org.alfresco:alfresco-enterprise-repository
. In any case,
it won't be necessary to include the version of any of these dependencies due to the addition of the BOM dependency in the dependencyManagement
section of the parent pom.xml
file.
The configuration of the Enterprise version is straightforward when using the pom.xml
configuration file stored in the root folder of your project.
You'll need to update the following settings in the pom.xml
file:
<alfresco.platform.version>6.2.0</alfresco.platform.version>
<alfresco.share.version>6.2.0</alfresco.share.version>
Making use of the Alfresco SDK 4.x it is no longer required the configuration of the Alfresco Surf versions. The inclusion of the BOM and the custom Docker images will take care of that task automatically for you.
Once all the previous configuration is done, you only need to purge any possible old data (persistent data from the Docker containers), rebuild and restart the project.
$ ./run.sh purge
$ ./run.sh build_start
If you're using Windows, you'll need to use the run.bat
script instead of run.sh
.