2011 Wikimedia fundraiser/status

Last update on: 2011-10-31

2011-05-01
Arthur Richards upgraded our CiviCRM platform to version 3.4, and wrote a contribution auditing framework for fundraising. Ryan Kaldari worked on a development roadmap for the CentralNotice extension, used for the global messaging to potential donors.

2011-06-01
Arthur Richards continued work to streamline our audit framework to surface missing donation transactions. This has helped us find actual transactions that were not present in our fundraising database. Arthur also helped run a code sprint that gave the WMF instance of CiviCRM a huge performance increase. At the same time, the fundraising team started to create the next user stories to guide future development.

2011-07-01
Arthur Richards, Ryan Kaldari and Katie Horn are wrapping up their first development sprint, and preparing for the next one beginning on July 5. Their work focuses on new features for CentralNotice to better facilitate banner management, as well as back-end enhancements to the donation processing pipeline.

2011-07-31
Ryan Kaldari added some significant enhancements to CentralNotice that allow for the logging of changes to banners and campaigns and has begun working on implementing features to provide filtering of those logs based on criteria such as date, campaign, banner settings, author, etc. Katie Horn fixed a nasty issue with the PayflowPro Pending Processor script (which handles determining whether or not credit card donations flagged as 'pending' have been approved or not) where the processing script was not properly removing items from the queue after processing. She's also been working hard to add unit tests to new and existing code (in particular to the queue2civicrm module for Drupal/CiviCRM and the PayflowPro Pending Processor). Peter Youngmeister successfully puppetized Grosley (which hosts the fundraising CiviCRM instance as well as miscellaneous fundraising scripts). He and Arthur Richards then successfully upgraded the server to Ubuntu 10.04.2 LTS. Arthur Richards also added the 'ganglia_reporter' module to the suite of fundraising-related Drupal/CiviCRM modules which makes it trivial for other modules to report data to Ganglia in real-time using gmetric. He also leveraged this new module to implement a feature in the queue2civicrm module to report numbers of successful donations to Ganglia.

2011-08-01
Ryan Kaldari modified CentralNotice to allow the logging of changes to banners and campaigns, and has begun working on a log filter. Katie Horn fixed an issue with the PayflowPro Pending Processor script (which handles determining whether or not credit card donations flagged as 'pending' have been approved or not). She's also added unit tests to new and existing code. Our server was successfully puppetized and upgraded by Peter Youngmeister and Arthur Richards. Arthur also set up advanced monitoring through Ganglia.

2011-08-31
Ryan Kaldari built views and filters to facilitate reviewing changes to CentralNotice campaigns and banners. Katie Horn added an API to the ContributionTracking extension as well as minor bug fixes to some of our Drupal/CiviCRM modules. Jeremy Postlethwaite joined the team and began getting familiar with the code base. Arthur Richards added a new log parser and made bug fixes to the contribution auditing framework. Jeff Green analyzed our server architecture and began taking strides to increase resiliency and security.

2011-09-30
Ryan Kaldari added increased logging for CentralNotice changes, including interfaces and filters to search and review them. Katie Horn abstracted and refactored the DonationInterface extension in preparation for supporting a new potential payment processor, GlobalCollect. The team also fixed a number of bugs and added new features (see the retrospective of sprints 5 & 6). Jeff Green continued general work to improve the resiliency and reliability of the fundraising architecture.

2011-10-31
October was a very busy month for fundraising engineering, as the annual fundraiser is about to start. The biggest achievement was the rewrite and deployment of the credit card processing software, the DonationInterface extension. It now supports GlobalCollect, a new payment processor, in addition to the existing ones. Work is underway to add support for non-credit card payments. Another major feature of the extension is the ability to easily create new forms simply by inserting template tags into HTML forms; it also leverages MediaWiki's message translation system using translatewiki.net. Changes were made to the LandingCheck extension to determine whether to send users to donate.wikimedia.org (used by the Wikimedia Foundation) or wikimediafoundation.org (used by some Wikimedia chapters). Donators can now opt out from e-mails directly from the thank-you messages they receive after their donation. Last, from an operations perspective, we increased the monitoring capacity of the servers in the payment cluster, as well as the redundancy of systems; we're currently working to implement automatic failover between our data centers.