Rails, RefDB and a Wishlist
Posted in General on May 18th, 2005 by darcusb – 1 CommentDiwaker Gupta announced on the refdb-users list that he will be porting the RefDB perl client module to Ruby in order to build a web application around it using Rails.
This is good news, and has prompted me to put together my bib web application wish list, much of which I’ve written about in scattered posts, but not ever in one place. So, what I think the world needs in a 21st century bib app:
- Clean XHTML and CSS design.
- A configurable form system flexible enough to be configured for any resource type: everything from journal articles to books, to archival documents, to weblog posts. This presumes the form system should not be based on RIS or BibTeX, but rather around a more flexible standard like MODS. Either XML or YAML would be good bets for configuration languages in Ruby or Python.*
- Should exploit AJAX to make for an elegant and dynamic interface. The user should not have to reload pages just to see a record detail, nor to add a field to a form. Features like live search should be exploited where possible (not only in search, but maybe in auto-completing form fields for personal names).
- Powerful annotation support built in from the beginning, rather than as an after-thought. It should use a wiki language like textile—suitably extended for citation support—for easy semantic markup and linking. The new Rails app Backpack has done some nice work in this area
- Should integrate into the web, both by pulling in records from elsewhere (there is a ZOOM-binding for Ruby that gives support for z39.50 and SRU/W query and retrieval), and by distributing them with, for example, Atom.
Hmmm … am I missing something?
- Here’s a fragment of a possible YAML example config file:
academic journal:
class: part-inSerial
fields:
title:
label: title
creator:
label: author
repeat: yes
yearIssued:
label: year
isPartOf:
title:
label: ABC Journal
creator:
label: editor
repeat: yes
book:
class: part-inSerial
fields:
title:
label: title
creator:
label: author
repeat: yes
yearIssued:
label: year
publisher:
label: publisher
Creative Commons License