[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] GSoC -- org-sync
From: |
Aurélien Aptel |
Subject: |
[O] GSoC -- org-sync |
Date: |
Tue, 5 Jun 2012 20:53:22 +0200 |
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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [O] GSoC -- org-sync,
Aurélien Aptel <=