Since Cockpit plugins are now easy to develop after Camunda 7.14.0, I’ve been writing simple plugins for myself to give some visibility into completed activities and processes. Last year, when really learning Camunda myself, “disappearing completed processes” on Cockpit was my greatest source of frustration in learning and and trying out BPMN with Camunda.
The current featureset is quite minimal with missing pieces everywhere, but I assume that I keep updating those while require more and better features myself during this year.
Really nice, thanks for sharing, @datakurre. Quick question: How can I “blend” your plugin into the cockpit library when I’m using the Spring Boot approach with Camunda. There, the library comes as a dependency “org.camunda.bpm.webapp:camunda-webapp-webjar:7.14.0”. I also read https://camunda.com/blog/2020/08/all-new-frontend-plugin-system-for-cockpit-starting-with-camunda-bpm-7-14/ but couldn’t find a description to add it to the cockpit with an external reference. My assumption is that I have to patch this library, i.e. get the jar file, get your plugin files and patch the webapp jar with your files and then use that newly patch jar file. Is my assumption correct? If yes, is there anybody out there having done that already, with some script magic to share here? Thanks.
Unfortunately I’m not able to find any documentation on how to add a cockpit plugin to camunda/camunda-bpm-platform:run-7.14.0 distribution.
Any idea on how to do it ?
I tried something like COPY camunda-cockpit-plugins/* /camunda/internal/webapps/camunda/app/cockpit/scripts/ with multiple different paths but no one is working on my side.
I haven’t tried it myself to be honest, but from the top of my head I’d say you should be able to add your files to configuration/userlib/META-INF/resources/webjars/camunda/app/cockpit/scripts in Run, resulting in the files being present on the classpath starting with META-INF/... as they would be with the “pure” Spring Boot approach (if I am not horribly mistaken on that one).
As I said, haven’t tried it myself but that could do the trick.
Too bad this doesn’t work for you. I will try to follow-up on this within the next days.
In the meantime, if someone else has already achieved this, feel free to update here
Finally managed to find time to add toggle for sequence flow rendering, and that is now merged into master:
While the rendering works for my current use cases, there must be unimaginable amount of corner cases where it fails to render correctly. Issues with example processes are welcome.
Since the first versions, there are also some other minor improvements like linking historic sub process and DMN executions from “Audit Log”.
Next up is some hidden refactoring to make bundled diagram and tab plugins actually be controlled by the same React app to make them share state and be able to e.g. implement shared filter for historic executions rendered on definition level:
At times,I feel a bit stupid having to re-implement “camunda commons ui” components with inferior versions to have some features taken for granted, but that’s probably the way until upcoming Camunda versions re-introduce commons ui library and it is usable outside Angular.
FROM camunda/camunda-bpm-platform:run-7.14.0
COPY --chown=camunda:camunda camunda-cockpit-plugins/* /camunda/META-INF/resources/webjars/camunda/app/cockpit/scripts/
USER root
RUN apk add --no-cache zip
RUN zip -r internal/webapps/camunda-webapp-webjar-7.14.0.jar META-INF
USER camunda
would you mind detailing a bit on how and why this works so others can get a better idea on this particular approach?
Official support and documentation of Cockpit Plugins in Camunda Run might come with a future release, but until then I guess it would help a lot of people with the same intentions that find this thread here
This is amazing, I am studying how to implement similar history tab in the tasklist. Show audit log of the process-instance currentUser started.
Will some modification to your js file do the job?