Why does the "Modified By" value changed for all Profiles at once?
|Knowledge Article Number||000233618|
|Description||The "Modified by" field on Profiles has suddenly changed into the same date, time and User. If you navigate to the Setup Audit Trail you can see that the User who allegedly made the changes only modified one Profile, not all of them.
The Audit Trail log shows something similar to:
Changed profile Name-of-the-Profile: field-level security for Object-here: Field-here was changed from Read/Write to Read Only
What happened here and why are all the changes to other Profiles not tracked?
|Resolution||There are two ways of making changes to Field-Level Security:
1. Via the Field definition page.
2. Via Field Accessibility setup page.
If you use the first option, you're pushing the definition of the Field-Level Security for a single field to all Profiles. This will cause the "Modified By" to change. The Setup Audit Trail will capture only the Profiles that actually changed something. This could lead to unexpected results when viewing the "Modified By" of Profiles that didn't really receive a direct change.
Here you can read more about how to set the Field-Level Security on the Field definition page: Setting Field-Level Security for a Single Field on All Profiles
If you use the second option and navigate to the Field Accessibility section, you'll have more granularity about what changes you can push. You can view the field-level security by Field, by Profile and make the necessary changes in a more specific way. Changing the values using this method will not alter the "Modified By" value in Profiles other than the one targeted by the change. If you don't want the "Modified By" value changed when you're applying modifications to the FLS to a single Profile you should be using this method.
Read more about the Field Accessibility functionality:
Modifying Field Access Settings
What Determines Field Access?
Summary: The first method propagates the changes to all Profiles, changing the "Modified By" value. The second method allows you to select exactly what is going to be modified. The Setup Audit Trail will display only the changes, no matter the method used.
If you'd like to avoid mass updates to the "Modified By" from happening very often you should educate the System Administrators to make the changes based on their needs:
- if all profiles are to be changed, make the changes via the Field definition.
- if a small and targeted change is required, use the Field Accessibility setup section.
This would ensure certain 'reportability' on the "Modified By" field even though there might be other scenarios (e.g. Edit/Save the Profile without making changes) that could alter that value.