Page MenuHomePhabricator

Track which UI version is used
Closed, ResolvedPublic2 Story Points

Description

As a member of the fundraising team,
I want to check how different appearances of the donation page and its forms (donation, membership) affect the amount and frequency of donations,
so that I can reach the donation target.

AC

  • Record information about
    • Campaign name
    • Bucket name (as used)
    • Type and ID of the tracking
      • donation
      • membership
      • subscription

Notes:
Database changes should be in a migration script. In order to have this feature ready before the first donation page test is scheduled to start, we split out the database persistence part of this into a different task. For now, we store the tracking data in a file and later migrate the data to the database.

Event Timeline

gabriel-wmde renamed this task from Track used version to Track which UI version is used.Aug 2 2017, 10:24 AM
gabriel-wmde added a comment.EditedAug 2 2017, 1:32 PM

~So the MVP is to use existing code to write to the data blob. When this story is discussed I'd like to consider the options of storing this data in a separate table, as proposed by T134327. At least as an additional place where data is stored, to pave the way for future migration. ~

Update While discussing this, we agreed to *not* store the tracking data as another blob, but create database tables for it.

Note to self: consider using Matomo for this.

kai.nissen updated the task description. (Show Details)
kai.nissen set the point value for this task to 5.
kai.nissen removed a subscriber: Pablo-WMDE.

We have discussed how to implement this issue and concluded that Matomo is not a good fit for the intended use case for various reasons, mainly because the data on Matomo is relatively incomplete and cannot easily be matched to actual donations / membership applications.

For that reason, the tracking implementation should make use of the application database. The storing of data should utilize a repository interface similar to DonationRepository in fundraising-donations, for example. The repository class and its implementation should be placed in FundraisingFrontend; the interface itself should be placed in BucketTesting while the implementation should be placed in a new DataAccess directory in src/. The database can be queried directly, no ORM must be used in order to keep the complexity down.

The table structure could be two tables in a 1:n relationship, where 1 tracking_event has n buckets (possibly 0?) attached to it. Any database migrations should make use of Doctrine Migrations and should be placed in the FundraisingFrontend repository directly.

gabriel-wmde updated the task description. (Show Details)
gabriel-wmde changed the point value for this task from 5 to 8.
gabriel-wmde removed the point value for this task.Jul 5 2018, 5:05 PM

This ticket needs to be re-estimated, because the database changes and database layer stuff should not be put into FundraisingStore, but rather in Fundraising\Frontend\BucketTesting\DataAccess. Furthermore, we need to add another migration script (luckily we don't need referential integrity between tracking and donation/memberships) and add the migration to the Makefile.

kai.nissen set the point value for this task to 13.Aug 15 2018, 11:56 AM
kai.nissen changed the point value for this task from 13 to 5.Aug 20 2018, 12:13 PM

Reduced the story points, because this task will not cover the database persistence.

kai.nissen updated the task description. (Show Details)Aug 20 2018, 2:04 PM
gabriel-wmde moved this task from Todo to Doing on the WMDE-FUN-Sprint-2018-08-20 board.

PR is finished and can be reviewed. I've added documentation on how to process the "log" file.

gabriel-wmde removed gabriel-wmde as the assignee of this task.Aug 29 2018, 8:35 AM
gabriel-wmde moved this task from Doing to Review on the WMDE-FUN-Sprint-2018-08-20 board.
kai.nissen changed the point value for this task from 5 to 2.Sep 3 2018, 10:28 AM
kai.nissen moved this task from Todo to Doing on the WMDE-FUN-Sprint-2018-09-03 board.
gabriel-wmde moved this task from Review to Doing on the WMDE-FUN-Sprint-2018-09-03 board.
gabriel-wmde removed gabriel-wmde as the assignee of this task.Sep 6 2018, 9:10 AM
gabriel-wmde moved this task from Doing to Review on the WMDE-FUN-Sprint-2018-09-03 board.

I've addressed the review comments by Jeroen and improved the level of abstraction. Please re-review.

kai.nissen closed this task as Resolved.Oct 30 2018, 11:06 AM