Upcoming Events
San Francisco CiviCRM Meetup - March 2010
March 24th, 2010
Come meet others from the Bay Area who are interested in, using or developing (more...)
Campaigning Camp in Oxford, UK
March 25th, 2010
Free (with lunch and tea break included!) CiviCRM/Drupal and Plone two-track (more...)
CiviCRM Seminar - Dublin
March 25th, 2010
MTL Software Solutions are hosting a free seminar at The IBOA, Stephen
St (more...)
CiviCRM User Training - Atlanta (pre NTC)
April 7th, 2010
This full-day hands-on training session is aimed at non-profit staff and (more...)
Configuring, Customizing and Extending CiviCRM - San Francisco (before DrupalCon SF)
April 18th, 2010
This hands-on 1-day training session is targeted at administrators, integrators (more...)
CiviCRM User Training - San Francisco (before DrupalCon SF) This full-day hands-on training session is aimed at non-profit staff and (more...)
April 18th, 2010
CiviCon San Francisco 2010
April 22nd, 2010
Join us for the first ever CiviCon in San Francisco this April! CiviCon brings (more...)
CiviCamp Day Two
- Not Just a Contact Database
-
These optional components give you more power to connect and engage your supporters.

civiCONTRIBUTE
Online fundraising and donor management.

civiEVENT
Online event registration and participant tracking.

civiMEMBER
Online signup and membership management.

civiMAIL
Personalized email blasts and newsletters.

civiREPORT
Report generation and template management.
Today was the second (and, unfortunately, last) day of the SF CiviCamp.
The day started with Rob Thorne’s presentation on using CiviCRM 1.x contacts as CCK fields and his work on CiviNode. Given that in the meantime all of CiviCRM, CCK and Views released version 2s, the outcome of the discussion was that it’s best to rewrite this code from scratch.
That led to a discussion about the stability, coverage and the general uses of CiviCRM APIs. The consensus was that the main users of the CiviCRM APIs are third-party developers, and it would be most useful if there was a way for them to write custom APIs covering their most popular use-cases. This, in turn, led to whether our internal classes (CRM_*) are stable enough to be a viable API by themselves; we’ve always considered them ‘private code’ and as so never strived to stabilise the various functions’ signatures, outcome – or even their existence between releases.
Another topic raised during the morning session was the documentation of the API. As quite a lot of developers are supporting older versions of CiviCRM, we need to ensure the API documentation is versioned (and that older versions of the docs are easily available). We also discussed the priority of API bugs, and the need to fix more of them in the stable releases.
The following discussion on CiviCRM component development resulted in Matt Chapman volunteering to manage a CiviCRM component forge, where non-core CiviCRM developers and deployers can share their code. In most cases, the current reality results in development of CMS-specific
The discussion also touched some engineering ideas about CiviCRM’s codebase improvements, like better object-orientation of the code and the introduction of exceptions.
During the second part of the day small teams of developers formed to discuss and work on selected topics. These covered, among others, the discussion on what needs to be done in the core to initiate more widespread component development, and which parts of CiviCRM need to be pluggable for the componentisation to take flight. We also discussed the multi-lingual features of CiviCRM 2.1.
The third part of the day, again held in subgroups, touched various topics, including getting CiviCRM test coverage back into shape and the possibility of (particularly – API) test contributions from the community. Other topics included discussions on possible uses of the household concept, CiviMember-to-Drupal-roles synchronisation and hooking into the Drupal Views module to use it for CiviCRM-related data. One group worked on prototyping an RSVP workflow for CiviEvent – where invitees can respond ‘Yes’, ‘No’ or ‘Maybe’.
One of the more useful (and spectacular) outcomes of this day was the commitment of Mark Burdett and Matt Chapman to lead a community project of backporting CiviCRM 2.1 to Drupal 5.






