This page describes the specifications and implementation of a NoisyCalendar, a calendaring solution that adheres to Noisebridge's practices and principles.
- Publicly editable
- Unregistered editable
- Revert edits
- Publicly linkable
- Has the usual variety of calendar layouts (day, week, month, list)
- Events have a time, duration, description, recurrence, location
- Exports to iCalendar (RFC 5545)
- Widget on the wiki homepage
- Free, as in free speech and free beer
- Hosted locally
- Can use wiki logins or some other kind of identification in addition to anonymous
- Events have a field for which room/area of NB
- Calendars show which room/area of NB
- open source or some other moral superiority
- easy publishing to email (for nb-announce, for instance)
- misc bells and whistles
- RSS feed
- Some kind of reputation system, likely usernames. Edits can be associated with usernames.
- Tagging/Categorizing of events are useful so as to group similar events. There's a lot going on at NB! IE: "5MoF", "Conlang", "Not Happening on a Regular Basis", "Reoccuring"
We are still at the brainstorming phase
- replace prefixsearch with cateogry->getMembers
- add parsing for time
- validate stuff (on ArticleSave or on every ViewHook). you could get a preview, even if you clicked save, if your edit is invalid. ViewHook?
- let event description be wherever in the article
- iCalendar export
- use objectcache for caching
- we shall use a human-readable wikiformat of the format:
= Event Details = (any heading level is acceptable) * Key: Value
Valid keys, for now, are: "Description" (not optional), "When" (not optional), "Where", "Recurring", "Organizer". Values of "When" must be valid ISO8601 timestamps. Everything is case insensitive (both keys and values where applicable).
We parse out the event on save, and add categories as a layman's index.
How does iCalendar deal with past events? Or?