Field-testing refdb-mode

When I stepped in as a maintainer of refdb-mode, the Emacs frontend for RefDB, Michael Smith left me what was an awesome framework but far from complete in terms of functionality. Unfortunately I did not grasp the potential of his work earlier, I might have pushed him to implement the rest as well :-) So I had the pleasure to reactivate my lisp skills and make refdb-mode a full-fledged frontend for RefDB. So far I had implemented what I thought users might need, but in the past couple of weeks I finally had a chance to run a field test myself when compiling a grant application with a serious bibliography.

refdb-mode works nicely on my FreeBSD laptop, but what would happen if I try on Windows XP (which I, much to my regret, have to use at work)? Needless to say, not much happened. First of all you have to install the files manually, as running the installation in Cygwin bash will not work for NTEmacs (it may work for Cygwin Emacs though, but I didn't try). refdb-mode.el needed some serious porting to cooperate with NTEmacs and the peculiarities of Windows. RefDB runs on Windows using Cygwin, which basically adds a Unix-like directory hierarchy and a fairly complete set of GNU tools to Windows. The command-line clients work well with this setup, with the notable exception that the readline-based command completion does not work. I already had set up my copy of NTEmacs to use Cygwin bash as a shell, as some other tools I use also require a real shell. Running queries basically worked, but the data ended up using the incorrect character encoding, regardless of what I set up on RefDB's end (my database uses UTF-8). I finally found out that I have to tell NTEmacs which encoding the bash process is going to return. Now refdb-mode could figure out correctly which encoding is used by XML files, and I had to add a variable for RIS data to accomplish the same.

Due to the lack of a usable RTF transformation from XML data, I still use SGML for my purposes. PSGML was set up anyway, as well as openjade to process the documents. The Makefile-based transformations worked well, but attempting to view the results was no smooth experience. It seemed impossible to start a viewer with a space in the path (stupidly enough, I didn't manually change the path during the OpenOffice 2.0 installation). No amount of escaping and quoting would do the trick. Finally I added all relevant binaries to my Windows PATH and called the viewers without a full path. This did work, except that the viewers started with no documents loaded. I had to use the protocol prefix "file://" to load a file into Firefox, and some shell quoting fixed the display problems with OpenOffice which I use for an RTF viewer.

All this took me two days to figure out, implement, and test. But then, I'd say my experience with refdb-mode was sweet. "Cite-while-you-write" in Emacs was a completely new feeling, as well as editing and updating reference data using my favourite editor. I also had to customize a bibliography style. Use a menu command to load the style, edit it with the convenience and immediate validation of nxml-mode, then update the style in the database with another menu command - just sweet. One more menu command to transform your document again, and another menu command to view the improved output. I'm not a fan of buzzwords, but I felt more productive indeed.

The experience of this field test led to an improved release (1.1) of the refdb-elisp package, including a new manual section describing the arcane setup on Windows.


Noch keine Kommentare

Mein Kommentar

Dieser Artikel ist geschlossen. Keine Kommentare mehr möglich.