I posted the message below on the Blacklight Development group, and I was
encouraged to share with code4lib, so I'm reposting with some minor edits:

I'd like to share a Blacklight implementation at the United States
Holocaust Memorial Museum that is available at It's been in use in-house for about a
year, with constant improvements and additions.

First, a tremendous thanks and kudos to all of the people involved in the
Blacklight project. I'm so grateful to everyone who worked on the project
and to those who have helped me with Blacklight, Ruby on Rails, and

The various collecting units at the Museum use very different fields,
labels, vocabularies, and spellings. I had a lot of fun mapping them and
thinking about what sorts of fields might work together for searching. The
catalog records sources include: a commercial ILS; a commercial collections
management system; two completely custom desktop database applications; a
spreadsheet; and a custom MSSQL database application. In addition, we have
a system that manages digitized assets that supplies some data.

Selecting a project based on Ruby on Rails came at a cost, including the
learning curve involved with RoR and, moreso, due to the process of having
RoR established with our IT infrastructure group. (Thanks go to our IT
group as well!)

I looked at some other really fine open source projects as well as
commercial products. Blacklight seemed optimal for our case because it
easily deals with any kind of metadata sources and it was a mature system
with a vibrant user/developer community.

I'll highlight a few interesting features.

Our collections management system supports relationships between records
including parent/child type relationships, e.g. between collection and the
items that comprise it. Here is a collection that has one archival
(document) collection plus several objects:
We also have another parent/child type of relationship, where a group at
the Museum catalogs victim or survivor lists. I could import those, and
because there's enough metadata to link to the archival collection they are
part of, I can link them together. For example, this archival collection is linked to a number
of names source catalog records at the bottom, and each of those is linked
to the archival record as its source. These are done by doing a separate
Solr search for each item to see whether it's got a parent or children to
display near the bottom of the record.

Many years ago the Museum developed a geographic database. One area where
the various collecting units catalog disparately is in location naming. I
simply turned the names into a Solr synonyms file and then I highlight the
snippets in the index/list view. So that way, if you searched for L'viv and
you got a hit on Lemberg or Lwow or L'vov, you'd know why you got it. Same
with Munich, München, Muenchen, Munchen, and for Lodz/Litzmannstadt. (Some
day would be nice to have the name expansion be switchable on or off.)

Thumbnail (and larger) images from the archival records and objects come
from the collections management system for the Museum objects. Also finding
aids for archival ("Document") records are currently managed in the CMS
system as doc, docx, or xls files and are delivered through Blacklight on
the detail page. For the photos and the historical film, the thumbnails
come from other sources based on the two custom desktop databases mentioned

We have thousands of hours of oral history testimony in many languages
viewable from the Blacklight detail page as mp4 or mp3 files. The easiest
way to get to those is by limiting Record Type to Oral History, and Online
to "Yes":[di_available][]=Yes&f[record_type_facet][]=Oral+History

I welcome feedback regarding the user interface, bug reports, and any other
ideas you have, on the list or offline. (Plus I hope to meet some of you at
code4lib 2013.)