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 /modeler route 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 of transport)
  • Chat JPA entities and repositories are not activated — the chat_messages and chat_presence tables 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_messages and chat_presence tables 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

On this Page: