Annotation Mode Data Integrity Issue
Currently, when a role has the "Edit Field" permission enabled for annotation mode, they are able to edit fields on an otherwise Status Locked record by adding an annotation alongside the change they make. This is great for the revisions process as it creates a clear record of where an external user has made an update to a record they already submitted; they are not able to make changes to fields unless they also include an annotation.
However, there is a delete button on individual annotations that is only accessible to the user who added that specific annotation. When testing deleting annotations, we discovered that an external user is able to change a field via annotation mode, then delete the annotation associated with this field level change, and while the annotation is deleted, the field level change is retained. This creates a data integrity issue as it means users could make changes to fields and then delete the associated annotation, thus removing the clear record of what changes were made during the resubmit.
This feels counterintuitive to how annotation mode was designed, as to save an edit made to a field while in annotation mode, a user must add a message; this makes sense based on what I previously described before with how annotation mode allows for override of the status lock. Without anyway to toggle the availability of the delete button or have the field level change revert, the intended use of annotation mode to enhance revisions while maintaining security is lost.
There is the ability to see field level changes via annotation mode with the Track History toggle; however, the field history button shows up on a specific annotation once a field level change has been made with it, so if that annotation is then deleted, there is still no clear flag that a specific field was changed. Additionally, while the Track History feature can be used for individual fields to see if they were changed, this defeats the ease of review that annotation mode is supposed to create, as it means our staff would have to manually click through the field history button for each individual field they suspect was changed, instead of seeing a clear indication of that via an annotation.
To address this issue, there should either be the ability to toggle the delete button on or off for various roles (similar to the other permissions for Annotation Mode in a specific status) or there should be a workflow or validation in place that causes the field value to revert back if its associated annotation is deleted.
Someone has given “View and Create” permissions to the external role within your system. If you only give “View” and “Edit Field” permissions to the external role they will only be able to reply and edit field values, but they will not be able to delete annotations.
The ability to create an annotation serves as the mechanism for permitting updates to otherwise locked fields and the ability to delete is intended for users that may have unlocked a field by mistake. Once a field value has been changed and saved, it becomes part of the record data independently of the annotation itself. If you are tracking changes in that field, you can see those changes in the log even If the annotation is deleted.
Please work with support to update your configuration.