Fundraising tech

From MediaWiki.org
Jump to: navigation, search

This document should explain or link to everything needed for fundraising tech development.

Rationale[edit]

Manage the incoming donation pipeline from Extension:CentralNotice through the CRM and reporting modules.

We do not write banners or run tests, we support the people and software that run them.

Fundraising Tech[edit]

Technical work supporting the Wikimedia Foundation's fundraising efforts.

Metrics May 2017 +/- from April 2016
Donation Count 332,900 36,900
Average Donation Rate $1.53/second $0.38
Peak Donation Rate $21.80 -$5.31
Country Count 111 -79
Country Count, > $1000 USD 131 12
Distinct Campaign Sources 273 182
Donation Source Breakdown (by USD amount, > 1% of total)
sitenotice 46.22% -14.76%
email 47.55% 18.36%
sidebar 2.33% -0.36%
Waystogive 1.94% -0.34%
civicrm 1.05% -2.83%
Updated 5/18/17

Goals[edit]

Fiscal Year 2016-2017

Timeline[edit]

Roadmap[edit]

fr-tech's detailed Roadmap

Rhythm and code freeze[edit]

We have a special yearly window of not deploying major changes to some critical systems starting in the fall, in preparation for the Big English drive.  Game on again in mid-January, assuming we haven't emitted a puff of smoke in early December.

This code freeze gives our development an annual cadence, with each season seeing similar types and intensities of work, year-over-year.  Any long-running FR-tech project should take this into account.

Documents[edit]

Installing the software stack[edit]

Much of our toolchain is provided by MediaWiki-Vagrant, here's how to provision and enjoy a new installation. Be aware that this requires about 2GB of memory and lots of processor. Please follow setup instructions at the main MediaWiki-Vagrant page above, but enable the following role before provisioning for the first time:

   vagrant enable-role fundraising

Also note that the fundraising role assumes that the vagrant repo is in /vagrant and that drush is in /usr/local/bin/drush.

Assuming your box builds without error, visit http://payments.wiki.local.wmftest.net:8080/ and the wiki's main page will have links to help you get started. Please note that the wmftests.net subdomain is actually a wildcard DNS that resolves to 127.0.0.1, so if you are running vagrant on a different host than you're browsing from, or if you're offline, you'll need to add hosts entries yourself.

This role also installs CiviCRM, at http://crm.local.wmftest.net:8080/

If you wish to forsake Vagrant and try to do it all the hard way, see Fundraising Tech/Donation Pipeline Setup

Running PHPUnit tests under vagrant[edit]

The fundraising role checks out a separate branch of mediawiki core into /vagrant/mediawiki-fr. Some slight of hand is required to run the tests from that directory and not the primary wiki. From the vagrant directory, do:

FIXME: not working.

   vagrant ssh
   
   cd /vagrant/mediawiki-fr/tests/phpunit
   export MW_INSTALL_PATH=/vagrant/mediawiki-fr
   php phpunit.php --wiki paymentswiki --group DonationInterface

Testing queue operations under vagrant[edit]

Please see Fundraising tech/Queue testing.

Communications[edit]

You can find our engineering team on the #wikimedia-fundraising irc channel. Include "fr-tech" in your message to make sure we see it.


See also[edit]