Wikimedia Conference 2012/Documentation/Day 3/CiviCRM

Features edit

Question: What is it, what makes CiviCRM popular to chapters?

  • Manage contacts (individuals, organisations) and memberships as well as any activities in regard of these. Can in the future even synchronise with iPhone etc.
  • Handle online donations and membership fees - can be used as an accounting system.
  • Integrates into Drupal - many use Drupal for their website anyway.
  • Wikimedia modules exists which add special features and workflows for Wikimedia chapters.

Accounting edit

this is all core functionality and just needs to configured to work as outlined

  • Contributions can be used for expenses by putting in negative amounts
  • Contribution Types act as accounts
  • Contribution Status can be used to indicate different kind of bookings and for budget plannung:
    • planned may be used for expenses which are already known but which did not yet got invoiced, eg. regular expenses for the office rent
    • budgeted may be used to book a budgeted (positive) amount in the beginning of a project into its account, expenses will be deducted
    • so a budget report will include a balance of budgeted, planned and actually "completed" booking records while a real finance report will omit the "planned" and "budgeted" bookings
  • with a custom field "Costcentres" could be tracked as well, this is not yet used
    • the reporting / audit module would need an update to support that as well

Online Donations edit

this is custom code by Wikimedia

  • the module "WMSE Donate" provides a donation form for the website
  • any donation is being recorded as a Contribution with status "in progress"
  • the donation is handled by payment modules in the "WMSE Base" module
    • certain modules handle the donations online and may report that the payment already succeded - the Contribution status will then be updated accordingly
  • several accounts can be configured based on the nature of the donation - so far "public" or "anonymous"
  • any donation may contain a text / remark / comment by the donor
    • the remarks of "public donations" may be shown using a ticker feature

Membership Management edit

membership management is a core feature to CiviCRM

  • every contact (person or organisation) may be a member
  • membership starts at a certain time and has a period which is determined by rules
    • typically a membership is for one year, so it starts at January 1st until 31st of December
    • grace periods are included, if a member doesn't pay the fee on time or for members who join late in the year their membership can be valid for the coming year
    • rolling membership is also possible
    • just a matter of how the membership rules have been set up - several examples are in the default setup already available to choose from and to adapt
  • membership, membership renewal and payments of renewals are all recorded in the history of the Contact / of the Membership record
  • if a membership is being manually renewed because a member has paid the membership fee, don't forget to click the "record payment" checkbox and enter the payment details
    • the payment will be recorded as a typical contribution
    • default amounts and accounts can be set up in the membership rules as well but can be overriden when manually recorded

online membership sign-up and renewal - this is custom code by Wikimedia

  • the "WMSE Membership" module provides a webform to allow website users to sign up as a member
  • the modules creates a new Contact via the CiviCRM API
  • the user can also choose to pay the membership fee directly (online), so the contribution is recorded as well
  • the form also includes a donation form, so the new registrant is invited to add something to the membership fee which will be recorded seperately as a donation (Wikimedia Sweden receives three times more money than just the membership fees)
  • when the next membership fee is due an individual link can be sent to the members which opens the membership form with their data pre-filled, so they can correct the data and pay their membership fee (including a voluntary donation) directly online

Reporting edit

the module WMSE Audit provides nice reports, generated in realtime

  • pie charts for income and expenses, grouped by accounts
  • line chart of membership development over the months
  • a detailed list of any bookings grouped by Account (= Contribution Type)
    • "full" report (internal): includes a link to the actual Contribution record in CiviCRM
    • "public" report hides names when Contact Type is Person to protect privacy
  • further reports can be easily made with CiviCRM directly
  • reports can be exported to PDF
  • useful for fundraising: Use a CiviCRM report for the monthly reporting to the WMF, once configured it is just a mouse-click to get the PDF and send it off to WMF - no more work

Payment Methods and Banking Systems edit

the module "WMSE Base" provides basic features to collect money by various methods, these features are used by the "WMSE Donate" and "WMSE Membership" modules

  • Paypal interacts directly when using the payment methods implemented by the Wikimedia modules
    • for donation or membership payment the Wikimedia modules record the contribution as "In Progress" and send the user to Paypal. Once the payment is completed Paypal reports the success and the Contribution is automatically set to "Succeeded".
  • Direct Debit in Austria provides an ELBA file to be imported in the banking software
    • for donation or membership payment the Wikimedia modules record the contribution as "In Progress"
    • on the "Tasks" page of the Wikimedia modules such payments are listed, an ELBA file can be created
    • once imported successfully all payments will be marked as "In Progress"
    • they need to be marked as "Succeeded" manually as ELBA can't provide this information in machine-readable form
  • Payson in Sweden: Same as Paypal.
  • Bankgirot in Sweden encodes the payment details in a single string
    • for donation or membership payment the Wikimedia modules record the contribution as "In Progress" and returns the magic code to the payee
    • by entering / copying this code into the banking system all information such as receiver, amount and remark is already filled in
    • Wikimedia Sweden can automatically import such payments, the Contribution records will then be set to "Succeeded"

All payment modules are implemented in the "WMSE Base" module and can be enhanced and new payment methods may be added. They can be used in any Wikimedia modules then.

MediaWiki Parser edit

this is a Drupal module by Wikimedia

  • the module "WMSE MediaWikiParser" provides a new content type to Drupal for MediaWiki code
  • the MediaWiki code is being piped through the MediaWiki API of a configured wiki
    • several wikis can be configured, adding several "content types" to Drupal - on per each wiki
  • as the code is rendered by the wiki, wiki content can be transcludes as templates (such as {{:Article Name}})
  • images will also be included, if instant commons or external file repositories are being used this content can also be used in Drupal easily
  • helps to keep content up-to-date and avoid copies of the same content on several sites

Technical edit

How to setup edit

  • CiviCRM is a webapplication, based on PHP and MySQL. May run from any webspace which provides this.
    • Manuel is hosting many chapters for free and can provide hosting for CiviCRM.
  • CiviCRM is a module which integrates into Drupal, Wordpress or Joomla. The presented setups all run with Drupal, the Wikimedia enhancements are all Drupal modules, interacting with CiviCRM over the CiviCRM API.

Maintenance / Enhancements / Further Development edit

  • Wikimedia Sweden has a CiviCRM / Drupal hacker - Holger himself has made most of the modules
  • Wikimedia Austria has in the past hired a programmer they know to help Holger and to implement the Austria-specific features
  • Wikimedia CH supports the development financially
  • Wikimedia Italy (now using CiviCRM 4.1.1.) had contacts to a CiviCRM programmer in Italy but decided to interrupt them because of very slow responses
  • the Wikimedia Foundation has hosted a CiviCRM Hackers Meeting in their office where many things have been accomplished to improve the system in terms of performance
    • Foundation also uses CiviCRM but the older version 3.x with Drupal while the modules of Wikimedia Sweden have been rewritten together with Wikimedia Austria for Drupal 7 and CiviCRM 4.x.
    • Problem: The modules are version-dependant as many APIs have changed between Drupal 6 and 7 as well as from CiviCRM 3 to 4. Therefore a switch is not easy.
  • The code is not very mature but the possibilities how CiviCRM can be used are amazing. There is no free alternative to CiviCRM which is as powerful.
  • all code is in the public code repository of the Wikimedia Foundation:
  • an idea is to import the whole Drupal and CiviCRM from their SVNs into the Wikimedia SVN and have the versions first checked, then everything at once deployed to all chapters

Security edit

  • Some organisations have their own webserver in-house and use CiviCRM from there, so there is no online access to it. This is the most secure way but does not allow to use the online donation and membership sign-up functionality.
  • the CiviCRM code is not very mature, developers regularly break something when releasing updates.
  • updates happen very regularly which is good in terms of security.
  • there are regularly security updates of CiviCRM and Drupal but there were no major bugs known so far.
  • security is mostly dependant of the framework of the CMS which CiviCRM is building on top
  • Drupal is known to have a good security track record, as opposed to Joomla

Perspective edit

Currently there are very few people who can help setting up CiviCRM and training the users. So we can only go forward chapter by chapter and not help several chapters at once. But the more chapters have introduced CiviCRM and get used to it the more users we have which can help each other and then we can move on quicker than now.

  • Wikimedia Sweden is productive since a while and taking the lead in developing new features
  • Wikimedia Austria just started to use it productively, a few bugs are still on the wishlist and will be fixed until the end of the year
  • Wikimedia CH has already interested money to support Wikimedia Austria's development but yet just has a test system. The website runs on Drupal 6 which will be updated first. This is already scheduled.
  • Wikimedia India is highly interested and will get a test system by Manuel. (naveenpf and tinu)
  • Wikimedia Italia is already using CiviCRM for a while and needs training, maybe implementation of Wikimedia Sweden's modules as well.

Further interest has been indicated by (please update / confirm! I just listed everybody I remember attending the session)

  • Wikimedia Denmark (Palnatoke)
  • Wikimedia District of Columbia (Djembayz)
  • Wikimedia España (María)
  • Wikimedia Finland (Nikerabbit)
  • Wikimedia France (Ash_Crow)
  • Wikimedia UK (Jon Davies)
  • Wikimedia Indonesia (Ivonne)
  • Wikimedia Hungary (Gergő)
  • Wikimedia Portugal (Susana)
  • Wikimedia Philippines (seav)
  • Wikimedia Australia (jayvdb)
  • Wikimedia Argentina (mahadeva)

Contact edit

  • Holger Motzkau - concept, programming - using it himself at Wikimedia Sweden as treasurer
  • Manuel Schneider - setup, hosting, contact person to Wikimedia CH and Wikimedia Austria