From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Christopher J. White" Subject: Re: Org Mode TOOD two way sync tool Date: Fri, 22 Jun 2012 08:03:05 -0400 Message-ID: <4FE45EF9.8040307@grierwhite.com> References: Reply-To: orgmode@grierwhite.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([208.118.235.92]:47523) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Si2a6-0003lR-Ug for emacs-orgmode@gnu.org; Fri, 22 Jun 2012 08:03:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Si2a0-00051g-Gw for emacs-orgmode@gnu.org; Fri, 22 Jun 2012 08:03:18 -0400 Received: from mail238c25.carrierzone.com ([64.29.147.232]:59916) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Si2a0-00050W-A1 for emacs-orgmode@gnu.org; Fri, 22 Jun 2012 08:03:12 -0400 Received: from cwhite-mbpro.local (pool-108-20-101-201.bstnma.east.verizon.net [108.20.101.201]) (authenticated bits=0) by mail238c25.carrierzone.com (8.13.6/8.13.1) with ESMTP id q5MC33qX020563 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 22 Jun 2012 12:03:06 GMT In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Hi Karra, I've been working on org-toodledo.el to perform bi-directional sync of TODO items with the Toodledo server, and faced many of the same issues you raise about figuring out the exact format and grammar of a TODO item. You may find looking at my source useful, either as inspiration, integration, or just understanding what fields are what. The general approach was to build an object that represents a parsed TODO item, and fill that in from either the org-buffer TODO items, or from items retrieved from the server. That object can then be compared to others (one from the server and one from the local buffer), converted to a new org TODO, sent to the server as a new TODO, etc. The components of the TODO item are obviously targeted to what makes sense for Toodledo, but I think they are fairly generic. You might also look at org-element.el which I recently learned about which may also help. I have it on my TODO list to learn more about it to see if I can't refactor org-toodledo to leverage it. It is more geared toward generic org items as opposed to specifically TODO items. ...cj On 6/22/12 2:40 AM, Sriram Karra wrote: > I am the author of ASynK (http://karra-asynk.appspot.com), a PIM sync > tool and framework written in python that works across a variety of PIM > providers such as Outlook, Google and BBDB. I am considering extending > ASynK to do a bi-directional sync of Outlook tasks to Org Mode tasks. To > be able to do this I need a working read/write API for reading and > creating TODOs in org mode. > > *"Offline parsers"* > > My first preference is to be able to parser org files without required > Emacs - this is the approach that I have implemented for BBDB sync. I > considered PyOrgMode (https://github.com/bjonnh/PyOrgMode/network), but > it appears unable to process TODOs, or even recurring events. To be able > to extend PyOrgMode so I can read and write TODOs, I needed a full > description of the format of TODO entries in all its forms. The Org > manual itself has this information, I'm sure but scattered all over the > place, given its real audience. Can someone point me to some sort of a > concise representation, if any, of the org file format grammar? > > *org-protocol* > * > * > By quickly reading the documentation I figured that org-protocol can be > used to create entries, but is there a way to use it to do generic > queries like "list all TODOs in a specified file, with a particular > property value" and such? > > Any help is much appreciated. > > -Karra