Rails, RefDB and a Wishlist

Diwaker 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:

  1. Clean XHTML and CSS design.
  2. 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.*
  3. 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).
  4. 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
  5. 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

One Comment

  1. Justus Piater says:

    One addition to the wish list that complements Item 3: All essential functionality should be available even under minimalist Web clients (no plugins, no Javascript, no cookies, extremely small PDA or smartphone screens). Use hi-tech for slick user interfaces and improved ergonomy, but don’t require it for basic functionality.


Creative Commons License Creative Commons License