Skip to content

Process instance history view: add "Audit Log" tab (user operation log, C7 Cockpit parity) #93

Description

@javahippie

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions