* 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-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-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-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 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 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
* 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
[parent not found: <87hb7rory9.fsf@ucl.ac.uk>]
* 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-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 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 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 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-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-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-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
* 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-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-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
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).