humanswitch / consentcookie Goto Github PK
View Code? Open in Web Editor NEWOpen source AVG solution for websites
License: Apache License 2.0
Open source AVG solution for websites
License: Apache License 2.0
The versions before version 1.0, it was possible to show an application info panel by clicking on an application in the list.
We agreed to drop this info panel for version 1.0, but also agreed it should be added back in the future. So let's put it back.
Open, Close and change view in ConsentCookie using the ConsentCookie API
An API that is available to navigate within ConsentCookie
There is no API available
If an application image is missing the image shows as a broken image.
In previous versions it just doesn't show. That is a better solution.
In version 1.0.0 the image of an application shows as a broken image. In revision 150a0a6 it just doesn't show.
No application icon available then just don't show.
I used a custom application without filling in the iconurl.
Put code from below in a testpage.
<script type='text/javascript' src='https://cdn.humanswitch.services/cc/consentcookie/app/1/consentcookie.min.js'></script>
<script type='text/javascript'> window.ConsentCookie.init({"general":{"uuid":"f214c780-c6d2-11e8-998e-6fbaff97eac7","generatedBy":"_2.0.1","consent":{"type":"application"},"gdpr":{"contact":"https://www.christianvriens.com"},"consentwall":{"enabled":true,"timeout":1000},"language":{"default":"en","fallback":"en"}},"apps":{"consent":{"testapp":{"initstate":"optin"},"aco":{"dataProcessings":[],"initstate":"optin"}},"endpoint":"","static":{"nl":[{"id":"iq","name":"IQNOMYapp","company":"HumanSwitch","description":"Deze app wordt gebruikt om CC te testen","icon":"//cdn.humanswitch.services/cc/consentcookie/logo/ga.png","infolink":{"connection":"https://analytics.google.com","profile":"https://analytics.google.com"},"dataProcessing":[{"id":"ga","dataIds":{"cookies":["_ga","__utma","__utmb"]}}],"plugin":"https://cdn.humanswitch.services/cc/consentcookie/plugins/google-analytics/plugin.js"}],"en-US":[{"id":"testapp","name":"TestApp","company":"HumanSwitch","description":{"connection":"Thisappisfortestingpurposes","profile":""},"icon":"//cdn.humanswitch.services/cc/consentcookie/logo/ga.png","infolink":{"connection":"https://analytics.google.com","profile":"https://analytics.google.com"},"dataProcessing":[{"id":"ga","dataIds":{"cookies":["_ga","__utma","__utmb"]}}],"plugin":"https://cdn.humanswitch.services/cc/consentcookie/plugins/google-analytics/plugin.js"}]}},"design":{"layout":{"position":"right"},"colorscheme":{"primary":"#2F3499","secondary":"#B7BAFE"}},"resources":{"en":"en-US","en-US":{"general":{"on":"on","off":"off","close":"close","moreInfo":"Moremore"},"menu":{"applications":"Yourconfiguration","about":"AboutCC","open":"OpenCC","close":"CloseCC","disabled":"Firstaccepts"}}},"purposes":{"consent":{"ccp-ot":{"initstate":"optin"}}}} );
</script>
Veelbelovend maar nog niet helemaal duidelijk genoeg. De icoontjes links in de popup zijn (voor mij) nietszeggend op dit moment. Dit zou veel duidelijker moeten zijn wat de verschillende soorten cookies zijn. Misschien gewoon textueel voor te stellen ipv aan de hand van iconen.
Current used Webpack is outdated. We need to update Webpack used for building ConsentCookie
Replace Webpack and Webpack dependencies with newer version
This options is very handy for multi language websites. The consent cookie can then automaticly be set by the website to the default language.
Is described in #55.
Issue #47 describes the functionality for multilanguage. But this is based on browser language and the default language is Dutch.
You should be able to configure default and fallback languages
Preference in CC language:
Default language throug CC-API. Set the default language through the API.
Default language then this language is always used if available in language file.
Next preferred browser language If preferred browser language isn't available then the next second etc. should be checked before going to the fallback (improvement for #47)
Fallback language If browser language isn't available then this language should be used. Now this is dutch and this should be configurable
CC default code language English is improvement
In CC init json you should be able to configure in object 'general':
This should be used in ConsentCookie language setting.
In the demo, shown in the screenshot, the Google Tag Manager and IQNOMY the toggle should be disabled but shown as 'on'
The toggles value is set 'off'
n.a.
It is showing the wrong state
If trackers are omitted in the settings but are specified in the ConsentCookie for the current user, they still are visible
// An example of ConsentCookie initialized with a custom config
ConsentCookie.init({
'connections': {
'cc': {
'initstate': 'disabled'
},
'iq': {
'initstate': 'optout'
},
'ga': {
'initstate': 'disabled'
}//, Google Tag Manager omitted
//'gtm': {
//'initstate': 'disabled'
//}
},
'moreinfolink': 'https://www.humanswitch.io/over/privacy/'
});
</script>
ConsentCookie content
cc=-1&iq=0&ga=1>m=-1
I expected the omitted tracker to not-be-shown
It shows, if i clean my local cookies it behaves as expected
don't initialize trackers not mentioned in the init of they are not mentioned in the settings
Remove consentcookie
cookie
With the new datamodel ConsentCookie applications can have multiple plugins defined. But not plugins are aplicable. We need to determine how to handle which plugin to be loaded when multiple plugins are available.
With ConsentCookie.get("<app id>")
you will get an object that represents a consent.
This object will have a property called flag
. Like stated in the documentation the value 0 represents a disabled (rejected?) consent and the value 1 represents an enabled (granted?) consent.
I think the term flag is ambiguous.
In my opinion, it would be better to have this flag
property only for internal use and backward compatibility.
Instead, functions like:
ConsentCookie.isGranted("<app id">)
ConsentCookie.isRejected("<app id">)
ConsentCookie.get("<app id>").isGranted()
ConsentCookie.get("<app id>").isRejected()
Copied the script from the configurator to my website to put consentcookie live.
My script:
<script src="//www.consentcookie.nl/consentcookie/dev/consentcookie.min.js"></script>
<script>window.ConsentCookie.init({
"apps": {
"endpoint": "https://www.consentcookie.nl/consentcookie/latest/consentcookie.json",
"consent": {
"cc": {
"initstate": "optin"
},
"ga": {
"initstate": "optin"
},
"gtm": {
"initstate": "optin"
}
}
},
"design": {
"layout": {
"position": "right"
},
"colorscheme": {
"primary": "#6DE2FC",
"secondary": "#FFFFFF",
"tertiary": "#FFFFFF"
}
},
"resources": {
"nl": {
"info": {
"title": "Over ConsentCookie",
"text": "<p>Baas over eigen data, dat vinden wij heel normaal. Niet alleen vanwege de AVG, maar omdat wij geloven in transparantie en fatsoen. Daarom gebruiken wij ConsentCookie.</p>\n<p>ConsentCookie laat jou zien welke data we van jou verzamelen en waarom we dat doen. Ga naar Jouw instellingen om jouw persoonlijke voorkeuren vast te leggen. Ze zijn daarna direct van kracht en kunnen op elk moment worden aangepast.</p>\n<p>ConsentCookie op jouw eigen website gebruiken?<br />Voor meer informatie:<a href=\"\\"http:/www.consentcookie.nl\\"\">www.consentcookie.nl</a></p>"
}
}
}
});
</script>
Currently all texts are in Duch and not other language is supported
ConsentCookie should have the option to show texts in different languages. Also you should be able to update the language settings, so that you can toggle between different translations.
No multi language support
When unregistering a listener with ConsentCookie.off
the error:
app.js?7ac9:104 Uncaught TypeError: mainInstance.off is not a function
at Object.off (eval at (consentcookie.js:1012), :104:23)
at :1:15
is thrown. The listener is still active.
No error, listener unregistered (inactive).
window.myListener = function($payload) { console.log($payload); };
ConsentCookie.on("connection", window.myListener);
ConsentCookie.off("connection" , window.myListener)
in your browser consoleConsentCookie should load the icons from a fixed location if no location is explicitly configured for the application.
This list shows language codes used in browsers: https://www.metamodpro.com/browser-language-codes
If someone has language en-US and the languages available in CC are 'en' and 'nl'.
There is no default setting and the fallback is 'nl'.
I think we should use 'en'
Are we going to use the as an automatic process OR/AND are should there be an option to set a reference from a language code to an available language.
Example:
'ar' (arabic as browser language) should refer to 'en'
'pl' (polish as browser language) should refer to 'en'
I configured ConsentCookie with an almost transparent secondary color.
The whole circle should be transparent.
Configure ConsentCookie using:
window.ConsentCookie.init({"apps":{"endpoint":"https://www.consentcookie.nl/consentcookie/latest/consentcookie.json","consent":{"cc":{"initstate":"optin"},"gtm":{"initstate":"optin"}}},"design":{"layout":{"position":"right"},"colorscheme":{"primary":"#6DFC90","secondary":"rgba(157,32,119,0.02)","tertiary":"#2C612B"}},"resources":{"nl":{"info":{"title":"Over ConsentCookie","text":""}}}});
if (true) {
}
When I try to add the script to my Laravel project I'm getting multiple JS errors: http://joxi.ru/EA4BYJ9UD39Pvm
[Error] [vuex] already installed. Vue.use(Vuex) should be called only once.
[Error] TypeError: undefined is not an object (evaluating 'D.$store.state') — viewService.js:93
[Error] TypeError: undefined is not an object (evaluating 'M.$services') — consentService.js:119
[Error] TypeError: undefined is not an object (evaluating 'D.$store.commit') — viewService.js:158
[Error] TypeError: undefined is not an object (evaluating 'this.$store.state') — consentcookie.min.js:4473
[Error] TypeError: undefined is not an object (evaluating 'D.$store.state')
The script is working as expected
multiple JS errors (see above)
I can't use ConsentCookie
Laravel 5.4
Besides Dutch we want to add English as default translation
Let's say I configured ConsentCookie with three applications: A, B, and C.
I visit the website. I will get three consent cookies.
Now I change the configuration with only two applications: A and B.
If a plugin executes the following code:
ConsentCookie.get().consents
it will return all consents (cookies) which are found for the current visitor: A, B, and C.
But only A and B might be relevant.
Therefore it would be nice to have a function which only returns the configured consents. For example something like:
ConsentCookie.getConsentsConfigured()
Which come to think of it: maybe ConsentCookie.get()
is a bit ambigious: what are you getting?! Maybe ConsentCookie.getConsents()
is better?
A consent initialized with a consent having initstate:alwayson does not have the alwayson state.
#6 describes the change initstate:disabled to initstate:alwayson.
This is implemented in 0.6 but apparantly not working.
initstate:alwayson should behave as "Always on"
Nothing happens. The inistate is not used
n.a.
ConsentCookie.init({
'apps': {
'endpoint': '',
'consent': {
'cc': {
'initstate': 'disabled'
},
'iq': {
'initstate': 'optout'
},
'ga': {
'initstate': 'optin'
},
'gtm': {
'initstate': 'alwayson'
}
}
},
'design': {
'layout': {
'position': 'right'
},
'colorscheme': {
'primary': '',
'secondary': '',
'tertiary': '',
}
},
'resources': {
'nl': {
'info': {
"title":"",
"text":""
}
}
}
});
n.a.
On all
Hel lukt mij, in ieder geval op een mobiel apparaat, niet om cookies uit te zetten. Alleen extra cookies aanzetten lukt. Dat kan toch niet de bedoeling zijn? (bewerkt)
De achtergrond van titelbalk 'jouw instelling' was wit bij een test.
Reden is dat de styling te globaar is. '.wrapper' in dit geval.
Voorbeeld van een situatie waarin het fout gaat.
Styling van de website mag niet styling van CC overschrijven.
Beter zou zijn om bij een class naam een prefix te zetten: cc_
In standaard demoshop magento gaat het fout.
http://ccm1.fros.it/
This is just a FYI issue to notify that you were added to the curated awesome-humane-tech in the 'Consent' category, and - if you like that - are now entitled to wear our badge:
By adding this to the README:
[![Awesome Humane Tech](https://raw.githubusercontent.com/humanetech-community/awesome-humane-tech/main/humane-tech-badge.svg?sanitize=true)](https://github.com/humanetech-community/awesome-humane-tech)
The current error is as follow
A more clear message what happend
See screen above.
Improve the error message or catch the error and throw a default error message
n.a.
n.a. all enviroments.
I'm looking for the tracker-list which, according to the documentation, is supposed to be found at https://github.com/humanswitch/consentcookie/blob/master/src/assets/json/trackers.json. This file does not exist though...
The constants file provide a default config object. We want to have the option to get default configs configured in the constants file
Some details in the description need to be based on tracker settings on the website
The description "Google Analytics verzameld geanonimiseerd gegevens over het surfgedrag op deze website. Door het anonimiseren is dit niet naar jou te herleiden." should partially be based on the initstate setting.
"Door het anonimiseren is dit niet naar jou te herleiden." depends on how GA is configured (anonymise thingie).
This could reflect as a option for 'initstate'
Return of ConsentCookie.get() does not contain a public variables consents
with the key-value mapping of the Consents mapped by the id
Make the API backwards compatible with 0.6.4
GTM implementation does not work properly
n.a.
The link to the trackers within the readme redirects to https://github.com/humanswitch/consentcookie/blob/master/src/assets/json/trackers.json, which is a 404 page
When having lot's of applications, the applications won't fit in the application window. Scrolling works just fine in this case, but there is no indication that scrolling is possible. We need something like a scrollbar. The code already contains code for this, but does not seem to work and is therefore disabled.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.