View Issue Details

IDProjectCategoryView StatusLast Update
0003671Composrcore_addon_managementpublic2020-03-29 18:28
ReporterAdamAssigned ToChris Graham 
Status resolvedResolutionfixed 
Product Version 
Fixed in Version 
Summary0003671: Cookie Consent Update
DescriptionThe Cookie Consent JS script we use has been revised.

I seem to have it working fine with the following code.

{$,Cookie Consent plugin by Silktide -}
    <link rel="stylesheet" type="text/css" href="//" />
    <script src="//"></script>
    window.addEventListener("load", function(){window.cookieconsent.initialise({"palette": {"popup": {"background": "#000"},"button": {"background": "#FFF"}},"theme": "block","position": "top","static": true,"content": {"message": "{!COOKIE_NOTICE;/,{$SITE_NAME}}","dismiss": "{!INPUTSYSTEM_OK;}","link": "{!READ_MORE;}","href": "{$PAGE_LINK;/,:privacy}"}})});

Some new options in the new version to only show the notice in countries which require it (which might tie in with Composr regionalisation somehow and allow this to default to being active).
TagsRoadmap: v11, Type: External dependency
Attach Tags
Time estimation (hours)0.5
Sponsorship open


related to 0000651 assignedChris Graham Composr non-bundled addons Sync with upstream libraries and with API versions (ongoing) 



2019-07-12 19:26

administrator   ~0006034

Implemented by [1] but no country detection is being done. Looking into that.


Chris Graham

2019-07-12 19:33

administrator   ~0006035

If they do this via IP detection, we can just let that run.
If they require an ISO code to be passed, we can detect that using our get_country() function (which uses a combination of methods, ultimately IP_Country.txt).

Discuss with me in IRC if you like.


2019-07-12 20:08

administrator   ~0006036

Last edited: 2019-07-12 21:15

View 1 revisions

3.1.1 is the latest release and the credit is now Osano, not Silktide

This is the location demo @


2019-07-12 20:45

administrator   ~0006037

Country detection implemented using get_country() and notice enabled by default [1]. Cookie Consent has support for location detection services but that requires fiddling around with API keys and paying for them or dealing with per day call limits.

Thanks for the heads up @Adam, updated.



2019-07-27 21:40

administrator   ~0006043

Last edited: 2019-07-27 21:46

View 2 revisions

Might be a better CDN to use as it always links to the latest version.

<script src="" data-cfasync="false"> is the example, not sure how important the data-cfasync is but thought I would mention that too.

Chris Graham

2019-07-28 23:19

administrator   ~0006045

We possibly should not be using any CDN.

I have just added a new coding standard which I think is important:

"Unless intrinsically necessary for a particular piece of functionality, do not rely on external URLs such as CDNs. External URLs create a number of problems, including: network firewalls operating with whitelists blocking functionality (e.g. in museums), erratic firewall blocking (e.g. in China), full functionality not being available offline (e.g. when developing on an airplane), or full functionality not working in private offline Intranets (e.g. in schools). If users want to make use of CDNs they can make manual changes to achieve it."

It might be we need to remote link, but I doubt it.

I realise v10 is remote linking, so this is a change.


2019-07-29 15:27

administrator   ~0006049

I agree that all files should be available locally. Something like fallback.js ( ) might be useful if any CDN fails for whatever reason, because there are some benefits to CDN's.

Issue History

Date Modified Username Field Change
2018-08-30 04:16 Adam New Issue
2018-08-30 04:19 Adam Sponsorship open 0 =>
2018-08-30 04:19 Adam Description Updated View Revisions
2018-08-31 17:02 Chris Graham Relationship added related to 0000651
2018-08-31 17:03 Chris Graham Time estimation (hours) => 0.5
2018-08-31 17:03 Chris Graham Description Updated View Revisions
2019-06-27 17:51 Chris Graham Tag Attached: Roadmap: v11
2019-06-27 17:51 Chris Graham Tag Attached: Type: External dependency
2019-07-01 19:27 Chris Graham Assigned To => Salman
2019-07-01 19:27 Chris Graham Status non-assigned => assigned
2019-07-12 19:26 Salman Note Added: 0006034
2019-07-12 19:33 Chris Graham Note Added: 0006035
2019-07-12 20:08 Adam Note Added: 0006036
2019-07-12 20:24 Adam Note Edited: 0006036
2019-07-12 20:45 Salman Status assigned => resolved
2019-07-12 20:45 Salman Resolution open => fixed
2019-07-12 20:45 Salman Note Added: 0006037
2019-07-12 21:15 Adam Note Edited: 0006036 View Revisions
2019-07-12 21:15 Adam Note Revision Dropped: 6036: 0002629
2019-07-12 21:15 Adam Note Revision Dropped: 6036: 0002630
2019-07-27 21:40 Adam Note Added: 0006043
2019-07-27 21:46 Adam Note Edited: 0006043 View Revisions
2019-07-28 23:16 Chris Graham Status resolved => assigned
2019-07-28 23:19 Chris Graham Note Added: 0006045
2019-07-29 15:27 Adam Note Added: 0006049
2020-03-28 01:06 Chris Graham Assigned To Salman => Patrick Schmalstig
2020-03-29 16:11 Chris Graham Assigned To Patrick Schmalstig => Chris Graham
2020-03-29 18:28 Chris Graham Status assigned => resolved