We are using Drupal’s signup module to manage volunteer signups for large events. Signup handles so many needs so well. We have a dedicated content type for major volunteer signups, but we can also attach signups to any event, date-enabled or not! Volunteer coordinators may specify the confirmation message that volunteers see right after signing up, as well as another message for reminder messages. Volunteers may see a list of their own signups. I allowed volunteer coordinators to create new events via a free-tagging taxonomy field.
I added a few features to meet our needs. Out of the box, Signup doesn’t offer anything for large events that have lots of different jobs, dates, and time slots. I added a custom field to the content type and a form_submit hook to a custom module in order to accept a list of dates and clone the submitted node to as many dates as needed. Volunteer coordinators still have to submit one form for each job, but that’s okay, because they tend to have distinct descriptions as well.
Signup comes with an administrative view to list all signups, which was a great base to filter by event (taxonomy term). I then installed Views Bonus in order to get CSV export. That way, volunteer coordinators can download the data without the help of a website administrator. Another view displays just the taxonomy terms attached to signups, which serves as a main menu of all available events (showing all available dates and times would generate far too many items).
I had to make one change to Signup module code. Volunteer staff wanted to display how many people had signed up versus how many slots were available. I created a new computed field in the module itself, because I couldn’t think of another way to do this.
It’s great that so much of this may be assigned by permission so that individuals with the volunteer coordinator role may help themselves to set up new events, jobs, dates and times, and download results.