From mboxrd@z Thu Jan 1 00:00:00 1970 From: Torsten Wagner Subject: Re: org-caldav: Sync Org with external calendars through CalDAV (Owncloud, Google, ...) Date: Fri, 27 Jul 2012 23:49:18 +0900 Message-ID: References: <87r4senoly.fsf@engster.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Return-path: Received: from eggs.gnu.org ([208.118.235.92]:50019) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sulr3-0002YR-3e for emacs-orgmode@gnu.org; Fri, 27 Jul 2012 10:49:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sulqy-0000mP-1b for emacs-orgmode@gnu.org; Fri, 27 Jul 2012 10:49:25 -0400 Received: from mail-yx0-f169.google.com ([209.85.213.169]:41814) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sulqx-0000mI-Mo for emacs-orgmode@gnu.org; Fri, 27 Jul 2012 10:49:19 -0400 Received: by yenr5 with SMTP id r5so3990386yen.0 for ; Fri, 27 Jul 2012 07:49:18 -0700 (PDT) In-Reply-To: <87r4senoly.fsf@engster.org> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Hey David, found a little bit time to test it. First of all great work and one more step to get org-mode on-the-go I set-up very quickly a ownCloud server since I am interested in moving away from google stuff. So some problems might simply be a misconfigured ownCloud server... Sync went ok however, I notice I have to log-out from the ownCloud webmask... again maybe a ownCloud server setting The location was not synced yet. Furthermore, I wonder how to use it finally. I can see the new entries in the from-calendar.org file. Can I move them to appropiate places in my working file? What would happen to a sync in that case? I guess my working scheme would be like this Create appointments in my org-file... sync on-the-go make changes or add new entries to the calendar sync move all from the file from-calendar.org to the right places in the work org-file. sync Is this the intended way of usage? Also, you said not to add the from-calendar.org file but why not using the following scheme? Read all appointments from from-calendar.org and sync them with the calendar (they should be there already) mark all double entries in the calendar to be still not in the original work file e.g. the title could be [WIP] Title.... That would remind people to move them out of from-calendar.org to the right places. As soon as they removed them from from-calendar.org they could be marked by using the title [org-file] Titel. That would help people to tell them that they will finally find entries later in the work file. A tag would esp. help if there will be a support for multiple org-files to sync. As for multiple org-files the org-agenda mechanism might be helpful. It already enables to use several org-files to create an agenda. Maybe syncing from there is easier?! Thanks again for the great work Torsten On 15 July 2012 04:12, David Engster wrote: > I have written a package 'org-caldav' which can sync items to a remote > calendar server using the CalDAV protocol. The main purpose of this > package is to make better use of Org in combination with Android-based > mobile devices (yes, there is mobileOrg, but I have several problems > with it; that's a topic for another day, though). > > I think org-caldav is now "good enough" to allow some testing by > adventurous people. I put the code up on github here > > https://github.com/dengste/org-caldav > > I've tested the code with my Owncloud server and also with Google > Calendar. Please see the Readme on how to set things up. Most > importantly, please use a new, dedicated calendar for testing this > package; do *not* use your precious main calendar. Also, while > org-caldav should only access the calendar you provide through > `org-caldav-calendar-id', you should have a backup of all your calendar > data, just in case. > > The initial sync can take some time, depending on the number of > events. Especially the CalDAV interface to Google can be quite slow at > times. If the initial sync aborts for any reason, just run > `org-caldav-sync' again. Note that after the initial sync, only new > events will be transferred, so things should become much snappier. > > A few further notes regarding the code: > > I am relying mainly on three other packages to do the real heavy > lifting, which is also why org-caldav is actually pretty small: > > - url-dav.el for talking to WebDAV servers (CalDAV is essentially WebDAV > with a few extensions). Unfortunately, the current version of url-dav > that is shipping with Emacs is broken for practically all CalDAV > servers (see bug #11916), which is why I provide a patched version of > url-dav.el in the above repository. You have to make sure that this > patched version is loaded instead of the one in Emacs proper. I am > hoping that this will be fixed in Emacs 24.2. > > - org-icalendar.el is doing all the conversion from org to icalendar > events which are needed for CalDAV. This has the advantage that you > can use all the variables from that package to control how things > should be exported. The only exception is the actual org files being > searched for time stamps, which is determined through > `org-caldav-files'. > > - icalendar.el for parsing events from CalDAV. I took some code from > that package to generate org items from the calendar events. > > The syncing between org and the external calendar is not yet really > finished. I would like to have proper two-way-syncing so that you can > freely change events on any side, but this is rather difficult to do and > I'd first like to get some feedback on the current code. Also, I have > a hunch that some Org experts around here might have some good ideas on > how to properly implement this. > > Here's what the code can currently do: > > - All items in `org-caldav-files' with active time stamps are synced to > the calendar. > > - If you change an item in one of those files in orgmode, this change > will also get synced to the external calendar (to be exact: this will > generate a new event and the old one will be deleted). > > - If you create a *new* event in the calendar through Android or any > other client (like browser), this event will land in the > `org-caldav-inbox' file as an org item. > > However: > > - If you *change* an item directly on the CalDAV server, this will *not* > get synced back to Org. What happens exactly depends on the server > (whether it renames the event or not). Just try it out. The item might > even get deleted after the next sync - you have been warned. > > - Likewise, if you *change* and item in `org-caldav-inbox', this will > not get synced back to the calendar. > > OK, this has gotten way too long already. Please try it out and let me > know how it goes. > > Cheers, > David >