Fundraising tech
Documentation for a fundraising tech audience is being moved to https://wikitech.wikimedia.org/wiki/Fundraising
Fundraising tech
Technical work supporting the Wikimedia Foundation's fundraising efforts
|
This document should explain or link to everything needed for fundraising tech development.
About Fundraising Tech
[edit]Fundraising Tech is responsible for the security, stability, and development of the Wikimedia Foundation’s online donation systems. Millions of relatively small donations make up the majority of the Wikimedia Foundation’s operating budget every year. The donation systems created and maintained by Fundraising Tech were built specifically to make the small donor model a reality, across as many localities as possible to further ensure the continued independence of our mission.
We do not write banners or run tests, we support the people and software that run them.
Systems
[edit]International payment processing
[edit]- The majority of donations run through integrations with 6 payment processors. We are also integrated with several other processors for accessibility, location and fundraising event uses. These integrations enable us to support online fundraising campaigns in approximately 30 countries each year.
CiviCRM - our donor database
[edit]We use Open Source CRM CiviCRM to manage our donor data
Tools to create, manage, and deliver online fundraising campaigns
[edit]- We are the primary developers and maintainers of the CentralNotice system, which delivers banner notices to the wikipedias and the sister projects. Historically, banners on the wikis have been the primary method by which we entice users to donate.
- We use SWAP to query banner data.
- Note: We partner with the Advancement department, Major Gifts, Banner and Email teams, operations and Donor services. Fundraising tech provides stable platforms and tools to Advancement, and they create specific fundraising campaigns and other donor-facing messaging and content.
Documentation - Monitoring, Testing, Deploying
[edit]- Monitoring with Grafana dashboards
- Essential systems - what to watch
- Software components - how they work
Team
[edit]Who we are
[edit]- Director: Greg Grossmeier
- Engineering Manager: Dylan Kozlowski
- Tech Lead: Elliott Eggleston
- Software Engineers: Eileen McNaughton, Jack Gleeson, Christine Stone, Damilare Adedoyin, Wenjun Fan
- Ops Engineers: Jeff Green, Dallas Wisehaupt
- Senior Product Manager: Anil Kanji
How we work
[edit]- Roles/Responsibilities: Fundraising tech/Roles and Responsibilities
- Team training matrix: Fundraising tech/Training
- Regular meetings and their agendas Fundraising tech/FR-tech Meetings
How to find us
[edit]- You can find our engineering team on the #wikimedia-fundraising connect IRC channel. Include "fr-tech" in your message to make sure we see it.
- I found a bug!
Timeline
[edit]Current Work
[edit]Phabricator task board: #fundraising-backlog
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.
Payment Processors
[edit]- Adyen, their docs
- Amazon Pay, their docs
- Dlocal (formerly AstroPay), their docs
- Ingenico Connect, their docs and see filesrv:
- Old API (WebCollect) developer manual: WebCollect_technical_guide_2013_Q4.pdf
- Workflows (needs updating): smb://filesrv1/fundraising/Tech/Ingenico/Old/Tech%20specs%20and%20guides%20from%20PaymentProcessing
- Note: In the codebase, Ingenico can refer to the older GlobalCollect--Ingenico's former name--integration and the new integration with their updated API
- PayPal
- Legacy integration (disabled for new payments, but still receiving old recurring): their docs
- Express Checkout, their docs
- Integrating with a new payment processor: Fundraising tech/New integration manual
Useful Links
[edit]- Main documentation: wikitech:Fundraising and wikitech:Fundraising/tech
- Private documentation: https://collab.wikimedia.org/wiki/Fundraising/Engineering
Subpages:
- Fundraising tech/Acoustic interaction
- Fundraising tech/Adyen
- Fundraising tech/Amazon Pay
- Fundraising tech/Chat
- Fundraising tech/Chat/ActiveMQ
- Fundraising tech/Chat/GatewayFormChooser
- Fundraising tech/Chat/Ingenico Connect
- Fundraising tech/Chat/Scap3
- Fundraising tech/Chores
- Fundraising tech/CiviCRM
- Fundraising tech/CiviProxy Docker
- Fundraising tech/Code quality
- Fundraising tech/Components
- Fundraising tech/Contribution tracking
- Fundraising tech/Dashboard
- Fundraising tech/Database cheat sheet
- Fundraising tech/Database schema
- Fundraising tech/Deadlines
- Fundraising tech/Definition of Done
- Fundraising tech/Deployment
- Fundraising tech/End of year receipt
- Fundraising tech/Essential systems
- Fundraising tech/Estimation Cheat Sheet
- Fundraising tech/Exchange rates
- Fundraising tech/FR-tech Meetings
- Fundraising tech/Failmail zoo
- Fundraising tech/Form variants
- Fundraising tech/Free Software Citizenship
- Fundraising tech/Glossary
- Fundraising tech/Hive query notes
- Fundraising tech/IPN listener
- Fundraising tech/Importing donation files
- Fundraising tech/Ingenico Connect
- Fundraising tech/Installation
- Fundraising tech/Language variants
- Fundraising tech/Message queues
- Fundraising tech/Message queues/Overhaul
- Fundraising tech/Monthly convert
- Fundraising tech/New integration manual
- Fundraising tech/Onboarding
- Fundraising tech/Outcome 1 FY 2018-19
- Fundraising tech/Payment methods
- Fundraising tech/Paymentswiki upgrade
- Fundraising tech/Pending queue consumers
- Fundraising tech/Pre-campaign checklist
- Fundraising tech/Process-control
- Fundraising tech/Queue message formats
- Fundraising tech/Queue testing
- Fundraising tech/Recurring donations
- Fundraising tech/Refactor
- Fundraising tech/Roadmap
- Fundraising tech/Roadmap/Campaign fallback Sub-national targeting
- Fundraising tech/Roadmap/Live Banner Preview
- Fundraising tech/Roadmap/Outcome 2 FY 2018-19
- Fundraising tech/Roadmap/Outcome 3 FY 2018-19
- Fundraising tech/Roadmap/Program 7: Payment processor investigation and long-term strategy
- Fundraising tech/Roadmap/Program 8: Donor retention
- Fundraising tech/Roles and Responsibilities
- Fundraising tech/SmashPig
- Fundraising tech/Social Norms
- Fundraising tech/Test links
- Fundraising tech/Testing
- Fundraising tech/Training
- Fundraising tech/Transaction IDs
- Fundraising tech/Translation deployments
- Fundraising tech/Update Thank You Emails
- Fundraising tech/audit parser
- Fundraising tech/donation pipeline setup/settings
- Fundraising tech/notes/Draft:Documentation overhaul
- Fundraising tech/notes/Draft:DonationInterface architecture refactoring
- Fundraising tech/queries
- Fundraising tech/tools
- Fundraising tech/vagrant