Changes made to the system configuration must be logged somewhere. In courses, we have the user activity log which logs modifications of the courses. However, this kind of log is not available on system level.
- All system configuration modifications must be logged
- Either dedicated admin log file or logging table (new or existing)
- Log entry must contain information about user who changed configuration, IP address, date and what was actually saved
- Log entries can be atomic for each single property or batch for all changed properties, whatever is feasible
- Sole purpose is to see who did when change what
Best would be to implement it on the managers/services. Maybe the user can derived from the thread local at that time so we don't have to change all the interfaces? Just an idea.
In recent releases we added log lines to log any kind of roles / group membership changes. Ideally this would be modified to being logged the same way as this other admin stuff.