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:
- 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.
- 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)
- 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.
- Fork/patch the offending WebMvc configuration and serve the built frontend ourselves — heavy, fragile.
- 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
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 wouldbe 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:
Startup log shows
:: CIB seven webclient :: (2.2.0)and it even creates themodelerDB tables./webapp+/services/v1, plus the built Vue frontend.This lives in
org.cibseven.webapp:cibseven-webclient-web.service/app/build.gradle.ktsdeliberately excludescibseven-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:
/webapp/**and/services/v1/**path returns 404 (no controllers mapped),By contrast, the classic
/camundawebapp's web layer (cibseven-webapp-webjar) is Spring Boot 4compatible, which is why it works embedded and the new one does not.
Options to re-enable (embedded)
cibseven-webclient-webcompatible withSpring Boot 4. Then this is a one-line dependency change (drop the exclude). Blocked on upstream.
/engine-rest(not embedded).Acceptance
cibseven-webclient-webis available: drop the exclude, set the webclientpath, and verify the new UI loads at
/webappagainst the embedded engine./camundacockpit (the header "cockpit" link points there).Notes
Discovered while validating the containerized full stack (#11). Related upstream:
https://github.com/cibseven/cibseven-webclient