Installing the Custom 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
  1. Verify what content model that is currently defined in the SDK project.

    When you generate an Alfresco SDK project, such as an All-In-One (AIO) project, it comes with a predefined content model that already includes the acme:document type and the acme:securityClassified aspect. Look in the aio/acs-aio-platform/src/main/resources/alfresco/module/acs-aio-platform/model/content-model.xml file and check what is currently defined. If you see the type and the aspect, then you don’t have to copy the files into the SDK project.

  2. (OPTIONAL) Copy the content model files into the SDK project.

    Copy both the acme-content-model.xml file and the acme-bootstrap-context.xml file into the aio/aio-platform-docker/src/main/docker AIO SDK directory.

  3. (OPTIONAL) Open up the platform/repository Dockerfile and add the command to copy the 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 custom content model for upload file example
    COPY acme-content-model.xml acme-bootstrap-context.xml $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 acme-content-model.xml and acme-bootstrap-context.xml files into the tomcat/shared/classes/alfresco/extension directory where it will be picked up and deployed.

  4. (OPTIONAL) 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.