A client approached us with a specific need; to allow for the concept of “teams” in event registration. In addition to tracking team groups, they wanted to automatically send the team captain an email notifying them of a new team member. Unfortunately at this time, Civi does not have a great mechanism to automatically track teams in the context of event registrations.
Normally we would implement this using Personal Campaign Pages. After all, a team is the same concept as a PCP, right? Currently, though, CiviCRM does not support Personal Campaign Pages being associated with events. Rather than hack custom data to somehow support this, which was our main alternative, we thought it would be a better idea and a stronger solution to make the updates necessary to PCP so that they would work for events as easily as they do for contribution pages.
After an engineering review of the PCP system, we made some structural modifications to the database schema to transform PCPs to support multiple types of entity targets. We updated the contribution system code to work with both event and contribution page PCPs and to generate the appropriate links where needed. Administration of available PCPs is all accomplished via the single manage “Personal Campaign Pages” interface, which remains under the Contributions menu at this time. Administrators are able to disable, enable, and configure PCPs on events as a new tab when editing an event.
End users are able to interact with event PCPs in exactly the same way as before. Now thought, they can donate to a campaign page, or register with an event. After the event registration, administrators may give them the option to create their own PCP for the event, thus enabling teams to easily add themselves to the registration system.
We have contributed our patches back to the CiviCRM community (issue CRM-8534 for the adventerous) and look forward to seeing this in core in the future!
Switchback, LLC is a small firm based out of Ann Arbor, Michigan that specializes in CMS Website Development using Drupal, and uses a highly customized Drupal/CiviCRM implementation to power their Software as a Service product, Caravan.