Enabling and Disabling the Modeler
CIB seven Modeler can be fully enabled or disabled using a single configuration property. When disabled, no database connection is required and the modeler is hidden from the UI.
Configuration
Set the following property in cibseven-webclient’s application.yaml:
cibseven:
webclient:
modeler:
enabled: false
Or via environment variable:
CIBSEVEN_WEBCLIENT_MODELER_ENABLED=false
Default is disabled
The property defaults to false. It must be set explicitly to true to activate the modeler.
What Happens When Disabled
When enabled: false:
- All modeler REST endpoints are removed from the application context
- JPA entities and repositories are not activated
- No database connection is required — DataSource and Hibernate/JPA auto-configurations are excluded automatically
- The modeler card is hidden on the start page
- The modeler menu item is removed from the navigation
No additional frontend configuration is needed — disabling the backend property is sufficient to fully remove the modeler from both the server and the UI.
Frontend Permissions
In addition to the backend property, you can also control modeler visibility through the frontend config.json permissions. This allows hiding the modeler UI while keeping the backend active (e.g., for API-only access):
"permissions": {
"modeler": {}
}
With an empty permissions object:
- The modeler card is hidden on the start page
- The modeler menu item is removed from the navigation
- Navigating to the
/modelerroute redirects to the no-permission page - The backend REST endpoints remain active
Chat Feature (Enterprise Edition)
The real-time chat inside the modeler is controlled by a separate property:
cibseven:
webclient:
modeler:
chat:
enabled: false
transport: longpolling # longpolling (default) | websocket
Or via environment variables:
CIBSEVEN_WEBCLIENT_MODELER_CHAT_ENABLED=false
CIBSEVEN_WEBCLIENT_MODELER_CHAT_TRANSPORT=longpolling
Default is disabled
chat.enabled defaults to false. It must be set explicitly to true to activate chat.
Requires modeler.enabled: true
Chat is currently used only inside the modeler. Setting chat.enabled: true while modeler.enabled: false has no effect on the UI.
Transport (available from 2.2.1)
The chat.transport property selects the delivery mechanism used to push events to connected clients:
| Value | Default | Description |
|---|---|---|
longpolling |
Yes | Events are sourced from the shared database. Works in single-instance and multi-pod deployments — no sticky routing or message broker required. |
websocket |
No | Events are pushed over STOMP WebSocket (/ws/chat). Suitable for single-instance deployments only. |
Multi-pod deployments
Use transport: longpolling (the default) in multi-pod environments. The websocket transport uses an in-memory broker that is per-pod: messages sent on one pod will not reach clients connected to a different pod.
What Happens When Chat Is Disabled
When chat.enabled: false:
- The WebSocket endpoint (
/ws/chat) is not registered (regardless oftransport) - Chat JPA entities and repositories are not activated — the
chat_messagesandchat_presencetables are not required - The Properties/Chat tab bar is hidden in the modeler UI — the properties panel shows in full single-panel mode
What Happens When Chat Is Enabled
When chat.enabled: true:
- Chat REST endpoints become active
- The
chat_messagesandchat_presencetables must exist in the database (created by the SQL schema scripts) - The modeler UI shows a Properties / Chat tab bar in the properties panel
- The Chat tab is disabled (greyed out with a tooltip) on unsaved diagrams — it becomes active once the diagram is saved
- If
transport: websocket, the STOMP WebSocket endpoint (/ws/chat) is additionally registered
Summary
| Configuration | Effect |
|---|---|
cibseven.webclient.modeler.enabled: false |
Disables backend (REST, JPA) and hides the UI — no database required |
cibseven.webclient.modeler.chat.enabled: false (default) |
Chat JPA inactive; modeler shows single-panel properties — chat_messages / chat_presence tables not required |
cibseven.webclient.modeler.chat.enabled: true |
Chat fully active; Properties/Chat tab bar shown in modeler UI |
cibseven.webclient.modeler.chat.transport: longpolling (default) |
DB-sourced events; no WebSocket broker; multi-pod safe |
cibseven.webclient.modeler.chat.transport: websocket |
STOMP WebSocket broker active (/ws/chat); single-instance only |
permissions.modeler: {} in config.json |
Hides the UI only — backend remains active |