One other thing about this project that might be of interest to Code4Lib
readers is that the most technically challenging part of the interface was
making the facets work properly so that they simultaneously applied limits
across tables that are linked with a many-to-many relationship.
The two main tables that are involved are Movies/Programs (works/primary
expressions) and Versions (expression/manifestations). These go with the two
sets of facets, which we visually separate for the interface in the hopes of
communicating their different functions to users.
Movies obviously can have many versions. If you look at the Citizen Kane
record, you can see that it was released in many formats, including VHS, DVD
and LaserDisc, with various language options.
A given manifestation can also contain more than one work. If you search for
Kyle XY, you'll get ten records for episodes that are part of a season of
the TV program. These are all on the same manifestation.
The versions table is also linked to a table that represents items and is
the intersection of the versions/manifestations table and the libraries
table, but this is a one-to-many relationship.
The facet counts under Versions are really for items, but it would be
interesting to see whether this would be more useful if the count was for