Fundraising tech/Roadmap

The following is fr-tech's roadmap and historical records. This is currently a work in progress.

Current Quarterly Goals
Wikimedia Engineering/2016-17 Q4 Goals#Fundraising Tech

Q1 FY 2017-18
Q1 will be dominated by the Ingenico reintegration. This payment system accounts for ~35% of all revenue and half the revenue from our big english campaigns in the holidays. The current version will be deprecated in Q3 or Q4. We can't risk running up against this deadline so we are integrating this ASAP.

Annual Plan Goal: Payment processor long term plan Annual Plan Goal: Civi dedupe
 * Reintegrate ingenico: this ensure long term stability for existing system
 * Investigate "omnichannel" PSPs: options to much simpler payment structure
 * Investigate and list cuts to current payment options
 * Civi expert devotes all available time to improving dedupe script

Q2 FY 2017-18
Q2 is entirely dedicated to supporting the Big English Campaign. Email appeals may start in late October. We need to ensure 100% up time from the first email until the first week of January.

Annual Plan Goal: Payment processor long term plan Annual Plan Goal: Civi dedupe
 * Stabilize Ingenico for Big English
 * Discuss options for PSP simplifications
 * Possibly switching tracks to work on recurring donations before Big English.
 * Stabilize dedupe in preparation for Big English

Q3 FY 2017-18
This quarter could take several directions based on the results of our investigations and meetings in Q2.

Annual Plan Goal: Payment processor long term plan

PSP options Other possible features
 * Commit to a new portfolio of PSP with Omnichannels handling most of our revenue
 * Do not start any new PSP relationships and do not expand options or countries
 * Cut PSPs, options, countries or some mix of those configurations
 * Support the switch to a new Email system (ESP)
 * Increase support or recurring donations
 * Make progress on Smashpig infrastructure
 * Refactor the contribution tracking table

Donation Interface

 * Single responsibility principle
 * Quit overloading ProcessReponse
 * DRY up code
 * Ingenico ResultSwitcher should use common GatewayPage::handleResultRequest code
 * Help stop unintended duplicate donations
 * Process donations as soon as possible (before popping out of iframes) and send to backend to clear up orphans

Central Notice

 * Banner Sequence

CiviCRM

 * Dedupe is implemented
 * Continue adding conflict resolution rules
 * Migrate drupal modules to real Civi extensions, list them on civicrm.org

Payment Processors

 * Upgrade PayPal
 * Upgrade Ingenico
 * New countries
 * Alternate methods

Smashpig

 * Move all the meat there!