Running Workflows locally with BAMOE Quarkus Dev UI extension
The BAMOE Quarkus Dev UI extension is a web app that attaches to the Quarkus Dev UI and allows developers to interact and manage running processes.

You will need to create a Business Service with the Quarkus framework support. Once you have done this you can add the BAMOE Quarkus Dev UI extension dependency to your pom.xml
file:
<dependency>
<groupId>com.ibm.bamoe</groupId>
<artifactId>bamoe-quarkus-devui</artifactId>
</dependency>
Then setup the application.properties
file to add users and user groups in the format:
bamoe.devui.users.<username>.groups=<comma separated list of groups>
For example:
bamoe.devui.users.jdoe.groups=admin,HR,IT
bamoe.devui.users.alice.groups=HR,IT
bamoe.devui.users.admin.groups=admin
To include the Swagger UI with the Open API specifications for you Workflow, add the following properties:
quarkus.swagger-ui.always-include=true
quarkus.smallrye-openapi.path=docs/openapi.json
To execute the project in the local development environment, open a new terminal and execute:
mvn clean quarkus:dev
This command should install the dependencies and run your Quarkus application in Dev mode locally (usually at http://localhost:8080
).
Using the BAMOE Quarkus Dev UI extension interface to manage processes
To access the BAMOE Quarkus Dev UI extension, open a browser and navigate to http://localhost:8080/q/dev-ui/
. This is the Quarkus Dev UI, where the BAMOE Quarkus Dev UI extension is listed.

Scroll down until to the BAMOE Quarkus Dev UI
box and click on any item in the list (Process Instances, Tasks, Jobs, or Forms) to open the BAMOE Quarkus Dev UI extension web app.
Process Instances

The Process Instances page will display all the running processes and their execution status. Clicking on any process instance will open the Process Instance details page.

Starting a new process instance
To start a new process instance, go to the Process Definitions tab. There, all the Process Definitions are listed, one for each Workflow in your resources directory.

Click on any Process Definition to open its respective initialization form.

Fill the form with relevant data for you Workflow and click on Start.
Note
|
The Process Defitions forms are auto generated, but can be customized in the Forms page. See more in the Forms section. |
Jobs

The Jobs page will display all the scheduled jobs and their execution status. Clicking on the actions menu on any job will show available options, including Details, which will open the job details modal.

Tasks

The Tasks page will display all the User Tasks and their priorities and status. Clicking on the task name will open the User Task Form that can be filled and submitted to progress it to the next phase.

Clicking on View Details will open a side panel with more details regarding the current task, including the parent process, possible assigned users/groups, id, name, and state.

Note
|
The Task forms are auto generated, but can be customized in the Forms page. See more in the Forms section. |
Forms

The Forms page will display all the available forms in the project. It initially will be empty, since all forms (for User Tasks and Process Definitions) are auto generated.
To add custom forms (for the hiring
Process Definition or HR Interview
User Task for example), follow the steps in Form code generation functionality and then place the generated forms in the src/main/resources/custom-forms-dev
folder.
Using the Swagger UI
Not directly related to the BAMOE Quarkus Dev UI extension, but also a useful tool to explore the REST and GraphQL API endpoints of your Workflow.

The Swagger UI lists all endpoints generated for your Workflow as well as the extra endpoints for management, such as /management/processes
.
To use the API, select any endpoint and click on Try it out to test it.
