emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* GSoC -- org-sync
@ 2012-06-05 18:53 Aurélien Aptel
  0 siblings, 0 replies; only message in thread
From: Aurélien Aptel @ 2012-06-05 18:53 UTC (permalink / raw)
  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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-06-05 18:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-05 18:53 GSoC -- org-sync Aurélien Aptel

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