Page MenuHomePhabricator

Change Donation export to use new tracking data table
Open, Needs TriagePublic

Description

NOTE: This is a technical subticket of T328075: Move tracking out of donation data blob

This ticket is about changing export code to include the campaign and keywords in the database result instead getting them out of the legacy "data blob".

Affected repositories

  • Fundraising Operation Center

Implementation notes

  1. Change src/DataAccess/DonationExport/ExportQueryBuilder.php to JOIN the tracking table, adding campaign and keyword fields.
  2. Create a custom export field mapper in src/DataAccess/ExportFieldMappers that returns the field names in getSQLFieldName. The implementation of getValueFromDbResult returns either an empty string (when both fields are empty) or the campaign and keyword fields joined by a slash
  3. Change entry for tracking in src/DataAccess/DonationExport/DonationExportFieldCollection.php from LegacyDatabaseField to a the new field mapper class.