Installing the FDK Content Model into an Alfresco SDK AIO Project - Alfresco Content Services - 23.4 - 23.4 - Ready - Alfresco - external

Alfresco Content Services

Platform
Alfresco
Product
Alfresco Content Services
Release
23.4
License

Download the Form Development Kit (FDK) Source JAR

Download the FDK Source code: fdk-custom-model-module-x.x-sources, where x.x is the version number.

You can find the FDK Source code in the Alfresco Nexus repository. Log in and search for "fdk-custom-model-module" on the Nexus repository, available at https://nexus.alfresco.com/nexus.

Alfresco customers can request Nexus credentials by logging a support ticket via Hyland Community. These credentials are required to access private (Enterprise-only) artifacts from the Nexus repository.

Copy the FDK content model files into the SDK project:

Change the extension name for the FDK JAR file so its a ZIP file instead. Then open and extract its content. Now copy both the fdk-model.xml file and the fdk-model.properties file into the aio/aio-platform-docker/src/main/docker AIO SDK directory.

Bootstrap FDK content model:

Update the acs61-aio/acs61-aio-platform/src/main/resources/alfresco/module/acs61-aio-platform/context/bootstrap-context.xml file so it also bootstraps the FDK content model, the dictionary bootstrapper bean should now look something like this:

<beanid="acs61-aio-platform.dictionaryBootstrap"parent="dictionaryModelBootstrap"depends-on="dictionaryBootstrap">
    <property name="models">
        <list>
            <value>alfresco/module/${project.artifactId}/model/content-model.xml</value>
            <value>alfresco/module/${project.artifactId}/model/workflow-model.xml</value>
            <value>alfresco/extension/fdk-model.xml</value>
        </list>
    </property>
    <property name="labels">
        <list>
            <!-- Bootstrap Resource Bundles for the content model types, aspects, properties etc -->
            <value>alfresco/module/${project.artifactId}/messages/content-model</value>
            <value>alfresco/extension/fdk-model</value>
        </list>
    </property>
</bean>

Open up the platform/repository Docker file and add the command to copy the FDK content model files into an alfresco/extension directory

The platform (repository) Docker file is located in the aio/aio-platform-docker/src/main/docker AIO SDK directory. Add the following COPY command at the end of this file:

...
# Copy in the FDK content model for association/relationship example
COPY fdk-model.xml fdk-model.properties $TOMCAT_DIR/shared/classes/alfresco/extension/

What this Dockerfile will do is build a custom Repository Docker image that is based on the out-of-the-box Alfresco Repository Docker image that you are using. After it has copied in all the extensions, config files, license etc it will finish by copying in the fdk-model.xml and fdk-model.properties files into the tomcat/shared/classes/alfresco/extension directory where they will be picked up and deployed.

Restart the platform/repository container

We have changed only the platform/repository, so it is enough to just restart this container:

acs61-aio mbergljung$ ./run.sh reload_acs
Killing docker_acs61-aio-acs_1 ... done
Going to remove docker_acs61-aio-acs_1
Removing docker_acs61-aio-acs_1 ... done
...
Note: This does not remove any content or metadata.

Now that the FDK content model is available in our Alfresco installation we can move on and try out associations.