GDPR or Cookies plugins are nothing new. A simple search will give you a quick overview which jQuery based plugins are available.
So I decided the one that looked nicest to me and implemented it my XPages app. It worked but not when I met a user who was using IE. No JS error or whatever so where to start debugging? 😦
When looking in the original code I noticed that a different version of jQuery was used than is available on or Domino V10 server. So I posted an idea for an upgrade on the HCL Products Ideas Portal.
In the end I tried the Customizable EU Cookie Notice Popup Plugin which uses the 2.1.1 version of jQuery which is the same version as on the Domino server. (Loading multiple versions jQuery makes Dojo complain).
But then the requirements of the project changes and the functionality should become more to highlight news or updates within the application so I had to add some additional functionality:
- enable / disable news display/popup
- option to steer location / appearance on screen
- from / until dates, so a period when the message should be displayed.
I decided when the option to enable the display but leave the from and until dates empty the popup will be displayed as long as the session of the browser lasts.
So these settings are stored in a Notes – Configuration document and made available as session scope variables.
Also the content of the popup has to be easily editable so for this I use Notes – Keywords documents so I can have messages in multiple languages.
When the code was working I lifted it up into a custom control which I can now re-use across other applications. Not that the custom control contains custom properties (yet)
The function to set the cookie expiry date is as followed:
To set a java date in a scope variable can be a little tricky. I did it as follow:
But this is all the code I needed. The result is as followed:
Note: I have altered the JS file of the plugin to bootstrap it more and to make it responsive.
When I press the OK button a cookie is set that last a browser session (I left the from and until dates empty in my settings):
If you like this post then please support my idea for upgrading the jQuery version on Domino: https://domino-ideas.hcltechsw.com/ideas/DDXP-I-637
Happy development 🙂