From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Aur=C3=A9lien_Aptel?= Subject: GSoC -- org-sync Date: Tue, 5 Jun 2012 20:53:22 +0200 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Received: from eggs.gnu.org ([208.118.235.92]:41720) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sbysl-0001DW-R2 for emacs-orgmode@gnu.org; Tue, 05 Jun 2012 14:53:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sbysf-0005dE-OY for emacs-orgmode@gnu.org; Tue, 05 Jun 2012 14:53:31 -0400 Received: from mail-ob0-f169.google.com ([209.85.214.169]:37613) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sbysf-0005cn-H3 for emacs-orgmode@gnu.org; Tue, 05 Jun 2012 14:53:25 -0400 Received: by obbwd18 with SMTP id wd18so11370986obb.0 for ; Tue, 05 Jun 2012 11:53:22 -0700 (PDT) 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 Hi all, Since I've reached a usable point in my Google Summer of Code project Org-sync, I'm posting to the ML to show my progress and to get some feedback. For those who don't know or don't remember, Org-sync is a tool to synchronize parts of your document with external services in a generic way. Each service is implemented is a backend of org-sync and implements a common interface. The project focuses on online bugtracking tools such as Github issues or Bugzilla. More background info on worg at [1] and [2]. I've focused on Github as my first backend. Not all aspects of the org-sync lib has been factored out and the interface is a bit blurry (what belongs to org-sync? what belongs to the backend?). It will be clearer once I implement a second backend. Currently, the Github backend is usable. To try it: 1. You will need a recent copy of org-element.el, Nicolas Goaziou's new org-mode parser. If you don't have it, you can just download contrib/lisp/org-element.el [3] from the org-mode repo, visit it in emacs and run M-x eval-buffer. 2. Org-sync, of course. Currently there's only one file, you can just download it from the tag v0.1 changeset [4], visit it in emacs and run M-x eval-buffer. 3. Open an org-document, or a new buffer in org-mode 4. Run M-x os-import RET github.com/octocat/Hello-World RET to import issues from Github test repo. 5. You can delete some entries and run M-x os-sync to download them again. If you want to try the local-to-remote sync you'll need your own test repo. 1. Set the variable os-github-auth. For this you can run: M-: RET (setq os-github-auth (cons "login" "passwd")) RET 2. Run M-x os-import RET /url/to/your/repo RET 3. Modify some entries and run M-x os-sync. Currently, there's no "success" message so you'll have to check online to make sure it worked. That's all for the basic tutorial. You can find more at [2]. Known issues: - Some field can't be synched. - Updating tags or assignee doesn't work if it doesn't exists. - The description is imported in Markdown syntax. - Non-ascii chars are sent properly but are not fetched properly. - The way logins are stored is simple for now but it will be enhanced later on. - I sometime get a message like this few minutes after synching: "gnutls.c: [0] (Emacs) fatal error: The TLS connection was non-properly terminated." It has to do with https, ssl and url.el but other than that, I have no idea. - There is not much error checking. 1: http://orgmode.org/worg/org-contrib/gsoc2012/student-projects/org-sync/ 2: http://orgmode.org/worg/org-contrib/gsoc2012/student-projects/org-sync/backends.html 3: http://orgmode.org/w/?p=org-mode.git;a=blob_plain;f=contrib/lisp/org-element.el;hb=HEAD 4: http://orgmode.org/w/?p=org-sync.git;a=blob_plain;f=github.el;hb=HEAD