From 3dd8c7dda2276ec544c2e88d0da84afa1ef2ba5f Mon Sep 17 00:00:00 2001 From: Rogan Hamby Date: Tue, 18 Feb 2020 11:19:11 -0500 Subject: [PATCH] LP1517298: Matomo Support with library org settings Signed-off-by: Rogan Hamby Signed-off-by: Jane Sandberg Signed-off-by: Rogan Hamby Signed-off-by: Jason Boyer --- Open-ILS/src/sql/Pg/950.data.seed-values.sql | 25 ++++++++++++- .../Pg/upgrade/xxxx.data.support_matomo.sql | 34 ++++++++++++++++++ Open-ILS/src/templates/opac/parts/base.tt2 | 7 ++++ .../templates/opac/parts/matomo_analytics.tt2 | 35 ++++++++++--------- .../Administration/lp1517298_matomo.adoc | 28 +++++++++++++++ 5 files changed, 111 insertions(+), 18 deletions(-) create mode 100644 Open-ILS/src/sql/Pg/upgrade/xxxx.data.support_matomo.sql create mode 100644 docs/RELEASE_NOTES_NEXT/Administration/lp1517298_matomo.adoc diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql index af65b92d7a..27099e33f6 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -1938,7 +1938,9 @@ INSERT INTO permission.perm_list ( id, code, description ) VALUES ( 621, 'VIEW_BOOKING_RESOURCE_TYPE', oils_i18n_gettext(621, 'View booking resource types', 'ppl', 'description')), ( 622, 'VIEW_BOOKING_RESOURCE', oils_i18n_gettext(622, - 'View booking resources', 'ppl', 'description')) + 'View booking resources', 'ppl', 'description')), + ( 623, 'UPDATE_ORG_UNIT_SETTING.opac.analytics.use_matomo', oils_i18n_gettext(623, + 'Set OPAC to use Matomo tracking', 'ppl', 'description')) ; @@ -20756,3 +20758,24 @@ VALUES ( 'Grid Config: acq.provider.search.results', 'cwst', 'label') ); + +INSERT into config.org_unit_setting_type + ( name, grp, label, description, datatype, update_perm ) VALUES + ( 'opac.analytics.matomo_id', 'opac', + oils_i18n_gettext('opac.analytics.matomo_id', + 'Requires the Matomo ID', + 'coust', 'label'), + oils_i18n_gettext('opac.analytics.matomo_id', + 'Requires the Matomo ID', + 'coust', 'description'), + 'string', 623), + ( 'opac.analytics.matomo_url', 'opac', + oils_i18n_gettext('opac.analytics.matomo_url', + 'Requires the url to the Matomo software', + 'coust', 'label'), + oils_i18n_gettext('opac.analytics.matomo_url', + 'Requires the url to the Matomo software', + 'coust', 'description'), + 'string', 623) +; + diff --git a/Open-ILS/src/sql/Pg/upgrade/xxxx.data.support_matomo.sql b/Open-ILS/src/sql/Pg/upgrade/xxxx.data.support_matomo.sql new file mode 100644 index 0000000000..a90e83b530 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/xxxx.data.support_matomo.sql @@ -0,0 +1,34 @@ + BEGIN; + + SELECT evergreen.upgrade_deps_block_check('xxxx', :eg_version); + + INSERT into config.org_unit_setting_type + ( name, grp, label, description, datatype, fm_class ) VALUES + ( 'opac.analytics.matomo_id', 'opac', + oils_i18n_gettext('opac.analytics.matomo_id', + 'Requires the Matomo ID', + 'coust', 'label'), + oils_i18n_gettext('opac.analytics.matomo_id', + 'Requires the Matomo ID', + 'coust', 'description'), + 'string', NULL), + ( 'opac.analytics.matomo_url', 'opac', + oils_i18n_gettext('opac.analytics.matomo_url', + 'Requires the url to the Matomo software', + 'coust', 'label'), + oils_i18n_gettext('opac.analytics.matomo_url', + 'Requires the url to the Matomo software', + 'coust', 'description'), + 'string', NULL) + ; + + INSERT INTO permission.perm_list ( id, code, description ) VALUES + ( 623, 'UPDATE_ORG_UNIT_SETTING.opac.analytics.use_matomo', oils_i18n_gettext(623, + 'Set OPAC to use Matomo tracking', 'ppl', 'description')), + ; + + UPDATE config.org_unit_setting_type SET update_perm = 623 WHERE name = 'opac.analytics.matomo_id'; + UPDATE config.org_unit_setting_type SET update_perm = 623 WHERE name = 'opac.analytics.matomo_url'; + + COMMIT; + diff --git a/Open-ILS/src/templates/opac/parts/base.tt2 b/Open-ILS/src/templates/opac/parts/base.tt2 index 69210a5fc2..ea47a60afd 100644 --- a/Open-ILS/src/templates/opac/parts/base.tt2 +++ b/Open-ILS/src/templates/opac/parts/base.tt2 @@ -22,6 +22,13 @@ [% '' %] [% END %] + [% IF ctx.get_org_setting(ctx.search_ou, 'opac.analytics.use_matomo') == 1 %] + [% matomo_enabled = 1; %] + [% matomo_id = ctx.get_org_setting(ctx.search_ou, 'opac.analytics.matomo_id'); %] + [% matomo_url = ctx.get_org_setting(ctx.search_ou, 'opac.analytics.matomo_url'); %] + [% INCLUDE 'opac/parts/matomo_analytics.tt2' %] + [% END %] + [%- libname = ctx.get_aou(ctx.search_ou).name; libname = libname | html; libsname = ctx.get_aou(ctx.search_ou).shortname; %] diff --git a/Open-ILS/src/templates/opac/parts/matomo_analytics.tt2 b/Open-ILS/src/templates/opac/parts/matomo_analytics.tt2 index 5f2ffd84d1..48c7c6769a 100644 --- a/Open-ILS/src/templates/opac/parts/matomo_analytics.tt2 +++ b/Open-ILS/src/templates/opac/parts/matomo_analytics.tt2 @@ -1,18 +1,19 @@ [%- PROCESS "opac/parts/header.tt2"; - IF matomo_analytics.enabled == 'true' -%] - - - -[%- END -%] + IF matomo_enabled == 1 %] + + + + +[%- END %] diff --git a/docs/RELEASE_NOTES_NEXT/Administration/lp1517298_matomo.adoc b/docs/RELEASE_NOTES_NEXT/Administration/lp1517298_matomo.adoc new file mode 100644 index 0000000000..79f977e928 --- /dev/null +++ b/docs/RELEASE_NOTES_NEXT/Administration/lp1517298_matomo.adoc @@ -0,0 +1,28 @@ +Matomo Support +^^^^^^^^^^^^^^ +Support for the open source web analytics platform Matomo is now +native to Evergreen. Support is on an org unit level so different +libraries can have separate or no analytics. Once you setup +a Matomo service you will need the URL and site ID. Typically +Matomo will give you a block of javascript you can insert into +web sites. One line will look like : + +var u="http://mylibrary.lib/matomo/"; + +The full URL in the double quotes will be your URL. Another line +will look like: + +_paq.push(['setSiteId', '1']); + +In this case the number 1 will be your site ID. + +These are set by YOAUSes opac.analytics.matomo_url and +opac.analytics.matomo_id respectively. There is also a boolean +setting called opac.analytics.use_matomo which determines if +it is used at all. Three new permsisions control access to +these: + +UPDATE_ORG_UNIT_SETTING.opac.analytics.matomo_id +UPDATE_ORG_UNIT_SETTING.opac.analytics.matomo_url +UPDATE_ORG_UNIT_SETTING.opac.analytics.use_matomo + -- 2.43.2