PERSON:
When created: Created (First name = 'bob, Last name = 'Jones', Gender='Male', Username = ) show the value of each field
When modified: Changed (First name from 'Bob' to 'Robert'): list each field that has changed with the new value and the old value
When deleted: Deleted (First name = 'bob, Last name = 'Jones', Gender='Male', Username = '): show the value of all fields as it was when deleted
CLASS (including enrollment changes):
When created/modified: same behavior as per person
When student or teacher enrolled : (Student/teacher) enrolled : (First name = 'Bob', Last name ='Jones' username = 'username', start date = 09/Mar/2026): Show role, then the student/teacher's first name, last name, and username.
When enrollment modified: Enrollment modified for First name = 'Name' Last name = 'Name', username='username': Changed (Start date from 09/Mar/2026 to 01/Mar/2026)
Enrollment requested: First name = 'Bob', Last name ='Jones' username = 'username', start date = 09/Mar/2026)
Enrollment <approved/rejected>: First name = 'Bob', Last name ='Jones' username = 'username', start date = 09/Mar/2026)
Playlist removed until this functionality is available in main branch.
table:
uid:
timestamp:
who:
changes: [
field: id/enum (e.g. id for first_name, last_name etc).
newVal: (string)ing sent.
oldVal: (string?)
]
Jenkins Status
As a user I want audit logs so that I can see a history of any data changes and who made the changes.
User flows:
Prototype here
Behavior notes:
Playlist removed until this functionality is available in main branch.
Implementation notes: