I'm using Mediawiki as a Quality Management System https://en.wikipedia.org/wiki/Quality_management_system (QMS). I'm using the ApprovedRevs https://www.mediawiki.org/wiki/Extension:Approved_Revs extension to enable a lightweight approval workflow. This enables me to show users only the approved version of a given policy, process or procedure.
I'd like to add a button at the bottom of each page that an employee would click to acknowledge they read and understood the approved version of the document. If a new version of the document is approved, the user would need to return to the page and repeat the acknowledgement. The acknowledgements would likely be stored in new tables in the database.
Ideally, I'd use the "This is a minor edit" flag to indicate when a page might need an employee to re-read it. If all changes between approved versions were minor, rereading (retraining) would not be needed. But if there were a non-minor change and the page was approved, then individuals would need to return and indicate they re-read and understood the page.
I'd like to only show the "I read and understood this" button when the user belongs to a specific group for whom the policy, procedure or process applies. We use Semantic Mediawiki, and I imagine I'd make use of template properties to create an "Applies to groups" property, and wire things up to Active Directory to determine group membership.
I have other ideas for rounding out this feature. Adjunct user pages might be created so users can track which pages they need to review and which they're "trained" on already. Will likely need reports so managers can keep tabs on employee training.
I'm wondering if anyone's done anything like this previously and could steer me to existing extensions that might help. I've searched through the existing extensions but nothing jumped out at me as an obvious fit.
I'm guessing I'll need to write a custom extension to accomplish most of the above.
Thanks! Larry