benjaminkott / benjaminkott/bootstrap_package

Missing video privacy settings for Vimeo in textmedia and external_media

Open
#1,148 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
PHP
Stars
355
Forks
212
Avg merge
1h 4m
Merged PRs (30d)
31

Description

# Bug Report

## Prerequisites

* [x] Can you reproduce the problem on TYPO3 v11.5 LTS
* [x] Did you [perform a cursory search](https://github.com/issues?q=is%3Aissue+user%3Abenjaminkott+repo%3Abenjaminkott%2Fbootstrap_package)
to see if your bug or enhancement is already reported?

## Description

User privacy of embedded videos is not set consistently. This concerns at least two CTypes:
1. "Text & Media"
2. "External Media"

### 1. Text & media

EXT:fluid_styled_content provides an additional TypoScript media setting for `lib.contentElement` which currently isn't present in the Bootstrap Package's version of this library:

```
lib.contentElement.settings.media {
additionalConfig {
no-cookie = 1
}
}
```

The `no-cookie` setting improves the user's privacy for both YouTube _and_ Vimeo videos:
- Embedded YouTube videos will use the domain `www.youtube-nocookie.com`
- Embedded Vimeo videos will use the additional parameter `dnt=1` (_"do not track"_)

**Without this setting, video rendering will differ. YouTube will then still be rendered with the nocookie domain. Vimeo will miss the `dnt` parameter, though.**

### 2. "External Media"

- YouTube videos will always use the `youtube-nocookie` domain.
- Vimeo videos will never use the `dnt` parameter.

## Steps to Reproduce

1. Add new content elements of type `textmedia` and `external_media`.
3. Include Vimeo and YouTube videos in these elements.
4. Check iframe sources.

### Expected behavior

Consistent privacy-first embedding for all video types.

### Actual behavior

- YouTube videos in `textmedia` will be rendered with `youtube-nocookie` domain ([TYPO3 / YouTubeRenderer](https://github.com/TYPO3/typo3/blob/main/typo3/sysext/core/Classes/Resource/Rendering/YouTubeRenderer.php#L162))
- Vimeo videos in `textmedia` will be rendered **without** `dnt=1` parameter ([TYPO3 / VimeoRenderer](https://github.com/TYPO3/typo3/blob/main/typo3/sysext/core/Classes/Resource/Rendering/VimeoRenderer.php#L148))
- YouTube videos in `external_media` will be rendered with `youtube-nocookie` domain ([BP / ExternalMediaUtility](https://github.com/benjaminkott/bootstrap_package/blob/master/Classes/Utility/ExternalMediaUtility.php#L94))
- Vimeo videos in `external_media` will be rendered **without** `dnt=1` parameter ([BP / ExternalMediaUtility](https://github.com/benjaminkott/bootstrap_package/blob/master/Classes/Utility/ExternalMediaUtility.php#L120))

## Possible solution

Adding the TypoScript setting to `lib.contentElement` would fix the behavior for `textmedia`.
`external_media` could be extended to support this setting as well.

## Versions

TYPO3 11.5.7
Bootstrap Package 12.0.4

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.