Summary
The process instance view has no audit trail. C7 Cockpit's history view offers an "Audit Log" tab backed by the user operation log; webapps-neo currently exposes none of it, although the API layer already contains an unused function for exactly this data.
Expected (C7 Cockpit parity)
In history mode, an "Audit Log" tab on the process instance shows the user operation log entries: time, user, operation, entity, property, original value, new value, annotation — newest first. Data source: GET /history/user-operation?processInstanceId={id} (community feature, available from history level full).
Current state
src/api/resources/history.js already defines get_user_operation and state.api.history.user_operation exists — both unused.
- No tab renders this data.
Suggested implementation
Prototyped locally:
-
Add &sortBy=timestamp&sortOrder=desc to the existing get_user_operation query (Cockpit shows newest first).
-
New InstanceAuditLog component (same pattern as InstanceIncidents): fetch on [selection_id], table with the eight Cockpit columns; null cells rendered as "—".
-
Append the tab only in history mode, mirroring C7 where the audit log is part of the history view:
const tabs = history_mode ? [...process_instance_tabs, audit_log_tab] : process_instance_tabs;
const active_tab = tabs.find((tab) => tab.id === sub_panel) ?? tabs[0];
(Toggling history off while on the tab falls back to the first tab via the existing fallback.)
-
i18n keys: processes.tabs.audit-log, processes.audit.{time,user,operation,entity,property,original-value,new-value,annotation} for en-US and de-DE.
Out of scope (follow-up)
Editing operation annotations (PUT /history/user-operation/{operationId}/annotation, C7 EE Cockpit feature) — tracked separately.
Summary
The process instance view has no audit trail. C7 Cockpit's history view offers an "Audit Log" tab backed by the user operation log; webapps-neo currently exposes none of it, although the API layer already contains an unused function for exactly this data.
Expected (C7 Cockpit parity)
In history mode, an "Audit Log" tab on the process instance shows the user operation log entries: time, user, operation, entity, property, original value, new value, annotation — newest first. Data source:
GET /history/user-operation?processInstanceId={id}(community feature, available from history levelfull).Current state
src/api/resources/history.jsalready definesget_user_operationandstate.api.history.user_operationexists — both unused.Suggested implementation
Prototyped locally:
Add
&sortBy=timestamp&sortOrder=descto the existingget_user_operationquery (Cockpit shows newest first).New
InstanceAuditLogcomponent (same pattern asInstanceIncidents): fetch on[selection_id], table with the eight Cockpit columns;nullcells rendered as "—".Append the tab only in history mode, mirroring C7 where the audit log is part of the history view:
(Toggling history off while on the tab falls back to the first tab via the existing fallback.)
i18n keys:
processes.tabs.audit-log,processes.audit.{time,user,operation,entity,property,original-value,new-value,annotation}for en-US and de-DE.Out of scope (follow-up)
Editing operation annotations (
PUT /history/user-operation/{operationId}/annotation, C7 EE Cockpit feature) — tracked separately.