NAME
OurCal - a simple yet featureful personal calendaring system
SYNOPSIS
This is a example index.cgi
my $config = OurCal::Config->new( file => 'ourcal.conf' );
my $handler = OurCal::Handler->new( config => $config);
my $cal = OurCal->new( date => $handler->date, user => $handler->user, config => $config );
my $view = OurCal::View->load_view($handler->view, config => $config->config, calendar => $cal);
print $handler->header($view->mime_type);
print $view->handle($handler->mode);
DESCRIPTION
OurCal was written one hungover Sunday afternoon 5 years ago and hasn't changed that much since. It's not a complicated calendaring system, I've got other code to do that, but it's simple and extendable and it works.
Feature wise:
- simple events
-
OurCal has no concept of start or end times - an event is on a day or it isn't. Surprisingly this suffices 99% of my time and makes things much quicker and easier internally.
Events can be marked up using the Chump syntax which is kind of like Markdown but had the virtue of existing at the time. There's no real reason why Chump couldn't be ripped out and replaced with Markdown.
Events have a date and a description and that's pretty much it. If you want more feed me beer and choclate covered coffee beans until I get round to finishing EventQueue.
- todos
-
OurCal has simple TODO items as well - these are also marked up in Chump.
- icalendar
-
OurCal can import iCalendar feeds from both local and remote sources and can also export an ICS feed. Since it's all done with plugins (I loves me my plugins) you could write plugins to import and export whatever you want.
- multi user
-
Nominally OurCal is multi user but there's no user management to speak of and I only ever use it for one person so I wouldn't know.
- hCalendar
-
All events use hCalendar semantic markup because I'm nothing if not Buzzword Compatible.
- mod_perl
-
There's no mod_perl or mod_perl handler at the moment but it'd be but a moments work to do.
METHODS
new <params>
Requires a config
param of type OurCal::Config
and a date
param in the form yyyy-mm
or yyyy-mm-dd
. Can optionally take a user param. No user validation is done.
date
Return the current date
user
Return the current user
span_name
Return the current date as a span name (month or day)
span
Return the current date as an object - either an OurCal::Month
or an OurCal::Day
).
events
Return the events for a current span as OurCal::Event
objects
has_events
Return whether the current span has events
todos
Return all the current todos as OurCal::Todo
objects.
users
Returns the names of all the current users
save_todo OurCal::Todo
Save a TODO item
del_todo OurCal::Todo
Delete a TODO item
save_event OurCal::Event
Save an Event
del_event OurCal::Event
Delete an event
AUTHOR
Simon Wistow <simon@thegestalt.org>
COPYRIGHT
Copyright, 2007 - Simon Wistow
Distributed under the same terms as Perl itself
SEE ALSO
OurCal::Provider, OurCal::View, OurCal::Handler, OurCal::Config