expand logging of certain changes to loan records

Bug #2048389 reported by Galen Charlton
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Evergreen
New
Wishlist
Unassigned

Bug Description

If a staff user uses the Edit Due Date feature to update a loan, it would be useful to maintain an audit trail of that action - and actions like it. Similarly, it would be useful to explicitly record the staff user and workstation who marked a loan as claims returned or claims damaged.

An obvious way to do this, of course, is to create an auditor table on action.circulation. That would do the trick, but has a couple problems:

- A full auditor table on action.circulation will get a lot of rows recording actions that are tracked in the table itself - e.g., renewals, loans hitting max fine, etc. That can take up a lot of disk space.
- A full auditor table can also make it harder to query for exceptional staff actions due to the "noise" coming from the normal changes to an action.circulation row in the course of its lifecycle.
- A full auditor table would also complicate loan aging.

Consequently, I'm opening this bug as a discussion item to consider alternative or supplementary approaches. Possibilities I can imagine include:

- Adding a JSON column to action.circulation to log specific types of actions
- Enhancing the auditor table mechanism to have cstore/PCRUD/storage (via the Pg session?) to add the ability to generate auditor entries only when specifically requested. If we do that, then we might also do things like teach the auditor table to record the name of the top-level API that caused the change
- Adding an equivalent to Koha's action_log table that is a general-purpose audit log of the intent of changes to a table

Galen Charlton (gmc)
Changed in evergreen:
importance: Undecided → Wishlist
Galen Charlton (gmc)
description: updated
Galen Charlton (gmc)
description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.