The Imixs-Admin project provides a web based administration tool to manage an Imixs-Workflow instance.
Imixs-Admin connects to a running Imixs-Workflow instance via the Imixs-Rest API.
These are the core features of Imixs-Admin:
- Search documents using Lucene search queries or the Java Persistence Query Language (JPQL)
- Update or add properties to documents and process instances
- Process a set of workitems in a batch process
- Delete a set of documents manually or in batch
- Manage BPMN Models
- Start AdminP Jobs to rebuild the index or upgrade existing data
- Import and Export workflow data into the file system.
Learn more about the Imixs-Admin Tool on the Imixs Workflow Project Site.
The Imixs-Admin client provides a Docker Image to be used to run the service in any Docker environment or in a Kubernetes cluster. The docker image is available on DockerHub.
You can start the latest version of the Imixs-Admin Tool in a docker container running:
$ docker run --rm --name="wildfly" -it \
-p 8080:8080 \
-e WILDFLY_PASS="adminadmin" \
imixs/wildfly
...and load the Imixs-Admin client from your browser
http://localhost:8080/
The initialization of a secure JAX-RS / HTTPs connection from the Imixs-Admin client to a Imixs-Workflow instance can fail caused by the lack of a certificate in Java's keystore. A certificate import into the java keystore fixes the problem in most cases. But for development or for system tests, however, a certificate verification is not required and can be omitted. To accept insecure SSL connections the environment variable IMIXS_REST_CLIENT_INSECURE can be set to 'true':
IMIXS_REST_CLIENT_INSECURE=true
In this mode, the Imixs-Rest Client will install a custom SSL TrustManager that accepts insecure SSL connections.
Note: This feature should only be used in dev and test environments!
Imixs-Admin runs as a self-contained microservice with a modern Web UI based on Jakarta EE Faces 4.0. The client interacts with the Imxis-Workflow Engine via the Imixs-Rest API and the Imixs-Melman library. You can adapt or extend the project if needed.
Imixs-Admin is based on Jakarta EE 10 and Wildfly Version 27.0.0. To build the imixs-admin client manually from sources run the maven command:
$ mvn clean install
The .war file can be deployed into any Jakarta EE Application server.
To build the imixs-admin Docker image manually run:
$ mvn clean install -Pdocker
To start it from your local docker environment:
$ docker-compose up
The Imixs-Admin client is installed per default into the root context "/". You can change the root context by changing teh glassfish-web.xml file. The following example set the root-context to "/dev/":
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN"
"http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
<context-root>/dev/</context-root>
</glassfish-web-app>
During development you can use the docker-compose-dev.yml file. This stack contains a sample application and the Imixs-Admin tool. The deployment is maped to the docker/deployments folder to the wildfly auto deploy directory.
$ mvn clean install -Pwildfly
$ docker-compose -f docker-compose-dev.yml up
you may have to grant the deployment folder first to allow the docker non privileged user to access this location.
$ sudo chmod 777 docker/deployments/
In this mode the deployment directory for wildfly is mapped to '~/git/imixs-admin/src/docker/deployments'
To build the Docker image directly from the Dockerfile run:
docker build --tag=imixs/wildfly .