Our Knowledge Base covers a wide variety of technical topics, from the basic to the complex.
How can I create a log to track changes made to a text field like [Status]?
Many customers want to log or track changes made to a field. There is a simple way to do this using Dynamic Form Rules. In this example we'll build a Text field to track who made changes to a status field, when they made the change, and the value they entered into the field.
In our example we want to track changes made to a Text Multiple Choice field called Status. Make sure this field is on a form and that users have permission to View/Modify the field in their role.
Add a new Text - Multi-line field in the same table to contain a log of changes made to the status field. Label this field Status Change Log (To learn more, please see our Add a New Field help topic.)
Edit the field properties for this Text field and set the following text options:
- Log the edits to this field, and show them on forms: checked (Note: when changing this setting you'll be presented with a dialog window explaining that if you use append-only you cannot have autofills enabled. Click Ok to proceed.)
- Show new entries at the bottom of the field: checked (Optional.)
- Show full names instead of user names: checked (Optional. This makes it easier to identify the user who made the change.)
- Show the time in addition to the date: checked (Optional.)
Now create a Form Rule on the form that people use to edit the records in this table. There are a number of ways to get to the Form Builder screen for a form, but an easy way is to Edit a record in the table and click the "Customize this form" icon in the upper right of the page. When asked, click "Edit the Rules for this form in the Form Builder"
1. Click the Add New Rule button.
2. Set a condition: WHEN "the record is saved"
3. Click Add Condition.
4. Set a condition: and 'all' of the following conditions are true: 'Status' 'has been changed'
5. Set an Action: Change
6. Select the field to change: [Status Change Log]
7. Select the value to change it to: The value in the field... [Status]
8. Uncheck the option: "change" actions only fire when conditions become true
9. Click Save on the Page bar to finish.
Now, when you change the [Status] in a record, the [Status Change Log] will record the status change and capture who made the change and the time/date of the change. You can use either field when building reports.
* OPTIONAL: As an added protection you can make this change log field "Read Only" so that users cannot inadvertently add a value to this field manually from the form. To do this, click the ELEMENTS tab in the form builder. Highlight the form element that represents your [Stats Change Log] field and in the right panel of the form builder check the option to make the field "Read Only - even when used for data entry.
* NOTE: Form Rules ONLY function when edits are made using this form. Grid Edit and other multi-record edit functions will not trigger this rule.
* NOTE: Read Only only functions on this form, so using Grid Edit makes it possible to add another entry to the log manually.
To learn more about form rules in general, please see Create Dynamic Form Rules our help topic.