Page MenuHomePhabricator

CiviCRM is connected to MediaWiki
Closed, ResolvedPublic

Description

NOTE: Hoping to get to this week of 9th/16th March

Background

Following the outcome of T416948: CiviCRM should export a CSV that can be used in a MediaWiki maintenance script and T416949: Implement the first pass of a maintenance script that supports preference updates for consenting donors we'll need to work with SRE to connect the two by finding a machine that CivicCRM can scp a CSV file to, and how a MediaWiki maintenance script can process the results for updates in the MediaWiki preferences database.

User story

As a user who has consent donor identification I want MediaWiki have awareness of how recently I last donated so that it can tailor my experience accordingly.

Requirements

  • We understand where the solution will live and how CiviCRM will export to it
  • We have decided what level of encryption is needed for the transfer (if any)
  • We have sent a dry run test (using test data with our own email addresses/donation records) that proves the solution works end to end.

BDD

  • For QA engineer to fill out

Test Steps

  • For QA engineer to fill out

Design

  • Add mockups and design requirements

Acceptance criteria

  • Add acceptance criteria

Communication criteria - does this need an announcement or discussion?

  • Add communication criteria

Rollback plan

  • What is the rollback plan in production for this task if something goes wrong?

This task was created by Version 1.2.0 of the Web team task template using phabulous

Event Timeline

@CDanis says that we might be able to use one of the Ceph clusters we have in production now as we have a few existing data streams that get picked up by puppetservers that way.

cc @jgleeson @Ejegg and @Lars - feel free to ask questions here if you need to dig into details beforehand about how we will handle the transfer from CiviCRM to this environment (for example if you want to get guidance on encryption options).

In particular it'd be good to know if you only care about encryption going over the wire, or if encryption at rest is also necessary.

Hi @CDanis, nice to meet you. We are keen to use encryption for this project to protect PII. The current thinking is to agree on a shared secret and use symmetric encryption (AES) to protect the data.

For the initial full exports, we estimate the file size to be around 1–2 GB, which should allow for efficient encryption and decryption. Following that first export, we plan to send diffs, which will dramatically reduce the file size for subsequent transfers.

Change #1255036 had a related patch set uploaded (by CDanis; author: CDanis):

[operations/puppet@production] Add fundraising-data-uploader role user

https://gerrit.wikimedia.org/r/1255036

Change #1255036 merged by CDanis:

[operations/puppet@production] deployment_server: fundraising-data-uploader role

https://gerrit.wikimedia.org/r/1255036

Jdlrobson-WMF updated the task description. (Show Details)