From: Dan Scott Date: Fri, 5 Apr 2013 17:21:47 +0000 (-0400) Subject: Fix schema.org mapping for MusicAlbum, add Map X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=c670e8426c2a0e48d57be32194c0fa799f4f3320;p=evergreen%2Fpines.git Fix schema.org mapping for MusicAlbum, add Map We had set LDR[06] = j to MusicRecording, but that is really meant for individual songs. Use MusicAlbum instead, and per http://schema.org/MusicAlbum, use a new MusicGroup itemtype with a 'byArtist' property for the primary artist rather than the generic 'accountablePerson'. Also map LDR[06] = e to Map, because that seems like a safe bet. Signed-off-by: Dan Scott Signed-off-by: Mike Rylander --- diff --git a/Open-ILS/src/templates/opac/parts/misc_util.tt2 b/Open-ILS/src/templates/opac/parts/misc_util.tt2 index bddab424f7..fa3ed902c2 100644 --- a/Open-ILS/src/templates/opac/parts/misc_util.tt2 +++ b/Open-ILS/src/templates/opac/parts/misc_util.tt2 @@ -88,7 +88,8 @@ args.schema.itemtype = {}; schema_typemap = {}; schema_typemap.a = 'http://schema.org/Book'; - schema_typemap.j = 'http://schema.org/MusicRecording'; + schema_typemap.e = 'http://schema.org/Map'; + schema_typemap.j = 'http://schema.org/MusicAlbum'; args.isbns = []; FOR isbn IN xml.findnodes('//*[@tag="020"]/*[@code="a"]'); diff --git a/Open-ILS/src/templates/opac/parts/record/authors.tt2 b/Open-ILS/src/templates/opac/parts/record/authors.tt2 index b52aea3a15..43a30608a0 100644 --- a/Open-ILS/src/templates/opac/parts/record/authors.tt2 +++ b/Open-ILS/src/templates/opac/parts/record/authors.tt2 @@ -54,11 +54,19 @@ BLOCK build_author_links; # schema.org changes IF type == 'author'; - iprop = ' itemprop="accountablePerson"'; + IF args.schema.itemtype && args.schema.itemtype.match('MusicAlbum'); + iprop = ' itemtype="http://schema.org/MusicGroup" itemscope itemprop="byArtist"'; + ELSE; + iprop = ' itemprop="accountablePerson"'; + END; ELSIF type == 'added'; iprop = ' itemprop="contributor"'; END; - '' _ term.replace('^\s+', '') _ ''; + ''; + IF iprop; ''; END; + term.replace('^\s+', ''); + IF iprop; ''; END; + ''; FOREACH link880 IN graphics; diratt = ''; IF link880.dir;