The Ask
My client has to manually reconcile people records with an external system. This requirement calls for a report to be run on a periodic basis, say weekly, that shows changes to certain custom fields stored in Civicrm for people.
I'm trying to understand what's feasible in Civi 5.65 on Drupal 10.
Problem: Civi's out-of-the-box Contact Logging Reports don't show custom field values
Civicrm Logging is turned ON ("Logging"=Yes at civicrm/admin/setting/misc)
Using dummy data...
The Contact Logging Report (Summary) shows an update was made to a person's record...
...and the Detail report shows the custom fields that were changed...
...but the before and after values displayed for the custom field are the numeric option values, whereas I want to display the option label (text).
Ideally instead of reporting that a field changed from 11 to 9, it would report a change from "Type 1" to "Type 2" (taken from the civicrm_option_value db table).
If I could get a report to show that, problem solved.
What I've tried
I've googled and searched this forum and tried different Civi extensions to no avail.
- Contact Logging Report (summary and detail) is the closest to a solution (what you see above).
- Extended Reports extension didn't offer a suitable report.
- ReportPlus extension also didn't offer a suitable report.
- These extensions showed initial promise but just throw errors... Extended Logging Report and View Detailed Log.
- SearchKit: I got as far as searching for Contacts with required Contact Logs, but that table join is based on the contact who made the change, not on the contact whose data was changed. Plus SK currently can't do the final join on the option value table to get me the text labels.
Possible Solutions
I can try writing a custom SQL query to join the specific tables (civicrm_log, log_civicrm_contact, log_civicrm_value_person_inform_8, and lastly the option value table to get the text labels) and display the results to screen, but ideally I'd like to find a way to do it within the CiviCRM UI.
Appreciate any ideas!