Database Schema
When the modeler is enabled (cibseven.webclient.modeler.enabled: true), the webclient requires a database schema to store diagrams, forms, and user sessions. The required tables must be created before startup. The webclient can connect to and use the database, but it does not create, update, or validate the schema itself (ddl-auto: none).
When the modeler is disabled (cibseven.webclient.modeler.enabled: false), all modeler-related persistence components are disabled. No datasource configuration or database connection is required at all, as JPA is not initialized.
Schema creation is the responsibility of the parent application (e.g. cibseven-bpm-run). Refer to the parent application’s documentation for the DDL scripts and migration tooling it provides.
Database Tables
| Table | Description |
|---|---|
mod_processes_diagrams |
Stores BPMN and DMN diagram metadata and the raw XML |
mod_forms |
Stores form schemas as JSON |
mod_user_sessions |
Tracks open editing sessions per user |
mod_diagram_usage |
Associates a user session with a specific diagram |
mod_form_usage |
Associates a user session with a specific form |
mod_element_templates |
Stores reusable element template definitions |
mod_processes_diagrams_aud |
Stores one snapshot of a diagram per save, so earlier states can be browsed, restored and compared. Written only by the enterprise edition; the community edition leaves it empty |
mod_revinfo |
Numbers those snapshots and records when each was written. Enterprise Edition only |
chat_messages |
Stores real-time chat messages per room. Deleted messages are soft-deleted: the content is cleared and the row is retained as a tombstone, marked by deleted_at, so that polling clients learn about the deletion. Enterprise Edition only. |
chat_presence |
Tracks active users per chat room for the long-polling transport. Each row is a heartbeat record refreshed on every poll; stale entries are purged automatically. Enterprise Edition only. |
Enterprise Feature
The chat_messages and chat_presence tables are only required when the enterprise edition is active, cibseven.webclient.modeler.enabled: true, and cibseven.webclient.modeler.chat.enabled: true. They are not created in the community edition.
Schema Updates
The modeler tables are part of the engine schema, so they are updated with it. Follow the
database schema update guide — either the Liquibase
changelog or the $DATABASENAME_engine_$X_to_$Y.sql scripts — rather than applying modeler DDL by hand.
2.2 to 2.3
The long-polling chat transport added two schema changes, both applied by the 2.2-to-2.3 changelog entry
and by the $DATABASENAME_engine_2.2_to_2.3.sql scripts:
- the
chat_presencetable - the
deleted_atcolumn onchat_messages
A 2.2 installation that already used the chat over the websocket transport needs this update before
switching to longpolling: without chat_presence and deleted_at, presence and deletion events cannot be
served from the database.
chat_messages has to exist
The update alters chat_messages, so that table must already be present. Installations updated from 2.1
have it, because the 2.1 to 2.2 update creates it. An installation that was set up fresh at 2.2 only has it
if the modeler creation script was applied. Where it is missing, apply that script before the update —
otherwise the update fails on the chat_messages change, whether or not the chat is enabled.
Diagram snapshots
From 2.3.0 the enterprise edition writes the diagram snapshots itself, where earlier versions had Hibernate
Envers write them. This needs no schema change and no migration: mod_processes_diagrams_aud and
mod_revinfo keep the shape they had, snapshots written by 2.2 stay readable, and snapshots written by 2.3
have the same columns filled.
What does change is that spring.jpa.properties.hibernate.integration.envers.enabled no longer has any
effect and can be dropped from the configuration — including from the Helm values, where it was set for the
webclient deployment. Leaving it in place is harmless: nothing reads it any more.
Supported Databases
Refer to Prerequisites for supported database versions.