From: "Nagarjuna G." <nagarjun@gnu.org>
To: emacs-orgmode@gnu.org
Subject: gnowsys-mode a major mode extending org
Date: Tue, 29 Sep 2009 20:19:40 -0400 [thread overview]
Message-ID: <20090930001940.GA22310@fencepost.gnu.org> (raw)
Dear orgmode developers and users
This is a note to share with you our adventure with org.
We, at gnowledge.org, began a project that extends orgmode (without
spoiling or loosing any of the orgmode features) to support
collaborative knowledge organization and networking using the GNOWSYS
storage on the server side. This is work in progress. I am writing
this note to inform you about the on going work, as well as to thank
you all, specially Carsten for creating an app that took Emacs to yet
another level.
* What we are doing with orgmode:
1. We use Emacs as a client to collaboratively create, update
knowledge networks in plain text. The knowledge network is
created by adding nodes (rendered in orgmode as a note item) and
named relations between them (rendered in orgmode in the
properties drawer of the note item). The storage of the network
is compatible to RDF model of storing networks, though we do not
store or process XML either on the server side or on the client
side. Thus, every orgmode item is added in a form that can be
serialized as a RDF triple. Some examples given below.
2. We are using xmlrpc (xmlrpc.el), a builtin feature in Emacs, to
connect to GNOWSYS server. GNOWSYS publishes its API as
webservice (which has an API to perform the authentication,
search the knowledge base, return and update the nodes and its
properties.)
3. Each node when returned from the GNOWSYS server to the client
opens in a org buffer (temporary) as a note item. Since we
render the linkeddata in a text format orgmode renders everything
nicely. We have defined more types of links, extending the ones
available already, so that the linked nodes' URI is always
available.
4. Any text written below the drawers is stored as the value of an
attribute 'content' of the current node on the server side.
5. We are adding more and more functions to complete the entire
application, thanks to orgmode and Emacs, where difficult tasks
are tamed to such an extent, we are obviously excited!
* What missing feature of orgmode will be available in gnowsys-mode
We can do networking between items making frame based orgmode items
linked with any other items in any which way by explicitly naming
the relations. This feature makes orgmode ready for semantic
web. We plan to use the properties drawer to hold all the metadata
of each node. In-built version control of all notes as well as the
networks (a feature of GNOWSYS). Orgmode with the extensions that
we are applying can demonstrate how complex application data can be
represented and manipulated in plain text including semantic web.
* What this extension may mean to the users of orgmode and others.
These are the use cases for extended orgmode/gnowsys-mode:
1. Each note item (*) can be published at a remote server as a node,
with its content and properties stored as attributes. Thus all
data gets published on the server, though optionally the user can
save all data as text files on his/her PC. Published nodes
can be read and edited by others, allowing collaborative
authoring. Using this feature, we can use orgmode as a wiki
source file.
2. GNOWSYS supports version control of all changes made to the node,
thus changes can be tracked. No additional version control like
cvs, svn, git, bazaar etc. are required. (GNOWSYS should soon
support more functions to improve this.) Nothing is deleted from
the server. Nodes can be delinked or marked deleted, nodes with
deleted mark still exist on the server after making a new
snapshot of the node.
3. Ontologies or application schema can be made and published
collaboratively. This is useful as a semantic web
application. All this can be done without using XML on either
server side or client side, though we can import and export data
serialized in RDF format. This makes it a pure text based app
for semantic web.
4. Complex documents like courses, manuals, books can be written in
orgmode collaboratively with bibliogrpahy support etc. LaTeX and
DocBook export feature could make use of this to make orgmode as
a desktop publishing system supporting collaborative editing. (We
want to discuss this project with guidance from org team.)
5. Considering that a website is nothing but a set of complex
documents with internal as well as external hyperlinks, complete
website can be made, managed and published by orgmode with the
source code of the site completely encoded in text.
6. GNOWSYS is made for collaborative creation of semantic networks,
so this use case needs no more elaboration. Concept graphs,
mindmaps included.
We realize that much of the above use needs a good and advanced search
facility on the GNOWSYS side. Though crude search is possible now,
and integrated within gnowsys-mode, a lot of improvement is possible
here.
The bleeding-edge gnowsys-mode can be obtained using "svn co
svn://svn.savannah.gnu.org/gnowsys/gnowsys-mode".
Divya (a student hacker) did this project as her GSoC 2009 under Rajiv
and me as mentors. She keeps on updating with more and more functions
regularly. We will feel encouraged if some of you could try this and
send us feedback. As first time emacs-lisp hackers our code may not be
written elegantly. If you detect blunders do let us know. We already
learned a lot from the existing examples.
gnowsys-mode will be demonstrated at ISWC 2009 to be held this October
near Washington for the semantic web community. If any of you are
aruond Washington/Virginia I would be glad to meetup.
Thanks again for org!
Nagarjuna
next reply other threads:[~2009-09-30 0:19 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-30 0:19 Nagarjuna G. [this message]
2009-09-30 1:23 ` gnowsys-mode a major mode extending org Samuel Wales
2009-09-30 1:29 ` Samuel Wales
2009-09-30 4:49 ` Nagarjuna G.
2009-10-01 2:03 ` Samuel Wales
2009-09-30 3:23 ` Nagarjuna G
2009-09-30 7:26 ` Carsten Dominik
2009-09-30 7:42 ` Scot Becker
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=20090930001940.GA22310@fencepost.gnu.org \
--to=nagarjun@gnu.org \
--cc=emacs-orgmode@gnu.org \
/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).