Documentation
Built by Maven

Custom Build

For projects that require deep UI customization, custom Java services, or long-term maintenance across platform upgrades, Dynamixs.AI supports a Maven-based custom build using the WAR Overlay mechanism.

This approach is ideal for:


How It Works

The build is based on the Maven WAR Overlay mechanism. The Dynamixs.AI platform UI is used as the base WAR. Your own files in src/main/webapp/ automatically take precedence over files from the base — everything else is inherited unchanged.

The build chain looks like this:

imixs-office-workflow-app     (WAR, public on Sonatype)
        ↓ overlay
dynamixs-platform-ui          (WAR, Dynamixs.AI GitHub Packages)
        ↓ overlay
your-custom-project           (WAR, your build)

Prerequisites

  • Java 17+
  • Maven 3.9+
  • A Dynamixs.AI Partner Account on GitHub

To become a partner and get access to the Dynamixs.AI GitHub packages, contact us at partner@dynamixs.ai.


Step 1 — Configure Maven Credentials

Add the following to your local ~/.m2/settings.xml to authenticate against the Dynamixs.AI GitHub Package Registry:

<settings>
    <servers>
        <server>
            <id>github-dynamixs</id>
            <username>YOUR_GITHUB_USERNAME</username>
            <!-- Personal Access Token with read:packages permission -->
            <password>YOUR_GITHUB_TOKEN</password>
        </server>
    </servers>
</settings>

Create a GitHub Personal Access Token with read:packages permission at: https://github.com/settings/tokens


Step 2 — Clone the Partner Template

git clone https://github.com/dynamixs-ai/partner-template.git your-project
cd your-project

Step 3 — Customize pom.xml

Change groupId, artifactId, and finalName to match your project:

<groupId>com.acme</groupId>
<artifactId>acme-workflow</artifactId>
...
<finalName>acme-workflow</finalName>

Step 4 — Build

mvn clean package

The custom WAR file will appear in target/. Use the developer Docker Compose file to deploy it:

docker compose -f docker/docker-compose-dev.yaml up -d

Project Structure

your-project/
├── pom.xml
├── docker/                          ← Docker Compose setup
└── src/main/
    ├── java/
    │   └── com/acme/                ← your custom CDI beans and services
    └── webapp/
        ├── WEB-INF/
        │   └── web.xml              ← optional: custom servlets/filters
        ├── layout/
        │   ├── css/
        │   │   └── custom.css       ← override platform styles
        │   └── components/          ← custom JSF components
        └── pages/
            └── workitems/
                └── parts/           ← override form parts

Upgrading the Platform Version

To upgrade to a new version of Dynamixs.AI, simply change the version property in your pom.xml:

<ai.dynamixs.version>1.1.0</ai.dynamixs.version>

Then rebuild with mvn clean package. Your customizations in src/main/webapp/ are never touched by the upgrade.