NoiseCal

From Noisebridge
Revision as of 18:46, 23 January 2010 by Thatha (Talk | contribs)

Jump to: navigation, search

This page describes the specifications and implementation of a NoisyCalendar, a calendaring solution that adheres to Noisebridge's practices and principles.

Contents

Folks

Specifications

Requirements

  • 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

Bonus points

  • 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"

Implementation

We are still at the brainstorming phase

Meetings

2010-01-23 15:00

  • replace prefixsearch with cateogry->getMembers
  • Parsing
    • 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
    • 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?

Personal tools