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:
- Custom branding and UI components
- Customer-specific Java services deployed inside the application server
- Long-lived partner products maintained across platform upgrades
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.