Skip to content

Enable the new CIB seven webclient UI (/webapp) once it is Spring Boot 4 compatible #19

Description

@emaarco

Context

The template ships the classic CIB seven web interface at /camunda (Cockpit/Tasklist/Admin).
CIB seven 2.2 also has a new webclient UI (Vue, served at /webapp, community/Apache-2.0). It would
be nice to expose the new UI, but it cannot currently run embedded in this app. This issue records
the finding so it can be picked up once the upstream blocker is resolved.

Root cause (verified against the running app)

A CIB seven webclient has two halves:

  1. Service/data beans (auth, engine client, modeler) — these do initialise embedded in our app.
    Startup log shows :: CIB seven webclient :: (2.2.0) and it even creates the modeler DB tables.
  2. Web layer — the HTTP controllers that map /webapp + /services/v1, plus the built Vue frontend.
    This lives in org.cibseven.webapp:cibseven-webclient-web.

service/app/build.gradle.kts deliberately excludes cibseven-webclient-web:

exclude(group = "org.cibseven.webapp", module = "cibseven-webclient-web")

because it calls PathMatchConfigurer.setUseSuffixPatternMatch(...), a method removed in Spring 7 /
Spring Boot 4
. With it on the classpath the app fails to start. Without it, only half (1) loads, so:

  • every /webapp/** and /services/v1/** path returns 404 (no controllers mapped),
  • there is no frontend to serve,
  • there is no configuration switch to re-enable it — the missing method is a hard class-load error.

By contrast, the classic /camunda webapp's web layer (cibseven-webapp-webjar) is Spring Boot 4
compatible, which is why it works embedded and the new one does not.

Options to re-enable (embedded)

  1. Upstream fix (preferred): a CIB seven release that ships cibseven-webclient-web compatible with
    Spring Boot 4. Then this is a one-line dependency change (drop the exclude). Blocked on upstream.
  2. Fork/patch the offending WebMvc configuration and serve the built frontend ourselves — heavy, fragile.
  3. Run the webclient as a separate service/container against our /engine-rest (not embedded).

Acceptance

  • When an SB4-compatible cibseven-webclient-web is available: drop the exclude, set the webclient
    path, and verify the new UI loads at /webapp against the embedded engine.
  • Until then: keep the classic /camunda cockpit (the header "cockpit" link points there).

Notes

Discovered while validating the containerized full stack (#11). Related upstream:
https://github.com/cibseven/cibseven-webclient

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions