From f2f8974116dea7d023b01216ce34a601b2843e9e Mon Sep 17 00:00:00 2001 From: Oliver Kroener Date: Wed, 18 Nov 2020 18:39:08 +0100 Subject: [PATCH] Add tracking objects for Microsoft Forms/-Stream/Slideshare/Youtube/Maps (#158) (#167) Co-authored-by: Oliver Kroener --- .../TypoScript/Example/setup.typoscript | 14 +++++ .../TrackingObjects/GoogleMaps.typoscript | 20 +++++++ .../TrackingObjects/MicrosoftForms.typoscript | 48 +++++++++++++++ .../MicrosoftStream.typoscript | 55 +++++++++++++++++ .../TrackingObjects/Slideshare.typoscript | 43 ++++++++++++++ .../TrackingObjects/Youtube.typoscript | 22 +++++++ Resources/Private/Language/locallang.xlf | 59 ++++++++++++++++++- 7 files changed, 260 insertions(+), 1 deletion(-) create mode 100644 Configuration/TypoScript/TrackingObjects/GoogleMaps.typoscript create mode 100644 Configuration/TypoScript/TrackingObjects/MicrosoftForms.typoscript create mode 100644 Configuration/TypoScript/TrackingObjects/MicrosoftStream.typoscript create mode 100644 Configuration/TypoScript/TrackingObjects/Slideshare.typoscript create mode 100644 Configuration/TypoScript/TrackingObjects/Youtube.typoscript diff --git a/Configuration/TypoScript/Example/setup.typoscript b/Configuration/TypoScript/Example/setup.typoscript index ea3f8041..a5cfdb9e 100644 --- a/Configuration/TypoScript/Example/setup.typoscript +++ b/Configuration/TypoScript/Example/setup.typoscript @@ -20,6 +20,20 @@ plugin.tx_cookieman { 20 = GoogleTagManager 30 = Bing 40 = FacebookPixel + 50 = MicrosoftForms + 60 = SlideShare + } + + respectDnt = 1 + showDntMessage = 1 + } + + # external content + external { + trackingObjects { + 0 = GoogleMaps + 10 = YouTube + 20 = MicrosoftStream } respectDnt = 1 diff --git a/Configuration/TypoScript/TrackingObjects/GoogleMaps.typoscript b/Configuration/TypoScript/TrackingObjects/GoogleMaps.typoscript new file mode 100644 index 00000000..751ec2cd --- /dev/null +++ b/Configuration/TypoScript/TrackingObjects/GoogleMaps.typoscript @@ -0,0 +1,20 @@ +plugin.tx_cookieman.settings.trackingObjects { + GoogleMaps { + inject ( + + ) +# example: +# inject ( +# We are planning to support Google Maps out-of-the-box with cookieman. Stay tuned. +# ) + show { + # https://www.microsoft.com/de-de/trust-center/privacy/gdpr-overview + GoogleMaps { + duration = none + durationUnit = + type = connection + provider = Google + } + } + } +} diff --git a/Configuration/TypoScript/TrackingObjects/MicrosoftForms.typoscript b/Configuration/TypoScript/TrackingObjects/MicrosoftForms.typoscript new file mode 100644 index 00000000..c2e5e834 --- /dev/null +++ b/Configuration/TypoScript/TrackingObjects/MicrosoftForms.typoscript @@ -0,0 +1,48 @@ +plugin.tx_cookieman.settings.trackingObjects { + MicrosoftForms { + inject ( + + ) +# example: +# inject ( +# no example available yet. We are happy to receive a pull request if you have one. +# ) + show { + # https://www.microsoft.com/de-de/trust-center/privacy/gdpr-overview + __RequestVerificationToken { + duration = + durationUnit = session + type = cookie_http + provider = Microsoft + } + + AADNonce\.forms { + duration = + durationUnit = session + type = cookie_http + provider = Microsoft + } + + DcLcid { + duration = 3 + durationUnit = months + type = cookie_http + provider = Microsoft + } + + MSFPC { + duration = 1 + durationUnit = year + type = cookie_http+html + provider = Microsoft + } + + MUID { + duration = 1 + durationUnit = year + type = cookie_http+html + provider = Microsoft + } + } + } +} diff --git a/Configuration/TypoScript/TrackingObjects/MicrosoftStream.typoscript b/Configuration/TypoScript/TrackingObjects/MicrosoftStream.typoscript new file mode 100644 index 00000000..ae3cb462 --- /dev/null +++ b/Configuration/TypoScript/TrackingObjects/MicrosoftStream.typoscript @@ -0,0 +1,55 @@ +plugin.tx_cookieman.settings.trackingObjects { + MicrosoftStream { + inject ( + + ) +# example: +# inject ( +# no example available yet. We are happy to receive a pull request if you have one. +# ) + show { + # https://www.microsoft.com/de-de/trust-center/privacy/gdpr-overview + MicrosoftStream { + duration = + durationUnit = none + type = connection + provider = MicrosoftStream + } + + Signature_Api { + duration = + durationUnit = session + type = cookie_http + provider = MicrosoftStream + } + + Authorization_Api { + duration = + durationUnit = session + type = cookie_http + provider = MicrosoftStream + } + + RedirectToThinEmbed { + duration = + durationUnit = session + type = cookie_http + provider = MicrosoftStream + } + + UserSession_Api { + duration = + durationUnit = session + type = cookie_http + provider = MicrosoftStream + } + + wfeSessionId { + duration = + durationUnit = session + type = cookie_http + provider = MicrosoftStream + } + } + } +} diff --git a/Configuration/TypoScript/TrackingObjects/Slideshare.typoscript b/Configuration/TypoScript/TrackingObjects/Slideshare.typoscript new file mode 100644 index 00000000..17e547ef --- /dev/null +++ b/Configuration/TypoScript/TrackingObjects/Slideshare.typoscript @@ -0,0 +1,43 @@ +plugin.tx_cookieman.settings.trackingObjects { + Slideshare { + inject ( + + ) +# example: +# inject ( +# You would use your own JavaScript to transform your placeholder elements into this: +# +# ) + + show { + # https://www.slideshare.net/privacy + UID { + duration = 2 + durationUnit = years + type = cookie_http+html + provider = Slideshare + } + + UIDR { + duration = 2 + durationUnit = years + type = cookie_http+html + provider = Slideshare + } + + bcookie { + duration = 2 + durationUnit = years + type = cookie_http+html + provider = Slideshare + } + + lang { + duration = + durationUnit = session + type = cookie_http+html + provider = Slideshare + } + } + } +} diff --git a/Configuration/TypoScript/TrackingObjects/Youtube.typoscript b/Configuration/TypoScript/TrackingObjects/Youtube.typoscript new file mode 100644 index 00000000..0705361f --- /dev/null +++ b/Configuration/TypoScript/TrackingObjects/Youtube.typoscript @@ -0,0 +1,22 @@ +plugin.tx_cookieman.settings.trackingObjects { + YouTube { + inject ( + + ) +# example: +# inject ( +# We are planning to support Youtube out-of-the-box with cookieman. Stay tuned. +# Until then please add your own logic (e.g. replacing your consent message including a +#