Thoughts on "What's On".
Developed out of a re-write of the perl scripts created by Andy Powell. Used a email submission from form system similar to the initial (now re-written) noticeboard.
What's On was then moved to a MySQL-backed datastore, re-written in PHP. Introduced categories, submission checking/validation, email confirmations, RSS feed and multiple administrators with admin done via web forms. MicroFormats were later added to event pages. Category moderators were subsequently added.
What's On is now checked into Subversion version control (https://vcs.bath.ac.uk/svn/whats-on/)
Whether What's On should be continued to be developed is debatable, there are a number commercial and free/open alternatives available on the market. There are a number of crossovers into "enterprise calendaring" and it may be desirable in future to display institutional events within a web calendar.
In addition to microformats and Atom/RSS we may want to look at vCal, vCalendar/iCalendar and calDAV. Any mobile device opportunities?
What's On syndication
Places where What's On could have possibly been utilised (with possible modification)
What's On in alternate formats
Since late 2006 What's On has been available in a number of different formats by changing the type attribute in the URL:
Possible Future Enhancements/Wants/TODO
- Category display on event - we don't show this which leads people to prefix the title in some cases, eg "Film:"
- email reminders - users could subscribe to event reminder email or text messaging?
- Print preview - prepare event for printing
- PDF output
- Cancelled links to new event - if an event is rescheduled old event could link to new
- Blame log - who edited the events, with rollback? - partly done (last editor, no rollback)
- Google/Oracle integration - links to other systems
- RSS category - RSS feed by category - done
- Repeating events
- Hooks into other systems - can we overlay other calendars into what's on?
- API - display What's On events in other formats/calendars (RSS/ATOM provides one avenue)