Hi team,
Laserfiche has done an excellent job providing your average process owner with the ability to manage and/or modify their own processes thanks to its really accessible and well built designer interface.
However, as the platform grows in popularity within an organisation, things can get a bit out of control from a 'who did what, when?' point of view. This has been discussed variously throughout the years but it is becoming a real issue as more users are empowered to take control of their processes and solution providers are having to guess what changes citizen developers may have made that broke a process.
Resorting to building reports in SQL isn't what users and/or administrators expect from a product that provides one of the most comprehensive audit trail tools for records management in the industry.
So, in this post I'd to put forward a feature request targeted specifically at version history / audit controls for business processes.
-
What is "Version History"?
The idea at the highest level is to provide change visibility to system administrators, solution providers and citizen developers.
It would be introduced through a version history tab in the Designer Mode. The version history would include a timeline (like the Monitoring History view) of:
Type: Process "Name" (+ID) (e.g. Leave Process [25]) or Form "Name" (+ID) (Manager Approval Form [123])
When: When the change was made. Date + Time + Distance (e.g. 20/06/2022 (4 hours ago))
Who: The user who made the change and their status in relativity to the process. (e.g. Jane Smith (System Administrator) or John Smith (Process Administrator))
What: The changes that were made. The changes would be from a free-text field surfaced to the user during a save. This could be a reference to a Support Ticket e.g. #12456, a URL, or a high level summary of changes that were made.
-
To ensure the minimum impact to all parties, my recommendation how to manage this is broken into two parts:
- System Administrator Controls
- Process Designer / Citizen Developer Controls
System Administrator Controls
- Process Options > Version History > Version History Enforcement (Enable/Disable)
- Process Options > Version History > Restrict Controls to System Administrators (Enable/Disable)
- Process Options > Version History > Notify on Changes (Enable/Disable)
- Process Options > Version History > Notification Address
- Process Options > Version History > Notification Message Editor
My recommendation is to provide an enforcement switch at the process settings level that can be set by system administrators or process owners. This switch would enable version history enforcement for that individual process and its forms. For security reasons (which I can elaborate on separately) there should also be an option to limit version history enforcement control (toggling) to System Administrators only.
In addition to the toggle, it would be nice but not necessary to also have the facility to notify on changes, and customise the message to include the change text. The scenario for this is a system administrator or solution provider could be notified when citizen developers make customisations or changes to their processes. Giving them the necessary heads up to be across support tickets that might follow shortly after if things don't work as expected.
Now granted, not all processes require heavy auditing, and also from a migration / compatibility perspective, version history shouldn't need to be 'on' or 'required' by default for existing processes. By being optional, this can remove the overhead of developing backwards compatibility into this feature, while giving system administrators the ability to choose which processes are tracked.
Additionally, being able to turn off version control during the initial development of a process or form will ensure this feature doesn't frustrate designers and administrators when building out a solution prior to final deployment.
Process Designer / Citizen Developer Controls
For a version history enforced process, my recommendation is to prompt the user upon saving any changes to a Form or Process Model. When the designer clicks "Save", they are prompted by a modal that advises them of version history being enforced and reminding them that a description of their changes are required for the audit log.
The user is presented with a free-text field where they can explain their changes, paste a URL or Ticket # and then click the "Save Changes" button.
The change information would then be saved to the version history and made available to other process administrators or system admins to see/refer to as per the above. If notifications were turned on, then the change owners (as specified above) would also be notified with an email that includes the details of the change.
-
That about sums it up from my end, I'm sure others would have some input as well for example, should changes to process settings, adding/removing users/publishing/unpublishing be things that are also captured?.. But I'll leave that for y'all to discuss!
As always, thanks for your consideration!
Kris
cc: @████████