Add per-library TPAC pages with schema.org structured data support
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Wishlist
|
Unassigned |
Bug Description
* Evergreen master
In the past, we have added structured data support to describe records and copies to search engines using a common structured data vocabulary (schema.org via RDFa). However, typically the items that are on offer are linked to a "seller"; currently, the copies for each record do not normally point at a seller object, so search engines have no good way of knowing that "BR1" has email and phone contact information, opening hours, one or more addresses, etc.
In the 2.4 series, we added an AOUS that enabled libraries to link their library names in the copy table of the record details page to an external web site. As there was no guarantee that the web site on the other side of that link would provide information useful to a search engine, however, this was not particularly useful. It also suffered a bit from being mystery navigation; the library name was styled as a link, but the user might be surprised that a link in the middle of a details display leads to a different site entirely.
In this branch, we add a new class of pages--library pages--to the TPAC, offering several advantages:
1. The library names link to the TPAC library page, keeping navigation within the TPAC.
2. If the library.info_url AOUS is set, then it appears on the TPAC library page with a clearly labelled "External website" link.
3. The TPAC library page shows opening hours, email and telephone contact info, mailing address, and branch relationships... all of which are currently maintained within Evergreen, but are typically duplicated in external web sites. This gives small libraries a simple "basic library information at a glance" page.
4. The TPAC library page marks all of this up using schema.org in RDFa, clarifying the relationship between the copies and the branches that own them, along with exposing core library information to the web in a meaningful way that the search engines can take advantage of (without having to rely on a central service like OCLC or others to feed that information to the search engines).
5. This may be a bit of a stretch, but a large consortium may want to rely on the data exposed on the TPAC library pages to refresh their own hours of operation / contact information content; given that the library itself is motivated to keep the hours accurate for purposes of correctly generating fines, it reduces the duplication of effort required to maintain the same information in multiple systems. (One could tap the database directly or use OpenSRF APIs but running an RDFa parser against a public HTML page is arguably much simpler).
Thus, I offer up http://
The TPAC library pages are functional, but they're not the height of design. I certainly welcome enhancements to the display :)
Aside: this branch is easiest to kick the tires of if you merge the branch from bug # 1261896 first, which adds useful sample data for testing purposes. But it's not required, if you like making up your own sample data :)
Changed in evergreen: | |
assignee: | nobody → Dan Wells (dbw2) |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
Merged current master into the branch and (prompted by a question from Ben Shum on IRC) added one commit that uses the "format.time" OUS to control the formatting of the opening / closing hours for the libraries via the Date plugin for TT2.
Note that we use today's date as the basis for the formatted hours display, as using a static date like "1/1/1000" will undoubtedly lead to daylight savings time misery...