jEdit interface to RefDB

Damien Jade Duff <[email protected]>
Newsgroups gmane.text.refdb.devel
Message-ID <[email protected]>
Hello all

I am planning to make some improvements to my basic jEdit RefDB 
interface and since maybe one day this might be useful to someone else, 
I think I'm justified in seeing if anyone wants to comment before I get 
up to my armpits in the technical details of java GUI building. If 
you're interested in jEdit GUIs for RefDB, read on.

At the moment all I have is a hacked-together jEdit dockable that allows 
me to add references and notes in bibtex, ris, risx, update them in ris 
or risx, delete them by id, get lists of them via a search field, etc. 
as well as dumping an risx template to the editing buffer. It calls 
refdbc directly and passes and retrieves info through the command-line, 
STDOUT, STDIN, STDERR, etc.

However, I have a sizeable number of references (about 120) in the 
system now and my interface is too clunky. It takes a few seconds to 
pull back all the references from my local postgresql db, no matter the 
format, so I'd like to have a way of browsing the references in an 
easier, faster and more intelligent way. Also, linking references and 
notes is a bugger because I've got to remember the keys of each one, 
etc. Optimally I'd like to be able to jump to a reference and start 
entering notes on it, linking it to other references and notes, etc

Essentially, I want to be browsing a visual structure of references and 
notes, like a tree (as with the BufferList plugin or something similar).

Incidentally, in order to create links directly between xnotes at 
present I would have to create dummy references for these to point to. 
Is this sensible, or am I trying to push the system too far?  (i.e. as 
well as keeping a bibliography I want to use the system to keep notes 
and it seems nearly adapted to this in structure). Whaddya reckon?

Anyway, I think I have two ways forward - a tightly-coupled approach 
where I get small chunks of info back from refdbc only when I need it, 
and a loosely-coupled approach where I download a whole bunch of barely 
pre-filtered info from refdbc into jEdit memory space and make some 
effort to keep it synchronised.

The former has the advantage that it doesn't stretch jEdit's memory and 
is has a reasonably straightforward partial-synchronisation strategy. 
But it means that I need to impose more structure on my reference 
database so that I can browse it in a local fashion. refdbc does provide 
a facility for extracting the author list, keyword list, journal list, 
etc though unfortunately there is no facility for an anadorned list of 
citation keys or note keys (I could probably figure how to do this even 
though c gives me a headache, but perhaps it could be included in the 
next release...? Also, presumably titles are not indexed fields). I 
_think_ refdb should be fast enough if I choose my methods of data 
extraction right.

The latter has the advantage that I can do quick searches through the 
data locally without requiring too much structure in the database (e.g. 
title, keyword, author searches). Essentially I can do what I want with 
the data. But a lot of the data needs to be kept in jEdit memory space, 
and if I want to produce something that is scaleable to industrial 
operations it may not be perfect (should I care about this?), and it 
somewhat defeats the purpose of keeping them in a database since I 
could've just read it all in from a flat file.

Ultimately, the former is an alluring option because it absolutely 
forces me to add some more structure to my DB, which I see happening by 
exploiting the xnotes facility and exploiting the keyword facility in a 
more disciplined way (e.g. rather than adding the keywords "genetic 
programming", and "example source", I add the keywords "entered 
for/example source", "subject/genetic programming"). But the latter is 
going to be faster to use. Any ideas would be welcome.

However I do this part, the visible result will be a jEdit dockable that 
contains a tree of references and notes. Filtering is possible, as well 
as changing which tree model is displayed (e.g. by author last-name or 
title or keyword, or, best, by citation key, if we can change refdbc to 
dump an anadorned list of citation keys). Adding of links should be a 
case of selecting multiple items and clicking "Link" (probably a 
context-sensitive menu). Actual editing of entries is still done using 
the jEdit XML tool validating against the risx dtd, or via plaintext RIS 
or bibtex mode (though only for new entries). Note, also, I have no 
current plans to integrate any of this with docbook or latex because I 
don't use docbook and because the command-line latex tools are 
sufficient at present (though of course facilities for copying citation 
keys to the clipboard are easy enough to do).

Anyway, I've rambled on enough. If you want some input into this 
project, or you just have some half-baked ideas, please post back to the 
list. If someone has already made a start on something I'd like to hear 
more about it. At my expected rate of progress, I don't anticipate 
having anything worth sharing for some time (maybe 6 months).

Peace
Damien

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.