emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nick Dokos <nicholas.dokos@hp.com>
To: Philipp Haselwarter <philipp.haselwarter@gmx.de>
Cc: nicholas.dokos@hp.com, emacs-orgmode@gnu.org
Subject: Re: Status google calendar sync
Date: Sat, 11 Jun 2011 14:38:50 -0400	[thread overview]
Message-ID: <4788.1307817530@alphaville.dokosmarshall.org> (raw)
In-Reply-To: Message from Philipp Haselwarter <philipp.haselwarter@gmx.de> of "Sat, 11 Jun 2011 15:25:00 +0200." <874o3wa4b7.fsf@nzebook.haselwarter.org>

Philipp Haselwarter <philipp.haselwarter@gmx.de> wrote:

> Unfortunately, both the awk script and the org-export-icalendar seem to
> have quite a hard time with repeating entries.
> ical2org does not honor RRULE at all, the export has some very basic and
> very fragile support, but anything like
> <%%(org-diary-class 16 02 2011 18 05 2011 3)>
> or
> SCHEDULED: <2011-02-20 Sun +1w -2d>
> already fails it.
> 
> I think this is an important topic, especially wrt mobile devices.
> Better interoperability with other calendering systems would greatly
> benefit the org user experience.
> 

I agree - I have been thinking (unfortunately mostly only thinking)
about it and it seems to me that many of the pieces are there, but there
is a non-trivial amount of work to do this and do it right:

o icalendar.el should be the basis of this, but unfortunately, it is too
  closely tied to the diary (and is incomplete or buggy in various ways).

o It should be refactored to convert between an iCalendar file and a
  generic in-memory representation of a calendar: basically an
  attributed tree where the root is the VCALENDAR element, with VEVENTs,
  VTODOs, VALARMs etc. i.e. all the other elements underneath, each
  decorated with the various parameters that apply to it. The
  representation should make it easy to do the next step.

o Converters between the generic in-memory representation and various
  other formats (diary, org) are then needed.

o The refactoring of the original icalendar.el will essentially do this
  for a diary representation.  An org converter along these lines can
  then be fairly easily written I think.

o These converters are ripe for what Kernighan and Plauger call a
  "left-corner" development approach: just bite the smallest useful
  subset and add features as needed, deliberately and carefully. Both
  the current implementation of org-icalendar and Eric F.'s awk script
  would be useful in this respect: they basically cover the basic
  functionality needed (but perhaps not completely, as Philipp points
  out).

I've been working on this along these lines, but time constraints have
made progress almost imperceptibly slow.

BTW, the reason I've become interested in this is that recently I
started being bombarded with meeting invitations generated from (what
else?) M$ Outlook. My former method of adding the invitations to my Org
appointment book by hand is just not sufficient any longer. So I have
mercilessly hacked icalendar.el to invoke an org-capture with the
details, so I can just look it over and file it quickly. At the other
end, I modify the mh-e show hook to scan the message for text/calendar
attachments and kick off the icalendar stuff. But it's not working very
well yet, the hacked icalendar implementation is ugly (think Medusa-
turns-you-to-stone-if-you-look-at-it-ugly) and there are bugs (the most
serious of which is the icalendar timezone stuff that I referred to in a
recent thread). I'm trying to fixg the bugs and am working on the
back-end usability stuff in order to survive the onslaught - but the
icalendar stuff in the middle is likely to remain unspeakably ugly in
the foreseeable future - I just have no time for it.

So if anybody is interested, I hope this is useful as a starting point.

Nick

  reply	other threads:[~2011-06-11 18:45 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-01  0:54 Status google calendar sync Torsten Wagner
2011-02-01  9:12 ` Eric S Fraga
2011-02-01 22:44 ` Sven Bretfeld
2011-02-02  5:15   ` Torsten Wagner
2011-02-02  8:30     ` Konrad Hinsen
2011-02-14 21:39       ` Marcelo de Moraes Serpa
2011-02-15  7:18         ` Konrad Hinsen
2011-02-15 16:37           ` Marcelo de Moraes Serpa
2011-02-15 16:43             ` Marcelo de Moraes Serpa
2011-02-15 16:55               ` Bastien
2011-06-10 16:58           ` Stephen Eglen
2011-06-10 17:04             ` Arun Persaud
2011-06-10 18:34               ` Stephen Eglen
2011-06-10 19:09                 ` Arun Persaud
2011-06-11 13:25                   ` Philipp Haselwarter
2011-06-11 18:38                     ` Nick Dokos [this message]
2011-06-15 19:00                       ` Eric S Fraga
2011-06-11 17:32                 ` Niels Giesen
2011-06-30 16:14                   ` Bastien
2011-06-15 18:45                 ` Eric S Fraga
     [not found]                 ` <87hb7rory9.fsf@ucl.ac.uk>
2011-06-16 12:13                   ` Stephen Eglen
  -- strict thread matches above, loose matches on Subject: below --
2011-01-29 14:53 Torsten Wagner
2011-01-29 19:38 ` Mark Elston
2011-01-29 20:44   ` Greg Troxel
2011-01-30  4:36     ` Mark Elston
2011-01-30 13:28       ` Greg Troxel
2011-01-30 14:09         ` Eric S Fraga
2011-01-30 20:43           ` Arun Persaud
2011-01-30 21:36         ` Mark Elston
2011-01-30 14:01       ` Eric S Fraga
2011-01-30  1:21 ` Eric S Fraga
2011-01-31 10:02   ` Christopher Witte
2011-02-01  9:07     ` Eric S Fraga
2011-01-21  8:38 Torsten Wagner
2011-01-21  9:43 ` Ian Barton
2011-01-21 15:22   ` Nick Dokos
2011-01-21 18:19   ` Arun Persaud
2011-01-21 23:58     ` Eric S Fraga
2011-01-25 20:21       ` Arun Persaud
2011-01-26 12:33         ` Eric S Fraga
2011-01-26 23:29           ` Mark Elston
2011-01-27  0:52             ` Arun Persaud
2011-01-27  2:51               ` Mark Elston
2011-01-27 19:43                 ` Arun Persaud
2011-01-27 21:57                 ` Arun Persaud
2011-01-28 16:13                   ` Eric S Fraga
2011-01-31 19:03                     ` Bastien
2011-01-29  1:28 ` Greg Troxel
2011-01-29 12:45   ` Eric S Fraga

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4788.1307817530@alphaville.dokosmarshall.org \
    --to=nicholas.dokos@hp.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=philipp.haselwarter@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).