From ba2e613bb7de79d35e49fdbafdc40cb9645e41f8 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Fri, 12 May 2017 12:14:00 -0400 Subject: [PATCH] LP#1251394 wide_display_entry continued Signed-off-by: Bill Erickson --- Open-ILS/examples/fm_IDL.xml | 19 ++++++++++------- .../upgrade/XXXX.schema.metabib-display-field.sql | 24 +++++++++++++--------- .../Pg/upgrade/YYYY.data.metabib-display-field.sql | 9 ++++++-- 3 files changed, 33 insertions(+), 19 deletions(-) diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index 5a00add2a7..b926c69ced 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -3099,7 +3099,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - + + + @@ -3125,6 +3127,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + + @@ -3762,12 +3766,13 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA oils_persist:field_safe="true" reporter:label="Wide Display Entry" oils_persist:readonly="true"> - - - - - - + + + + + + + diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.metabib-display-field.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.metabib-display-field.sql index e0c4b260b5..467ef60c4c 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.metabib-display-field.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.metabib-display-field.sql @@ -56,20 +56,24 @@ CREATE VIEW metabib.compressed_display_entry AS -- TODO: expand to encompass all well-known fields CREATE VIEW metabib.wide_display_entry AS SELECT - mcde.source, - mcde_title.value AS title, - mcde_author.value AS author, - mcde_subject.value AS subject, - mcde_topic_subject.value AS topic_subject - FROM metabib.compressed_display_entry mcde + bre.id AS source, + COALESCE(mcde_title.value, 'null') AS title, + COALESCE(mcde_author.value, 'null') AS author, + COALESCE(mcde_subject.value, 'null') AS subject, + COALESCE(mcde_topic_subject.value, 'null') AS topic_subject, + COALESCE(mcde_isbn.value, 'null') AS isbn + -- ensure one row per bre regardless of any display fields + FROM biblio.record_entry bre LEFT JOIN metabib.compressed_display_entry mcde_title - ON (mcde.source = mcde_title.source AND mcde_title.name = 'title') + ON (bre.id = mcde_title.source AND mcde_title.name = 'title') LEFT JOIN metabib.compressed_display_entry mcde_author - ON (mcde.source = mcde_author.source AND mcde_author.name = 'author') + ON (bre.id = mcde_author.source AND mcde_author.name = 'author') LEFT JOIN metabib.compressed_display_entry mcde_subject - ON (mcde.source = mcde_subject.source AND mcde_subject.name = 'subject') + ON (bre.id = mcde_subject.source AND mcde_subject.name = 'subject') LEFT JOIN metabib.compressed_display_entry mcde_topic_subject - ON (mcde.source = mcde_topic_subject.source AND mcde_topic_subject.name = 'topic_subject') + ON (bre.id = mcde_topic_subject.source AND mcde_topic_subject.name = 'topic_subject') + LEFT JOIN metabib.compressed_display_entry mcde_isbn + ON (bre.id = mcde_isbn.source AND mcde_isbn.name = 'isbn') ; diff --git a/Open-ILS/src/sql/Pg/upgrade/YYYY.data.metabib-display-field.sql b/Open-ILS/src/sql/Pg/upgrade/YYYY.data.metabib-display-field.sql index 7432f7ce5a..09de901806 100644 --- a/Open-ILS/src/sql/Pg/upgrade/YYYY.data.metabib-display-field.sql +++ b/Open-ILS/src/sql/Pg/upgrade/YYYY.data.metabib-display-field.sql @@ -20,14 +20,19 @@ VALUES '//mods32:mods/mods32:subject'), (40, 'subject', 'display|topic_subject', 'mods32', TRUE, FALSE, FALSE, oils_i18n_gettext(40, 'Subject', 'cmf', 'label'), - '//mods32:mods/mods32:subject/mods32:topic') + '//mods32:mods/mods32:subject/mods32:topic'), + (41, 'identifier', 'display|isbn', 'marcxml', TRUE, FALSE, FALSE, + oils_i18n_gettext(41, 'ISBN', 'cmf', 'label'), + $$//marc:datafield[@tag='020']/marc:subfield[@code='a' or @code='z']$$) + ; INSERT INTO config.display_field_map (name, field, multi) VALUES ('title', 37, FALSE), ('author', 38, FALSE), ('subject', 39, TRUE), - ('topic_subject', 40, TRUE) + ('topic_subject', 40, TRUE), + ('isbn', 41, TRUE) ; COMMIT; -- 2.11.0