emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Status google calendar sync
@ 2011-01-21  8:38 Torsten Wagner
  2011-01-21  9:43 ` Ian Barton
  2011-01-29  1:28 ` Greg Troxel
  0 siblings, 2 replies; 49+ messages in thread
From: Torsten Wagner @ 2011-01-21  8:38 UTC (permalink / raw)
  To: Org Mode Mailing List

Hi all,

Since I use my Android-based phone on a daily basis (after all it is a 
mobile phone), I got tempted to use more and more the google calendar. I 
know about mobileorg and all this. However, the calendar is so highly 
integrated with many applications on the phone that is is often just a 
click away to add a new appointment.

I know some people managed to get a kind of sync running between 
org-mode and google calendar. I would really like to know how this works 
out for them and maybe create a stimulus to write something (I would 
play the beta-tester) on worg.

Ideally, I want to have a no-brainer. I create a new appointment in 
org-mode and a keypress away it should be synced with the google 
calendar. Alternatively, an automatic sync every hour or so would be nice.

On the other side, I wish I could add an appointment on my mobile phone 
and it ends up automatically with the next sync as an appointment in a 
special heading in the org-file (like org-remember, does). From this 
point, I could move it to other locations if I feel so.

I would love to hear how far people got with an approach like describe 
above.

My major concern is, as long as it is not automatized in the most 
easiest possible way, I would, for one or the other reason, skip 
synchronisation and by time things become diverted and messy to sync.

All the best

Totti

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  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-29  1:28 ` Greg Troxel
  1 sibling, 2 replies; 49+ messages in thread
From: Ian Barton @ 2011-01-21  9:43 UTC (permalink / raw)
  To: emacs-orgmode

>
> I know some people managed to get a kind of sync running between
> org-mode and google calendar. I would really like to know how this works
> out for them and maybe create a stimulus to write something (I would
> play the beta-tester) on worg.
>
> Ideally, I want to have a no-brainer. I create a new appointment in
> org-mode and a keypress away it should be synced with the google
> calendar. Alternatively, an automatic sync every hour or so would be nice.
>
> On the other side, I wish I could add an appointment on my mobile phone
> and it ends up automatically with the next sync as an appointment in a
> special heading in the org-file (like org-remember, does). From this
> point, I could move it to other locations if I feel so.
>
> I would love to hear how far people got with an approach like describe
> above.
>
Hi Torsten,

I have been playing around with this for a while. I use a Nokia phone, 
but the principle is the same. I have experimented with both syncing 
from my org files to Google and syncing from Google to org.

I don't attempt bi-directional sync, so one side of the sync operation 
is always considered the "master". Initially I tried creating an org 
file from Google calendar by using the python bindings that Google 
provides. This worked pretty well - basically the org file is re-created 
each time I synced with Google.

However, almost without exception, I will be at my computer when I want 
to create an appointment. So, for me it makes sense to create my 
appointments in org and export them to Google. At the moment I have a 
cron job that exports my appointments as an ics file on my server and 
Google reads this. Luckily, I don't have complicated appointments. They 
tend to be single events, or weekly recurrences which org handles OK.

The one useful thing I am missing at the moment is the ability to set 
reminders in Google Calendar. I find these very useful as Google will 
send me an SMS message. In fact I often create appointments, which are 
really just reminders! I am planning to implement this  by creating 
reminders as org Properties and then using them to create the Google 
reminder.

Since I am still on page one of the "Complete Idiots Guide to elisp", I 
plan to do this in Python, which has some nice libraries for creating 
ics files.

Ian.

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-21  9:43 ` Ian Barton
@ 2011-01-21 15:22   ` Nick Dokos
  2011-01-21 18:19   ` Arun Persaud
  1 sibling, 0 replies; 49+ messages in thread
From: Nick Dokos @ 2011-01-21 15:22 UTC (permalink / raw)
  To: lists; +Cc: nicholas.dokos, emacs-orgmode

Ian Barton <lists@manor-farm.org> wrote:

> ...
> Since I am still on page one of the "Complete Idiots Guide to elisp", I 
> plan to do this in Python, which has some nice libraries for creating 
> ics files.
> 

On a loosely-related note, I find myself in the unfortunate position of
being the target of Outlook-generated appointment emails (including a
calendar attachment). In self-defense, I have begun looking at having
these things automatically added to my org appointments, but I have had
trouble with the emacs icalendar library (in particular, timezone
handling: a critical item for me, since these appts are generated from
various timezones and the included ics files have a bewildering variety
of timezone specs in them - I blame M$ for this :) ).

So I just wanted to point out three things:

o there *is* an emacs elisp library to handle icalendar files.

o I think it is buggy.

o using the Python libraries is a great way to figure out where the
elisp library goes wrong (assuming I'm right and that it *is* going
wrong somewhere) and possibly fixing it.

Thanks for pointing the Python libraries out. If you get somewhere with
them, maybe you can fix the emacs icalendar library too: it might be
just what you need to expand your elisp skills.[fn:1]

Thanks,
Nick

Footnotes:

[fn:1] Tom Sawyer would be proud of me ;-) I find myself pressed for
time and with too many things to do, so it's not clear when (or even if)
I would be able to work on this.

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  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
  1 sibling, 1 reply; 49+ messages in thread
From: Arun Persaud @ 2011-01-21 18:19 UTC (permalink / raw)
  To: emacs-orgmode

Hi

I'm in the middle of setting something up, at the moment I import google
events into org by using the google command line interface on my linux
machine. For this I changed the line in the config for googcl to print
out an org timestamp and also changed the fields to be printed by using:

date_print_format = <%Y-%m-%d %a %H:%M>
list_style = title,when,where,url-site

in the general option of .googlecl/config. With this I create a .org
file with all my google calendar entries by running the following script
every N minutes (header + one line sed):

---script start---
#!/bin/bash

# get my google calendar items and create a org-mode file

# output header
echo "#+STARTUP: overview
#+TAGS: @google(g)
#+FILETAGS: @google
#+SEQ_TODO: GCAL
#+STARTUP: hidestars

" > ~/org/mygooglecal.org

# output entries
google calendar list | sed -e 's/\(.*\),\(.*\) - \(.*\),\(.*\),\(.*\)/*
GCAL \1\n  SCHEDULED: \2--\3\n  Location: \4\n  link: [[\5][link]]/' >>
~/org/mygooglecal.org

----script end----

and by just adding this file to my agenda everything seems to be working
fine...

To sync between different computers I use git with an automated commit,
pull and push, which makes the google entries available on all of my
other computers.

I haven't figured out how to export org to ics, so that google can read
it... I would like to export only items that have a start and an end
timestamp and don't have a google tag (which they get when they are
imported from google). I think I need to add this to
org-icalendar-verify-function, but don't know enough lisp to write
something like this... any ideas?

Ian: how do you export to ics? Complete via python?

regards

Arun

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-21 18:19   ` Arun Persaud
@ 2011-01-21 23:58     ` Eric S Fraga
  2011-01-25 20:21       ` Arun Persaud
  0 siblings, 1 reply; 49+ messages in thread
From: Eric S Fraga @ 2011-01-21 23:58 UTC (permalink / raw)
  To: Arun Persaud; +Cc: emacs-orgmode

I also have been syncing between my Google calendar and org.  A while
back, I posted this message onto this list:

http://article.gmane.org/gmane.emacs.orgmode/26848

but check out later messages in the thread for an updated awk script.
This dealt with converting a Google calendar into an org file.  I still
use this.

For the other route, org to Google, I use the googlecl (command line)
interface:

http://article.gmane.org/gmane.emacs.orgmode/27214

Again, check out the subsequent messages in this thread.

I have promised to write this procedure up for Worg but have not managed
(yet) to get around to it.  Sorry.


Arun Persaud <apersaud@lbl.gov> writes:

[...]

> I haven't figured out how to export org to ics, so that google can read
> it... I would like to export only items that have a start and an end
> timestamp and don't have a google tag (which they get when they are
> imported from google). I think I need to add this to
> org-icalendar-verify-function, but don't know enough lisp to write
> something like this... any ideas?
>
> Ian: how do you export to ics? Complete via python?

Straightforward actually:

--8<---------------cut here---------------start------------->8---
#!/bin/sh -f
#
# export the diary (not all the agenda files) to iCal format and upload this
# to where Google's calendar application can find it so that all my diary
# entries are available on my phone (and obviously on the web as well!)
#
# 2010-06-30
DIARY=${HOME}/git/notes/diary
emacs -Q --batch --debug-init \
    --directory=${HOME}/s/emacs --directory=/usr/share/emacs/site-lisp/auctex \
    --load=esf-org.el --visit=${DIARY}.org --eval='(org-export-icalendar-this-file)'
scp ${DIARY}.ics SOMEWHEREONTHEWEB.ics
--8<---------------cut here---------------end--------------->8---

This script starts up emacs with my specific org customisations (and it
needs auctex as texmathp is loaded by org-latex), visits my main diary
file, evaluates the specific export function and then copies this file
to somewhere on the web.  This latter location is where I have told
Google to load entries from.  Google does this once a day, I believe,
some time in the middle of the night (my time).  I use this as a backup
to the direct entry to Google's calendar described above: I essentially
have two calendars in Google which correspond to org entries.  At some
point, I will (soon probably) stop doing this conversion approach and
rely on the google command line alone as the latter has proved to be
robust enough in general.

Hope this helps.

-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.4 (release_7.4.231.ge879)

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-21 23:58     ` Eric S Fraga
@ 2011-01-25 20:21       ` Arun Persaud
  2011-01-26 12:33         ` Eric S Fraga
  0 siblings, 1 reply; 49+ messages in thread
From: Arun Persaud @ 2011-01-25 20:21 UTC (permalink / raw)
  To: emacs-orgmode

Hi

On 01/21/2011 03:58 PM, Eric S Fraga wrote:
> I also have been syncing between my Google calendar and org.  A while
> back, I posted this message onto this list:
> 
> http://article.gmane.org/gmane.emacs.orgmode/26848
> 
> but check out later messages in the thread for an updated awk script.

I had problems using wget, since we don't use google login, but get
redirected to our institute from google, so I would have to use
--load-cookie but couldn't really figure it out... however using
googlecl seems to work fine, so I'm also using this to download the entries

> This dealt with converting a Google calendar into an org file.  I still
> use this.
> 
> For the other route, org to Google, I use the googlecl (command line)
> interface:
> 
> http://article.gmane.org/gmane.emacs.orgmode/27214

don't really know that much lisp, but I guess you add the entries
directly to google when you create them via org-capture? What happens if
you later edit an entry, say change the time/date? This is something I
do very often and I would need google to reflect those changes. I also
only want to export certain tags and entries that have a date-range
(e.g. start and stop time), but I guess that could be easily arranged in
the lisp function that you wrote?

Arun

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-25 20:21       ` Arun Persaud
@ 2011-01-26 12:33         ` Eric S Fraga
  2011-01-26 23:29           ` Mark Elston
  0 siblings, 1 reply; 49+ messages in thread
From: Eric S Fraga @ 2011-01-26 12:33 UTC (permalink / raw)
  To: Arun Persaud; +Cc: emacs-orgmode

Arun Persaud <apersaud@lbl.gov> writes:

[...]

>> For the other route, org to Google, I use the googlecl (command line)
>> interface:
>> 
>> http://article.gmane.org/gmane.emacs.orgmode/27214
>
> don't really know that much lisp, but I guess you add the entries
> directly to google when you create them via org-capture? What happens if
> you later edit an entry, say change the time/date? This is something I
> do very often and I would need google to reflect those changes. I also
> only want to export certain tags and entries that have a date-range
> (e.g. start and stop time), but I guess that could be easily arranged in
> the lisp function that you wrote?

The short answer is that I don't have any automation for updating events
that change unfortunately.  I imagine one could get googlecl to do this
but given the lack of documentation on that interface, it could be
tricky.  If anybody figures out how to do all of this with googlecl, I
would be more than happy!
-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.4 (release_7.4.239.g65ac.dirty)

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-26 12:33         ` Eric S Fraga
@ 2011-01-26 23:29           ` Mark Elston
  2011-01-27  0:52             ` Arun Persaud
  0 siblings, 1 reply; 49+ messages in thread
From: Mark Elston @ 2011-01-26 23:29 UTC (permalink / raw)
  To: emacs-orgmode

On 1/26/2011 4:33 AM, Eric S Fraga wrote:
> Arun Persaud<apersaud@lbl.gov>  writes:
>
> [...]
>
>>> For the other route, org to Google, I use the googlecl (command line)
>>> interface:
>>>
>>> http://article.gmane.org/gmane.emacs.orgmode/27214
>>
>> don't really know that much lisp, but I guess you add the entries
>> directly to google when you create them via org-capture? What happens if
>> you later edit an entry, say change the time/date? This is something I
>> do very often and I would need google to reflect those changes. I also
>> only want to export certain tags and entries that have a date-range
>> (e.g. start and stop time), but I guess that could be easily arranged in
>> the lisp function that you wrote?
>
> The short answer is that I don't have any automation for updating events
> that change unfortunately.  I imagine one could get googlecl to do this
> but given the lack of documentation on that interface, it could be
> tricky.  If anybody figures out how to do all of this with googlecl, I
> would be more than happy!

You are right that googlecl is poorly documented, and worse, it doesn't
even work as the documentation says it should.  Try retrieving calendar
events with --fields="title,when" and see what happens.  I get the
title printed out but the "when" always comes out as None.

However, I have had better luck with the python gdata interface.  The
docs aren't much better but I have managed to figure out how to modify
an existing event using it.  And, there are examples of how to search
for specific events...

While using googlecl might be interesting it would probably be simpler
to come up with a specific library for doing the things that need to
be done directly with gdata (which is what googlecl uses anyway) and
calling scripts that make use of this specific library, instead.

Mark

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-26 23:29           ` Mark Elston
@ 2011-01-27  0:52             ` Arun Persaud
  2011-01-27  2:51               ` Mark Elston
  0 siblings, 1 reply; 49+ messages in thread
From: Arun Persaud @ 2011-01-27  0:52 UTC (permalink / raw)
  To: emacs-orgmode

Hi

> You are right that googlecl is poorly documented, and worse, it doesn't
> even work as the documentation says it should.  Try retrieving calendar
> events with --fields="title,when" and see what happens.  I get the
> title printed out but the "when" always comes out as None.

my man pages for googlecl don't mention a "fields" options. Doing

"google calendar list when,where,title"

works for me though (using googlecl that comes with openSUSE 11.3).

> However, I have had better luck with the python gdata interface.  The
> docs aren't much better but I have managed to figure out how to modify
> an existing event using it.  And, there are examples of how to search
> for specific events...

cool, do you have this integrated with org? if so could you post the code?

> While using googlecl might be interesting it would probably be simpler
> to come up with a specific library for doing the things that need to
> be done directly with gdata (which is what googlecl uses anyway) and
> calling scripts that make use of this specific library, instead.

I guess one could also use google calendar completely without googlecl
or gdata, since you can point google at an .ics file to import it into
google's calendar and Eric's script already handles the other way
(google->org).

Arun

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  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
  0 siblings, 2 replies; 49+ messages in thread
From: Mark Elston @ 2011-01-27  2:51 UTC (permalink / raw)
  To: emacs-orgmode

On 1/26/2011 4:52 PM, Arun Persaud wrote:
> Hi
>
>> You are right that googlecl is poorly documented, and worse, it doesn't
>> even work as the documentation says it should.  Try retrieving calendar
>> events with --fields="title,when" and see what happens.  I get the
>> title printed out but the "when" always comes out as None.
>
> my man pages for googlecl don't mention a "fields" options. Doing
>
> "google calendar list when,where,title"
>
> works for me though (using googlecl that comes with openSUSE 11.3).
>

I try this and get absolutely nothing.  Just an empty calendar line.
I am using the latest (0.9.12), BTW.  If you enter

   google --help

part of the help is:

   --fields=FIELDS       Fields to list with list task.


>> However, I have had better luck with the python gdata interface.  The
>> docs aren't much better but I have managed to figure out how to modify
>> an existing event using it.  And, there are examples of how to search
>> for specific events...
>
> cool, do you have this integrated with org? if so could you post the code?

Not yet.  I have just started playing with it so I wanted to get a feel
for how to do some of the basics (which took some playing first).  There
are some really simple examples on the website but for anything more
complicated you need to look at either how the XML is structured or
take a look at JSON info and try to deduce from there what is needed in
the python code.  It isn't always (or even usually) obvious...  At least
it hasn't been for me so far.

>> While using googlecl might be interesting it would probably be simpler
>> to come up with a specific library for doing the things that need to
>> be done directly with gdata (which is what googlecl uses anyway) and
>> calling scripts that make use of this specific library, instead.
>
> I guess one could also use google calendar completely without googlecl
> or gdata, since you can point google at an .ics file to import it into
> google's calendar and Eric's script already handles the other way
> (google->org).

Perhaps, but one of the things I want to do is to share a couple of my
Google calendars with specific groups of people. I have a home, work,
and two different teaching calendars.  If I have an .ics file on my
machine that doesn't help much in the sharing, does it?  I don't know
as I have never used an .ics file for anything yet.

I would like to maintain info about upcoming classes in my org file and,
when things change, update the calendar with the appropriate
information.  Occasionally I have had to reschedule classes, for
example, or break a single session into two sessions.  What I want is
to publish the resulting information after all my org file manipulations
are done so my students can see the results.

Mark

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-27  2:51               ` Mark Elston
@ 2011-01-27 19:43                 ` Arun Persaud
  2011-01-27 21:57                 ` Arun Persaud
  1 sibling, 0 replies; 49+ messages in thread
From: Arun Persaud @ 2011-01-27 19:43 UTC (permalink / raw)
  To: emacs-orgmode

Hi

> I try this and get absolutely nothing.  Just an empty calendar line.
> I am using the latest (0.9.12), BTW.  If you enter
> 
>   google --help
> 
> part of the help is:
> 
>   --fields=FIELDS       Fields to list with list task.

I got an older version (0.9.5)... all of this makes me think that it
probably is better to just use .ics files for everything. Just found out
that google offers a 'private' link to each calendar as xml, ical or
html so that you can easily download it using wget without needing to
log in...

>>[...]
> Perhaps, but one of the things I want to do is to share a couple of my
> Google calendars with specific groups of people. I have a home, work,
> and two different teaching calendars.  If I have an .ics file on my
> machine that doesn't help much in the sharing, does it?  I don't know
> as I have never used an .ics file for anything yet.
>
> I would like to maintain info about upcoming classes in my org file and,
> when things change, update the calendar with the appropriate
> information.  Occasionally I have had to reschedule classes, for
> example, or break a single session into two sessions.  What I want is
> to publish the resulting information after all my org file manipulations
> are done so my students can see the results.

You can point google calendar to an .ics file and it will import it
(settings->import calendar) (see [1]), so I would think you could create
different .ics files via org-export-icalendar-..., upload them to a
public webpage (but with a cryptic name and directory browsing disabled,
so that only you and google calendar can find the files) and google
imports them as different calendars and updates them too.

Arun

[1] http://www.google.com/support/calendar/bin/answer.py?hl=en&answer=37100

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  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
  1 sibling, 1 reply; 49+ messages in thread
From: Arun Persaud @ 2011-01-27 21:57 UTC (permalink / raw)
  To: emacs-orgmode, Eric S Fraga

Hi

started writing something up for Worg, can't push to the main repository
at the moment (working on it though), but you can look at it at:

http://nubati.net/cgi-bin/cgit.cgi/Worg/

I also tried the ics2org script, but run into some problems there... the
script didn't recognize the timestamps, which for me look like:

DTSTART;TZID=America/Los_Angeles:20110127T110000

and I think the timezone messes things up. I wanted to ask if the script
exists on github or somewhere similar, if not it would be great, if we
could upload it, so that it is easy to work on it for several people...

Eric:I could upload it if this is ok for you? (what's the license on the
file?)

cheers
       ARUN

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-27 21:57                 ` Arun Persaud
@ 2011-01-28 16:13                   ` Eric S Fraga
  2011-01-31 19:03                     ` Bastien
  0 siblings, 1 reply; 49+ messages in thread
From: Eric S Fraga @ 2011-01-28 16:13 UTC (permalink / raw)
  To: Arun Persaud; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1212 bytes --]

Arun Persaud <apersaud@lbl.gov> writes:

[...]

> I also tried the ics2org script, but run into some problems
> there... the

do you mean my ical2org.awk script?  or something else?

> script didn't recognize the timestamps, which for me look like:
>
> DTSTART;TZID=America/Los_Angeles:20110127T110000
>
> and I think the timezone messes things up. I wanted to ask if the script
> exists on github or somewhere similar, if not it would be great, if we
> could upload it, so that it is easy to work on it for several
> people...

if you are indeed referring to my awk script, you are correct: I don't
catch these lines.  Can you try the attached version?  It works for me
but I don't actually have any ical/ics files that have entries like that
one above.

>
> Eric:I could upload it if this is ok for you? (what's the license on the
> file?)

Please feel free to upload it to Worg.  I do actually have a task for
myself to upload this and related scripts and to write some
documentation (essentially what I wrote in my long email months ago when
I posted these scripts) but I have just not had the time to spare (bad
time of year work-wise...).  It's free to use, modify, copy, etc. No
warranty blah blah blah.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: awk script to convert ical entries to org --]
[-- Type: text/x-awk, Size: 7062 bytes --]

# awk script for converting an iCal formatted file to a sequence of org-mode headings.
# this may not work in general but seems to work for day and timed events from Google's
# calendar, which is really all I need right now...
#
# usage:
#   awk -f THISFILE < icalinputfile.ics > orgmodeentries.org
#
# Note: change org meta information generated below for author and
# email entries!
#
# Known bugs:
# - not so much a bug as a possible assumption: date entries with no time
#   specified are assumed to be independent of the time zone.
#
# Eric S Fraga
# 20100629 - initial version
# 20100708 - added end times to timed events
#          - adjust times according to time zone information
#          - fixed incorrect transfer for entries with ":" embedded within the text
#          - added support for multi-line summary entries (which become headlines)
# 20100709 - incorporated time zone identification
#          - fixed processing of continuation lines as Google seems to
#            have changed, in the last day, the number of spaces at
#            the start of the line for each continuation...
#          - remove backslashes used to protect commas in iCal text entries
# no further revision log after this as the file was moved into a git
# repository...
#
# Last change: 2011.01.28 16:08:03
#----------------------------------------------------------------------------------

# a function to take the iCal formatted date+time, convert it into an
# internal form (seconds since time 0), and adjust according to the
# local time zone (specified by +-seconds calculated in the BEGIN
# section)

function datetimestamp(input)
{
    # convert the iCal Date+Time entry to a format that mktime can understand
    datespec = gensub("([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])T([0-9][0-9])([0-9][0-9])([0-9][0-9]).*[\r]*", "\\1 \\2 \\3 \\4 \\5 \\6", "g", input);
    # print "date spec : " datespec; convert this date+time into
    # seconds from the beginning of time and include adjustment for
    # time zone, as determined in the BEGIN section below.  For time
    # zone adjustment, I have not tested edge effects, specifically
    # what happens when UTC time is a different day to local time and
    # especially when an event with a duration crosses midnight in UTC
    # time.  It should work but...
    timestamp = mktime(datespec) + seconds;
    # print "adjusted    : " timestamp
    # print "Time stamp  : " strftime("%Y-%m-%d %H:%M", timestamp);
    return timestamp;
}

BEGIN {
    # use a colon to separate the type of data line from the actual contents
    FS = ":";
    
    # determine the number of seconds to use for adjusting for time
    # zone difference from UTC.  This is used in the function
    # datetimestamp above.  The time zone information returned by
    # strftime() is in hours * 100 so we multiply by 36 to get
    # seconds.  This does not work for time zones that are not an
    # integral multiple of hours (e.g. Newfoundland)
    seconds = gensub("([+-])0", "\\1", "", strftime("%z")) * 36;
    
    date = "";
    entry = ""
    first = 1;			# true until an event has been found
    headline = ""
    icalentry = ""  # the full entry for inspection
    id = ""
    indescription = 0;
    time2given = 0;
    
    print "#+TITLE:     Main Google calendar entries"
    print "#+AUTHOR:    Eric S Fraga"
    print "#+EMAIL:     e.fraga@ucl.ac.uk"
    print "#+DESCRIPTION: converted using the ical2org awk script"
    print "#+CATEGORY: " NAME
    print " "
}

# continuation lines (at least from Google) start with two spaces
# if the continuation is after a description or a summary, append the entry
# to the respective variable

/^[ ]+/ { 
    if (indescription) {
	entry = entry gensub("\r", "", "g", gensub("^[ ]+", "", "", $0));
    } else if (insummary) {
	summary = summary gensub("\r", "", "g", gensub("^[ ]+", "", "", $0))
    }
    icalentry = icalentry "\n" $0
}

/^BEGIN:VEVENT/ {
    # start of an event.  if this is the first, output the preamble from the iCal file
    if (first) {
	print "* COMMENT original iCal preamble"
	print gensub("\r", "", "g", icalentry)
	icalentry = ""
    }
    first = false;
}
# any line that starts at the left with a non-space character is a new data field

/^[A-Z]/ {
    # we ignore DTSTAMP lines as they change every time you download
    # the iCal format file which leads to a change in the converted
    # org file as I output the original input.  This change, which is
    # really content free, makes a revision control system update the
    # repository and confuses.
    if (! index("DTSTAMP", $1)) icalentry = icalentry "\n" $0
    # this line terminates the collection of description and summary entries
    indescription = 0;
    insummary = 0;
}

# this type of entry represents a day entry, not timed, with date stamp YYYYMMDD

/^DTSTART;[^:]*/ {
    date = gensub("([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9]).*[\r]", "\\1-\\2-\\3", "g", $2)
    # print date
}

# this represents a timed entry with date and time stamp YYYYMMDDTHHMMSS
# we ignore the seconds

/^DTSTART:/ {
    # print $0
    date = strftime("%Y-%m-%d %a %H:%M", datetimestamp($2));
    # print date;
}

# and the same for the end date; here we extract only the time and append this to the 
# date+time found by the DTSTART entry.  We assume that entry was there, of course.
# should probably add some error checking here!  In time...

/^DTEND:/ {
    # print $0
    time2 = strftime("%H:%M", datetimestamp($2));
    date = date "-" time2;
}

# The description will the contents of the entry in org-mode.
# this line may be continued.

/^DESCRIPTION/ { 
    $1 = "";
    entry = entry "\n" gensub("\r", "", "g", $0);
    indescription = 1;
}

# the summary will be the org heading

/^SUMMARY/ { 
    $1 = "";
    summary = gensub("\r", "", "g", $0);
    insummary = 1;
}

# the unique ID will be stored as a property of the entry

/^UID/ { 
    $1 = "";
    id = gensub("\r", "", "g", $0);
}

# when we reach the end of the event line, we output everything we
# have collected so far, creating a top level org headline with the
# date/time stamp, unique ID property and the contents, if any

/^END:VEVENT/ {
    # translate \n sequences to actual newlines and unprotect commas (,)
    print "* " gensub("\\\\,", ",", "g", gensub("\\\\n", " ", "g", summary))
    print "  :PROPERTIES:"
    print "  :ID:       " id
    print "  :END:"
    print "  <" date ">"
    # for the entry, convert all embedded "\n" strings to actual newlines
    print ""
    # translate \n sequences to actual newlines and unprotect commas (,)
    print gensub("\\\\,", ",", "g", gensub("\\\\n", "\n", "g", entry));
    print "** COMMENT original iCal entry"
    print gensub("\r", "", "g", icalentry)
    summary = ""
    date = ""
    entry = ""
    icalentry = ""
    indescription = 0
    insummary = 0
}

# Local Variables:
# time-stamp-line-limit: 1000
# time-stamp-format: "%04y.%02m.%02d %02H:%02M:%02S"
# time-stamp-active: t
# time-stamp-start: "Last change:[ \t]+"
# time-stamp-end: "$"
# End:

[-- Attachment #3: Type: text/plain, Size: 127 bytes --]



-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.4 (release_7.4.257.g5d90.dirty)

[-- Attachment #4: Type: text/plain, Size: 201 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-21  8:38 Torsten Wagner
  2011-01-21  9:43 ` Ian Barton
@ 2011-01-29  1:28 ` Greg Troxel
  2011-01-29 12:45   ` Eric S Fraga
  1 sibling, 1 reply; 49+ messages in thread
From: Greg Troxel @ 2011-01-29  1:28 UTC (permalink / raw)
  To: Torsten Wagner; +Cc: Org Mode Mailing List


[-- Attachment #1.1: Type: text/plain, Size: 762 bytes --]


Torsten Wagner <torsten.wagner@gmail.com> writes:

> Since I use my Android-based phone on a daily basis (after all it is a
> mobile phone), I got tempted to use more and more the google
> calendar. I know about mobileorg and all this. However, the calendar
> is so highly integrated with many applications on the phone that is is
> often just a click away to add a new appointment.


Slightly OT perhaps, but I am contemplating getting an Android phone and
figuring out how NOT to have my calendar on google, and would like to
sync it with org.  (Right now I've made a 0.1-hearted attempt to export
org to ical and put it in mac calendar.)  Are there ways to not sync
with google on the android and sync with org?  I don't mind running my
own calendar server.

[-- Attachment #1.2: Type: application/pgp-signature, Size: 194 bytes --]

[-- Attachment #2: Type: text/plain, Size: 201 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-29  1:28 ` Greg Troxel
@ 2011-01-29 12:45   ` Eric S Fraga
  0 siblings, 0 replies; 49+ messages in thread
From: Eric S Fraga @ 2011-01-29 12:45 UTC (permalink / raw)
  To: Greg Troxel; +Cc: Org Mode Mailing List

Greg Troxel <gdt@ir.bbn.com> writes:

> Torsten Wagner <torsten.wagner@gmail.com> writes:
>
>> Since I use my Android-based phone on a daily basis (after all it is a
>> mobile phone), I got tempted to use more and more the google
>> calendar. I know about mobileorg and all this. However, the calendar
>> is so highly integrated with many applications on the phone that is is
>> often just a click away to add a new appointment.
>
>
> Slightly OT perhaps, but I am contemplating getting an Android phone and
> figuring out how NOT to have my calendar on google, and would like to
> sync it with org.  (Right now I've made a 0.1-hearted attempt to export
> org to ical and put it in mac calendar.)  Are there ways to not sync
> with google on the android and sync with org?  I don't mind running my
> own calendar server.

If I understand you correctly, you are asking if you can use the Android
calendar app to work with a calendar that is *not* a Google Calendar.  I
don't think that is possible: the app is specifically for Google
calendars.  However, there may be other calendar apps out there that
could do what you want.

As a side note, I saw on the remind mailing list that somebody has
recently ported /remind/ to Android and there *is* an org2rem
translator...  but, again, it's one way IIRC.

-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.4 (release_7.4.259.ge612d.dirty)

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
@ 2011-01-29 14:53 Torsten Wagner
  2011-01-29 19:38 ` Mark Elston
  2011-01-30  1:21 ` Eric S Fraga
  0 siblings, 2 replies; 49+ messages in thread
From: Torsten Wagner @ 2011-01-29 14:53 UTC (permalink / raw)
  To: Greg Troxel; +Cc: Org Mode Mailing List


[-- Attachment #1.1: Type: text/plain, Size: 1251 bytes --]

> Slightly OT perhaps, but I am contemplating getting an Android phone and
> figuring out how NOT to have my calendar on google, and would like to
> sync it with org.  (Right now I've made a 0.1-hearted attempt to export
> org to ical and put it in mac calendar.)  Are there ways to not sync
> with google on the android and sync with org?  I don't mind running my
> own calendar server.

As fare as I know Google does not allow native usage of any other calendar
service. There are a few calendar apps which allow the use of an non Google
calendar. However, I would prefer something which integrates neatly with
Android. I'm not a big fan of the idea to feed all my stuff to Google,
neither but at the moment it seems to be the best working option (not
surprisingly for using a OS developed by Google).

I checked for the API and googlecl. Lets say there is plenty space for
improvement on Googles side ;).

Maybe, we should all focus to improve mobileorg. Its just the stupid fact
that basically many functions of org-mode written in elisp would require a
reimplementation in orgmobile in java. Somehow, this sound to me a bit like
a mouse and cat game. Well, if there would be a elisp interpreter for
Android, this would change the game....

Totti

[-- Attachment #1.2: Type: text/html, Size: 1346 bytes --]

[-- Attachment #2: Type: text/plain, Size: 201 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-29 14:53 Torsten Wagner
@ 2011-01-29 19:38 ` Mark Elston
  2011-01-29 20:44   ` Greg Troxel
  2011-01-30  1:21 ` Eric S Fraga
  1 sibling, 1 reply; 49+ messages in thread
From: Mark Elston @ 2011-01-29 19:38 UTC (permalink / raw)
  To: emacs-orgmode

On 1/29/2011 6:53 AM, Torsten Wagner wrote:
>  > Slightly OT perhaps, but I am contemplating getting an Android phone and
>  > figuring out how NOT to have my calendar on google, and would like to
>  > sync it with org.  (Right now I've made a 0.1-hearted attempt to export
>  > org to ical and put it in mac calendar.)  Are there ways to not sync
>  > with google on the android and sync with org?  I don't mind running my
>  > own calendar server.
>
> As fare as I know Google does not allow native usage of any other
> calendar service. There are a few calendar apps which allow the use of
> an non Google calendar. However, I would prefer something which
> integrates neatly with Android. I'm not a big fan of the idea to feed
> all my stuff to Google, neither but at the moment it seems to be the
> best working option (not surprisingly for using a OS developed by Google).

I wasn't all that keen on it at first but I really got to like it when
I was able to update my calendar from my phone or my laptop or my
desktop at work and all three would see it.

When I found I could create multiple calendars and share *some* of them
I really started to enjoy the idea of a central server for my calendar
data.  I still don't put anything on there that would compromise my
privacy if it got exposed.

> I checked for the API and googlecl. Lets say there is plenty space for
> improvement on Googles side ;).

Yeah, the best documentation is about the JSON or XML syntax which can
leave you scratching your head as to how to do some things in client
code or googlecl (or even if you *can* do them).

> Maybe, we should all focus to improve mobileorg.

I like the idea but won't want to give up the google calendar.  I would
prefer to see my schedule, appts, etc in one place (on my calendar) with
supporting data elsewhere.  This is what I would like to use something
like mobileorg for.  There are already plenty of good apps for taking
the google calendar and presenting it in useful ways.  What I would like
is to be able to navigate from an event in a calendar to whatever notes
I have in org related to it.  That is where I keep the details, notes,
private stuff that I keep off the calendar.  It keeps the calendar
clean and simple but I get all my notes as necessary.

Mark

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-29 19:38 ` Mark Elston
@ 2011-01-29 20:44   ` Greg Troxel
  2011-01-30  4:36     ` Mark Elston
  0 siblings, 1 reply; 49+ messages in thread
From: Greg Troxel @ 2011-01-29 20:44 UTC (permalink / raw)
  To: Mark Elston; +Cc: emacs-orgmode


[-- Attachment #1.1: Type: text/plain, Size: 1929 bytes --]


Mark Elston <m_elston@comcast.net> writes:

  [google calendar]

> I wasn't all that keen on it at first but I really got to like it when
> I was able to update my calendar from my phone or my laptop or my
> desktop at work and all three would see it.
>
> When I found I could create multiple calendars and share *some* of them
> I really started to enjoy the idea of a central server for my calendar
> data.

You are blurring having a calendar server and being forced into sharing
your data with google because of using non-free software that is
crippled by not being able to set the server URL.

> I still don't put anything on there that would compromise my
> privacy if it got exposed.

I find this boggling (where you will be in the future, and who you are
meeting with is surely a privacy issue), but clearly we have different
views on privacy and that's double-plus OT.

>> Maybe, we should all focus to improve mobileorg.
>
> I like the idea but won't want to give up the google calendar.  I would
> prefer to see my schedule, appts, etc in one place (on my calendar) with
> supporting data elsewhere.  This is what I would like to use something
> like mobileorg for.  There are already plenty of good apps for taking
> the google calendar and presenting it in useful ways.  What I would like
> is to be able to navigate from an event in a calendar to whatever notes
> I have in org related to it.  That is where I keep the details, notes,
> private stuff that I keep off the calendar.  It keeps the calendar
> clean and simple but I get all my notes as necessary.

org syncing with a calendar server makes a lot of sense to me, but again
that's separate from a "the only usable calendar server is google".


I think the only tricky part is somehow push UUIDs during scyning, and
then you'll need an operation to merge an org event and an ical event
with different UUIDs and remember the foreign UUID for the next sync.

[-- Attachment #1.2: Type: application/pgp-signature, Size: 194 bytes --]

[-- Attachment #2: Type: text/plain, Size: 201 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-29 14:53 Torsten Wagner
  2011-01-29 19:38 ` Mark Elston
@ 2011-01-30  1:21 ` Eric S Fraga
  2011-01-31 10:02   ` Christopher Witte
  1 sibling, 1 reply; 49+ messages in thread
From: Eric S Fraga @ 2011-01-30  1:21 UTC (permalink / raw)
  To: Torsten Wagner; +Cc: Org Mode Mailing List, Greg Troxel

Torsten Wagner <torsten.wagner@gmail.com> writes:

[...]

> Well, if there would be a elisp interpreter for
> Android, this would change the game....

Yes, it's called Emacs ;-)

We need Emacs running on Android[1].  If Nokia can have Emacs native on
their phones (n900), why can't Android???

I can dream.

vi is available, but not vim (so far as I know) so can't do org that
way.

eric


Footnotes: 
[1]  well, on a G1 or G2 you can actually install Debian linux and then
run emacs on that but...

-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.4 (release_7.4.260.gba0f6.dirty)

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  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:01       ` Eric S Fraga
  0 siblings, 2 replies; 49+ messages in thread
From: Mark Elston @ 2011-01-30  4:36 UTC (permalink / raw)
  To: Greg Troxel; +Cc: emacs-orgmode

On 1/29/2011 12:44 PM, Greg Troxel wrote:
>
> Mark Elston<m_elston@comcast.net>  writes:
>
>    [google calendar]
>
>> I wasn't all that keen on it at first but I really got to like it when
>> I was able to update my calendar from my phone or my laptop or my
>> desktop at work and all three would see it.
>>
>> When I found I could create multiple calendars and share *some* of them
>> I really started to enjoy the idea of a central server for my calendar
>> data.
>
> You are blurring having a calendar server and being forced into sharing
> your data with google because of using non-free software that is
> crippled by not being able to set the server URL.

I pointed out in a different thread that the software I use doesn't
*require* syncing with google, but can work very nicely as an offline
calendar.  I use the google server for the reasons I gave.

>> ...
>
> org syncing with a calendar server makes a lot of sense to me, but again
> that's separate from a "the only usable calendar server is google".
>

That wasn't my intent.  I use google since it is convenient and
available everywhere I have a network connection (or 3G with my
phone).  If another service came along that fit my needs as well or
better I would certainly take a look at it.

>
> I think the only tricky part is somehow push UUIDs during scyning, and
> then you'll need an operation to merge an org event and an ical event
> with different UUIDs and remember the foreign UUID for the next sync.

I'm not sure what you mean by this.

I have never made use of any .ical/.ics files so this hasn't been an
issue for me.  The only UUIDs I am dealing with are google calendar's
own internal UUIDs.  I don't know how they compare with other UUIDs.
What I am working on now is a python script to initialize some of the
info I have in my org files with info from google (including the google
UUID).  Most of this will go into a property drawer.  This drawer can
certainly be expanded to contain additional data from other tools as
necessary.

What I would like is to be able to shuffle my schedule in org as it is
often a more convenient interface for this than *any* calendar I have
used for the kinds of things I have to do.  Once I get the dates/times
for individual events the way I want them I would then push them to
google (or wherever).  My notes and other useful data stay in org.

That is what I will be working on as I have the time.

Mark

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  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 21:36         ` Mark Elston
  2011-01-30 14:01       ` Eric S Fraga
  1 sibling, 2 replies; 49+ messages in thread
From: Greg Troxel @ 2011-01-30 13:28 UTC (permalink / raw)
  To: Mark Elston; +Cc: emacs-orgmode


[-- Attachment #1.1: Type: text/plain, Size: 2508 bytes --]


[I replied privately to the my-own-fault OT part.]

Mark Elston <m_elston@comcast.net> writes:

> On 1/29/2011 12:44 PM, Greg Troxel wrote:
>>
>> I think the only tricky part is somehow push UUIDs during scyning, and
>> then you'll need an operation to merge an org event and an ical event
>> with different UUIDs and remember the foreign UUID for the next sync.
>
> I'm not sure what you mean by this.
>
> I have never made use of any .ical/.ics files so this hasn't been an
> issue for me.  The only UUIDs I am dealing with are google calendar's
> own internal UUIDs.  I don't know how they compare with other UUIDs.

I suspect, but am 100% not sure, that sending events to google calendar
via the command-line tools is conceptually similar to exporting to ical
and doing an import to some ical-style GUI calendar program.

> What I am working on now is a python script to initialize some of the
> info I have in my org files with info from google (including the google
> UUID).  Most of this will go into a property drawer.  This drawer can
> certainly be expanded to contain additional data from other tools as
> necessary.

I think you're thinking the same problem I didn't articulate very well....

  events in iCalendar/etc. systems (including google calendar) have a
  UUID, and those systems typically can accept an existing UUID on
  import

  org events have a UUID, at least after org-mobile-export, and it's
  "ID" in properties drawer.  I'm not sure if these can be used as-is
  when exporting via iCalendar.

  someone might end up with the same event in both systems, but without
  matching UUIDs.  In that case, there needs to be some way to merge
  events and remember both UUIDs so that future syncing keeps the events
  merged.

> What I would like is to be able to shuffle my schedule in org as it is
> often a more convenient interface for this than *any* calendar I have
> used for the kinds of things I have to do.  Once I get the dates/times
> for individual events the way I want them I would then push them to
> google (or wherever).  My notes and other useful data stay in org.

Agreed; this is what I would like to do also.  But I would like to also
be able to change a time in [non-org scheduling program] or add an event
(perhaps via a mailed iCalendar invitation) and have those flow into
org.

ical export seems to be present in org, but I found duplicated events
after multiple exports.  I need to find time to try it more and either
fix it or construct a good bug report.

[-- Attachment #1.2: Type: application/pgp-signature, Size: 194 bytes --]

[-- Attachment #2: Type: text/plain, Size: 201 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-30  4:36     ` Mark Elston
  2011-01-30 13:28       ` Greg Troxel
@ 2011-01-30 14:01       ` Eric S Fraga
  1 sibling, 0 replies; 49+ messages in thread
From: Eric S Fraga @ 2011-01-30 14:01 UTC (permalink / raw)
  To: Mark Elston; +Cc: emacs-orgmode, Greg Troxel

Mark Elston <m_elston@comcast.net> writes:

[...]

> What I would like is to be able to shuffle my schedule in org as it is
> often a more convenient interface for this than *any* calendar I have
> used for the kinds of things I have to do.  Once I get the dates/times
> for individual events the way I want them I would then push them to
> google (or wherever).  My notes and other useful data stay in org.

Google will load an ics file from a location on the web periodically so
you could always export your org as an ics file and tell Google where to
find it.  The key problem with this is that the file has to be
publicly accessible although, of course, you can obfuscate the path and
protect it from web robots to some degree.

-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.4 (release_7.4.260.gba0f6.dirty)

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  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
  1 sibling, 1 reply; 49+ messages in thread
From: Eric S Fraga @ 2011-01-30 14:09 UTC (permalink / raw)
  To: Greg Troxel; +Cc: emacs-orgmode

Greg Troxel <gdt@ir.bbn.com> writes:

[...]

> ical export seems to be present in org, but I found duplicated events
> after multiple exports.  I need to find time to try it more and either
> fix it or construct a good bug report.

if your org entries have ID properties, these will be used in creating
the ical entries, ensuring that the entries remain unique if you upload
the same entry more than once.  I have

: (setq org-icalendar-store-UID t)

in my org customisation which may be necessary to have this feature.  I
cannot remember how to ensure that each exported entry has an ID
property, however.  Maybe somebody else can chime in or you might want
to check the exporting section in the org manual.

-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.4 (release_7.4.260.gba0f6.dirty)

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-30 14:09         ` Eric S Fraga
@ 2011-01-30 20:43           ` Arun Persaud
  0 siblings, 0 replies; 49+ messages in thread
From: Arun Persaud @ 2011-01-30 20:43 UTC (permalink / raw)
  To: emacs-orgmode

Hi

On 01/30/2011 06:09 AM, Eric S Fraga wrote:
> [...]
> : (setq org-icalendar-store-UID t)
> 
> in my org customisation which may be necessary to have this feature.  I
> cannot remember how to ensure that each exported entry has an ID
> property, however.  Maybe somebody else can chime in or you might want
> to check the exporting section in the org manual.

Haven't tried using UID for google yet, if an entry has changed in
org-mode and google which version will be used when it encounters two
edited entries with the same UID?
At the moment I'm thinking of just exporting non-google items back into
google (by excluding category google during export), but this way I can
only edit google-entries in google and org-entries in org... so using
UIDs seems a lot better...

> Google will load an ics file from a location on the web periodically so
> you could always export your org as an ics file and tell Google where to
> find it.  The key problem with this is that the file has to be
> publicly accessible although, of course, you can obfuscate the path and
> protect it from web robots to some degree.

One of my problems is that when I upload to google with a .ics file it
seems that I can only import into a secondary calendar and not my main
one, so if other people look at my calendar they would miss all the
org-mode entries... anyone solved this issue?
Using googlecl on the other hand allows me to edit my main calendar
directly, but then I don't know how to edit them...

cheers
	ARUN

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-30 13:28       ` Greg Troxel
  2011-01-30 14:09         ` Eric S Fraga
@ 2011-01-30 21:36         ` Mark Elston
  1 sibling, 0 replies; 49+ messages in thread
From: Mark Elston @ 2011-01-30 21:36 UTC (permalink / raw)
  To: Greg Troxel; +Cc: emacs-orgmode

On 1/30/2011 5:28 AM, Greg Troxel wrote:
>
> Mark Elston<m_elston@comcast.net>  writes:
>> On 1/29/2011 12:44 PM, Greg Troxel wrote:
 >>
>> I have never made use of any .ical/.ics files so this hasn't been an
>> issue for me.  The only UUIDs I am dealing with are google calendar's
>> own internal UUIDs.  I don't know how they compare with other UUIDs.
>
> I suspect, but am 100% not sure, that sending events to google calendar
> via the command-line tools is conceptually similar to exporting to ical
> and doing an import to some ical-style GUI calendar program.

You are probably correct here.  I did some digging into ical and get the
feeling that the ids are the same thing.

>> What I am working on now is a python script to initialize some of the
>> info I have in my org files with info from google (including the google
>> UUID).  Most of this will go into a property drawer.  This drawer can
>> certainly be expanded to contain additional data from other tools as
>> necessary.
>
> I think you're thinking the same problem I didn't articulate very well....
>
>    events in iCalendar/etc. systems (including google calendar) have a
>    UUID, and those systems typically can accept an existing UUID on
>    import
>
>    org events have a UUID, at least after org-mobile-export, and it's
>    "ID" in properties drawer.  I'm not sure if these can be used as-is
>    when exporting via iCalendar.
>
>    someone might end up with the same event in both systems, but without
>    matching UUIDs.  In that case, there needs to be some way to merge
>    events and remember both UUIDs so that future syncing keeps the events
>    merged.

What I have done is to have a property called GOOGLE_UUID to keep track
of that item.  This way, if any other property gets added it probably
won't conflict and I can keep track of google stuff separately.

>> What I would like is to be able to shuffle my schedule in org as it is
>> often a more convenient interface for this than *any* calendar I have
>> used for the kinds of things I have to do.  Once I get the dates/times
>> for individual events the way I want them I would then push them to
>> google (or wherever).  My notes and other useful data stay in org.
>
> Agreed; this is what I would like to do also.  But I would like to also
> be able to change a time in [non-org scheduling program] or add an event
> (perhaps via a mailed iCalendar invitation) and have those flow into
> org.

I am working on the logic to do that right now.  It is easier for me to
work in Python as I am not an elisp expert but I am going to have to
do *some* of this in elisp eventually.

> ical export seems to be present in org, but I found duplicated events
> after multiple exports.  I need to find time to try it more and either
> fix it or construct a good bug report.

I have had some confusion regarding repeated events.  Does this have
anything to do with what you saw?

Mark

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-30  1:21 ` Eric S Fraga
@ 2011-01-31 10:02   ` Christopher Witte
  2011-02-01  9:07     ` Eric S Fraga
  0 siblings, 1 reply; 49+ messages in thread
From: Christopher Witte @ 2011-01-31 10:02 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: Org Mode Mailing List, Greg Troxel


[-- Attachment #1.1: Type: text/plain, Size: 537 bytes --]

 On 30 January 2011 02:21, Eric S Fraga <e.fraga@ucl.ac.uk> wrote:

> Torsten Wagner <torsten.wagner@gmail.com> writes:
>
>
> We need Emacs running on Android[1].  If Nokia can have Emacs native on
> their phones (n900), why can't Android???
>
> I can dream.
>
> vi is available, but not vim (so far as I know) so can't do org that
> way.
>

Apparently there is a native port of vim for android,
http://credentiality2.blogspot.com/2010/08/native-vim-for-android.html

So would it be possible to build a native emacs for android?

Chris.

[-- Attachment #1.2: Type: text/html, Size: 1013 bytes --]

[-- Attachment #2: Type: text/plain, Size: 201 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-28 16:13                   ` Eric S Fraga
@ 2011-01-31 19:03                     ` Bastien
  0 siblings, 0 replies; 49+ messages in thread
From: Bastien @ 2011-01-31 19:03 UTC (permalink / raw)
  To: Eric S Fraga; +Cc: Arun Persaud, emacs-orgmode

Hi Eric,

Eric S Fraga <e.fraga@ucl.ac.uk> writes:

> Please feel free to upload it to Worg.  

Done - should appear soon in 

  http://orgmode.org/worg/code/

with a link from 

  http://orgmode.org/worg/org-tools/

> I do actually have a task for myself to upload this and related
> scripts and to write some documentation (essentially what I wrote in
> my long email months ago when I posted these scripts) but I have just
> not had the time to spare (bad time of year work-wise...).  It's free
> to use, modify, copy, etc. No warranty blah blah blah.

Let this grow at its own pace, good luck for the work!

-- 
 Bastien

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
@ 2011-02-01  0:54 Torsten Wagner
  2011-02-01  9:12 ` Eric S Fraga
  2011-02-01 22:44 ` Sven Bretfeld
  0 siblings, 2 replies; 49+ messages in thread
From: Torsten Wagner @ 2011-02-01  0:54 UTC (permalink / raw)
  To: Christopher Witte; +Cc: Org Mode Mailing List, Greg Troxel


[-- Attachment #1.1: Type: text/plain, Size: 896 bytes --]

> So would it be possible to build a native emacs for android?

I checked this a while ago and unfortunately emacs comes with a relatively
large pack of dependencies. Android on the other side does not deliver many
standard libraries. Xorg libc and afaik dbus are a few dependencies which
are not (natively) available on Android.
I tried Emacs in a debian chroot on my keyboard less device. It wasn't
really usable and I doubt that keyboard based smartphones are much better
since they most likely miss alt ctrl and other important keys.

Ideally we have something like Mobileorg and a emacs dameon running.
Mobileorg could send emacs elisp code to execute and access all org-mode
functions natively. This would allow to "reduce" mobileorgs task to
touchfriendly input and result representation.

If I manage to port a very basic version of emacs to android I will let you
know.

Greetings
Totti

[-- Attachment #1.2: Type: text/html, Size: 975 bytes --]

[-- Attachment #2: Type: text/plain, Size: 201 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-01-31 10:02   ` Christopher Witte
@ 2011-02-01  9:07     ` Eric S Fraga
  0 siblings, 0 replies; 49+ messages in thread
From: Eric S Fraga @ 2011-02-01  9:07 UTC (permalink / raw)
  To: Christopher Witte; +Cc: Org Mode Mailing List, Greg Troxel

Christopher Witte <chris@witte.net.au> writes:

>  On 30 January 2011 02:21, Eric S Fraga <e.fraga@ucl.ac.uk> wrote:
>
>> Torsten Wagner <torsten.wagner@gmail.com> writes:
>>
>>
>> We need Emacs running on Android[1].  If Nokia can have Emacs native on
>> their phones (n900), why can't Android???
>>
>> I can dream.
>>
>> vi is available, but not vim (so far as I know) so can't do org that
>> way.
>>
>
> Apparently there is a native port of vim for android,
> http://credentiality2.blogspot.com/2010/08/native-vim-for-android.html

Thanks for this.  I'll check it out.  This could be the best route to
getting org mode native on Android!  *And*, vi is more suitable for the
small keyboards (if any) on these devices...

-- 
Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D)

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  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
  1 sibling, 0 replies; 49+ messages in thread
From: Eric S Fraga @ 2011-02-01  9:12 UTC (permalink / raw)
  To: Torsten Wagner; +Cc: Greg Troxel, Org Mode Mailing List, Christopher Witte

Torsten Wagner <torsten.wagner@gmail.com> writes:

[...]

> Ideally we have something like Mobileorg and a emacs dameon running.
> Mobileorg could send emacs elisp code to execute and access all org-mode
> functions natively. This would allow to "reduce" mobileorgs task to
> touchfriendly input and result representation.

This is actually a very appealing idea.  These devices are potentially
always connected to the network so why duplicate content?  If you have
all your org files somewhere *you* can access, a small app on the phone
which sends elisp commands (e.g., via =ssh host emacsclient elisp=) to
that remote server would be a good solution: less processing on a low
power device, less, more focused, data transfer, no issues with
synchronisation, etc.

> If I manage to port a very basic version of emacs to android I will let you
> know.

Yes, please!

-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.4 (release_7.4.276.gada3f)

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  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
  1 sibling, 1 reply; 49+ messages in thread
From: Sven Bretfeld @ 2011-02-01 22:44 UTC (permalink / raw)
  To: Org Mode Mailing List

Torsten Wagner <torsten.wagner@gmail.com> writes:

>> So would it be possible to build a native emacs for android?
>
> I checked this a while ago and unfortunately emacs comes with a relatively large
> pack of dependencies. Android on the other side does not deliver many standard
> libraries. Xorg libc and afaik dbus are a few dependencies which are not
> (natively) available on Android.
> I tried Emacs in a debian chroot on my keyboard less device. It wasn't really
> usable and I doubt that keyboard based smartphones are much better since they
> most likely miss alt ctrl and other important keys.

There is yet another possibility. Use ConnectBot to connect to a PC
running Emacs (daemon). I use MobileOrg for task planning, todo lists
etc. But when I write a longer text, I use ConnectBot started with the
option 'emacsclient -t --eval "(ibuffer)"'. It is like having a native
Emacs on the phone. Press the icon, and Emacs is there after 3 seconds.
If you use Swype as input-method, you can even write long texts very
fast. Meta and Ctrl are available (press trackball once [CTRL] or twice
[Meta], press trackball followed by i for TAB).

Greetings,

Sven

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-02-01 22:44 ` Sven Bretfeld
@ 2011-02-02  5:15   ` Torsten Wagner
  2011-02-02  8:30     ` Konrad Hinsen
  0 siblings, 1 reply; 49+ messages in thread
From: Torsten Wagner @ 2011-02-02  5:15 UTC (permalink / raw)
  To: Sven Bretfeld; +Cc: Org Mode Mailing List

> There is yet another possibility. Use ConnectBot to connect to a PC
> running Emacs (daemon). I use MobileOrg for task planning, todo lists
> etc. But when I write a longer text, I use ConnectBot started with the
> option 'emacsclient -t --eval "(ibuffer)"'. It is like having a native
> Emacs on the phone. Press the icon, and Emacs is there after 3 seconds.
> If you use Swype as input-method, you can even write long texts very
> fast. Meta and Ctrl are available (press trackball once [CTRL] or twice
> [Meta], press trackball followed by i for TAB).

Hi Sven,

thanks for reminding me. Yes, this is indeed a nice option I used for 
some time. At the moment, I try to get a Bluetooth Keyboard working with 
my HTC Desire and put it together with the phone into a small leather 
case which allows me to use the phone as display and the keyboard in 
front of it. The total size will be approximately the size the phone 
only the thickness is doubled. It would be something like my 
computer-on-the-go-reduced-to-the-essential-part unit. Perfect for 
business trips, checking/writing mails, writing or doing extensive 
org-mode stuff on the go.

On the other hand, I would prefer to take only the phone for daily usage 
at places where a PC is easy available (e.g., in the office). In that 
case I would prefer to use a GUI like mobileorg which allows me to 
perform very quick org-mode tasks (adding a new appointment, check my 
schedule for the next 7 days, add a todo, etc.)
Basically, mobileorg tries to do that but all the parsing, sorting and 
data manipulation stuff is done on the android phone in native Java. 
Therefore, Matthew (the main developer) is busy (I guess) by 
reimplementing org-mode functions in Java which runs perfectly fine in 
elisp already.
Thus, I wonder if an approach "in the middle" might be the best.
Using a GUI like mobileorg. Every command (button-press) is actually 
translated in a org-mode elisp call send via ssh to an emacs daemon on a 
server machine. The emacs daemon processes the request and sends the 
result back. Result get catched by the GUI and displayed in a nice easy 
understandable way specifically customized to the small screen of mobile 
phones.

This approach would have several benefits:
* Changes in org-mode would directly work on the mobile version (at 
least in a kind of raw-mode which simply shows the answer of the daemon 
as text).
* Whenever we can make emacs run locally on the phone itself it would 
only require to replace the server address by "localhost" resulting in 
an offline version.
* People could work on different machines if they need.
* Depending on the power consumption of 3G/Wifi and the data 
transmission speed, it might be less power hungry to use a server 
approach compared to a standalone version (I'm totally unsure about 
that, but often wifi is on for other reasons, in that case sending and 
receiving data to an emacs dameon would not cost additional battery at all.)

The interface to org-mode for a mobileorg-client could be created in an 
additional layer in a similar form like org-babel. Simply providing 
commands to extract or inject certain data and send/receive them in a 
way both sides can understand easily. It would not disturb the main 
development of org-mode and might even result in a general org-mode API 
for many other possible integrations with org-mode (e.g., interfacing to 
Thunderbird, Firefox, Openoffice, shell, etc.).
In some way, since we had this already mentioned during this discussion 
it would be like the Google Calendar API.

All the best

Totti

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-02-02  5:15   ` Torsten Wagner
@ 2011-02-02  8:30     ` Konrad Hinsen
  2011-02-14 21:39       ` Marcelo de Moraes Serpa
  0 siblings, 1 reply; 49+ messages in thread
From: Konrad Hinsen @ 2011-02-02  8:30 UTC (permalink / raw)
  To: Torsten Wagner; +Cc: Org Mode Mailing List

On 2 Feb 2011, at 06:15, Torsten Wagner wrote:

> Basically, mobileorg tries to do that but all the parsing, sorting  
> and data manipulation stuff is done on the android phone in native  
> Java. Therefore, Matthew (the main developer) is busy (I guess) by  
> reimplementing org-mode functions in Java which runs perfectly fine  
> in elisp already.
> Thus, I wonder if an approach "in the middle" might be the best.
> Using a GUI like mobileorg. Every command (button-press) is actually  
> translated in a org-mode elisp call send via ssh to an emacs daemon  
> on a server machine. The emacs daemon processes the request and  
> sends the result back. Result get catched by the GUI and displayed  
> in a nice easy understandable way specifically customized to the  
> small screen of mobile phones.

How about implementing emacs-lisp for Android? More precisely, Emacs  
minus all the display stuff. Just what it takes to run Emacs in batch  
mode. Since Emacs already has very different display modes (GUI,  
terminal), it is perhaps not so difficult to extract a display-less  
version from the source code. Maybe this is just naive thinking, I  
never looked at the Emacs source code!

Konrad

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-02-02  8:30     ` Konrad Hinsen
@ 2011-02-14 21:39       ` Marcelo de Moraes Serpa
  2011-02-15  7:18         ` Konrad Hinsen
  0 siblings, 1 reply; 49+ messages in thread
From: Marcelo de Moraes Serpa @ 2011-02-14 21:39 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: Org Mode Mailing List

This would be awesome, and I think this is the path the emacs
developers should take -- separating emacs into two, the GUI and the
core elisp interpreter. I'm sure this wouldn't be easy, but imagine
having emacs both as an IDE and also as a full-fledged elisp
interpreter/compiler and framework, not necessarily tied to the editor
itself, but with a framework suitable to build other kind of
IDEs/editors if needed (extracted from all those years of emacsen!).

This would allow things such as org to become more of a platform with
a server and a client. The default client would be emacs, but one
could for example run org on a server and build a web layer above it,
communicating with org using CLI/http/dbus/whatever or if one is brave
enough, write the whole thing in elisp (the web part too).

I think this would be akin to what the Eclipse platform is currently.

Food for thought...

Marcelo.

On Wed, Feb 2, 2011 at 2:30 AM, Konrad Hinsen
<konrad.hinsen@fastmail.net> wrote:
> On 2 Feb 2011, at 06:15, Torsten Wagner wrote:
>
>> Basically, mobileorg tries to do that but all the parsing, sorting and
>> data manipulation stuff is done on the android phone in native Java.
>> Therefore, Matthew (the main developer) is busy (I guess) by reimplementing
>> org-mode functions in Java which runs perfectly fine in elisp already.
>> Thus, I wonder if an approach "in the middle" might be the best.
>> Using a GUI like mobileorg. Every command (button-press) is actually
>> translated in a org-mode elisp call send via ssh to an emacs daemon on a
>> server machine. The emacs daemon processes the request and sends the result
>> back. Result get catched by the GUI and displayed in a nice easy
>> understandable way specifically customized to the small screen of mobile
>> phones.
>
> How about implementing emacs-lisp for Android? More precisely, Emacs minus
> all the display stuff. Just what it takes to run Emacs in batch mode. Since
> Emacs already has very different display modes (GUI, terminal), it is
> perhaps not so difficult to extract a display-less version from the source
> code. Maybe this is just naive thinking, I never looked at the Emacs source
> code!
>
> Konrad
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  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-06-10 16:58           ` Stephen Eglen
  0 siblings, 2 replies; 49+ messages in thread
From: Konrad Hinsen @ 2011-02-15  7:18 UTC (permalink / raw)
  To: Org Mode Mailing List, Marcelo de Moraes Serpa

On 14 Feb 2011, at 22:39, Marcelo de Moraes Serpa wrote:

> This would be awesome, and I think this is the path the emacs
> developers should take -- separating emacs into two, the GUI and the
> core elisp interpreter. I'm sure this wouldn't be easy, but imagine

Emacs already has a batch mode, and very different GUI layers  
(terminal, X11, Mac, Windows), so I'd suspect that a "no GUI" version  
that can be compiled anywhere would not be so difficult. It may be  
more difficult to make a separate GUI layer, but that wouldn't be very  
important either from a practical point of view.

BTW, another Emacs GUI I'd like to see is a Web-based one. Imagine  
connecting to your home machine from a Web browser and getting access  
to a copy of Emacs running there!

Konrad.

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  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-06-10 16:58           ` Stephen Eglen
  1 sibling, 1 reply; 49+ messages in thread
From: Marcelo de Moraes Serpa @ 2011-02-15 16:37 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: Org Mode Mailing List

I had just that very idea yesterday but thought it would be too crazy;
A new startup? :D

Marcelo.



On Tue, Feb 15, 2011 at 1:18 AM, Konrad Hinsen
<konrad.hinsen@fastmail.net> wrote:
> On 14 Feb 2011, at 22:39, Marcelo de Moraes Serpa wrote:
>
>> This would be awesome, and I think this is the path the emacs
>> developers should take -- separating emacs into two, the GUI and the
>> core elisp interpreter. I'm sure this wouldn't be easy, but imagine
>
> Emacs already has a batch mode, and very different GUI layers (terminal,
> X11, Mac, Windows), so I'd suspect that a "no GUI" version that can be
> compiled anywhere would not be so difficult. It may be more difficult to
> make a separate GUI layer, but that wouldn't be very important either from a
> practical point of view.
>
> BTW, another Emacs GUI I'd like to see is a Web-based one. Imagine
> connecting to your home machine from a Web browser and getting access to a
> copy of Emacs running there!
>
> Konrad.
>

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-02-15 16:37           ` Marcelo de Moraes Serpa
@ 2011-02-15 16:43             ` Marcelo de Moraes Serpa
  2011-02-15 16:55               ` Bastien
  0 siblings, 1 reply; 49+ messages in thread
From: Marcelo de Moraes Serpa @ 2011-02-15 16:43 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: Org Mode Mailing List

Anyway, I'd like to see the development of org go towards decoupling
it from the emacs GUI and allowing the core logic to be used from
other languages; I'd say the easiest way would be to provide a
JSON-like HTTP protocol; not sure how easy/hard would it be to develop
a HTTP server and run it from the headless emacs as a daemon.

Marcelo.

On Tue, Feb 15, 2011 at 10:37 AM, Marcelo de Moraes Serpa
<celoserpa@gmail.com> wrote:
> I had just that very idea yesterday but thought it would be too crazy;
> A new startup? :D
>
> Marcelo.
>
>
>
> On Tue, Feb 15, 2011 at 1:18 AM, Konrad Hinsen
> <konrad.hinsen@fastmail.net> wrote:
>> On 14 Feb 2011, at 22:39, Marcelo de Moraes Serpa wrote:
>>
>>> This would be awesome, and I think this is the path the emacs
>>> developers should take -- separating emacs into two, the GUI and the
>>> core elisp interpreter. I'm sure this wouldn't be easy, but imagine
>>
>> Emacs already has a batch mode, and very different GUI layers (terminal,
>> X11, Mac, Windows), so I'd suspect that a "no GUI" version that can be
>> compiled anywhere would not be so difficult. It may be more difficult to
>> make a separate GUI layer, but that wouldn't be very important either from a
>> practical point of view.
>>
>> BTW, another Emacs GUI I'd like to see is a Web-based one. Imagine
>> connecting to your home machine from a Web browser and getting access to a
>> copy of Emacs running there!
>>
>> Konrad.
>>
>

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-02-15 16:43             ` Marcelo de Moraes Serpa
@ 2011-02-15 16:55               ` Bastien
  0 siblings, 0 replies; 49+ messages in thread
From: Bastien @ 2011-02-15 16:55 UTC (permalink / raw)
  To: Marcelo de Moraes Serpa; +Cc: Konrad Hinsen, Org Mode Mailing List

Hi Marcelo,

Marcelo de Moraes Serpa <celoserpa@gmail.com> writes:

> Anyway, I'd like to see the development of org go towards decoupling
> it from the emacs GUI and allowing the core logic to be used from
> other languages

The "core logic" of Org is the .org format, with its own syntax.

You're free to use org files anywhere, it's not bound to Emacs.

But using Emacs is certainly the best way so far to make the best 
of this format: after all, Emacs is a text editor and org files are 
just plain text!

-- 
 Bastien

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-02-15  7:18         ` Konrad Hinsen
  2011-02-15 16:37           ` Marcelo de Moraes Serpa
@ 2011-06-10 16:58           ` Stephen Eglen
  2011-06-10 17:04             ` Arun Persaud
  1 sibling, 1 reply; 49+ messages in thread
From: Stephen Eglen @ 2011-06-10 16:58 UTC (permalink / raw)
  To: emacs-orgmode

Was there any update regarding this interesting topic?  I'm keen to get
something working - what is current best practice for getting
.ics files made by org put onto google calendar, so that I can view them
on android?

Thanks, Stephen



Konrad Hinsen <konrad.hinsen@fastmail.net> writes:

> On 14 Feb 2011, at 22:39, Marcelo de Moraes Serpa wrote:
>
>> This would be awesome, and I think this is the path the emacs
>> developers should take -- separating emacs into two, the GUI and the
>> core elisp interpreter. I'm sure this wouldn't be easy, but imagine
>
> Emacs already has a batch mode, and very different GUI layers
> (terminal, X11, Mac, Windows), so I'd suspect that a "no GUI" version
> that can be compiled anywhere would not be so difficult. It may be
> more difficult to make a separate GUI layer, but that wouldn't be very
> important either from a practical point of view.
>
> BTW, another Emacs GUI I'd like to see is a Web-based one. Imagine
> connecting to your home machine from a Web browser and getting access
> to a copy of Emacs running there!
>
> Konrad.
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-06-10 16:58           ` Stephen Eglen
@ 2011-06-10 17:04             ` Arun Persaud
  2011-06-10 18:34               ` Stephen Eglen
  0 siblings, 1 reply; 49+ messages in thread
From: Arun Persaud @ 2011-06-10 17:04 UTC (permalink / raw)
  To: emacs-orgmode

Hi

On 06/10/2011 09:58 AM, Stephen Eglen wrote:
> Was there any update regarding this interesting topic?  I'm keen to get
> something working - what is current best practice for getting
> .ics files made by org put onto google calendar, so that I can view them
> on android?
> 
> Thanks, Stephen

Have a look at:

http://orgmode.org/worg/org-tutorials/org-google-sync.html

The above works well for me, so I haven't changed anything on it
recently, but let us know in case something doesn't work for you and we
can see if we can fix it.

Arun

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-06-10 17:04             ` Arun Persaud
@ 2011-06-10 18:34               ` Stephen Eglen
  2011-06-10 19:09                 ` Arun Persaud
                                   ` (3 more replies)
  0 siblings, 4 replies; 49+ messages in thread
From: Stephen Eglen @ 2011-06-10 18:34 UTC (permalink / raw)
  To: emacs-orgmode

Thank you very much Arun, this page looks great:

> http://orgmode.org/worg/org-tutorials/org-google-sync.html>

When going from org -> google, do I need to do anything about using
org-icalendar-store-UID?  I'd rather not have to populate my org files
with :ID: entries.

Stephen

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-06-10 18:34               ` Stephen Eglen
@ 2011-06-10 19:09                 ` Arun Persaud
  2011-06-11 13:25                   ` Philipp Haselwarter
  2011-06-11 17:32                 ` Niels Giesen
                                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 49+ messages in thread
From: Arun Persaud @ 2011-06-10 19:09 UTC (permalink / raw)
  To: emacs-orgmode

Hi

> When going from org -> google, do I need to do anything about using
> org-icalendar-store-UID?  I'd rather not have to populate my org files
> with :ID: entries.

I don't... however, I have to admit that I don't really know that much
about .ics files and the use of UID. The setup at the moment just works
for me and the appointments I want show up in google calendar (only ones
with a start and end time). One issue I still have is that they only
show up in an extra calendar and I have to copy them by hand into my
main calendar (so that other people can see them too)... this is ok for
me, since I don't have too many entries that go from org->google, mostly
I use the other direction google->org.

So there is still lots of room for improvement ;)

Anyway, here is the relevant part from my .emacs file just in case

;;; org -> google export via .ics
(setq org-icalendar-use-UTC-date-time nil)
(setq org-icalendar-timezone "America/Los_Angeles")

(defun org-mycal-export-limit ()
  "Limit the export to items that have a date, time and a range. Also
exclude certain categories."
  (setq org-tst-regexp "<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} ...
[0-9]\\{2\\}:[0-9]\\{2\\}[^\r\n>]*?\\)>")
  (setq org-tstr-regexp (concat org-tst-regexp "--?-?" org-tst-regexp))
  (save-excursion
    ; get categories
    (setq mycategory (org-get-category))
    ; get start and end of tree
    (org-back-to-heading t)
    (setq mystart    (point))
    (org-end-of-subtree)
    (setq myend      (point))
    (goto-char mystart)
    ; search for timerange
    (setq myresult (re-search-forward org-tstr-regexp myend t))
    ; search for categories to exclude
    (setq mycatp (member mycategory org-export-exclude-category))
    ; return t if ok, nil when not ok
    (if (and myresult (not mycatp)) t nil)))

(defun org-mycal-export ()
  (let ((org-icalendar-verify-function 'org-mycal-export-limit))
    (org-export-icalendar-combine-agenda-files)))

and I export via a cron script doing

emacs --batch -l ~/.emacs  --eval '(defun ask-user-about-lock (file opp)
nil)' -f org-mycal-export

cheers
	ARUN

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-06-10 19:09                 ` Arun Persaud
@ 2011-06-11 13:25                   ` Philipp Haselwarter
  2011-06-11 18:38                     ` Nick Dokos
  0 siblings, 1 reply; 49+ messages in thread
From: Philipp Haselwarter @ 2011-06-11 13:25 UTC (permalink / raw)
  To: emacs-orgmode

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.

-- 
Philipp Haselwarter

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-06-10 18:34               ` Stephen Eglen
  2011-06-10 19:09                 ` Arun Persaud
@ 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>
  3 siblings, 1 reply; 49+ messages in thread
From: Niels Giesen @ 2011-06-11 17:32 UTC (permalink / raw)
  To: Stephen Eglen; +Cc: emacs-orgmode

> When going from org -> google, do I need to do anything about using
> org-icalendar-store-UID?  I'd rather not have to populate my org files
> with :ID: entries.

You do not strictly need to, but this is the only way you do not
create double events when exporting an org file to .ics and importing
it into google calendar. If you do use them, a change in a date in
org-mode will be reflected as such in google calendar.

Note that if you /do/ want to store uids for the reason I just wrote,
/and/ if you use diary sexps, you'll need an up-to-date Emacs (from
bazaar) and below patch to org-icalendar.el (this has not been applied
yet to org-mode, alas). Otherwise icalendar.el creates a new uid every
time you export anyway.

--- a/lisp/org-icalendar.el
+++ b/lisp/org-icalendar.el
@@ -412,7 +412,10 @@ When COMBINE is non nil, add the category to each line."
 	  (if scheduledp (setq summary (concat "S: " summary)))
 	  (if (string-match "\\`<%%" ts)
 	      (with-current-buffer sexp-buffer
-		(insert (substring ts 1 -1) " " summary "\n"))
+		(let ((entry (substring ts 1 -1)))
+		  (put-text-property 0 1 'uid
+				     (concat " " prefix uid) entry)
+		  (insert entry " " summary "\n")))
 	    (princ (format "BEGIN:VEVENT
 UID: %s
 %s


-- 
http://pft.github.com

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-06-11 13:25                   ` Philipp Haselwarter
@ 2011-06-11 18:38                     ` Nick Dokos
  2011-06-15 19:00                       ` Eric S Fraga
  0 siblings, 1 reply; 49+ messages in thread
From: Nick Dokos @ 2011-06-11 18:38 UTC (permalink / raw)
  To: Philipp Haselwarter; +Cc: nicholas.dokos, emacs-orgmode

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

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-06-10 18:34               ` Stephen Eglen
  2011-06-10 19:09                 ` Arun Persaud
  2011-06-11 17:32                 ` Niels Giesen
@ 2011-06-15 18:45                 ` Eric S Fraga
       [not found]                 ` <87hb7rory9.fsf@ucl.ac.uk>
  3 siblings, 0 replies; 49+ messages in thread
From: Eric S Fraga @ 2011-06-15 18:45 UTC (permalink / raw)
  To: emacs-orgmode

Stephen Eglen <S.J.Eglen@damtp.cam.ac.uk> writes:

> Thank you very much Arun, this page looks great:
>
>> http://orgmode.org/worg/org-tutorials/org-google-sync.html>
>
> When going from org -> google, do I need to do anything about using
> org-icalendar-store-UID?  I'd rather not have to populate my org files
> with :ID: entries.
>
> Stephen

The UID entries are necessary if you intend to upload a file that
contains entries that you previously uploaded.  Without these, any
pre-existing entry will be duplicated in google's calendar.
-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.5 (release_7.5.391.gfaccb.dirty)

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-06-11 18:38                     ` Nick Dokos
@ 2011-06-15 19:00                       ` Eric S Fraga
  0 siblings, 0 replies; 49+ messages in thread
From: Eric S Fraga @ 2011-06-15 19:00 UTC (permalink / raw)
  To: nicholas.dokos; +Cc: emacs-orgmode, Philipp Haselwarter

[-- Attachment #1: Type: text/plain, Size: 722 bytes --]

Nick Dokos <nicholas.dokos@hp.com> writes:
> Philipp Haselwarter <philipp.haselwarter@gmx.de> wrote:

Nick & Philipp,

>> Unfortunately, both the awk script and the org-export-icalendar seem to
>> have quite a hard time with repeating entries.

Yes.  I have extended my awk script to cater for ical events that span
days which does appear to work (to some degree).  See updated version
attached.  This does not handle generic repeated events unfortunately,
but mostly because I'm not sure what the ical format for these might be
(and have been too lazy to look into it).  If you have a good example
(or set of examples) of ical calendar entries that describe repeated
events, I'm happy to work on the awk script further.


[-- Attachment #2: ical 2 org awk script --]
[-- Type: application/x-awk, Size: 7490 bytes --]

[-- Attachment #3: Type: text/plain, Size: 2187 bytes --]


[...]

> 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).

it would indeed be nice to have an Emacs solution to the google -> org
step.

[...]

> 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).

In some sense, this is indeed my modus operandum but it's not
necessarily the best approach after a while...

> 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

yes, I am seeing the same thing; I would love to have an automated or
semi-automated procedure to take these things in gnus and create a
capture event.  I look forward to seeing what you have been up to in
this respect!

[...]

> 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.

time zones are a nightmare, especially with respect to Google.

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

Very interested and happy to contribute as much as I can!

-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
: using Org-mode version 7.5 (release_7.5.391.gfaccb.dirty)

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
       [not found]                 ` <87hb7rory9.fsf@ucl.ac.uk>
@ 2011-06-16 12:13                   ` Stephen Eglen
  0 siblings, 0 replies; 49+ messages in thread
From: Stephen Eglen @ 2011-06-16 12:13 UTC (permalink / raw)
  To: Eric S Fraga, emacs-orgmode; +Cc: Stephen Eglen

Eric S Fraga <e.fraga@ucl.ac.uk> wrote:

> Stephen Eglen <S.J.Eglen@damtp.cam.ac.uk> writes:
> 
> > Thank you very much Arun, this page looks great:
> >
> >> http://orgmode.org/worg/org-tutorials/org-google-sync.html>
> >
> > When going from org -> google, do I need to do anything about using
> > org-icalendar-store-UID?  I'd rather not have to populate my org files
> > with :ID: entries.
> >
> > Stephen
> 
> The UID entries are necessary if you intend to upload a file that
> contains entries that you previously uploaded.  Without these, any
> pre-existing entry will be duplicated in google's calendar.

Thanks Eric.

Reading around a bit, there seems to be a bit of disquiet about how
google calendar reads .ics files, e.g.:

http://www.google.com/support/forum/p/Calendar/thread?tid=3fad85f47a70864b&hl=en

In particular, it seems odd that there is so much uncertainty about the
interval with which google calendar re-reads the .ics file and updates
the calendar.  I don't mind hitting a *refresh* button within a calendar
to manually force a resync, but there doesn't seem to be such a button!

I think what I'm looking for is a *read-only* solution so that google
calendar just renders the current orgmode.ics file read from the web,
rather than recalling what events were previously read in.    (I don't
need to write to this calendar, as my org files are the master.)  In
this way, I would hope the ID entries would not be required.

I'm still in the first days of using my new android phone, so I may be
missing something, but there seemed no other decent calendar tool on the
android market that would just read and render an .ics file from the
web.    I did however find this:

https://market.android.com/details?id=org.nightlabs.android.icssync

which sounds useful. Has anyone else seen/tried this?

Stephen

^ permalink raw reply	[flat|nested] 49+ messages in thread

* Re: Status google calendar sync
  2011-06-11 17:32                 ` Niels Giesen
@ 2011-06-30 16:14                   ` Bastien
  0 siblings, 0 replies; 49+ messages in thread
From: Bastien @ 2011-06-30 16:14 UTC (permalink / raw)
  To: Niels Giesen; +Cc: emacs-orgmode, Stephen Eglen

Niels Giesen <niels.giesen@gmail.com> writes:

> --- a/lisp/org-icalendar.el
> +++ b/lisp/org-icalendar.el
> @@ -412,7 +412,10 @@ When COMBINE is non nil, add the category to each line."
>  	  (if scheduledp (setq summary (concat "S: " summary)))
>  	  (if (string-match "\\`<%%" ts)
>  	      (with-current-buffer sexp-buffer
> -		(insert (substring ts 1 -1) " " summary "\n"))
> +		(let ((entry (substring ts 1 -1)))
> +		  (put-text-property 0 1 'uid
> +				     (concat " " prefix uid) entry)
> +		  (insert entry " " summary "\n")))
>  	    (princ (format "BEGIN:VEVENT
>  UID: %s
>  %s

(Note that this has been applied.)

-- 
 Bastien

^ permalink raw reply	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2011-06-30 16:14 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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

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).