Repository navigation
Home
The Business Cockpit is the application business people work in. It lists the user tasks somebody may work on and the business cases those tasks belong to, and it shows each case's own forms and pages inside its own screens. Like VanillaBP itself it is BPMS-agnostic, so tasks from Camunda 7, from Camunda 8 and from any other engine end up in one list. A system which runs no workflow at all can report tasks as well. Such a task points at a page of the application it came from, and opening it takes the user straight there.
It is a microservice of its own. It runs no workflow and processes no business data. The applications which do are called workflow modules, and each of them reports its user tasks and its business cases to the cockpit, serves the forms for them, and answers the questions the cockpit asks about them. The cockpit holds what they report, as a copy it can search and sort.
So a workflow module needs no web application of its own for its user tasks. And nobody has to walk through one application after the other to find out what is to be done. Every application offers work, and without one place to collect it, each user has to gather it and then sort out for themselves what is urgent and what can wait.
If you only want to see it running, read Running the Business Cockpit and start the jar. If you are about to connect an application to it, Connecting a workflow module is where that starts. Everything else on this page is the reading order.
The cockpit shows two lists, and both of them are filled by what the workflow modules report.
The list of user tasks holds what the logged-in user may work on: the tasks assigned to them, the tasks their groups are candidates for, and the tasks nobody said anything about. Opening a task loads the form from the workflow module which owns it. A task which points at another application carries the whole address of a page in that application instead, and opening it takes the user there, in a window of its own. Saving and completing the form is the workflow module's own business, and the cockpit hears about the result the same way it hears about everything else, as a report.
The list of business cases holds the workflows a user may see. Opening one loads a status site from the workflow module, which may tell about the details of the case and where it stands, and may offer actions on it, cancelling it for instance. Both lists take their columns from the business data the workflow module reported, so a column can hold a customer name or an amount, and a user can search, sort and filter by it.
Around the two lists the cockpit adds what a single workflow module cannot do on its own. It holds one login for everything a user sees. It passes the user on to every workflow module it reaches, so a form can adapt to who is looking at it. It sends notifications about new work. And it updates a list while somebody is looking at it, without a reload.
It does not run workflows. A case appears in the cockpit because a workflow module reported it, and it disappears the same way.
It does not own business data. What a list column shows is a copy of what a workflow module sent, kept so the list can be searched and sorted. The truth stays in the application.
It does not start a workflow either. A button which starts one belongs to a workflow module, and the cockpit is only the place it is shown in.
-
Architecture
The cockpit next to the workflow modules, the proxy, the path a report takes, and why the store is a document database.
-
Running the Business Cockpit
The jar, the MongoDB behind it, the profilelocalwith its demo users, and how a first start tells you what is still missing. -
Security
Logging in, how a user reaches a workflow module, which cases and tasks that user gets to see, and how to put an identity provider in front of it. -
Configuration
Every key the cockpit server reads and every key a workflow module reads, and the four levels a value may be written at.
-
Building a custom Business Cockpit
The library next to the container, what an application of your own has to write, and the configuration it brings itself. -
Customizing the user interface
The delivered React application as an example, how far a copy of it gets you, and what a user interface of your own has to answer.
-
Connecting a workflow module
The one dependency, how a module registers itself, and the two ways its reports travel. -
Reporting workflows and user tasks
The provider methods your business code writes, the business data a list column is filled from, and reporting a change from your own code. -
Templates
Rendering titles and search texts from templates, per language, and what a template is handed. -
User task forms and status sites
Serving a form through module federation, the components ofbc-shared, and the columns of the two lists. -
Developing UI components locally
The dev shell for React and for Angular, and the dev shell simulator which stands in for the cockpit.
-
Migrating from version 1
What an application on the version 1 cockpit adapters has to change. -
Releases
Which cockpit version goes with which VanillaBP version, and what each release asks of you.
Each page assumes the pages above it and nothing below it, so reading in this order never leaves a term unexplained.
Three more wikis sit next to this one, one per BPMS. They describe what the cockpit's own half for that engine does, and they assume you have read the pages here: Camunda 7, Camunda 8 and the Process-Engine-API.
