emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] org and microsoft exchange


From: Matthieu Lemerre
Subject: Re: [O] org and microsoft exchange
Date: Sun, 26 Jun 2011 15:35:51 +0200
User-agent: Notmuch/0.5 (http://notmuchmail.org) Emacs/23.2.1 (i686-pc-linux-gnu)

Hi,

After some digging I found the following setup to share my calendar with
people using outlook.

One problem is that org-mode produces ics files, but they are "calendar
snapshots", and outlook does import them well (if you import them twice,
your calendar items will appear twice)

This problem is described here: 
http://stackoverflow.com/questions/45453/icalendar-and-event-updates-not-working-in-outlook

Basically, Outlook requires RFC2446 calendars for this, which requires
some additional fields (organizer, method, and sequence). It should be
possible to convert org-mode calendar import to produce this kind of
calendars, the only difficult track being to track the sequence numbers.

As a workaround, the best solution I found wast to generate a .ics file
and put it on a private http server (webfsd is appropriate for this).
If the URL to this file is http://nommachine.domain:3000/dir/file.ics,
just change it to webcal://nommachine.domain:3000/dir/file.ics and enter
this URL to Internet explorer. Then outlook can automatically subscribe
to this calendar.

The following lisp code launches the webfsd server and regularly updates
the ics file.

This isn't really "sync", but at least allows yourself and others to see
your calendar in outlook!

Hope that can be useful
Matthieu

#+begin_src emacs-lisp
(defun export-icalendar-at-the-right-place ()
   (interactive)
(let ((org-agenda-files '("~/org/org.org"))
      (org-combined-agenda-icalendar-file "~/webfsd_public/org.ics"))
  (org-export-icalendar-combine-agenda-files)))

;; Automacally exports my calendar every 1800s (30 minutes)
(run-at-time "10 min" 1800 #'export-icalendar-at-the-right-place)

;; Launch webfsd to serve the .ics file
(start-process "webfsd" "webfsd" "webfsd" "-r" "/home/me/webfsd_public" "-p" 
"3001")

;; To access it from outook:
;; webcal://myhost.mydomain.fr:3001/org.ics
#+end_src



reply via email to

[Prev in Thread] Current Thread [Next in Thread]