From 7a5469b3fb68aa6a03e30ef39656705935730e41 Mon Sep 17 00:00:00 2001 From: Chris Sharp Date: Tue, 8 Jan 2019 14:45:16 -0500 Subject: [PATCH] adding file to combine rbdigital installation --- .../sql/Pg/version-upgrade/install_rbdigital.sql | 118 +++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/install_rbdigital.sql diff --git a/Open-ILS/src/sql/Pg/version-upgrade/install_rbdigital.sql b/Open-ILS/src/sql/Pg/version-upgrade/install_rbdigital.sql new file mode 100644 index 0000000000..3c5042e72f --- /dev/null +++ b/Open-ILS/src/sql/Pg/version-upgrade/install_rbdigital.sql @@ -0,0 +1,118 @@ +BEGIN; + +-- SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); + +INSERT INTO config.global_flag (name, label, enabled) VALUES ( + 'extras.enable_digital_resource_search_tab', + oils_i18n_gettext( + 'extras.enable_digital_resource_search_tab', + 'Extras: Enable public catalog search tab for digital resource searches (e.g., RBDigital)', + 'cgf', + 'label' + ), + FALSE +); + +INSERT INTO config.org_unit_setting_type + (name, label, description, grp, datatype) +VALUES ( + 'ebook_api.rbdigital.base_uri', + oils_i18n_gettext( + 'ebook_api.rbdigital.base_uri', + 'RBDigital Base URI', + 'coust', + 'label' + ), + oils_i18n_gettext( + 'ebook_api.rbdigital.base_uri', + 'Base URI for RBDigital API (defaults to https://api.rbdigital.com/v1). Using HTTPS here is strongly encouraged.', + 'coust', + 'description' + ), + 'ebook_api', + 'string' +),( + 'ebook_api.rbdigital.library_id', + oils_i18n_gettext( + 'ebook_api.rbdigital.library_id', + 'RBDigital Library ID', + 'coust', + 'label' + ), + oils_i18n_gettext( + 'ebook_api.rbdigital.library_id', + 'Identifier assigned to this library by RBDigital', + 'coust', + 'description' + ), + 'ebook_api', + 'string' +),( + 'ebook_api.rbdigital.basic_token', + oils_i18n_gettext( + 'ebook_api.rbdigital.basic_token', + 'RBDigital Basic Token', + 'coust', + 'label' + ), + oils_i18n_gettext( + 'ebook_api.rbdigital.basic_token', + 'Basic token for client authentication with RBDigital API (supplied by RBDigital)', + 'coust', + 'description' + ), + 'ebook_api', + 'string' +); + + +-- SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); + +CREATE SCHEMA extra; -- schema for various extensions + +CREATE TABLE extra.rbdigital_digital_services ( + id SERIAL PRIMARY KEY, + name CHARACTER VARYING(50) NOT NULL, + is_enabled BOOLEAN NOT NULL, + search_uri CHARACTER VARYING(120) NOT NULL, + vendor_key CHARACTER VARYING(20) NOT NULL, + display_order SMALLINT DEFAULT 1, + api_url TEXT +); +COMMENT ON TABLE extra.rbdigital_digital_services IS 'This table should contain a single record for each digital media service integrated into Evergreen. '; + +INSERT INTO extra.rbdigital_digital_services (id, name, is_enabled, search_uri, vendor_key, display_order) VALUES (1, 'Evergreen', true, '/results', 'default', 1); +INSERT INTO extra.rbdigital_digital_services (id, name, is_enabled, search_uri, vendor_key, display_order, api_url) VALUES (2, 'RBdigital', false, '/ebook_api/rbdigital/results', 'rbdigital', 2, 'http://api.rbdigitalstage.com/v1'); + +CREATE TABLE extra.rbdigital_digital_services_authorized ( + digital_services_id SMALLSERIAL PRIMARY KEY, + digital_services_library_id CHARACTER VARYING(64), + digital_services_library_token CHARACTER VARYING(64), + digital_services_name CHARACTER VARYING(100), + digital_services_library_url CHARACTER VARYING(250), + id SERIAL NOT NULL, + library_id INTEGER, + home_ou INTEGER +); +COMMENT ON TABLE extra.rbdigital_digital_services_authorized IS 'A table listing the digital services authorized for each entity listed in the library table described above.'; + +CREATE TABLE extra.rbdigital_search_field_mappings ( + id BIGSERIAL PRIMARY KEY, + evergreen_field_value CHARACTER VARYING(120), + digital_services_field_value CHARACTER VARYING(120), + search_fields_id INTEGER, + evergreen_field_code CHARACTER VARYING(15), + digital_services_field_code CHARACTER VARYING(25) +); + +CREATE TABLE extra.rbdigital_search_fields ( + id SERIAL PRIMARY KEY, + digital_services_id INTEGER, + evergreen_field CHARACTER VARYING(125), + digital_services_field CHARACTER VARYING(125), + field_type CHARACTER VARYING(50) +); + +COMMENT ON TABLE extra.rbdigital_search_fields IS 'The purpose of this table is to map the Evergreen search fields to the analogous fields for each digital service. Therefore each integrated digital service will have a record in this table.'; + +COMMIT; -- 2.11.0