On Tuesday and Wednesday of this week we had the a CiviCRM Code Sprint in San Francisco. We had a total of 9 participants over 2 days: Arthur from the WikiMedia Foundation, Micah from Electronic Frontier Foundation, Coleman and Brylie from Woolman - Sierra Friends Center, Peter and Adam from Giant Rabbit, Stacy from elMobile and Dave and Lobo from CiviCRM. Here are a few things that we worked on during the sprint.
- Peter from Giant Rabbit gave a demo of the CiviCRM install for Compass Point and specifically the event management system. One of the requirements was the ability to allow multiple people to sign up for multiple events at the same time. They developed a new drupal module that interfaces with CiviCRM event api and database. You can clone the code from their github repository. Peter has promised to blog about it in the next few weeks.
- Coleman gave an impressive presentation on the features coming in v2 of CiviCRM Webform. Some features include the ability to create/edit contact and activity data. The form creation process is now a lot slicker with some fancy AJAX goodness
- Dave helped most of the attendees install and get unit and web testing working on their local environments. In this process we figured out a very simple way of getting your localhost setup from an svn repository. The new process is extremely simple worth giving a try.
- Arthur and Lobo worked on optimizing the WikiMedia (WM) CiviCRM performance. The WM DB has more than 1 million contact records and 1 million contribution records (and increasing). The performance for simple searches on name was taking anyway from 60 - 300 seconds (yes, amazingly slow!). We turned on the various search optimization settings from administer CiviCRM screen and this got the screen to come back in just a few seconds (< 3?). We also checked the mysql query log and noticed a few bugs. We fixed thise issues for v3.4.2 and now WM has a lot more responsive system. I do think we can get another significant speedup with some MySQL / InnoDB tuning of their DB. I suspect they are running off a default my.cnf which is not great for large DB's. Would be interesting to see how well percona mysql server does with this DB. If you have strong MySQL DBA skills and are willing to help WM / CiviCRM improve on large DB's please contact either Arthur or Lobo. Personally, I do think that WM / CiviCRM would benefit hugely from getting some consulting services to help WM with the design and implementation of their DB server and help CiviCRM with rewriting the queries to be more efficient.
- Micah from EFF helped fix a fair number of issues with Drupal 7 and notices. He's also found a bug with CiviCRM bootstrapping D7 in the cornjobs. He educated us on some of the migration issues that organizations encounter. Some well known commercial systems in the space do not provide a easy way to export YOUR data!! (yes, sad but true)
- Coleman started work on a custom value API. To help with this, brylie started writing tests with contribution records and custom data. We hope to introduce this in the next release.
As with all CiviCRM events, we had some excellent food. We started off with treats from Patisserie Phillipe for breakfast, lunch from Sentinel on Day 1 and lunch from Sushiritto (a sushi burrito!) on Day 2. Overall a great code and food sprint. We are planning another code sprint in the northern california area (SF or Tahoe) in mid September. We'll post event details soon. Ping us online or offline if you are interested in helping out or setting up code sprints in your area!