Hosted Service (7 May 2008)
I've re-written ShiftScheduler using the Django Python Framework, and am providing this new version, dubbed VolSched (for Volunteer Scheduler) as a free service at volsched.com. If you don't feel the need to administer ShiftScheduler yourself, I strongly recommend using VolSched instead. It's prettier and it works better. I'm actually quite proud of it :-).
News (1 November 2007)
Version 0.20 is out. This release no longer requires CGI::Auth, as the admin authentication is now database-driven. Error reporting is much improved. Multiple database types are now supported, and I've tested it with Postgres 8.2 and MySQL 5.0.38. It probably has less testing overall than 0.10, since I haven't used it for a real event, so let me know if you have any problems with it.
Background
A hobby and passion of mine is organizing Linux Installfests. I do this with a group called Liberating Students Digitally. Lately, I've been busy organizing our Fall 2006 Installfest, and I needed a good way to let people signup to volunteer. I wanted something that would work online and be mostly automated.
I Googled and Googled and Googled, and didn't find much. However, I did find a blog post by a guy named Richard Kassissieh, who had written exactly the script I needed, but had not released the code. I emailed him and he was more than happy to provide me with his code and database schema. I did some re-tooling, and this script is the results
License
As a fervent supporter of free software, I would not feel right distributing this code under any license other than the GNU GPL. A copy of the license is included with the script. Please extend, modify, redistribute and hack this code as much as possible. That's how free software works.
Requirements
You will need the following for this script to work:
- Perl (tested with Perl 5)
- Perl modules: Digest::MD5, CGI, CGI::Session, Authen::Simple, Authen::Simple::DBI, Net::SMTP, DBI, the necessary DBI driver for your database
- Postgres or MySQL (tested with Postgres 8.2 and MySQL 5.0.38 - Postgres recommended)
Screenshots
I don't have a public online demo of the script, so I took screenshots. The screenshots are of version 0.10, so a few things have changed, but it still looks roughly the same.
- The (boring) login screen.
- The main admin page.
- The event admin page.
- The main volunteer page.
- Volunteer registration page.
- Volunteer shift signup page.
- Volunteer shift signup page with one shift signed up.
- Admin view shifts page. You can send email reminders to people.
Documentation
Unzip or untar the script into your cgi-bin. Make sure that the file configfile is writeable. Point your browser at the setup.cgi script.
Please email me with any questions or bugs you find.
History
See the changelog for version history.
Download
Latest version: 0.20
Old versions:
Donations
I believe in free software - free like free speech and like free beer. However, I also like (and need) money to live, go to school and write code. If you use this script and really like it - especially if you were willing to pay for something like this in the first place - a donation would be really nice. Please don't feel obligated to give me money; I created this script for myself and made it available because I thought other people might want to use it. However, if you feel so inclined, click the button to donate by paypal: