Background
Certain standard objects within the Skedulo Pulse Platform have system-level automations that maintain fields on other objects. Previously, when these records were updated by system processes, the LastModifiedById and LastModifiedDate fields were either not updated, or were set to "System User", as opposed to the user that initiated the original modification.
Why are we making this change
We received feedback from customers that the previous implementation was not useful from an auditing perspective. To address this feedback, we have changed the way these system-level automations record LastModifiedDate and LastModifiedById so they reflect the time as well as the user who initiated the original modification.
This change will also make the auditing behavior on the Skedulo Pulse Pulse platform more consistent with that of other enterprise platforms.
Example: Change to JobAllocations status causes update to Jobs status
To better illustrate the impact of this change, consider the system-level automation that updates the Jobs.JobStatus field to reflect the status of any related JobAllocations.Status records:
A scheduler, "Alex Scheduler", creates a Job record.
The JobStatus field defaults to "Pending Allocation".
The CreatedById/LastModifiedById fields store the ID for "Alex Scheduler" and the respective date/times.
A different Scheduler, "John Scheduler", then allocates a resource to the job, which creates a JobAllocation record.
The CreatedById and LastModifiedById fields store the ID for "John Scheduler", as well as the respective date/times.
The system automatically updates the Job parent record.
The JobAllocationCount is set to 1.
The JobStatus is set to "Pending Dispatch".
The LastModifiedById field stores the ID for "System User".
This release will change the value stored in the Job record’s LastModifedById field to the ID for "John Scheduler".
Impact of this change
Any solution that depends on the previous behavior, i.e., looks for records updated by "System User", will need to be modified to support this new behavior.
You can identify any dependencies on this behavior by looking for any queries/subscriptions that filter on LastModifiedById = "00000000-0000-0000-0000-000000000000", where the UID of all zero’s represents the "System User".
This change will only impact records modified after the release. LastModifiedById values set before this change will not be updated.
This change only impacts Skedulo Pulse Platform customers. Skedulo for Salesforce customers are not impacted. This change makes the Skedulo Pulse Platform auditing behavior more consistent with Skedulo for Salesforce.