Bug 27378 - Enable compliance with EU Cookie Legislation via cookie consent
Summary: Enable compliance with EU Cookie Legislation via cookie consent
Status: Needs documenting
Alias: None
Product: Koha
Classification: Unclassified
Component: OPAC (show other bugs)
Version: master
Hardware: All All
: P5 - low new feature (vote)
Assignee: Matt Blenkinsop
QA Contact: Katrin Fischer
URL:
Keywords:
: 8155 (view as bug list)
Depends on: 22844
Blocks: 34793 36316 34791
  Show dependency treegraph
 
Reported: 2021-01-11 11:46 UTC by Andrew Isherwood
Modified: 2024-03-14 21:49 UTC (History)
14 users (show)

See Also:
Change sponsored?: ---
Patch complexity: Large patch
Documentation contact:
Documentation submission:
Text to go in the release notes:
This new features adds proper handling of tracking cookies into Koha. An administrator can now enable the option for end users to accept or deny non-essential cookies being stored in their browser using the new system preference `CookieConsent`. Once enabled, the administrator should add their non-essential cookie code into `CookieConsentedJS` as opposed to `OPACUserJS` and `IntranetUserJS`. This will enable a cookie banner to appear at the bottom of the screen with options to allow all, allow essential and view more information.
Version(s) released in:
23.11.00


Attachments
Bug 27378: Add new 'modaljs' syspref type (4.83 KB, patch)
2021-01-21 14:18 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add sysprefs (7.80 KB, patch)
2021-01-21 14:18 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add JS to power modaljs (15.89 KB, patch)
2021-01-21 14:19 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to OPAC (19.58 KB, patch)
2021-01-21 14:19 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to staff UI (12.54 KB, patch)
2021-01-21 14:19 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Move "Your cookies" to existing bar (4.00 KB, patch)
2021-01-25 12:19 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add new 'modaljs' syspref type (5.00 KB, patch)
2021-02-05 14:45 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add sysprefs (7.80 KB, patch)
2021-02-05 14:45 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add JS to power modaljs (15.89 KB, patch)
2021-02-05 14:45 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to OPAC (19.58 KB, patch)
2021-02-05 14:45 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to staff UI (12.54 KB, patch)
2021-02-05 14:45 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Move "Your cookies" to existing bar (4.00 KB, patch)
2021-02-05 14:45 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Delete cookies when consent removed (13.06 KB, patch)
2021-02-05 14:45 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add new 'modaljs' syspref type (5.00 KB, patch)
2021-02-05 16:24 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add sysprefs (7.80 KB, patch)
2021-02-05 16:24 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add JS to power modaljs (15.89 KB, patch)
2021-02-05 16:24 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to OPAC (19.58 KB, patch)
2021-02-05 16:24 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to staff UI (12.54 KB, patch)
2021-02-05 16:24 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Move "Your cookies" to existing bar (4.00 KB, patch)
2021-02-05 16:24 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Delete cookies when consent removed (13.06 KB, patch)
2021-02-05 16:24 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie domain and path (10.11 KB, patch)
2021-02-05 16:24 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add new 'modaljs' syspref type (5.00 KB, patch)
2021-02-18 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add sysprefs (7.80 KB, patch)
2021-02-18 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add JS to power modaljs (15.89 KB, patch)
2021-02-18 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to OPAC (19.58 KB, patch)
2021-02-18 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to staff UI (12.54 KB, patch)
2021-02-18 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Move "Your cookies" to existing bar (4.00 KB, patch)
2021-02-18 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Delete cookies when consent removed (13.06 KB, patch)
2021-02-18 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie domain and path (10.11 KB, patch)
2021-02-18 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Fix typo on cookie deletion expiry (1.32 KB, patch)
2021-02-18 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add new 'modaljs' syspref type (5.00 KB, patch)
2021-06-09 11:09 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add sysprefs (7.74 KB, patch)
2021-06-09 11:09 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add JS to power modaljs (15.89 KB, patch)
2021-06-09 11:10 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to OPAC (19.59 KB, patch)
2021-06-09 11:10 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to staff UI (12.54 KB, patch)
2021-06-09 11:10 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Move "Your cookies" to existing bar (4.00 KB, patch)
2021-06-09 11:10 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Delete cookies when consent removed (13.06 KB, patch)
2021-06-09 11:10 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie domain and path (10.10 KB, patch)
2021-06-09 11:10 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add new 'modaljs' syspref type (5.00 KB, patch)
2021-06-15 12:52 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add sysprefs (7.74 KB, patch)
2021-06-15 12:52 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add JS to power modaljs (15.89 KB, patch)
2021-06-15 12:52 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to OPAC (19.59 KB, patch)
2021-06-15 12:52 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to staff UI (12.54 KB, patch)
2021-06-15 12:53 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Move "Your cookies" to existing bar (4.00 KB, patch)
2021-06-15 12:53 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Delete cookies when consent removed (13.06 KB, patch)
2021-06-15 12:53 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie domain and path (10.10 KB, patch)
2021-06-15 12:53 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add new 'modaljs' syspref type (5.05 KB, patch)
2021-07-07 08:37 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add sysprefs (7.78 KB, patch)
2021-07-07 08:37 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add JS to power modaljs (15.94 KB, patch)
2021-07-07 08:37 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to OPAC (19.64 KB, patch)
2021-07-07 08:37 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to staff UI (12.58 KB, patch)
2021-07-07 08:37 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Move "Your cookies" to existing bar (4.05 KB, patch)
2021-07-07 08:37 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Delete cookies when consent removed (13.11 KB, patch)
2021-07-07 08:37 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add cookie domain and path (10.15 KB, patch)
2021-07-07 08:37 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add new 'modaljs' syspref type (5.05 KB, patch)
2021-09-17 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add sysprefs (7.78 KB, patch)
2021-09-17 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add JS to power modaljs (15.95 KB, patch)
2021-09-17 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to OPAC (19.93 KB, patch)
2021-09-17 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to staff UI (12.58 KB, patch)
2021-09-17 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Move "Your cookies" to existing bar (4.05 KB, patch)
2021-09-17 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Delete cookies when consent removed (13.11 KB, patch)
2021-09-17 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add cookie domain and path (10.15 KB, patch)
2021-09-17 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: (follow-up) Fix update delimiter (1.37 KB, patch)
2021-09-17 11:07 UTC, Andrew Isherwood
Details | Diff | Splinter Review
Bug 27378: Add new 'modaljs' syspref type (5.21 KB, patch)
2022-02-02 10:04 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add sysprefs (7.72 KB, patch)
2022-02-02 10:04 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add JS to power modaljs (15.94 KB, patch)
2022-02-02 10:04 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to OPAC (19.94 KB, patch)
2022-02-02 10:04 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to staff UI (12.58 KB, patch)
2022-02-02 10:04 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Move "Your cookies" to existing bar (4.05 KB, patch)
2022-02-02 10:04 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Delete cookies when consent removed (13.11 KB, patch)
2022-02-02 10:04 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add cookie domain and path (10.15 KB, patch)
2022-02-02 10:04 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: (follow-up) Fix update delimiter (1.37 KB, patch)
2022-02-02 10:04 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add new 'modaljs' syspref type (5.21 KB, patch)
2022-05-24 15:08 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add sysprefs (7.72 KB, patch)
2022-05-24 15:08 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add JS to power modaljs (15.92 KB, patch)
2022-05-24 15:08 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to OPAC (20.01 KB, patch)
2022-05-24 15:08 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to staff UI (12.58 KB, patch)
2022-05-24 15:08 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Move "Your cookies" to existing bar (4.05 KB, patch)
2022-05-24 15:09 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Delete cookies when consent removed (13.11 KB, patch)
2022-05-24 15:09 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add cookie domain and path (10.15 KB, patch)
2022-05-24 15:09 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: (follow-up) Fix update delimiter (1.37 KB, patch)
2022-05-24 15:09 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: (follow-up) Add missing filters (4.36 KB, patch)
2022-05-24 15:09 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 27378: Add new 'modaljs' syspref type (5.29 KB, patch)
2023-05-26 12:17 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Add sysprefs (7.81 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Add JS to power modaljs (16.03 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to OPAC (20.10 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to staff UI (12.69 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Move "Your cookies" to existing bar (4.13 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Delete cookies when consent removed (13.19 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Add cookie domain and path (10.23 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: (follow-up) Fix update delimiter (1.45 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: (follow-up) Add missing filters (4.44 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Fix heading structure of opac-patron-consent (1.75 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Fix missing bootstrap button classes (2.46 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Add missing aria-labels (2.66 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Add aria-label to more information button (1.46 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Update to new atomicupdate structure (6.04 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Change ConsentJS to CookieConsentedJS (10.73 KB, patch)
2023-05-26 12:18 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Stop the codemirror editor from duplicating (11.20 KB, patch)
2023-05-26 12:19 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Prevent delete confirmation from duplicating (2.36 KB, patch)
2023-05-26 12:19 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Remove two sysprefs and replace with html customisations (12.27 KB, patch)
2023-05-26 12:19 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Add new 'modaljs' syspref type (5.32 KB, patch)
2023-05-30 20:02 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Add sysprefs (7.84 KB, patch)
2023-05-30 20:02 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Add JS to power modaljs (16.06 KB, patch)
2023-05-30 20:02 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to OPAC (20.12 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Add cookie consent display to staff UI (12.71 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Move "Your cookies" to existing bar (4.16 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Delete cookies when consent removed (13.22 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Add cookie domain and path (10.26 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: (follow-up) Fix update delimiter (1.48 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: (follow-up) Add missing filters (4.47 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Fix heading structure of opac-patron-consent (1.78 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Fix missing bootstrap button classes (2.48 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Add missing aria-labels (2.68 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Add aria-label to more information button (1.48 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Update to new atomicupdate structure (6.07 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Change ConsentJS to CookieConsentedJS (10.76 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Stop the codemirror editor from duplicating (11.22 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Prevent delete confirmation from duplicating (2.39 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Remove two sysprefs and replace with html customisations (12.29 KB, patch)
2023-05-30 20:03 UTC, Sam Lau
Details | Diff | Splinter Review
Bug 27378: Introduce cookie consent to OPAC and staff client (62.35 KB, patch)
2023-07-11 16:49 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: (follow-up) Add missing filters (4.44 KB, patch)
2023-07-11 16:49 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Fix accessibility issues (5.84 KB, patch)
2023-07-11 16:49 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Update to new atomicupdate structure (6.04 KB, patch)
2023-07-11 16:49 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Change ConsentJS to CookieConsentedJS (10.73 KB, patch)
2023-07-11 16:49 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Stop the codemirror editor and delete confirmation from duplicating (12.48 KB, patch)
2023-07-11 16:49 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Remove two sysprefs and replace with html customisations (12.27 KB, patch)
2023-07-11 16:49 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Small fixes and tidy-ups (5.66 KB, patch)
2023-07-11 16:49 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Allow staff to view their cookie consents (2.43 KB, patch)
2023-07-11 16:49 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Add cancel button to cookie modal (3.70 KB, patch)
2023-07-11 16:49 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Add filtering for OPAC only and staff only cookies (7.96 KB, patch)
2023-07-11 16:49 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Introduce cookie consent to OPAC and staff client (62.27 KB, patch)
2023-07-28 09:34 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: (follow-up) Add missing filters (4.44 KB, patch)
2023-07-28 09:34 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Fix accessibility issues (5.84 KB, patch)
2023-07-28 09:34 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Update to new atomicupdate structure (6.04 KB, patch)
2023-07-28 09:34 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Change ConsentJS to CookieConsentedJS (10.67 KB, patch)
2023-07-28 09:35 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Stop the codemirror editor and delete confirmation from duplicating (12.48 KB, patch)
2023-07-28 09:35 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Remove two sysprefs and replace with html customisations (12.27 KB, patch)
2023-07-28 09:35 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Small fixes and tidy-ups (5.66 KB, patch)
2023-07-28 09:35 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Allow staff to view their cookie consents (2.43 KB, patch)
2023-07-28 09:35 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Add cancel button to cookie modal (3.70 KB, patch)
2023-07-28 09:35 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Add filtering for OPAC only and staff only cookies (7.94 KB, patch)
2023-07-28 09:35 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Fix tests and character encoding (7.62 KB, patch)
2023-07-31 13:44 UTC, Matt Blenkinsop
Details | Diff | Splinter Review
Bug 27378: Introduce cookie consent to OPAC and staff client (62.31 KB, patch)
2023-08-04 13:08 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 27378: (follow-up) Add missing filters (4.48 KB, patch)
2023-08-04 13:08 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 27378: Fix accessibility issues (5.88 KB, patch)
2023-08-04 13:08 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 27378: Update to new atomicupdate structure (6.08 KB, patch)
2023-08-04 13:08 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 27378: Change ConsentJS to CookieConsentedJS (10.70 KB, patch)
2023-08-04 13:08 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 27378: Stop the codemirror editor and delete confirmation from duplicating (12.52 KB, patch)
2023-08-04 13:09 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 27378: Remove two sysprefs and replace with html customisations (12.31 KB, patch)
2023-08-04 13:09 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Small fixes and tidy-ups (5.70 KB, patch)
2023-08-04 13:09 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Allow staff to view their cookie consents (2.47 KB, patch)
2023-08-04 13:09 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Add cancel button to cookie modal (3.74 KB, patch)
2023-08-04 13:09 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Add filtering for OPAC only and staff only cookies (7.98 KB, patch)
2023-08-04 13:09 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Fix tests and character encoding (7.65 KB, patch)
2023-08-04 13:09 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 27378: (QA follow-up) Tidy admin/preferences.pl (1.52 KB, patch)
2023-08-04 13:09 UTC, Katrin Fischer
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Isherwood 2021-01-11 11:46:03 UTC
This bug proposes to add the ability for a site to comply with EU Cookie Legislation if required, through the use of cookie consent.

Cookie use that requires consent involves the use of "non-essential" cookies. For the implementation of this bug, we are considering all cookies set by Koha itself to be "essential", and therefore not requiring consent. "Non-essential" cookies will potentially be anything else, for example, Google Analytics tracking.

This bug will provide the following:

- Allow an admin to define code that requires consent to run (e.g. code that results in a non-essential cookie being set). Along with a name & description for that code, and the ability to specify whether that code requires consent before running, both in the OPAC and staff interface.

- Allow a user to see exactly which cookies (essential & non-essential) may be set and which non-essential cookies they can consent to if they wish. The detail of the cookies in use is definable by a site admin.

- Allow a user to consent to any non-essential cookies.

- Allow a user to see which non-essential cookies they have consented to and, subsequently, remove consent if they wish.

- Prevent the running of any code that causes a non-essential cookie to be set unless the user has explicitly consented to it.
Comment 1 Andrew Isherwood 2021-01-21 14:18:56 UTC Comment hidden (obsolete)
Comment 2 Andrew Isherwood 2021-01-21 14:18:59 UTC Comment hidden (obsolete)
Comment 3 Andrew Isherwood 2021-01-21 14:19:03 UTC Comment hidden (obsolete)
Comment 4 Andrew Isherwood 2021-01-21 14:19:06 UTC Comment hidden (obsolete)
Comment 5 Andrew Isherwood 2021-01-21 14:19:09 UTC Comment hidden (obsolete)
Comment 6 Andrew Isherwood 2021-01-21 14:19:24 UTC Comment hidden (obsolete)
Comment 7 Jonathan Druart 2021-01-21 14:30:24 UTC
What about rejecting them? :)
Comment 8 Jonathan Druart 2021-01-21 14:34:25 UTC
(In reply to Jonathan Druart from comment #7)
> What about rejecting them? :)

Ok, it's the "Accept only essential cookies" button.
Comment 9 Andrew Isherwood 2021-01-21 15:24:08 UTC
I've just realised I've left a chunk off the test plan, so I'm setting this back to Assigned until I've added the missing bits
Comment 10 Andrew Isherwood 2021-01-21 15:29:17 UTC Comment hidden (obsolete)
Comment 11 Andrew Isherwood 2021-01-25 12:19:29 UTC Comment hidden (obsolete)
Comment 12 Andrew Isherwood 2021-01-25 12:20:49 UTC Comment hidden (obsolete)
Comment 13 Andrew Isherwood 2021-02-05 14:45:09 UTC Comment hidden (obsolete)
Comment 14 Andrew Isherwood 2021-02-05 14:45:12 UTC Comment hidden (obsolete)
Comment 15 Andrew Isherwood 2021-02-05 14:45:15 UTC Comment hidden (obsolete)
Comment 16 Andrew Isherwood 2021-02-05 14:45:18 UTC Comment hidden (obsolete)
Comment 17 Andrew Isherwood 2021-02-05 14:45:22 UTC Comment hidden (obsolete)
Comment 18 Andrew Isherwood 2021-02-05 14:45:25 UTC Comment hidden (obsolete)
Comment 19 Andrew Isherwood 2021-02-05 14:45:28 UTC Comment hidden (obsolete)
Comment 20 Andrew Isherwood 2021-02-05 14:57:27 UTC Comment hidden (obsolete)
Comment 21 Andrew Isherwood 2021-02-05 16:24:27 UTC Comment hidden (obsolete)
Comment 22 Andrew Isherwood 2021-02-05 16:24:31 UTC Comment hidden (obsolete)
Comment 23 Andrew Isherwood 2021-02-05 16:24:34 UTC Comment hidden (obsolete)
Comment 24 Andrew Isherwood 2021-02-05 16:24:38 UTC Comment hidden (obsolete)
Comment 25 Andrew Isherwood 2021-02-05 16:24:41 UTC Comment hidden (obsolete)
Comment 26 Andrew Isherwood 2021-02-05 16:24:44 UTC Comment hidden (obsolete)
Comment 27 Andrew Isherwood 2021-02-05 16:24:47 UTC Comment hidden (obsolete)
Comment 28 Andrew Isherwood 2021-02-05 16:24:51 UTC Comment hidden (obsolete)
Comment 29 Andrew Isherwood 2021-02-05 16:26:27 UTC Comment hidden (obsolete)
Comment 30 Andrew Isherwood 2021-02-18 11:07:14 UTC Comment hidden (obsolete)
Comment 31 Andrew Isherwood 2021-02-18 11:07:17 UTC Comment hidden (obsolete)
Comment 32 Andrew Isherwood 2021-02-18 11:07:21 UTC Comment hidden (obsolete)
Comment 33 Andrew Isherwood 2021-02-18 11:07:24 UTC Comment hidden (obsolete)
Comment 34 Andrew Isherwood 2021-02-18 11:07:28 UTC Comment hidden (obsolete)
Comment 35 Andrew Isherwood 2021-02-18 11:07:31 UTC Comment hidden (obsolete)
Comment 36 Andrew Isherwood 2021-02-18 11:07:35 UTC Comment hidden (obsolete)
Comment 37 Andrew Isherwood 2021-02-18 11:07:38 UTC Comment hidden (obsolete)
Comment 38 Andrew Isherwood 2021-02-18 11:07:41 UTC Comment hidden (obsolete)
Comment 39 Andrew Isherwood 2021-06-09 11:09:55 UTC Comment hidden (obsolete)
Comment 40 Andrew Isherwood 2021-06-09 11:09:59 UTC Comment hidden (obsolete)
Comment 41 Andrew Isherwood 2021-06-09 11:10:04 UTC Comment hidden (obsolete)
Comment 42 Andrew Isherwood 2021-06-09 11:10:08 UTC Comment hidden (obsolete)
Comment 43 Andrew Isherwood 2021-06-09 11:10:13 UTC Comment hidden (obsolete)
Comment 44 Andrew Isherwood 2021-06-09 11:10:17 UTC Comment hidden (obsolete)
Comment 45 Andrew Isherwood 2021-06-09 11:10:22 UTC Comment hidden (obsolete)
Comment 46 Andrew Isherwood 2021-06-09 11:10:26 UTC Comment hidden (obsolete)
Comment 47 Andrew Isherwood 2021-06-15 12:52:44 UTC Comment hidden (obsolete)
Comment 48 Andrew Isherwood 2021-06-15 12:52:48 UTC Comment hidden (obsolete)
Comment 49 Andrew Isherwood 2021-06-15 12:52:52 UTC Comment hidden (obsolete)
Comment 50 Andrew Isherwood 2021-06-15 12:52:57 UTC Comment hidden (obsolete)
Comment 51 Andrew Isherwood 2021-06-15 12:53:01 UTC Comment hidden (obsolete)
Comment 52 Andrew Isherwood 2021-06-15 12:53:05 UTC Comment hidden (obsolete)
Comment 53 Andrew Isherwood 2021-06-15 12:53:10 UTC Comment hidden (obsolete)
Comment 54 Andrew Isherwood 2021-06-15 12:53:14 UTC Comment hidden (obsolete)
Comment 55 Martin Renvoize 2021-07-07 08:37:07 UTC Comment hidden (obsolete)
Comment 56 Martin Renvoize 2021-07-07 08:37:12 UTC Comment hidden (obsolete)
Comment 57 Martin Renvoize 2021-07-07 08:37:17 UTC Comment hidden (obsolete)
Comment 58 Martin Renvoize 2021-07-07 08:37:22 UTC Comment hidden (obsolete)
Comment 59 Martin Renvoize 2021-07-07 08:37:27 UTC Comment hidden (obsolete)
Comment 60 Martin Renvoize 2021-07-07 08:37:31 UTC Comment hidden (obsolete)
Comment 61 Martin Renvoize 2021-07-07 08:37:36 UTC Comment hidden (obsolete)
Comment 62 Martin Renvoize 2021-07-07 08:37:40 UTC Comment hidden (obsolete)
Comment 63 Martin Renvoize 2021-07-07 08:38:40 UTC
Thoroughly tested by Barry Cannon (and their customers the Institutes of Technology consortium, Ireland).

Add SO lines at their request.
Comment 64 Nick Clemens 2021-08-03 13:11:00 UTC
Error in :
installer/data/mysql/atomicupdate/bug_27378_add_CookieConsentPopup_syspref.perl
(shoudl quote with q{} so the | doesn't break it)

In testing I was never able to get the cookies to set - can you provide some values in the test plan that work on koha testing docker - I got complaints of bad domain for cookies

Question: Should you be able to keep using the site before clicking 'Accept' on the necessary cookies?
Comment 65 Andrew Isherwood 2021-09-17 11:07:02 UTC Comment hidden (obsolete)
Comment 66 Andrew Isherwood 2021-09-17 11:07:07 UTC Comment hidden (obsolete)
Comment 67 Andrew Isherwood 2021-09-17 11:07:12 UTC Comment hidden (obsolete)
Comment 68 Andrew Isherwood 2021-09-17 11:07:17 UTC Comment hidden (obsolete)
Comment 69 Andrew Isherwood 2021-09-17 11:07:22 UTC Comment hidden (obsolete)
Comment 70 Andrew Isherwood 2021-09-17 11:07:30 UTC Comment hidden (obsolete)
Comment 71 Andrew Isherwood 2021-09-17 11:07:34 UTC Comment hidden (obsolete)
Comment 72 Andrew Isherwood 2021-09-17 11:07:40 UTC Comment hidden (obsolete)
Comment 73 Andrew Isherwood 2021-09-17 11:07:44 UTC Comment hidden (obsolete)
Comment 74 Andrew Isherwood 2021-09-17 11:08:22 UTC
- Rebased and fixed merge conflicts
- Modified update delimiter
Comment 75 Andrew Isherwood 2021-09-17 11:11:50 UTC
(In reply to Nick Clemens from comment #64)
> Error in :
> installer/data/mysql/atomicupdate/bug_27378_add_CookieConsentPopup_syspref.
> perl
> (shoudl quote with q{} so the | doesn't break it)

Thanks, fixed.

> In testing I was never able to get the cookies to set - can you provide some
> values in the test plan that work on koha testing docker - I got complaints
> of bad domain for cookies

It was developed on KTD and I just ran through the test plan on the same and it worked perfectly. For step 12 of the test plan are you using the domain you use to access the KTD in your browser?

> Question: Should you be able to keep using the site before clicking 'Accept'
> on the necessary cookies?

I think so, I've yet to encounter a site that wouldn't let me use it before I agreed to cookies.
Comment 76 Katrin Fischer 2021-10-21 19:58:07 UTC
Hi Andrew, could you please rebase?
Comment 77 Katrin Fischer 2021-10-21 19:58:40 UTC
I fixed the conflict in sysprefs.sql, but got stuck on the scss.
Comment 78 Martin Renvoize 2022-02-02 10:04:14 UTC Comment hidden (obsolete)
Comment 79 Martin Renvoize 2022-02-02 10:04:19 UTC Comment hidden (obsolete)
Comment 80 Martin Renvoize 2022-02-02 10:04:24 UTC Comment hidden (obsolete)
Comment 81 Martin Renvoize 2022-02-02 10:04:29 UTC Comment hidden (obsolete)
Comment 82 Martin Renvoize 2022-02-02 10:04:34 UTC Comment hidden (obsolete)
Comment 83 Martin Renvoize 2022-02-02 10:04:40 UTC Comment hidden (obsolete)
Comment 84 Martin Renvoize 2022-02-02 10:04:45 UTC Comment hidden (obsolete)
Comment 85 Martin Renvoize 2022-02-02 10:04:51 UTC Comment hidden (obsolete)
Comment 86 Martin Renvoize 2022-02-02 10:04:56 UTC Comment hidden (obsolete)
Comment 87 Martin Renvoize 2022-02-02 10:05:27 UTC
Rebased and ready for QA
Comment 88 Marcel de Rooy 2022-03-25 09:35:14 UTC
 FAIL   koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc
   FAIL   filters
                missing_filter at line 465 (                                        <input class="consentCheckbox" type="checkbox" name="consentCheckbox" value="[% consent.id %]">)
Comment 89 Marcel de Rooy 2022-03-25 09:35:49 UTC
More:

 FAIL   koha-tmpl/intranet-tmpl/prog/en/includes/intranet-bottom.inc
   FAIL   filters
                missing_filter at line 112 (                                        <input class="consentCheckbox" type="checkbox" name="consentCheckbox" value="[% consent.id %]">)

 FAIL   koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences.tt
   FAIL   filters
                missing_filter at line 135 (                        <input type="text" name="pref_[% CHUNK.name | html %]" data-initiator="[% CHUNK.initiator | html %]" data-processor="[% CHUNK.processor %]" id="pref_[% CHUNK.name | html %]" class="modaljs preference preference-[% CHUNK.type | html %]" readonly="readonly" value="[% CHUNK.value | html %]"/>)
Comment 90 Martin Renvoize 2022-05-24 15:08:36 UTC Comment hidden (obsolete)
Comment 91 Martin Renvoize 2022-05-24 15:08:41 UTC Comment hidden (obsolete)
Comment 92 Martin Renvoize 2022-05-24 15:08:46 UTC Comment hidden (obsolete)
Comment 93 Martin Renvoize 2022-05-24 15:08:52 UTC Comment hidden (obsolete)
Comment 94 Martin Renvoize 2022-05-24 15:08:57 UTC Comment hidden (obsolete)
Comment 95 Martin Renvoize 2022-05-24 15:09:03 UTC Comment hidden (obsolete)
Comment 96 Martin Renvoize 2022-05-24 15:09:08 UTC Comment hidden (obsolete)
Comment 97 Martin Renvoize 2022-05-24 15:09:14 UTC Comment hidden (obsolete)
Comment 98 Martin Renvoize 2022-05-24 15:09:19 UTC Comment hidden (obsolete)
Comment 99 Martin Renvoize 2022-05-24 15:09:27 UTC Comment hidden (obsolete)
Comment 100 Martin Renvoize 2022-05-24 15:10:19 UTC
Rebased and missing filters added in a follow-up.. QA scripts are happy now.
Comment 101 Katrin Fischer 2022-07-22 12:36:36 UTC
Some stuff:

1) Old style database updates (we got 4 separate ones for the prefs). Might be worth combining them into one atomicupdate.

2) I think the system preference descriptions are not all self explanatory. I am struggling with a little with this one:

+         - Specify Javascript that requires user consent to run (e.g. tracking code)
+         - pref: ConsentJS
+           type: modaljs
+           initiator: populateConsentJS
+           processor: prepareConsentJS

3) New codes cannot be saved in ConsentJs

And also getting stuck here in the test plan:

12. Enter a name and description, and check both checkboxes.
    - For "String used to identify cookie name", enter "test1", this enables us to delete the cookie when consent is withdrawn.
    - For "Cookie domain" enter the domain of your Koha.
    - For "Cookie path" enter "/"

I have entered: 
Name: Test
Description: Testing consent
Requires consent in OPAC: checked
Requires consent in staff interface: checked
String used to identify cookie name: test1
Cookie domain: localhost
Cookie path: /

When I try to save, I get: You must complete all fields.

x) Future enhancement ideas:

* Move CookieConsentBar and CookieConsentPopup to HTML customizations, so they can be provided in multiple languages.
Comment 102 Matt Blenkinsop 2023-05-26 12:17:59 UTC Comment hidden (obsolete)
Comment 103 Matt Blenkinsop 2023-05-26 12:18:04 UTC Comment hidden (obsolete)
Comment 104 Matt Blenkinsop 2023-05-26 12:18:07 UTC Comment hidden (obsolete)
Comment 105 Matt Blenkinsop 2023-05-26 12:18:11 UTC Comment hidden (obsolete)
Comment 106 Matt Blenkinsop 2023-05-26 12:18:15 UTC Comment hidden (obsolete)
Comment 107 Matt Blenkinsop 2023-05-26 12:18:18 UTC Comment hidden (obsolete)
Comment 108 Matt Blenkinsop 2023-05-26 12:18:22 UTC Comment hidden (obsolete)
Comment 109 Matt Blenkinsop 2023-05-26 12:18:26 UTC Comment hidden (obsolete)
Comment 110 Matt Blenkinsop 2023-05-26 12:18:29 UTC Comment hidden (obsolete)
Comment 111 Matt Blenkinsop 2023-05-26 12:18:33 UTC Comment hidden (obsolete)
Comment 112 Matt Blenkinsop 2023-05-26 12:18:37 UTC Comment hidden (obsolete)
Comment 113 Matt Blenkinsop 2023-05-26 12:18:40 UTC Comment hidden (obsolete)
Comment 114 Matt Blenkinsop 2023-05-26 12:18:44 UTC Comment hidden (obsolete)
Comment 115 Matt Blenkinsop 2023-05-26 12:18:51 UTC Comment hidden (obsolete)
Comment 116 Matt Blenkinsop 2023-05-26 12:18:55 UTC Comment hidden (obsolete)
Comment 117 Matt Blenkinsop 2023-05-26 12:18:59 UTC Comment hidden (obsolete)
Comment 118 Matt Blenkinsop 2023-05-26 12:19:03 UTC Comment hidden (obsolete)
Comment 119 Matt Blenkinsop 2023-05-26 12:19:07 UTC Comment hidden (obsolete)
Comment 120 Matt Blenkinsop 2023-05-26 12:19:11 UTC Comment hidden (obsolete)
Comment 121 Matt Blenkinsop 2023-05-26 12:19:56 UTC
REVISED TEST PLAN
-----------------

Note: As part of this test plan you will be required to remove a value from your browser's local storage store, we use this for storing a browser's cookie consent choice. To remove this value when instructed to do so, do the following:

Chrome / Edge
------
- Press F12 or right click and choose “Inspect”
- Click the "Application" tab
- On the left, expand the "Local Storage" section
- Find the entry that corresponds with the URL of your Koha and click on it
- Find the entry in the list with a "Key" of "cookieConsent"
- Click on it and press "Delete" on your keyboard

Firefox
-------
- Press F12
- Click the "Storage" tab
- On the left, expand the "Local Storage" section
- Find the entry that corresponds with the URL of your Koha and click on it
- Find the entry in the list with a "Key" of "cookieConsent"
- Click on it and press "Delete" on your keyboard

Note: Also you will be required to inspect cookies set in your browser. When instructed to do so, do the following:

Chrome / Edge
------
- Press F12 or right click and choose “Inspect”
- Click the "Application" tab
- On the left, expand the "Cookies" section
- Find the entry that corresponds with the URL of your Koha and click on it
- View the list of cookies

Firefox
-------
- Press F12
- Click the "Storage" tab
- On the left, expand the "Cookies" section
- Find the entry that corresponds with the URL of your Koha and click on it
- View the list of cookies


1. Ensure you have a tab open on the intranet view and one open on the OPAC view, ensure you are logged in on both
2. Search for “cookieconsent" in the sysprefs
=> TEST: Observe there are 2 new sysprefs:
  - “CookieConsentedJS"
  - "CookieConsent"
3. Change the value for the "CookieConsent" syspref to "Require" and save
4. Refresh the intranet page
=> TEST: In the intranet view, observe that a cookie consent bar appears at the bottom of the page with just a single "Accept all cookies" button
5. Refresh the OPAC page
=> TEST: In the OPAC view, observe that a cookie consent bar appears at the bottom of the page with just a single "Accept all cookies" button
6. Navigate to Tools > HTML customisations
7. Click New entry
8. In Display location, select CookieConsentBar
9. Set the Publication Date for today’s date
10. Add some text to the text editor and click save
11. Refresh the intranet page
=> TEST: In the intranet view, observe that the cookie consent bar appears at the bottom of the page containing the text you specified
12. Refresh the OPAC page
=> TEST: In the OPAC view, observe that the cookie consent bar appears at the bottom of the page containing the text you specified
13. In the HTML customisations, repeat steps 7-10 but this time selecting CookieConsentPopup
14. Return to system preferences and search for “cookieconsent” again
15. Click the “CookieConsentedJS" syspref input
16. Click the "Add new code" link
17. Enter a name and description, and check both checkboxes.
    - For "String used to identify cookie name", enter "test1", this enables us to delete the cookie when consent is withdrawn.
    - For "Cookie domain" enter the domain of your Koha.
    - For "Cookie path" enter "/"
18. Click the "Click to expand" link
19. Enter the following Javascript:
    (function() { 
	console.log('Hello from test1'); 
	document.cookie = “test1=testing; domain=localhost; path=/; SameSite=None; Secure”; 
     })();
N.B. IF YOUR DOMAIN IS NOT LOCALHOST, YOU WILL NEED TO CHANGE THIS TO YOUR CORRECT DOMAIN
20. Repeat steps 11 to 14 twice more, substituting "test1" for "test2" & "test3"
21. Click "Save"
22. Refresh the intranet page
=> TEST: In the intranet view, observe that the cookie consent bar appears at the bottom of the page containing 3 buttons
23. Refresh the OPAC page
=> TEST: In the OPAC view, observe that the cookie consent bar appears at the bottom of the page containing 3 buttons
24. Click the "More information" button
=> TEST: Observe that a cookie consent popup is displayed listing the codes you added in the syspref, displaying the name,description and checkbox for each, allowing a code to be selected
25. Select a code
=> TEST: Observe that "Accept selected non-essential cookies" is enabled
26. Deselect all codes
=> TEST: Observe that "Accept selected non-essential cookies" is disabled
27. Open the developer tools for your browser (usually F12) and ensure you are viewing the Javascript console
28. Click accept all cookies
=> TEST: In the Javascript console, observe that the messages in all the codes you added to the CookieConsentedJS syspref are displayed
=> TEST: In the cookie list (as detailed at the top of the test plan) observe that the cookies corresponding with the consents granted have been set.
29. Navigate to any other pages in the OPAC
=> TEST: On each page load, in the Javascript console, observe that the messages in all the codes you added to the ConsentJS syspref are displayed
30. Remove the cookieConsent local storage (as detailed at the start)
31. Switch to the intranet view
32. Repeat steps 19-25 in the intranet view
33. Refresh the page
34. Click the "Accept all cookies" button on the cookie bar
=> TEST: In the Javascript console, observe that the messages in all the codes you added to the CookieConsentedJS syspref are displayed
35. Remove the cookieConsent local storage (as detailed at the start)
36. Refresh the page
37. Click the "Accept only essential cookies" button on the cookie bar
=> TEST: In the Javascript console, observe that none of the messages in the codes you added to the CookieConsentedJS syspref are displayed
38. Remove the cookieConsent local storage (as detailed at the start)
39. Refresh the page
40. Click the "More information" button on the cookie bar
41. Select two of the codes you defined in the CookieConsentedJS syspref
42. Click the "Accept selected non-essential cookies" button
=> TEST: In the Javascript console, observe that only the messages from the selected codes you added to the CookieConsentedJS syspref are displayed
43. Repeat steps 28-37 on the OPAC view
44. In the OPAC view, go to the "Your account" page
=> TEST: Observe that the "your consents" option is available
45. Click on "your consents"
=> TEST: Observe that a "Cookie consents" section is displayed, with a button
46. Click the "View your cookie consents" button
=> TEST: Observe that the "Cookie consent" popup is displayed allowing you to modify your cookie consents
47. Remove consent from at least one cookie, click “Accept selected non-essential cookies”
=> TEST: In the cookie list in your browser (as detailed at the top of the test plan), observe that any cookies you removed consent from have either been removed or have no value.
48. Log out of the OPAC
=> Observe that a "Your cookies" button is displayed in the top bar next to "Links"
49. Click the "Your cookies" button
=> TEST: Observe that the "Cookie consent" popup is displayed allowing you to modify your cookie consents and that the consents match the same ones you had when logged in
Comment 122 Matt Blenkinsop 2023-05-26 12:23:26 UTC
Quick summary of the new version as this has been idle for a while:

- Rebased to latest master branch as of 26/05/23
- Accessibility fixes have been added where required
- A glitch has been fixed with the codemirror editor where it was duplicating every time the "Add new code" button was pressed
- Similarly, the confirmation alert for deleting new tracking code was also duplicating when the "Delete" button was pressed
- Atomic update file has been revised to the new version
- Two sysprefs removed and replaced with HTML customisations as per Katrin's last QA comments
- One syspref renamed to make it clearer what it is for

Setting back to Needs signoff as it has been on Failed QA for a while and I've made a few changes to the original concept
Comment 123 Sam Lau 2023-05-30 20:02:50 UTC Comment hidden (obsolete)
Comment 124 Sam Lau 2023-05-30 20:02:53 UTC Comment hidden (obsolete)
Comment 125 Sam Lau 2023-05-30 20:02:57 UTC Comment hidden (obsolete)
Comment 126 Sam Lau 2023-05-30 20:03:00 UTC Comment hidden (obsolete)
Comment 127 Sam Lau 2023-05-30 20:03:04 UTC Comment hidden (obsolete)
Comment 128 Sam Lau 2023-05-30 20:03:07 UTC Comment hidden (obsolete)
Comment 129 Sam Lau 2023-05-30 20:03:11 UTC Comment hidden (obsolete)
Comment 130 Sam Lau 2023-05-30 20:03:14 UTC Comment hidden (obsolete)
Comment 131 Sam Lau 2023-05-30 20:03:18 UTC Comment hidden (obsolete)
Comment 132 Sam Lau 2023-05-30 20:03:21 UTC Comment hidden (obsolete)
Comment 133 Sam Lau 2023-05-30 20:03:25 UTC Comment hidden (obsolete)
Comment 134 Sam Lau 2023-05-30 20:03:28 UTC Comment hidden (obsolete)
Comment 135 Sam Lau 2023-05-30 20:03:32 UTC Comment hidden (obsolete)
Comment 136 Sam Lau 2023-05-30 20:03:35 UTC Comment hidden (obsolete)
Comment 137 Sam Lau 2023-05-30 20:03:38 UTC Comment hidden (obsolete)
Comment 138 Sam Lau 2023-05-30 20:03:42 UTC Comment hidden (obsolete)
Comment 139 Sam Lau 2023-05-30 20:03:45 UTC Comment hidden (obsolete)
Comment 140 Sam Lau 2023-05-30 20:03:48 UTC Comment hidden (obsolete)
Comment 141 Sam Lau 2023-05-30 20:03:52 UTC Comment hidden (obsolete)
Comment 142 Katrin Fischer 2023-06-30 11:55:29 UTC
Giving this another go...
Comment 143 Katrin Fischer 2023-06-30 13:37:50 UTC
Overall this is mostly small stuff, apart from 9) maybe!

We'll also need some good documetnation, but the test plan in comment 121 is a good start.

1) Perltidy

Should we perltidy the new files at least? 

2) System preferences - sysprefs.sql

sysprefs.sql is supposed to be alphabetic (being a librarian, this is not acceptable! ;) )

 ('ConfirmFutureHolds','0',...
+('CookieConsentedJS', '', NULL, 'Add ...
 ('ConsiderOnSiteCheckoutsAsNormalCheckouts',...
 ('ContentWarningField', '',...
+('CookieConsent', '0', NULL...

3) System preferences - YAML

a)
+         - pref: CookieConsent
+           choices:
+               yes: Require
+               no: "Don't require"
+         - cookie consent to be displayed

Should be 1 and 0. (blocker)

Should we rephrase a bit?

... cookie consent to be displayed in the OPAC and staff interface.

Question: Could it be interesting to make this OPAC only in the future?

b) Add Javascript code that will run if cookie consent is provided (e.g. tracking code).

Should we rephrase this a little?

Run the following JavaScript if cookie consent was provided (e.g. tracking code):


3) Add to cookie documentation please 

https://wiki.koha-community.org/wiki/Use_of_Cookies 

For OPAC and staff interface.


4) Translatability (blocker)

          '    <a class="consentDelete" data-target="' + id + '" href="#">Delete</a>' +


5) Test plan and comments

Giving that this is an old development there are quite some inconsistencies in what is the final product and what is mentioned in the commit messages. Like we started out with 4 prefs and now 2 are HTML customizations. Some squashing and clean-up could be really helpful I think.

But: great updated test plan in comment 121 !

6) Display issues

a) In the OPAC, the cookie banner overlaps and blocks access to the language selection at the bottom. If you have them at the top too, that's ok, but some libraries prefer one over the other ( OpacLangSelectorMode  = only footer ).

b) In the staff interface we have the language chooser in front, cutting off a bit of the "Accept all cookies" button.

c) In the OPAC readability (font color and size) is good, but in the staff interface it's much less readable. 


7) Patron account  

a) It doesn't appear to be possible to revoke the general cookie consent?

b) The contrast on the yellow "Accept selected non-essential" cookies seems bad (greyish font color on yellow background)

c) Should the button read "View and update..."?

d) I cannot close/cancel the modal without making a change. Clicking outside, pressing ESC, nothing works. We shoudl have a "Cancel" link. This is also true when using the "your cookies" link for a non-authenticated user.


8) Visibility OPAC/staff 

a) I checked one of the cookies for only OPAC and one only for staff interface. I still see all 3 cookies in the pop-up in both OPAC and staff after clearing local storage.

b) This might be related: test2 is my "staff only" cookie. It's unchecked in the view, but it still gets added every time I refresh any OPAC page.
Same for my "opac only" cookie: it's always added in staff interface on page reload.

c) Where can staff view and alter their cookie consents?
Comment 144 Katrin Fischer 2023-06-30 13:58:21 UTC
*** Bug 8155 has been marked as a duplicate of this bug. ***
Comment 145 Katrin Fischer 2023-06-30 13:59:09 UTC
Just a note: JavaScript code from the test plan needs to have its quotes fixed in order to work:

(function() { 
    console.log('Hello from test1'); 
    document.cookie = "test1=testing; domain=localhost; path=/; SameSite=None; Secure"; 
})();
Comment 146 Matt Blenkinsop 2023-07-11 16:49:00 UTC Comment hidden (obsolete)
Comment 147 Matt Blenkinsop 2023-07-11 16:49:04 UTC Comment hidden (obsolete)
Comment 148 Matt Blenkinsop 2023-07-11 16:49:09 UTC Comment hidden (obsolete)
Comment 149 Matt Blenkinsop 2023-07-11 16:49:13 UTC Comment hidden (obsolete)
Comment 150 Matt Blenkinsop 2023-07-11 16:49:17 UTC Comment hidden (obsolete)
Comment 151 Matt Blenkinsop 2023-07-11 16:49:22 UTC Comment hidden (obsolete)
Comment 152 Matt Blenkinsop 2023-07-11 16:49:27 UTC Comment hidden (obsolete)
Comment 153 Matt Blenkinsop 2023-07-11 16:49:31 UTC Comment hidden (obsolete)
Comment 154 Matt Blenkinsop 2023-07-11 16:49:36 UTC Comment hidden (obsolete)
Comment 155 Matt Blenkinsop 2023-07-11 16:49:40 UTC Comment hidden (obsolete)
Comment 156 Matt Blenkinsop 2023-07-11 16:49:45 UTC Comment hidden (obsolete)
Comment 157 Matt Blenkinsop 2023-07-11 17:01:31 UTC
(In reply to Katrin Fischer from comment #143)
> Overall this is mostly small stuff, apart from 9) maybe!
> 
> We'll also need some good documetnation, but the test plan in comment 121 is
> a good start.
> 
> 1) Perltidy
> 
> Should we perltidy the new files at least? 

I've run perltidy for JSConsents.pm.

> 
> 2) System preferences - sysprefs.sql
> 
> sysprefs.sql is supposed to be alphabetic (being a librarian, this is not
> acceptable! ;) )

Fixed :)

> 
>  ('ConfirmFutureHolds','0',...
> +('CookieConsentedJS', '', NULL, 'Add ...
>  ('ConsiderOnSiteCheckoutsAsNormalCheckouts',...
>  ('ContentWarningField', '',...
> +('CookieConsent', '0', NULL...
> 
> 3) System preferences - YAML
> 
> a)
> +         - pref: CookieConsent
> +           choices:
> +               yes: Require
> +               no: "Don't require"
> +         - cookie consent to be displayed
> 
> Should be 1 and 0. (blocker)

Fixed

> Should we rephrase a bit?

Re-written as per below

> ... cookie consent to be displayed in the OPAC and staff interface.
> 
> Question: Could it be interesting to make this OPAC only in the future?
> 
> b) Add Javascript code that will run if cookie consent is provided (e.g.
> tracking code).
> 
> Should we rephrase this a little?

Re-phrased as per below

> Run the following JavaScript if cookie consent was provided (e.g. tracking
> code):
> 
> 
> 3) Add to cookie documentation please 
> 
> https://wiki.koha-community.org/wiki/Use_of_Cookies 
> 
> For OPAC and staff interface.

Done

> 
> 4) Translatability (blocker)
> 
>           '    <a class="consentDelete" data-target="' + id + '"
> href="#">Delete</a>' +

Fixed 

> 
> 5) Test plan and comments
> 
> Giving that this is an old development there are quite some inconsistencies
> in what is the final product and what is mentioned in the commit messages.
> Like we started out with 4 prefs and now 2 are HTML customizations. Some
> squashing and clean-up could be really helpful I think.
> 
> But: great updated test plan in comment 121 !

I've squashed the original commits into one to remove the confusing messages. I've also consolidated the accessibility fixes into one commit and combined a couple of other similar commits to try and prevent duplication


> 
> 6) Display issues
> 
> a) In the OPAC, the cookie banner overlaps and blocks access to the language
> selection at the bottom. If you have them at the top too, that's ok, but
> some libraries prefer one over the other ( OpacLangSelectorMode  = only
> footer ).

Fixed - it will now sit above the language selection when visible

> 
> b) In the staff interface we have the language chooser in front, cutting off
> a bit of the "Accept all cookies" button.

Fixed as per above solution

> 
> c) In the OPAC readability (font color and size) is good, but in the staff
> interface it's much less readable. 

It currently just uses the default bootstrap class as in the rest of Koha, could this be a problem elsewhere?

> 
> 
> 7) Patron account  
> 
> a) It doesn't appear to be possible to revoke the general cookie consent?

Do you mean consent to all cookies including for example the session id? Giving this option could lead to issues with using Koha, we would probably need to be specific about which cookies this would delete

> 
> b) The contrast on the yellow "Accept selected non-essential" cookies seems
> bad (greyish font color on yellow background)

It currently just uses the default bootstrap class as in the rest of Koha, could this be a problem elsewhere?

> 
> c) Should the button read "View and update..."?
> 
> d) I cannot close/cancel the modal without making a change. Clicking
> outside, pressing ESC, nothing works. We shoudl have a "Cancel" link. This
> is also true when using the "your cookies" link for a non-authenticated user.

I've added a cancel button that now closes the modal

> 
> 
> 8) Visibility OPAC/staff 
> 
> a) I checked one of the cookies for only OPAC and one only for staff
> interface. I still see all 3 cookies in the pop-up in both OPAC and staff
> after clearing local storage.
> 
> b) This might be related: test2 is my "staff only" cookie. It's unchecked in
> the view, but it still gets added every time I refresh any OPAC page.
> Same for my "opac only" cookie: it's always added in staff interface on page
> reload.

For points A and B I've added some filtering into the call for the cookies code. This was missing previously so all cookies were being provided to both the OPAC and the staff client. This should now be fixed
> 
> c) Where can staff view and alter their cookie consents?

I've added a "My Consents" option under the user menu dropdown in the top right hand corner. This opens the modal and allows staff to review their consents


Hopefully I've addressed everything, let me know if there are any further comments!
Comment 158 Matt Blenkinsop 2023-07-28 09:34:45 UTC
Created attachment 154015 [details] [review]
Bug 27378: Introduce cookie consent to OPAC and staff client

To avoid confusion around commit messages and the content of this enhancement, this first commit is a squashed commit of all the original code submited to this bug. Following a few years of inactivity, it has been rebased and re-submitted with some fixes and concept changes contained in the more recent commits.

Signed-ff-by: Barry Cannon <bc@interleaf.ie>
Comment 159 Matt Blenkinsop 2023-07-28 09:34:49 UTC
Created attachment 154016 [details] [review]
Bug 27378: (follow-up) Add missing filters

(cherry picked from commit 6b8565b949b62269f6d850e6d412458d0dbcfb37)
Comment 160 Matt Blenkinsop 2023-07-28 09:34:53 UTC
Created attachment 154017 [details] [review]
Bug 27378: Fix accessibility issues
Comment 161 Matt Blenkinsop 2023-07-28 09:34:58 UTC
Created attachment 154018 [details] [review]
Bug 27378: Update to new atomicupdate structure

This patch consolidates the previous 4 database update files into one atomicupdate file in line with the new structure
Comment 162 Matt Blenkinsop 2023-07-28 09:35:03 UTC
Created attachment 154019 [details] [review]
Bug 27378: Change ConsentJS to CookieConsentedJS

This patch updates the name of the ConsentJS syspref to CookieConsentedJS and amends the description to be more clear what the syspref is for
Comment 163 Matt Blenkinsop 2023-07-28 09:35:08 UTC
Created attachment 154020 [details] [review]
Bug 27378: Stop the codemirror editor and delete confirmation from duplicating

Previously, if the "Add new code button" was clicked in the CookieConsentedJS editor, the original entry would have duplicated CodeMirror editors.
This was exponential, i.e adding two new lines would result in three codemirror editors appearing on the first entry, two on the second and so on.
The click event was not being applied properly and was being applied to every element with the .expand-textarea class, rather than specifically the new elements being created. The addExpandHandler function now loops through each element individually and decides whether to apply the click event handler.

Similarly, the delete confirmation was dupliacting for the same reason. This has also been resolved.
Comment 164 Matt Blenkinsop 2023-07-28 09:35:12 UTC
Created attachment 154021 [details] [review]
Bug 27378: Remove two sysprefs and replace with html customisations

Currently there are two sysprefs - CookieConsentBar and CookieConsentPopup. These allow the user to select what text they would like to see in the consent bar and modal. These have been removed and replaced with HTML customisations to allow more flexible customisations and different languages.

Sponsored by: PTFS-Europe
Comment 165 Matt Blenkinsop 2023-07-28 09:35:17 UTC
Created attachment 154022 [details] [review]
Bug 27378: (QA follow-up) Small fixes and tidy-ups

This patch does the following:
- Realphabetizes the lines in sysprefs.sql
- Fixes a formatting error in patrons.pref
- Adjusts the position of the cookie consent bar if the language selector is visible
- Fixes translatability on the syspref modal
Comment 166 Matt Blenkinsop 2023-07-28 09:35:21 UTC
Created attachment 154023 [details] [review]
Bug 27378: (QA follow-up) Allow staff to view their cookie consents

This patch allows staff to view their cookie consents through a link in the dropdown menu in the navbar. Previously staff had no way of accessing their cookie consents
Comment 167 Matt Blenkinsop 2023-07-28 09:35:26 UTC
Created attachment 154024 [details] [review]
Bug 27378: (QA follow-up) Add cancel button to cookie modal

This patch adds a cancel button to the modal for reviewing cookie consents. Previously there was no way to exit without selecting one of the cookie options
Comment 168 Matt Blenkinsop 2023-07-28 09:35:30 UTC
Created attachment 154025 [details] [review]
Bug 27378: (QA follow-up) Add filtering for OPAC only and staff only cookies

This patch fixes an issue where cookies selected as OPAC only would still show in the staff client and vise versa. The cookies are now filtered and only the correct cookies will be used in the OPAC and staff client
Comment 169 Katrin Fischer 2023-07-28 11:16:48 UTC
Hi Matt,

1) Tests are not passing:

prove t/db_dependent/Koha/Template/Plugin/JSConsents.t
t/db_dependent/Koha/Template/Plugin/JSConsents.t .. 1/3     # No tests run!

#   Failed test 'No tests run for subtest "all"'
#   at t/db_dependent/Koha/Template/Plugin/JSConsents.t line 23.
Not an ARRAY reference at /kohadevbox/koha/Koha/Template/Plugin/JSConsents.pm line 34.
# Looks like your test exited with 255 just after 3.
t/db_dependent/Koha/Template/Plugin/JSConsents.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 1/3 subtests 

2) Please some more tidy on the new files:

 WARN	installer/data/mysql/atomicupdate/bug_27378-add_cookie_consents.pl
   WARN	  tidiness
		The file is less tidy than before (bad/messy lines before: 0, now: 5)

 WARN	t/db_dependent/Koha/Template/Plugin/JSConsents.t
   WARN	  tidiness
		The file is less tidy than before (bad/messy lines before: 0, now: 2)
Comment 170 Katrin Fischer 2023-07-28 11:32:31 UTC
3) Cancel button in the modals should be a cancel link (not blocker)

We usually have the design pattern that the submit is a button, but that the cancel is a link.

4) Cookie name or description with diacritics have OPAC and staff interface explode

I had:
Name: OPAC1ü
Description: Description1ü

Template process failed: undef error - malformed UTF-8 character in JSON string, at character offset 33 (before "\x{fffd}scription":"...") at /kohadevbox/koha/Koha/Template/Plugin/JSConsents.pm line 33.
 at /kohadevbox/koha/C4/Templates.pm line 127

I'll wait with further testing until this is fixed.
Comment 171 Matt Blenkinsop 2023-07-31 13:44:18 UTC
Created attachment 154093 [details] [review]
Bug 27378: (QA follow-up) Fix tests and character encoding

This patch fixes an encoding issue when using diacritics. It also fixes a failing test, corrects the format of the "Cancel" links in the modal and perltidy has been used on all relevant files
Comment 172 Katrin Fischer 2023-08-04 12:48:17 UTC
Back for this one...
Comment 173 Katrin Fischer 2023-08-04 13:08:41 UTC
Created attachment 154264 [details] [review]
Bug 27378: Introduce cookie consent to OPAC and staff client

To avoid confusion around commit messages and the content of this enhancement, this first commit is a squashed commit of all the original code submited to this bug. Following a few years of inactivity, it has been rebased and re-submitted with some fixes and concept changes contained in the more recent commits.

Signed-ff-by: Barry Cannon <bc@interleaf.ie>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Comment 174 Katrin Fischer 2023-08-04 13:08:45 UTC
Created attachment 154265 [details] [review]
Bug 27378: (follow-up) Add missing filters

(cherry picked from commit 6b8565b949b62269f6d850e6d412458d0dbcfb37)
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Comment 175 Katrin Fischer 2023-08-04 13:08:49 UTC
Created attachment 154266 [details] [review]
Bug 27378: Fix accessibility issues

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Comment 176 Katrin Fischer 2023-08-04 13:08:52 UTC
Created attachment 154267 [details] [review]
Bug 27378: Update to new atomicupdate structure

This patch consolidates the previous 4 database update files into one atomicupdate file in line with the new structure

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Comment 177 Katrin Fischer 2023-08-04 13:08:56 UTC
Created attachment 154268 [details] [review]
Bug 27378: Change ConsentJS to CookieConsentedJS

This patch updates the name of the ConsentJS syspref to CookieConsentedJS and amends the description to be more clear what the syspref is for

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Comment 178 Katrin Fischer 2023-08-04 13:09:00 UTC
Created attachment 154269 [details] [review]
Bug 27378: Stop the codemirror editor and delete confirmation from duplicating

Previously, if the "Add new code button" was clicked in the CookieConsentedJS editor, the original entry would have duplicated CodeMirror editors.
This was exponential, i.e adding two new lines would result in three codemirror editors appearing on the first entry, two on the second and so on.
The click event was not being applied properly and was being applied to every element with the .expand-textarea class, rather than specifically the new elements being created. The addExpandHandler function now loops through each element individually and decides whether to apply the click event handler.

Similarly, the delete confirmation was dupliacting for the same reason. This has also been resolved.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Comment 179 Katrin Fischer 2023-08-04 13:09:04 UTC
Created attachment 154270 [details] [review]
Bug 27378: Remove two sysprefs and replace with html customisations

Currently there are two sysprefs - CookieConsentBar and CookieConsentPopup. These allow the user to select what text they would like to see in the consent bar and modal. These have been removed and replaced with HTML customisations to allow more flexible customisations and different languages.

Sponsored by: PTFS-Europe

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Comment 180 Katrin Fischer 2023-08-04 13:09:09 UTC
Created attachment 154271 [details] [review]
Bug 27378: (QA follow-up) Small fixes and tidy-ups

This patch does the following:
- Realphabetizes the lines in sysprefs.sql
- Fixes a formatting error in patrons.pref
- Adjusts the position of the cookie consent bar if the language selector is visible
- Fixes translatability on the syspref modal

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Comment 181 Katrin Fischer 2023-08-04 13:09:13 UTC
Created attachment 154272 [details] [review]
Bug 27378: (QA follow-up) Allow staff to view their cookie consents

This patch allows staff to view their cookie consents through a link in the dropdown menu in the navbar. Previously staff had no way of accessing their cookie consents

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Comment 182 Katrin Fischer 2023-08-04 13:09:16 UTC
Created attachment 154273 [details] [review]
Bug 27378: (QA follow-up) Add cancel button to cookie modal

This patch adds a cancel button to the modal for reviewing cookie consents. Previously there was no way to exit without selecting one of the cookie options

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Comment 183 Katrin Fischer 2023-08-04 13:09:20 UTC
Created attachment 154274 [details] [review]
Bug 27378: (QA follow-up) Add filtering for OPAC only and staff only cookies

This patch fixes an issue where cookies selected as OPAC only would still show in the staff client and vise versa. The cookies are now filtered and only the correct cookies will be used in the OPAC and staff client

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Comment 184 Katrin Fischer 2023-08-04 13:09:24 UTC
Created attachment 154275 [details] [review]
Bug 27378: (QA follow-up) Fix tests and character encoding

This patch fixes an encoding issue when using diacritics. It also fixes a failing test, corrects the format of the "Cancel" links in the modal and perltidy has been used on all relevant files

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Comment 185 Katrin Fischer 2023-08-04 13:09:28 UTC
Created attachment 154276 [details] [review]
Bug 27378: (QA follow-up) Tidy admin/preferences.pl

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Comment 186 Katrin Fischer 2023-08-04 13:55:33 UTC
Ok, I think this all works now. I am really glad we found the encoding issue last round of testing, that would have bitten us badly.
Comment 187 Matt Blenkinsop 2023-08-10 08:27:59 UTC
Thanks for persevering on this one Cait!
Comment 188 Tomás Cohen Arazi 2023-09-12 12:43:14 UTC
Pushed to master for 23.11.

Nice work everyone, thanks!
Comment 189 Marcel de Rooy 2023-09-12 14:55:02 UTC
(In reply to Tomás Cohen Arazi from comment #188)
> Pushed to master for 23.11.
> 
> Nice work everyone, thanks!

Great !
Add a pointer for usage in the release notes ?
Comment 190 Marcel de Rooy 2023-09-13 11:27:45 UTC
Noticing that the combination of GDPR consent and cookie consent looks a bit weird on the opac-user consents tab.

The first one is with radio buttons.
The second cones directly under it (needs spacing) and is a popup where I can only click Accept.

On bug 31503 I added additional consent types. The idea is that they share the same Save button. (Working with a description text, and two radio buttons. And showing the consent date from the patron consent table.)

Could we rework this cookie consent somehow in the same line of thought?

As a side note, 31503 is a retry of a development that stranded in QA last year because of opposition to the use of Authorised values.. This approach uses plugins.
Comment 191 Martin Renvoize 2023-09-14 15:02:08 UTC
I don't see space issues myself.. could you drop a screenshot in here Marcel?

Regards switching away from the modal.. it would mean sharing less code in the end case as the modal is used as the 'More information' dialogue when clicked on in the banner.

I do think there aught to be some default content in the modal however.. I was surprised that we don't list the required cookies and what they do at all.. only the extra tracking cookies an administrator may be adding.

I'm not sure how you could tie it all to one save button though.. the options in the modal are more voluminous (Accept all cookies, Accept essential cookies only, Accept selected non-essential cookies, Cancel).
Comment 192 Martin Renvoize 2023-09-14 15:04:35 UTC
That same modal is also used for the 'Your cookies' button when you've accepted cookies but not logged in yet.
Comment 193 Fridolin Somers 2023-09-14 18:18:19 UTC
Large enhancement not pushed to 23.05.x
Comment 194 Martin Renvoize 2024-02-07 13:41:54 UTC
There's a whole set of follow-up bugs dealt with 3 months ago that should really have been in the first point release.. why is it taking so long to work through QA queues :(