When Simplicity is the Harder Option - Calendars for Tiny Distributed Workgroups

One thing I’m finding a little difficult since I’m used to develop enterprise wide interoperability options for large organizations and companies is that scaling down to very small workgroups is much harder than it seems in terms of getting them to collaborate but still stick to standards that will allow the group to grow over time.

I mentioned the other week about chucking MediaWiki in favour of the much, much more stripped and simple Dokuwiki for my non-tech-savvy and predominantly dial up enabled political organization here in the Okanagan. That was a major coup. It’s scary how suddenly even luddites are using it. I love the fact they are though. I feel it’s made the whole group much more productive. Oh yes, and free – important for a group on an IT budget of zero.

Now, I’ve got another problem: scheduling. Originally, so everyone could see a number of calendars we had to put up, I threw up the excellent PHP iCalendar on a server and just uploaded the file from my handy Apple iCal, as well as provided instructions on how to subscribe to it from iCal, Sunbird, Moz Cal, and (I had thought) Outlook 2002+.

However, now the issue is that I really need to start letting other users change those files and don’t want to be the bottleneck where everyone goes through sending me changes. Everyone in the small group can be trusted so I was just going to protect the interface with a simple .htaccess. And the interface needs to be clean, easily understandable and attractive.

Actually, really all I need is PHP iCalendar with the added ability to allow anyone to add events to the calendars already there. Don’t want to bother with a full database solution (tried webcalendar this evening and thought it was overkill and er, not really that pretty) and still want those calendars iCal-standard compatible and capable of being subscribed to. I thought briefly of Horde’s Kronolith (man, when we get larger, we are so going to a unified LDAP directory) but again, overkill. As would be any calendaring server solution that requires a database at the moment.

Anyone got any ideas besides me hacking the PHP iCalendar parser to give it “add event” functions? Care to save me some search and/or hack time?