Code Monkey home page Code Monkey logo

we_cookie_consent's Introduction

TYPO3 ๐Ÿช Extension: we_cookie_consent

Cookie Consent Panel (Optin) with DSGVO/GDPR compliant use of cookies. Preconfigured modules for Google Analytics, Facebook and other frequently used services. Arbitrary expandability with tracking scripts that generate cookies on your website. Support for Google Tag Manager incl. Google Consent Mode and Google Consent Mode v2. Easy export for Google Tag Manager. Third-party cookies and scripts are only loaded when active consent is given. Website visitors can edit their privacy settings at any time. Automatic update of cookie information when new cookies/scripts are inserted with secure consent procedure. Cookies can be automatically added to the privacy policy via a plugin. Multilingual and full support for desktop, tablet and mobile. Four standard modes for displaying the content solution. Based on Klaro!.

Links

Demo: https://consent.websedit.de/
Documentation: https://consent.websedit.de/dokumentation
TYPO3 Extension Repository: https://extensions.typo3.org/extension/we_cookie_consent/
Packagist: https://packagist.org/packages/websedit/we-cookie-consent\

Note on v2.1.0

Due to the update of the klaro library to version 0.7.x there have been some changes. Klaro has revised the generation of the HTML DOM and some CSS classes. We have implemented a fallback function that makes an update from the old 1.3 to the new 2.0 as smooth as possible. Please note that we cannot guarantee that everything will look exactly the same as before, especially with existing customisations to the output in CSS. Therefore, please check the output after an update.

Support

If you need private or personal support, contact us via our contact form on https://consent.websedit.de/.

we_cookie_consent's People

Contributors

gregorweb avatar webseditag avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

we_cookie_consent's Issues

Provide SASS source files

Hello, thanks for your nice extension!

My request: Please provide the SASS source files (if existing) for easier style adaptions.

Karionis

YoutubeRenderer in 2.1 unnecessary?

Typo3 uses the nocookie url from youtube for embedded youtube videos, and should never set cookies. Because of this, the data-src for the iframe would actually be unnecessary?

I have the problem that I have a multipage setting and i use we_cookie_consent only for one of the pages, but videos would not be displayed on any of the other pages either.

Cookie-List: Undefined array key "klaro"

Hello we use your extension in TYPO3 version 12 and get the following error in the cookie list output:

PHP Warning: Undefined array key "klaro" in .../typo3conf/ext/we_cookie_consent/Classes/Controller/ConsentController.php line 135

Are there any approaches where the problem could lie?

Furthermore, we have used the extension in a TYPO3 version 10.4. and we have noticed an error where categories with umlauts cause an error. The array "$klaroConfig" contains an error due to an umlaut and cannot be encoded.

SCR-20240620-mspw-2

SCR-20240620-mspw

When editing a service and changing a field (like Google ID) without changing the provider an exception is thrown

We have a service defined and added the Google ID sometime later after initial record creation. Now the following line throws an exception, because the provider hasn't changed and therefore has no value in $fieldArray it seems.

if ($table === 'tx_wecookieconsent_domain_model_service' && $fieldArray['provider'] === 'google-tagmanager-service') {

Bildschirmfoto 2023-04-05 um 15 24 55

Remove jQuery

As we are not using jQuery by default, we get immediate errors in the console.

Since jQuery is used for simple things in the ConsentController, I'd like to convert it to plain JS.

Label not overwrite [klaro.poweredBy]

I am using typo3 version 11.5 and extension version 4.0.4. I want to changed poweredBy label and for this i am using below typoscript.

plugin.tx_wecookieconsent_pi1 {
	_LOCAL_LANG {
		default {
			klaro.poweredBy = Bereitgestellt von Ihrer Firma
		}
		de {
			klaro.poweredBy = Bereitgestellt von Ihrer Firma
		}
	}
}

But it's not working. can you help me out here? how can i changed this labels?

Questions regarding documentation

Hi hi,

I'm using your extension EXT:we_cookie_consent in a few TYPO3 projects for my clients and I wanted to say thank you, first of all, for it! It's quite well documented and easy to set it up.

Additionally, I wanted to ask you a few questions which are not completely clear to me reading the docs:

A) What's the difference between the "Google Analytics [google-analytics]" & "Google Analytics Universal [google-analytics-universal]" services shipped with the extension? Could this be further explained in the official documentation e.g. https://consent.websedit.de/fileadmin/consent/daten/dokumentation-we_cookie_consent-en-v2.0-20210621.pdf[](https://consent.websedit.de/datenschutz#c222) Just configuring one of them as a BE record in the "Cookie consent" folder would be enough?

B) Taking into account I created a "Google Analytics [google-analytics]" service record in the BE for one of my clients, it is clear to me I should add the cookie "_ga" cookie over "Cookies" tab. But do I also need to add the specific cookie related to my Google account e.g. "_ga_ABCDEFG"? I would personally add it, as this is a cookie which is set when the cookie consent is accepted, but I see you don't list it, for example, under your website data privacy's page https://consent.websedit.de/datenschutz#c222[](https://consent.websedit.de/fileadmin/consent/daten/dokumentation-we_cookie_consent-en-v2.0-20210621.pdf) . I'm a bit confused.

C) From the other side, if we save under the cookie "klaro" (by default) the user preferences for the rest of the cookies, shouldn't we add the cookie itself listed in the plugin, as mandatory? Or there's no need for that according to data protection law?

D) I got another project where the client used Google Tag Manager. Reading section 4.2. from the official documentation https://consent.websedit.de/fileadmin/consent/daten/dokumentation-we_cookie_consent-en-v2.0-20210621.pdf it is not clear to me if I should COMPLETELY follow the steps described in the sections 4.2.1, 4.2.2, 4.2.3, 4.2.4 & 4.2.5 (which is empty, by the way) or just covering one section is enough.

E) What's the difference between "Google Tag Manager [google-tagmanager]" & "Google Tag Manager - Service [google-tagmanager-service]"?

Not compatible with Typo3 11

Extension not compatible with Typo3 11. The solution would be to change line 90 in ConsentController.php in the renderAssetsForRequest method to check for instance of AbstractTemplateView instead of TemplateView

Expression could not be parsed

In Configuration/TypoScript/setup.ts file 109 throw the Error "Expression could not be parsed".

Possible Solution:
Uncomment Line 108 and comment out Line 109.

deprecated use of ExtensionUtility::registerModule

You still use the deprecated dot notation in the extension name for "VENDOR.EXT_NAME"

This changes in Typo3 11

Error handler (BE): TYPO3 Deprecation Notice: Calling method TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin with argument $extensionName ("WE.WeCookieConsent") containing the vendor name ("WE") is deprecated and will stop working in TYPO3 11.0. in /html/production/typo3_src-10.4.10/typo3/sysext/extbase/Classes/Utility/ExtensionUtility.php line 63

Undefined window.dataLayer

Until the user has given his consent for GTM the window.dataLayer in ConsentController.js line 111 ("window.dataLayer.push(tempObj);") is undefined. When I uncomment "window.dataLayer.push(tempObj);" in line 71, it works.

Google Maps iFrames

Hi,

I wanted to know whether it is possible to apply the contextual consent on other iframes besides Vimeo and YouTube. To be specific on Google Maps iframes. However there is no option for Google Maps in the provider dropdown.

How could I go about applying the contextual consent on those iframes?

Full disclosure:I'm not adept at coding. I'm familiar with HTML & CSS at most, as I am not a developer.

Thank you

Javascript files are cached in browser cache

The javascript files ConsentController.js and klaro.js are both part of the HTML without any version reference.
Changes in these files will not apply for visitors of the website with an earlier version which is cached by the browser, till the visitor clears the browser cache. By upgrading from 1.3 to 2.0 this gave us lot of troubles.

Possible fixes are: make the version of the extension part of the javascript URL, for example:
<script src="/Javascript/Controller/ConsentController.js?v=2.0.0"></script>
When a new version of the extension is released, the browser will automaticly download the script from the server instead of using the browser cache.

But maybe better: use the Typo3 PageRenderer to inject javascript files so typo3 can handle the files and eventually combine/merge the javascript with other scripts.

no privacy policy link for EN

Hi,

awesome extension, thx. I just have a problem with the EN version of it as the [privacyPage] placeholder won't be resolved. In the German version it is and shows text and link to proper page. In the locallang.xlf the placeholder was not included, I put it there as I need the link in the banner.

grafik

grafik

regards
Florian

Google Consent Mode V2

Not a real Issue.

Is it possible to create a google consent mode v2 ?

I can not find info about that.

Seems that many users use services such as cookiebot etc.

Can anyone point me out ?

Undefined array key "provider"

When enabling/disabling a service from the list view (not editing the service record), I receive the following warning:
Undefined array key "provider" in /var/www/html/vendor/websedit/we-cookie-consent/Classes/Hook/AfterSaveHook.php line 12

I guess there just needs a check to be added if this array key exists (or nullsafe operator).

PHP: 8.3
TYPO3: 12.4.16

Thanks for this extension ๐Ÿ‘

Extension icon under Resources/Public/Icons/ folder

According to official documentation (see https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ExtensionArchitecture/FilesAndLocations/Index.html#reserved-file-names), extension icon should be under Resources/Public/Icons/Extension.svg.
Would you mind moving it to that location, instead of the root of extension /ext_icon.svg?
We're using helhum/typo3-secure-web composer package, to use public resources under public/ and private code under private/ and the fact that the icon is not under Resources/Public/Icons makes it not reachable in the Extension Manager.

On typo3 7.6.52 -Dev, upgrading from 1.2.1

From version 1.2.1 I'm unable to update the extension to higher versions.
Switching to version 1.3 I get a 500 error on the site, switching to 2.x I get this error:
The class "Websedit\WeCookieConsent\Resource\Rendering\YouTubeRenderer" you are trying to register is not available.
At each update attempt the typo3temp/autoload folder was emptied and all caches cleared.

Description of cookie cannot contain special characters like quotes

When a service/provider description containers special characters the app is not pushed to the cookie popup. Javascript breaks on:

description: '<f:format.stripTags>{service.description}</f:format.stripTags>' in /Resources/Private/Partials/Klaro/App.html

Attached is a patch proposal to fix this. To the best of my knowledge such a viewhelper does not exist. Because the description is used in diffrent views maby its best to fix the formatting on repo level. Just always return html encoded content so you know how to parse it in the app.

Patchfile attached

wecookieconsent.diff.txt

link to privacy property page is missing in EN

Hi,

awesome extension, thx. I just have a problem with the EN version of it as the [privacyPage] placeholder won't be resolved. In the German version it is and shows text and link to proper page. In the locallang.xlf the placeholder was not included, I put it there as I need the link in the banner.

grafik

grafik

regards
Florian

Google Analytics cookies enabled by default without consent

Good evening,

It is not very clear to me reading the official documentation https://consent.websedit.de/fileadmin/consent/daten/dokumentation-we_cookie_consent-en-v1.3.3-20201007.pdf what should be made to avoid the cookies for Google Analytics to be loaded before the cookie consent to be accepted.

I'm using latest version 1.3.3 for the extension and:

  1. I created the cookie consent service with "google-analytics" provider.
  2. I created the two cookies for my account like shown in the screenshot (specifying a description and lifetime for each one):

screenshot-2021 01 12-22_42_23

However, I'm not sure which checkboxes should be clicked under "Settings" tab, and I'm not sure which "api_key" should be provided.

Just to notice, this is the code I'm providing to my website: https://developers.google.com/analytics/devguides/collection/ga4

Could you help me with this issue?

Documentation: Missing hint to fill select categories as Klaro purposes

In both documentations (de + en) for version 1.3.x (others not checked) there is no mention at all, that the categories tab has to be used and something selected which configures the purpose property of Klaro. If no category is selected, no purpose is set in the Klaro app config and nothing will be displayed inside the modal to modify the settings.

It took me quite long to figure this out. Maybe add this to the documentation could help others too.

Localization

In a multilanguage environment we localized some consent records. But only on localized pages the localized records are shown. On not localized pages (with fallback to default language) the consent records also fall to the default language. But we always want to show the consent records in the language choosen by the visitor. Is this a bug or did I missed some configuration?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.