emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Karl Voit <devnull@Karl-Voit.at>
To: emacs-orgmode@gnu.org
Subject: Re: A new module for Org-mode: Org-X
Date: Sun, 14 Aug 2011 19:32:31 +0200	[thread overview]
Message-ID: <2011-08-14T19-14-58@devnull.Karl-Voit.at> (raw)
In-Reply-To: m2zkjcl9t8.fsf@gmail.com

* John Wiegley <jwiegley@gmail.com> wrote:
> Hello all,

Hi!

> I've been working a new set of modules for Org to make it easy to associate
> Org entries with data in external systems, such as Redmine, Bugzilla,
> WordPress, or even your e-mail Inbox.  It's called Org-X, as its meant to
> simplify writing linkup code for any system X.

Wow. This looks like exactly what I want to achieve with the
«Memacs» project on [1]. We certainly need to exchange ideas and
code :-)

> It has two parts: one for users, and one for Org programmers.  

In our project we do have the very same thing: the user-part is
called «Nexus» and the central part is called «Memacs».

I already proposed my ideas here with my posting «Represent
*everything* in Org-mode»[2].

> The user code
> will:
>
>   - create a new entry on the selected remote based on an Org subtree
>   - merge changes from all remotes into a subtree
>   - push changes from the local subtree up to the remote(s)
>
> For example, I currently use this code with Redmine to simplify creating new
> bugs from existing Org tasks, and to push and pull any new comments.
>
> For Org programmers, Org-X provides a data abstraction to ease working with
> Org data in a programmatic way.  To add a tag to the current Org entry with
> Org-X looks like this right now:
>
>   (let ((entry (org-x-parse-entry)))
>     (org-x-add-tag entry "Hello")
>     (org-x-replace-entry entry))
>
> Where the value comes in for programmers is that you can "propagate" such
> changes to all associated external systems by just passing "t" for the
> propagate parameter:
>
>   (let ((entry (org-x-parse-entry)))
>     (org-x-add-tag entry "Hello" t))

Our plan is to use Python to simply generate org (archive) files
from different sources since we do have no ELISP knowledge and
Python does already have beautiful libraries for RegEx, string
manipulation, XML, JSON, ...

> Without having to know what those remote systems even are.  Of course, Org
> itself is a backend, which is why the call to `org-x-replace-entry' is no
> longer needed here, since propagation will achieve the same affect.

Our plan includes Nexus that re-generate their org-file-content on
each invocation OR append new events at the end.

> The set of applicable backends is determined by context, and the appropriate
> actions decided upon by each backend who "answers" for a given Org entry.

Sounds cool :-)

> Anyway, the code is still in the beginnings stages, and in rough shape, with
> the API undergoing fluctuations on a daily basis.  But I thought I'd let
> people know, as maybe some would like to help flesh out the basics while it's
> still so unformed.  

We do not have any code yet but two of my students began to work on
the project.

> My org-x branch is here:
>
>     git clone git://github.com/jwiegley/org-mode.git
>     git checkout -t origin/org-x
> or
>     git remote add -f jwiegley git://github.com/jwiegley/org-mode.git
>     git checkout -t jwiegley/org-x
>
> I'm currently working on backends for Redmine, Bugzilla and WordPress, since I
> have an immediate need for them; but I also have ideas for others, such as a
> backend that creates back-linked Org tasks for every "FIXME" comment in a
> source code project...

We do have lots of ideas for other «Nexus» or «backends» how you
call them :-)

  1. https://github.com/novoid/Memacs

  2. Message-ID: <2011-07-18T01-13-54@devnull.Karl-Voit.at>
  Mon, 18 Jul 2011 01:54:08 +0200
  Sorry, gmane does not let me locate using the search feature :-(

-- 
Karl Voit

  reply	other threads:[~2011-08-14 17:32 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-14  7:41 A new module for Org-mode: Org-X John Wiegley
2011-08-14 17:32 ` Karl Voit [this message]
2011-08-14 22:19   ` John Wiegley
2011-08-15 10:25     ` Karl Voit
2011-08-15 13:23       ` John Wiegley
2011-08-15 12:06     ` Sebastien Vauban
2011-08-15 13:25       ` John Wiegley
2011-08-15 21:29         ` Sebastien Vauban
2011-08-16 17:00 ` Achim Gratz
2011-08-16 19:27   ` John Wiegley
2011-08-16 19:42     ` Achim Gratz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2011-08-14T19-14-58@devnull.Karl-Voit.at \
    --to=devnull@karl-voit.at \
    --cc=emacs-orgmode@gnu.org \
    --cc=news1142@Karl-Voit.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).