Eldav: Yet another WebDAV interface for Emacsen

Add the following line to your .emacs.

    (require 'eldav)

If you want to use proxy server, following setting is also needed.

    (setq eldav-proxy "http://your.proxy.server:8080")

Then you can access WebDAV files by specifying magic file name like:


(Add preceding ‘:’ to the WebDAV URL.)

iCal sync

jemarch offered the following on #emacs:

;; openxchange interaction routines
(require 'eldav)

(defvar openxchange-diary-file "~/emacs/diarylala"
  "Diary file to syncronize with the openxchange server")

(defun openxchange-sync (url-base)
  "Synchronize with the openxchange server present at URL-BASE"

  (interactive "sopenxchange server url: ")

    (let ((webdav-ical-file (concat url-base "/servlet/webdav.ical")))
      ;; Putting events
        (insert (icalendar-export-string openxchange-diary-file))
        (eldav-put-buffer webdav-ical-file))
      ;; Delete the diary file
      (with-temp-file openxchange-diary-file
      ;; Getting events
        (insert (eldav-get webdav-ical-file))
        (icalendar-import-buffer openxchange-diary-file t)))))

Editing EmacsWiki

Since eldav.el treats all existing files as read-only, you have to override the defun ‘eldav-file-writable-p’:

    (load-file "~/elisp/eldav-0.8.1/eldav.el")
    (defun eldav-file-writable-p (file)

Then try ‘C-x C-f’ and edit :http://www.emacswiki.org/cgi-bin/wiki/dav/ElDav. (Note the colon before the URL!)

At the moment there seems to be no way to transmit username and password.