Fundraiser engineering heats up: Sprints 5 & 6 update

Translate this post
The last three weeks have flown by as fundraiser engineering starts to heat up.  Aside from the usual bug fixes and cool new features, we added a new member to the team, made some modifications to our development process and began tackling one of our biggest challenges this year: integrating with a new payment service provider.


  • Jeremy Postlethwaite joined the engineering team and is quickly getting up to speed.
  • We had our first ‘tech showcase’, where we demoed all of the functionality we’ve developed to date*. The showcase provides an opportunity for project stakeholders to see progress in near real time, which allows for better decision making as well as more effective change/risk management. This will be a regular part of our sprint wrap-ups.
  • First production-level test of the RapidHtml system, which is very light-weight solution that allows for quick html-based credit card form development and provides template tokens for dynamic form elements. This was tested during last week’s weekly fundraising test, when we tested the efficacy of collecting the donor’s billing information from the landing page rather than on the credit card form.
  • The Mingle engineering team over at ThoughtWorks Studios invited us to visit and see what the their development cycle is like. Seeing what their processes are like proved valuable. It hammered home that ‘agile development‘ is more about the mindset and values found in the Agile Manifesto than about any specific development practices. We will continue to collaborate with their engineering team to share information/ideas and hope to have the opportunity to do so with other engineering teams in the future.

Sprints 5 & 6 wrap up

  • Increased logging of changes that happen in CentralNotice, including interfaces and filters to search and review those changes.
  • Added an API to ContributionTracking which allows us to bypass the interstitial page that a donor gets sent to prior to donating when they choose to donate via PayPal
  • Began abstracting and refactoring DonationInterface (links to current development branch) in preparation for adding an additional payment provider.
  • Bug fixes to the RapidHtml form delivery system in the DonationInterface extension
  • Bug fixes to our contribution auditing framework (which ensures our contribution records in CiviCRM align with accounting, etc.).
  • Ongoing operations work improving resiliency and reliability of the fundraising architecture.

You can view sprint 5 and sprint 6 in Mingle*, and view our notes from the retrospectives.

Sprint 7 kick-off

For Sprint 7, we are going all-in on integrating with Global Collect, a new payment processor which will allow us to take donations in more currencies and with more region-specific payment methods. Work will continue abstracting/refactoring the DonationInterface extension, as well as building a payment notification listener compatible with Global Collect’s ‘Payment Status Communicator’.

Get involved

If you are interested in getting involved, help smash our open bugs and/or visit us on IRC in #wikimedia-fundraising.
* For access to Mingle, log in with username/password of guest/guest.
Arthur Richards
Fundraiser tech lead

Archive notice: This is an archived post from, which operated under different editorial and content guidelines than Diff.

Can you help us translate this article?

In order for this article to reach as many people as possible we would like your help. Can you translate this article to get the message out?

Inline Feedbacks
View all comments

Please test the remaining user submitted banner messages. At least 70% remain untested, and the variance among them is so great that almost certainly some of them will be top performers. Do you have the infrastructure to test them with a few thousand impressions each? If so you would only need a few days to test them all.

James, the banner testing happens outside of the engineering efforts for the fundraiser. In order to get your message to the right people, I was going to suggest that you bring this up on the fundraiser discussion page, but it looks as though you already have 🙂

[…] 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 […]