How to Let Users Delete Records without Delete Permission
The permission to delete records is often reserved for admin level users and access should be given with discretion. This brief tutorial demonstrates how to:
- Configure an action button that allows users to mark records for deletion, so they do not require full delete permission.
- Create a time-based rule and Delete action that regularly delete the records marked by users with the action button.
This configuration is best used in situations when data recovery is critical, when accidental record deletion is likely otherwise a serious concern. Depending on the table and the degree to which record contain linked data, deleting records can be resource intensive and appear slow while the system repairs and deletes links. A time-based rule to delete marked records can therefore shift the performance load to off-peak hours.
Mark for Deletion Button
First, create an action button that users can access from a record view.
Before starting your button configuration, ensure that your table includes a Pending Deletion status.
- From the Fields tab of the Table menu, create a new action button.
- Label the button Mark for Deletion.
- Under Before executing actions, choose Do nothing and then Execute Actions. Click Add Action.
Update Field Actions
Your action button requires one primary Update Field action to change the status of the record. Configure the field with the following parameters:
- In the Action wizard, select Update Field Action.
- On the General tab, name your action Set Status to Pending Deletion.
- On the Fields tab select Status and then click Next.
- Under the Status drop-down, select Pending Deletion. Click Finish.
- In the Action wizard, ensure your new action is selected and click Finish.
In addition to the action button, your configuration also requires a delete action that deletes marked records after a certain number of days. After a user clicks the Mark for Deletion button that you created above, the admin can choose to change the status, which prevents the selected records from deletion.
- Name your rule TB: Daily: Delete records pending deletion.
- On the Rule Type tab, choose At selected time intervals.
- On the Condition tab, create a saved search with the following conditions:
- Status is equal to Pending Deletion.
- Date Updated is greater than 30 days old.
- Name your search R: Pending Deletion more than 30 days.
- On the Action tab, click Create Delete Action.
- In the Delete Action wizard, name your action Delete Attachment record and choose Delete the record itself. Click Finish.
- Ensure that your new action is selected and click Finish to complete your rule.
Use Case Considerations
The configuration described above is a basic guideline for a delete button of this nature. However, it is important to consider the table where your button exists and how the records in that table are used. When a user clicks the Mark for Deletion button, they aren't truly deleting the record yet and it will continue to be used in other actions and rules if the system is set up to do so.
For example, this button could be configured on the attachments table in a contract management solution. For this use case, the admin should consider rules affecting the Attachments table and where attachments are included in the system or sent by email. If, for instance, an approval packet is emailed with every contract and documents are pulled into the packet from the attachments table, the admin needs to create or edit a rule and any helper fields to prevent the record marked Pending Deletion from being included in the packet.