GDPR compliant TYPO3 content elements which work great with PIWIK Consent Manager.

Overview
Mediengarage Logo

PIWIK Consent Manager TYPO3 extension

PIWIK Consent Manager integration in order to make TYPO3 content elements GDPR compliant.

You can click on the images in this readme to see a larger version.

  1. What does it do?
  2. Installation
  3. Quick Start
  4. TypoScript Condition
  5. Roadmap

πŸ€” What does it do?

Instead of privacy harming content a placeholder will be displayed to the user.

Bildschirmfoto 2022-06-09 um 21 56 47

Only when the user gives its consent on the PIWIK Consent Manager the page is reloaded and the actual content will be shown.

Bildschirmfoto 2022-06-09 um 21 57 13

πŸ“¦ Installation

  1. Install extension

    • Composer

      composer req mediengarage/piwik-consent-manager:~0.1
    • Non Composer

      If you want to install into a non composer TYPO3, using the TER is recommended. You can download and install it directly from the Extension Manager of your TYPO3 instance.

  2. Include static template into your root TypoScript template and click save:

    include_static_template
  3. Navigate to Configure extensions from the Settings module under Admin Tools:

    configure_extensions
  4. Enter your PIWIK Pro credentials. Check step 5 to see from where to retrieve those values from. Keep them secret!

    extensions settings
  5. Login to your PIWIK Pro account and navigate to Menu -> Administration. Choose your website and click the Installation tab.

    piwik_installation

πŸš€ Quick Start

Quickstart shows how to embed a YouTube video which is only displayed when a user gives its consent. A placeholder will be shown if no consent was set or it was declined.

In order to have a basic website for presentation purposes the quick start guide uses https://github.com/benjaminkott/bootstrap_package.

  1. Create a new content element anywhere on the page and choose YouTube from the new privacy tab:

    new_content_element
  2. Paste the embed markup into text area and choose a consent type to which the element should react. React means it will be displayed when the user gives its consent on that type. The default placeholder image can be overwritten on a per content element basis in the image tab.

    yt_content_element
  3. Login to your PIWIK Pro account and navigate to Menu -> Tag Manager. Create an asynchronous tag for the chosen consent type (Custom Consent in this example) in order to reload the page when a consent was sent. Don't forget to save and publish (or debug to test on production system).

    <script>
        location.reload();
    </script>
    piwik_tag

πŸ€“ Custom TypoScript Condition

In order to e.g. embed JavaScript based on whether a consent is set or not a custom TypoScript condition can be used.

[ConsentAspect('custom_consent')]
page.includeJSFooter {
  foo = EXT:bar/Resources/Public/JavaScript/script.js
}
[GLOBAL]

πŸ›£ Roadmap

  • We're currently working on a solution that works using ajax instead reloading the complete page.
  • The readme is clearly under construction πŸ™‚
You might also like...
This extensions makes it possible to modify the TCA of container children elements

This extensions makes it possible to modify the TCA of container children elements

🎨 Free custom elements for the WordPress Theme Bricks Builder.

🎨 Custom Elements for Bricks Builder Free custom elements for Bricks, the visual site builder for WordPress. If you find the elements useful, click o

The swiss army knife for Magento developers, sysadmins and devops. The tool provides a huge set of well tested command line commands which save hours of work time. All commands are extendable by a module API.

netz98 magerun CLI tools for Magento 2 The n98 magerun cli tools provides some handy tools to work with Magento from command line. Build Status Latest

An amazing Rank and Permissions Manager. The best ranks manager for PocketMine-MP.

πŸ‘‘ RankSystem πŸ”§ An amazing Rank and Permissions Manager Description: An amazing Rank and Permissions Manager. The best ranks manager for PocketMine-M

Laravel Podcast Manager is a complete podcast manager package for Laravel 5.3+ that enables you to manage RSS feeds for your favorite podcasts and listen to the episodes in a seamless UI.
Laravel Podcast Manager is a complete podcast manager package for Laravel 5.3+ that enables you to manage RSS feeds for your favorite podcasts and listen to the episodes in a seamless UI.

laravelpodcast | A Laravel podcast manager package - v0.0.8 Introduction Laravel Podcast Manager is a complete podcast manager package for Laravel 5.3

Laragon MultiPHP per App + PECL Module + Extension manager + Ini Manager
Laragon MultiPHP per App + PECL Module + Extension manager + Ini Manager

LMPA Laragon MultiPHP per App This tools allow you to run multiple PHP version per app with Laragon, so you can have multiple site running different p

Much improved replacement for Zend_Cache_Backend_File - works great with Magento!

Cm_Cache_Backend_File The stock Zend_Cache_Backend_File backend has extremely poor performance for cleaning by tags making it become unusable as the n

A Zend_Cache backend for Redis with full support for tags (works great with Magento)

Zend_Cache backend using Redis with full support for tags This Zend_Cache backend allows you to use a Redis server as a central cache storage. Tags ar

A great Start for your next Magento Theme's local.xml file

Magento-local.xml-Template A Great Start for your next Magento Theme's local.xml file - ?xml version="1.0"? layout !-- Add/Remove Items From H

Releases(0.2.2)
Owner
null
Moodle activity plugin for embedding content from other websites in a GDPR-compliant way

ICON activate external content What is it? This plugin is for when you want to include GDPR-compliant embeddings of content from external platforms su

ICONnewmedia 2 Sep 14, 2022
TYPO3 CMS extension which extends TYPO3 page cache, by tags based on entities used in fluid templates.

Fluid Page Cache for TYPO3 CMS This TYPO3 CMS extension allows you to clear frontend page caches, automatically when a displayed record has been updat

Armin Vieweg 1 Apr 8, 2022
Silverstripe-tinytidy - Control which styles are available in TinyMCE's style dropdown menu and what elements they can be applied to

TinyTidy for SilverStripe This module mainly serves as an example of how to customise the 'styles' dropdown menu in the TinyMCE editor to control whic

Jono Menz 30 Jul 30, 2020
A PHP Library To Make Your Work Work Easier/Faster

This Is A Php Library To Make Your Work Easier/Faster,

functionality 2 Dec 30, 2022
TYPO3 Camp Rhein-Ruhr - Sitepackage Example

EXT:t3crr_sitepackage - A example TYPO3 Sitepackage Extension This extension was used in the T3CRR Talk "Sitepackage EinfΓΌhrung" in 2021! Notice Bewar

Dragan Balatinac 1 Nov 7, 2021
TYPO3 Extension for on-the-fly evaluation hints in FormEngine

OTF - A TYPO3 extension to display on-the-fly evaluation hints in FormEngine This TYPO3 extension allows to add a FormEngine FieldWizard to specific T

b13 GmbH 3 Sep 22, 2022
Sitepackage for TYPO3 CMS that adheres to the recommended standards, maps all conceivable functional areas and contains examples for common use cases.

TYPO3 CMS Sitepackage This sitepackage sticks as closely as possible to the recommended standard and maps all conceivable functional areas. There are

Eric Bode 3 Dec 18, 2022
This library provides HTML5 element definitions for HTML Purifier, compliant with the WHATWG spec

HTML5 Definitions for HTML Purifier This library provides HTML5 element definitions for HTML Purifier, compliant with the WHATWG spec. It is the most

Mateusz Turcza 92 Nov 16, 2022
Simple yet powerful, PSR-compliant, Symfony-driven PHP Blog engine.

brodaty-blog βœ’οΈ Simple Blog Engine based on pure Markdown files. ?? Works without database, caches HTML templates from Markdown files. ?? Fast and ext

Sebastian 3 Nov 15, 2022
Declaratively specify how to extract elements from a JSON document, in PHP

jmespath.php JMESPath (pronounced "jaymz path") allows you to declaratively specify how to extract elements from a JSON document. jmespath.php allows

null 1.7k Dec 30, 2022