Page MenuHomePhabricator

Enable users of the Fundraising Operation Center to export data
Closed, ResolvedPublic

Description

At least once at the end of the annual fundraising campaign the campaigns team needs an export of donation data sets created during the campaign. Currently, this is done manually using a script. We can use the Reports section of the Fundraising Operation Center to enable users to download the data themselves.

Acceptance Criteria

  • An additional report type is added to the Reports section of the Fundraising Operation Center ("Rohdaten").
  • The existing filter functions for the start and end date as well as campaigns and keywords are applied.
  • Selecting the checkbox "alle" below the campaigns and keywords select box exports all data sets within the given timeframe, ignoring what's stored as the tracking parameters.
  • Unbooked, deleted and moderated donations are not exported.
  • Selecting the new export type disables the button "Berechnen" and only supports downloading the data as a csv file.
  • The exporter can handle requesting 500,000 rows at once.
  • The export file contains the following fields:
    • id
    • creation timestamp (dt_new)
    • status
    • payment interval (periode)
    • payment amount (betrag)
    • payment type (zahlweise)
    • newsletter opt-in (info)
    • receipt opt-in (bescheinigung)
    • salutation (anrede in data)
    • address type (adresstyp in data)
    • campaign (first part of tracking in data)
    • keyword (second part of tracking in data)
    • is a recurring donation (if log in data contains an item starting with "parent donation")
    • banner impressions (bImpCount in data)
    • total banner impresstions (impCount in data)

Implementation details

  • Set query to unbuffered to prevent memory issues
  • Use chunked transferring of data
  • Increase timeout if necessary