Fedora, Blacklight, and Ruby on Rails
I've been playing with Blacklight, a catalog interface built on solr, this weekend with fairly positive results. After some initial frustration trying to figure out the demo data, I switched gears and connected Blacklight to my own solr data source, populated by a Fedora repository.
Two initial kinks here were:
- The unique identifier field `id` is hard-coded into Blacklight, while my existing data used the field name `PID`; see CODEBASE-171
- The unique identifiers in my repository began with a qualified namespace in the form "org.example.repository", which broke the Ruby on Rails default routing system
map.resources(:catalog, :only => [:index, :show, :update], […] :requirements => { :id => /([A-Za-z0-9]|-|\.)+:(([A-Za-z0-9])|-|~|_|(%[0-9A-F]{2}))+/ } )The regular expression is a copy of the Fedora PID regular expression, but I've disallowed periods in the identifier name (but they are still legal in the namespace, which I imagine is common practice). There is still a fair bit of work hooking in object views, but the catalog + discovery portions were quickly and easily done.