- ‹ previous
- 3 of 6
- next ›
Using Drupal and CiviCRM as a foundation, Four Kitchens built a system to enable donations on the front-end offering multiple language and payment processor options and track origin metadata for each contribution. Four Kitchens improved CiviCRM to handle incoming data faster and protect against data loss during high traffic times, and the CiviCRM project later accepted relevant improvements into their main development for all future releases.
One of the issues encountered was maintaining availability during CiviCRM upgrades and heavy load. To solve both, Four Kitchens implemented a message queue using Apache ActiveMQ to queue donations from a MediaWiki-based front-end and dequeue them on the CiviCRM back-end. This allows CiviCRM to be taken down for maintenance without risk of losing donation data. It also allows CiviCRM time to “catch up” if incoming donation rates exceed the ability to integrate the data into the system. The system has proven highly reliable, even during Wikipedia’s highest fundraising traffic levels.
To make the incoming data more useful in improving fundraising strategies, Four Kitchens enhanced CiviCRM’s reporting tools and built highly scalable duplicate detection and merging tools to accommodate Wikimedia’s large database. We also integrated with currency conversion-rate web services to estimate the post-conversion value for non-USD contributions in reports.
During this work, the CiviCRM team gave Four Kitchens direct commit access to the CiviCRM project. Four Kitchens continues to have commit access to the MediaWiki project. Both demonstrate the trust these organizations have in Four Kitchens delivering consistently high-quality work.
At various times, Four Kitchens has sent people to Wikimedia’s offices in San Francisco (and, before their move, in St. Petersburg, FL) to provide training and focused collaboration, and Wikimedia has sent people from San Francisco to work at FourKitchen’s Austin, Texas offices.
