LP#1423585 Add Open Graph Protocol markup to TPAC
authorDan Scott <dscott@laurentian.ca>
Thu, 19 Feb 2015 16:08:32 +0000 (11:08 -0500)
committerGalen Charlton <gmc@esilibrary.com>
Sat, 21 Feb 2015 02:20:09 +0000 (02:20 +0000)
Very simplistic markup for now, just the basic http://ogp.me
requirements of title, url, image, and type (and we're reusing
the schema.org type in the short term).

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>

Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
Open-ILS/src/templates/opac/advanced.tt2
Open-ILS/src/templates/opac/browse.tt2
Open-ILS/src/templates/opac/cnbrowse.tt2
Open-ILS/src/templates/opac/library.tt2
Open-ILS/src/templates/opac/mylist.tt2
Open-ILS/src/templates/opac/parts/base.tt2
Open-ILS/src/templates/opac/parts/record/body.tt2
Open-ILS/src/templates/opac/parts/record/summary.tt2
Open-ILS/src/templates/opac/record.tt2
Open-ILS/src/templates/opac/results.tt2

index 4147b8f..b1527fb 100644 (file)
@@ -309,6 +309,9 @@ sub load_common {
         }
     }
 
+    # List of <meta> and <link> elements to populate
+    $ctx->{metalinks} = [];
+
     $self->extract_copy_location_group_info;
     $ctx->{search_ou} = $self->_get_search_lib();
     $self->staff_saved_searches_set_expansion_state if $ctx->{is_staff};
index d6bf8e9..8efb9f2 100644 (file)
@@ -5,7 +5,7 @@
     pane = CGI.param("pane") || "advanced";
     loc = ctx.search_ou;
 
-    metalinks = '<meta name="robots" content="noindex">';
+    ctx.metalinks.push('<meta name="robots" content="noindex">');
 -%]
     <h2 class="sr-only">[% l('Advanced Search') %]</h2>
     <div id="search-wrapper">
index e7557e1..3a8397d 100644 (file)
@@ -10,7 +10,7 @@
     blimit = CGI.param('blimit') || ctx.opac_hits_per_page || 10;
 
     depart_list = ['blimit', 'bterm', 'bpivot'];
-    metalinks = '<meta name="robots" content="noindex">';
+    ctx.metalinks.push('<meta name="robots" content="noindex">');
 %]
 
     <h2 class="sr-only">[% l('Catalog Browse') %]</h2>
index 09a6b5c..a0908f6 100644 (file)
@@ -3,7 +3,7 @@
 
     PROCESS "opac/parts/header.tt2";
     PROCESS "opac/parts/misc_util.tt2";
-    metalinks = '<meta name="robots" content="noindex">';
+    ctx.metalinks.push('<meta name="robots" content="noindex">');
     WRAPPER "opac/parts/base.tt2";
     INCLUDE "opac/parts/topnav.tt2";
     ctx.page_title = l("Call Number Browse"); %]
index 695566b..702f30e 100644 (file)
@@ -3,7 +3,9 @@
     INCLUDE "opac/parts/topnav.tt2";
     ctx.page_title = l("Library details: [_1]", ctx.library.name);
     canon = ctx.proto _ '://' _ ctx.hostname _ mkurl('', {}, 1);
-    metalinks = '<link rel="canonical" href="' _ canon  _ '" />';
+    ctx.metalinks.push('<link rel="canonical" href="' _ canon  _ '" />');
+    ctx.metalinks.push('<meta property="og:url" content="' _ canon  _ '" />');
+    ctx.metalinks.push('<meta property="og:type" content="http://schema.org/Library" />');
 -%]
     [%- INCLUDE "opac/parts/searchbar.tt2" %]
     [%- INCLUDE "opac/parts/library/core_info.tt2"; %]
index 6111822..16488e2 100644 (file)
@@ -2,7 +2,7 @@
     PROCESS "opac/parts/misc_util.tt2";
     WRAPPER "opac/parts/base.tt2";
     INCLUDE "opac/parts/topnav.tt2";
-    metalinks = '<meta name="robots" content="noindex">';
+    ctx.metalinks.push('<meta name="robots" content="noindex">');
     ctx.page_title = l("Record Detail") %]
     <h2 class="sr-only">[% l('Temporary List') %]</h2>
     <div class="mobile_hide">
index f971c5e..540525d 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html lang='[% ctx.locale.replace('_', '-') %]'>
-    <head>
+    <head prefix="og: http://ogp.me/ns#">
         <meta charset="utf-8" />
         <meta http-equiv="X-UA-Compatible" content="IE=edge" />
         [% IF ctx.refresh %]
@@ -18,7 +18,9 @@
         <link rel="unapi-server" type="application/xml" title="unAPI" href="/opac/extras/unapi" />
         <link type="application/opensearchdescription+xml" rel='search' title="[% l('[_1] OpenSearch', libname) %]" href="/opac/extras/opensearch/1.1/[% libsname | uri %]/-/osd.xml" />
         [%-# Hook for page-specific metadata such as <meta name="robots" content="noindex"> %]
-        [% metalinks; -%]
+        [%- ctx.metalinks.push('<meta property="og:title" content="' _ ctx.page_title _ '" />'); %]
+        [%- ctx.metalinks.push('<meta property="og:site_name" content="' _ libname _ '" />'); %]
+        [% FOREACH meta IN ctx.metalinks; meta _ "\n"; END; -%]
         [% IF want_dojo %]
         <style type="text/css">
             @import "[% ctx.media_prefix %]/js/dojo/dijit/themes/tundra/tundra.css";
index 616ede0..2801670 100644 (file)
@@ -3,6 +3,7 @@
     PROCESS get_marc_attrs args=attrs;
     stop_parms = ['expand','cnoffset','copy_offset','copy_limit'];
     ctx.record_attrs = attrs; # capture for JS
+    ctx.metalinks.push('<meta property="og:type" content="http://schema.org/' _ args.schema.itemtype _ '" />');
 %]
 <div id='canvas_main' class='canvas' vocab="http://schema.org/" typeof='[% args.schema.itemtype %] Product' resource="#schemarecord">
 [%- FOREACH link IN args.links.sameAs; %]
index daf4488..2accfff 100644 (file)
@@ -1,6 +1,7 @@
 [%  PROCESS "opac/parts/misc_util.tt2";
     USE ResolverResolver;
     ctx.page_title = attrs.title | html
+    ctx.metalinks.push('<meta property="og:image" content="' _ ctx.media_prefix _ '/opac/extras/ac/jacket/large/r/' _ ctx.bre_id _ '" />');
 %]
 <!-- ****************** rdetail_summary.xml ***************************** -->
 <abbr class="unapi-id" title='tag:[% ctx.hostname %],[% date.format(date.now, '%Y') %]:biblio-record_entry/[% ctx.bre_id %]'></abbr>
index c07234f..7993a70 100644 (file)
@@ -3,7 +3,8 @@
     INCLUDE "opac/parts/topnav.tt2";
     ctx.page_title = l("Record Detail");
     canon = ctx.proto _ '://' _ ctx.hostname _ mkurl('', {}, 1);
-    metalinks = '<link rel="canonical" href="' _ canon  _ '" />';
+    ctx.metalinks.push('<link rel="canonical" href="' _ canon  _ '" />');
+    ctx.metalinks.push('<meta property="og:url" content="' _ canon  _ '" />');
     IF CGI.param("expand"); basic_search = "f"; END;    
 -%]
     <h2 class="sr-only">[% l('Record Details') %]</h2>
index eb3fbdd..f1bb957 100644 (file)
@@ -14,7 +14,7 @@
     page_count = (!ctx.page_size.defined || !ctx.hit_count.defined || ctx.page_size == 0) ? 1 : POSIX.ceil(ctx.hit_count / ctx.page_size);
 
     # We don't want search engines indexing search results
-    metalinks = '<meta name="robots" content="noindex">';
+    ctx.metalinks.push('<meta name="robots" content="noindex">');
 
     PROCESS "opac/parts/misc_util.tt2";
     PROCESS get_library;