Copiado de http://discerning.com/topics/standards/calendars.txt
[see also: recurrence.txt GUPE/iCalendar.pm]
=head1 Overviews
=head1 Standards Bodies and Consortia
=head1 Standard Formats
Google Calendar http://www.google.com/calendar
vCalendar (1.0 September 18, 1996) http://www.imc.org/pdi/vcal-10.txt
iCalender http://www.ietf.org/rfc/rfc2445.txt
xCal aka xCalendar http://xml.coverpages.org/iCal.html
Dawson, Reddy, Royer, Plamondon 2002 «iCalendar DTD Document (xCal)"
SKICal http://skical.metamatrix.se/
RDF Calendar
hCalendar http://developers.technorati.com/wiki/hCalendar
iCalendar Basic http://www.ietf.org/internet-drafts/draft-royer-ical-basic-03.txt
http://xml.coverpages.org/draft-royer-ical-vcard-01.txt
overview
http://www.watersprings.org/pub/id/draft-dawson-vcard-xml-dtd-03.txt
<vCard xmlns:xcfxml='http://www.ietf.org/internet-drafts/draft-dawson-vcard-xml-dtd-04.txt'>
<n><family>Dawson</family> <given>Frank</given></n>
<org><orgname>Lotus Development Corporation</orgname>
<adr adr.type="WORK POSTAL PARCEL">
<street>6544 Battleford Drive</street>
<tel tel.type="WORK MSG PREF">+1–617–693-8728</tel>
carrying forward from Dawson=head1 Standard Protocols
Cal DAV? http://greenbytes.de/tech/webdav/draft-dusseault-caldav-01.html
http://www.faqs.org/rfcs/rfc2446.html
http://www.faqs.org/rfcs/rfc2447.html
http://www.ietf.org/internet-drafts/draft-ietf-calsch-cap-02.txt
IRIP
ICAP – defunct proposal (96), see http://www.clearblue.com/draft-oleary-icap-00.htm
other proposals:
Simple Scheduling Transport Protocol (SSTP) presented by On Technology
Calendaring and Scheduling Interoperability Protocol (CSIP) presented by On Time / FTP? Software
Internet Calendar Access Protocol (ICAP) presented by Clear Blue Network Systems and Lotus
=head1 Open Source Projects
Name Born Died URL
Free Association 2000 http://www.advogato.org/proj/Free%20Association/
Reefknot 2001 http://reefknot.sourceforge.net/
Hula 2005 http://www.hula-project.org/ Novell's old Net Mail? server
OSA/Chandler 2003 http://www.osafoundation.org/
=head1 Articles and Link Farms
http://www.innerjoin.org/iCalendar/index.html
http://linuxmafia.com/faq/Apps/scheduling.html
Date Lens? http://www.cs.umd.edu/hcil/datelens/screenshots.shtml
http://www.w3.org/2001/sw/Europe/200210/calendar/vocab_usecases.html
http://www.idealliance.org/papers/xml2001/papers/html/05-04-06.html
draft-ietf-calsch-imp-guide-00.txt
Once more into the Breach: Calendars, Events and RSS 2003
rant about calendar support in evolution:
Scheduling Ourselves to Death
=head1 Desired Features
Some desired features:
=head1 Google Base
See
</g:event_date_range>
See some discussion here:
=head1 Ji Cal?
See http://jical.sourceforge.net/
Has its own XML format that includes expanded events.
=head1 iCalendar RFC2445
See http://www.softwarestudio.org/iCal/2445Issues.html
Synctactically, iCalendar/vCalendar/vCard are similar.
It is roughly field: value, though the field names can be parametrized.
Field values can contain 8-bit characters.
Lines can be LWS wrapped (lines SHOULD be no longer than 75 octets).
RFC 2445 grammar, in part:
Values can contain escapes: \, \" \n
cal-address type examples (for example for ORGANIZER property):
URL property examples:
=head1 iCalendar Issues
Recurrence is complex, probably overly so.
The standard requires that timezones be defined inline, yet
there may be redefinitions of those timezones in the future
that even affect future dates in existing calendars.
This can mean conflicts with the conventional definition
of the same-named timezones. This could happen with distant
future events in old calendars,, as well as recurring events
beyond a change in the definition.
The properties such as UID, DTSTAMP, CREATED contrast
calendar store with object representation. This has unclear
meaning when objects might be reformatted, republished, and so on.
The semantics of references to other objects such as by RELATED-TO are similarly
confusing.
DTEND is unclearly defined.
Many properties could be used with different semantics, and in
some cases you'd like to use more than one such meaning at once.
For example:
iCalendar is focused on business meetings (ATTENDEE property, SENT-BY parameter, etc.),
without a similar degree of support for public events.
For example:
It has weak support for alternate DESCRIPTIONs (html vs. text; short vs. long).
There is the ALTREP parameter, but it makes little sense outside of a MIME context that can provide additional attributes.
There is the LANGUAGE parameter which apparently allows for multiple LOCATION and DESCRIPTION
and other text properties that otherwise can occur only once --
although the RFC is unclear on this, as 4.6.1 eventprop production says
that the following are optional, but MUST NOT occur more than once.
There is no certain way of distinguishing an unknown time, an unspecified time,
and an all-day event. Or of saying «some day between may 1 and may 8".
What distinguishes COMMENT from DESCRIPTION?
The LOCATION is free text, with no structured address support such as with
vCard (place name, address, phone), nor a distinct directions field
(like Ski Cal? DIRECTIONS, PLACENAME properties; TRAVELBY parameter).
ORGANIZER is too limited as cal-address, and CONTACT is too free.
What if the real organizer is an organization with a title, phone, etc.?
There is weak and unclear specification for charsets: Can UTF-16BE be used?
What to do once a VCALENDAR is detached from a MIME container?
There is no property for a VCALENDAR title (like X-WR-CALNAME) or the owning organization of a VCALENDAR.
Multi-user change tracking is weak (no distinction between submitted by,
posted by, posted when, etc. — each of which might differ from the organizer).
Ski Cal? has PUBLISHER and MANAGEMENT, but those still don't really cover
it all either.
There is no suggested manner for namespace control on values of
enumerated properties and parameters (CATEGORIES property, RESOURCES property,
ROLE parameter, etc.) (see Ski Cal? NSREF).
=head1 Example Event
===================================================
Teaser
Title:
Subtitle:
When:
Where:
Contact:
Description:
On this coming Tuesday, June 29th from 7 to 9:30pm, the African
People's Solidarity Committee is holding Is the San Francisco Bay
Area for Whites Only? A Forum on Ethnic Cleansing at the Fellowship
Hall of Humanity at 390 – 27th St (between Broadway and Telegraph) in
Oakland.
Featured as the keynote speaker will be Connie Burton, leader in the
International People's Democratic Uhuru Movement out of Tampa,
Florida.
Several months ago, Burton led an African community struggle against
the city of Tampa's plans to kick African people out of the Tampa Park
apartments in what the city considered prime real estate.
Utilizing the combination of her weekly Straight Talk radio program
she hosts in Tampa with massive leafleting, bullhorning, protests and
participation in weekly Tampa housing authority meetings, the Uhuru
Movement in Tampa under Connie's leadership was able to push out the
city's latest ethnic cleansing plan to remove black people from the
neighborhood!
Join this discussion about the devastating situation that exists from
the Tampa Bay to the SF Bay as African people are forced from their
communities. Through policies of police containment and a U.S.-imposed
drug economy, young Africans in their communities in the Bay area face
prison, the military, or the grave while people people are able to
move into their neighborhoods.
Other speakers at the forum include:
Quetzaocelocuia of the Barrio Defense Committee in San Jose,
Maurice Campbell of the Community First Coalition of Bayview-Hunter's Point,
Bakari Olatunji of the International People's Democratic Uhuru Movement in Oakland,
Wendy Snyder of the African People's Solidarity Committee.
Let's take a stand from the white community to support genuine economic development and an end to the war on the African community!
Brochure:
=head1 Proposed Schema
Here is a proposed schema.
We attempt to indicate here the mapping of field(s) between our schema,
iCalendar, and Atom.
Area
When
ISO8601 datetime with any precision (year down to second)
has a numerical tz offset, unless floating.
offset taken from @TZID param, which is a name
(we use duration instead of end to avoid extra rules about tz etc.)
if missing, then it is considered unknown (vs. 0 duration)
cannot have more precision than start
Where LOCATION (multi-line plain text)
What
summary SUMMARY
title -
subtitle shown with the title, should not be set without it
description DESCRIPTION
link* ATTACH, URL
category* CATEGORIES
Who ORGANIZER, CONTACT
Changes CREATED LAST-MODIFIED UID URL
Some come from a fixed vocabulary of choices:
Some would be fkeys to a separate address table:
===================================================
=head1 RDF Calendar
RDF model for iCal: http://web.resource.org/rss/1.0/modules/event/
more RDF and iCalendar: http://www.ninebynine.org/RDFNotes/Calendaring/iCal-proposal.html
http://esw.w3.org/topic/RdfCalendarDocumentation
http://swordfish.rdfweb.org/discovery/2003/11/rdfical/www2004-draft-20031113-final.html
http://www.w3.org/2001/sw/Europe/200404/rssical/rssical.html
http://www.w3.org/2002/12/cal/
http://dublincore.org/2003/12/08/dctype#Event
=head1 Ski Cal?
http://swordfish.rdfweb.org/people/libby/rdfweb/skical/skical-daml.daml
http://swordfish.rdfweb.org/people/libby/rdfweb/skical/skical-daml-diary.txt
http://skical.metamatrix.se/
Structured Knowledge Initiative
http://skical.metamatrix.se/skical20010905.html
http://xml.coverpages.org/draft-many-ical-ski-06.txt
=head1 Libraries
http://www.simondobson.org/downloads/files/ical2vcal
Icabra http://isg.ee.ethz.ch/tools/isgtc/index.cgi?page=module_source;module=icabra;source=icabra
ical2rdf.pl http://www.w3.org/2002/12/cal/ical2rdf.pl
http://svn.plone.org/view/collective/Calendaring/trunk/parser.py?op=file&rev=10643&sc=0
http://codespeak.net/icalendar/
http://distfiles.master.finkmirrors.net/ccal041.py
http://www.w3.org/2002/12/cal/fromIcal.py
http://sourceforge.net/projects/collective
http://plone.org/newsitems/ploneicalendar/talkback/1087233044
http://wiki.osafoundation.org/bin/view/Journal/JeffreyHarrisToDo
http://ical4j.sourceforge.net/
http://co-project.lboro.ac.uk/users/coch2/jical-1.4/docs/html/
libical http://www.softwarestudio.org/libical/ and
http://www.aurore.net/projects/libical/
http://korganizer.kde.org/develop/architecture.html
http://cvs.gnome.org/viewcvs/libmimedir/mimedir/
http://sourceforge.net/projects/icalparser/
opengroupware
http://dev.wp-plugins.org/file/ical-events/trunk/import_ical.php
=head1 Perl Modules
perl cpan support
Date Time?::Format::ICal http://search.cpan.org/dist/DateTime-Format-ICal/lib/DateTime/Format/ICal.pm
Date Time?::Event::ICal http://search.cpan.org/dist/DateTime-Event-ICal/lib/DateTime/Event/ICal.pm
Net::vFile http://search.cpan.org/~jlawrenc/Net-vCard-0.5/lib/Net/vFile.pm
Text::vFile
Date::ICal http://search.cpan.org/~rbow/Date-ICal-1.72/
Net::ICal http://search.cpan.org/~srl/Net-ICal-0.15/lib/Net/ICal.pm
Text::vFile::asData
Date::Set http://search.cpan.org/~fglock/Date-Set-1.30/lib/Date/Set.pm
iCal::Parser::HTML
iCal::Parser uses Text::vFile::asData.
Data::ICal
=head1 Open Source Native Clients
Rainlendar http://www.rainlendar.net/
http://www.ipi.fi/~rainy/index.php?pn=projects&project=rainlendar
Chandler
Mozilla Sunbird (win32, osx, linux)
Evolution http://www.novell.com/products/desktop/features/evolution.html (osx, linux)
KOrganizer http://korganizer.kde.org/ (win32, osx, linux)
Kalendar
http://www.gnome.org/users-guide/gcal.html
=head2 Commercial Calendar Clients
30boxes.com
Yahoo Calendar calendar.yahoo.com
Microsoft Outlook
http://www.rockinsoftware.com/WinDates.aspx
http://www.even-t.com/even-t.html
Corporate Time? http://www.cst.ca/ -> www.steltor.com -> Oracle
=head1 Web-Based Clients
lists and reviews:
software: PHP iCalendar
example use at http://calendar.resist.ca/month.php
no editing, just presents a .ics file
demo at http://phpicalendar.net/phpicalendar/
parser is limited: doesn't even deal with escapes!
fork to support booking, at http://www.nanofab.ualberta.ca/iCalDemo
EOF
Monket Calendar http://www.monket.net/wiki/monket-calendar/
UW Calendar http://www.washington.edu/ucal/
iCal::Parser::HTML
http://jwebcalendar.sourceforge.net
webcalendar.sf.net = http://www.k5n.us/webcalendar.php
exports to iCalendar or vCalendar
Web Calendar? http://www.math.utexas.edu/users/mzou/WebCalendar.html
extcal http://sourceforge.net/projects/extcal
http://sourceforge.net/projects/iwebcal/
http://sourceforge.net/projects/myxcal
http://myphpcalendar.sourceforge.net/
webcal http://bulldog.tzo.org/webcal/webcal.html
http://www.circulargenius.com/flatcalendar/
=head1 Perl Modules for Generating Calendar HTML
Plot Calendar? http://www.ajackson.org/software/plotcalendar/
Calendar::Schedule http://users.cs.dal.ca/~vlado/srcperl/
HTML::Calendar::Simple
=head1 Calendar Repositories
http://pax.protest.net/event.cgi?ID=480818&state_values=SITE!.40
http://www.radicalendar.org/index.php?function=subscribe
=head1 Commercial Hosting
http://my.calendars.net/bsupcalendar/d01/10/2005?style=B&display=M&positioning=A