Closed Sascha07 closed 6 years ago
Eine bessere Lösung wurde bereits implementiert.
Ich glaube das kann man unterschiedlich bewerten. Optisch sicherlich schöner aufgrund des Vorschaubildes. Allerdings ist kein vorgeschalteter Datenschutzhinweis möglich wie bei der Lösung oben. Ob das rechtlich notwendig ist, kann wohl keiner so recht sagen, aber wer nach dem Vorsichtigkeitsprinzip agieren will, der ist mit oberer Lösung m.M.n. noch besser dran. Zudem gibt es hier eine zusätzliche Verlinkung zu Youtube (ohne das Video läuft)
Christian geht mit seiner googlemaps-Erweiterung übrigens einen ähnlichen Weg -> https://community.contao.org/de/showthread.php?70678-Update-quot-dlh_googlemaps-amp-DSGVO-quot-L%C3%B6sung
Man könnte ja beides kombinieren und die bisherige Lösung noch um die Möglichkeit eines vorgeschalteten Datenschutzhinweises erweitern -> Vorschaubild + überlagerter Datenschutzhinweis (optional)
Allerdings ist kein vorgeschalteter Datenschutzhinweis möglich wie bei der Lösung oben.
Warum nicht? Einfach das Template nach den eigenen Bedürfnissen anpassen.
Ob das rechtlich notwendig ist, kann wohl keiner so recht sagen, aber wer nach dem Vorsichtigkeitsprinzip agieren will, der ist mit oberer Lösung m.M.n. noch besser dran.
Sicher nicht, denn wenn JavaScript deaktiviert ist, wird die Verbindung zu bspw. YouTube trotzdem aufgebaut.
Zudem gibt es hier eine zusätzliche Verlinkung zu Youtube (ohne das Video läuft)
Das kannst du mit einer Template Anpassung auch selbst machen (unabhängig von der contao-privacy Extension).
Christian geht mit seiner googlemaps-Erweiterung übrigens einen ähnlichen Weg -> https://community.contao.org/de/showthread.php?70678-Update-quot-dlh_googlemaps-amp-DSGVO-quot-L%C3%B6sung
Christian geht den selben Weg wie die Lösung hier. Google Maps wird erst eingebunden, wenn du das bestätigt hast. Es wird nicht durch JavaScript unterbunden.
iframe.allowfullscreen = '';
Das funktioniert bei mir nicht. Bei mir funktioniert
iframe.setAttribute('allowfullscreen', '');
Welcher Browser? Die anderen Attribute werden aber gesetzt?
Hatte glaube ich in FF und Chrome probiert. Das Problem scheint aber bekannt zu sein.
https://stackoverflow.com/questions/11034473/set-iframe-allowfullscreen-with-javascript
Width und Height hatte ich bei mir im Template entfernt, von daher weiß ich dies nicht. Habe es jetzt aber mal in den Devtools probiert und da funktioniert width
.
Die Eigenschaft allowfullscreen
wurde im DOM zwar auf true gesetzt, aber Vollbild geht nur, wenn das Attribut auch im Tag steht.
Hatte glaube ich in FF und Chrome probiert. Das Problem scheint aber bekannt zu sein.
https://stackoverflow.com/questions/11034473/set-iframe-allowfullscreen-with-javascript
Width und Height hatte ich bei mir im Template entfernt, von daher weiß ich dies nicht. Habe es jetzt aber mal in den Devtools probiert und da funktioniert width
.
Die Eigenschaft allowfullscreen
wurde im DOM zwar auf true gesetzt, aber Vollbild geht nur, wenn das Attribut auch im Tag steht.
Habe jetzt nochmal in FF56, FF60.0.1 und Chrome67 probiert. Mit:
iframe.allowfullscreen = ''|true|1|'allowfullscreen';
Nichts davon geht.
Was ich oben gesagt hatte stimmt nicht ganz. allowfullscreen wird im DOM auf true gesetzt, wenn man als Wert true
übergibt. Aber wie gesagt geht es dann trotzdem nicht.
Oben hatte ich zuerst in camelCase geschrieben, aber das braucht man nicht. Einfach nur:
iframe.setAttribute('allowfullscreen', '');
Okay im Kern ging es mir nicht so sehr um die genannte Lösung, sondern vor allem um -> „Man könnte ja beides kombinieren und die bisherige Lösung noch um die Möglichkeit eines vorgeschalteten Datenschutzhinweises erweitern -> Vorschaubild + überlagerter Datenschutzhinweis (optional)“
Hierbei finde ich eine Umsetzung des Datenschutzhinweises mittels Text-Editor besser als über eine Anpassung im Template. Diesen Weg geht auch Christian mit seiner Erweiterung (das meinte ich - nicht den genauen Einbau mit oder ohne Javascript).
Vorteile:
Möglicherweise reicht ein Vorschaubild allein nicht aus, damit der Einbau eines Youtube- oder Vimeo-Videos DSGVO-konform ist.
Einige User denken das aber sicherlich, wenn eine Möglichkeit des vorgeschalteten Datenschutzhinweises fehlt.
Der Text wäre für den Redakteur jederzeit editierbar (ein Link direkt zum Video auf Youtube oder Vimeo kann auch einfach gesetzt werden)
Insgesamt benutzerfreundlicher - viele Contao-User können das Template sicher nicht so einfach anpassen (da keine PHP-Kenntnisse, keine Contao-Entwickler)
Zudem: Das Vorschaubild muss man ja auch nicht über das Template einbauen. Warum also hier eine andere Logik?
Um ein Feld in tl_content zu sparen würde ich vorschlage einen Sprachbaustein für den Hinweis zu erstellen, welcher dann im Template ausgegeben wird. So wäre es on board und man könnte ihn im Template entfernen, oder die Sprachvariable ändern. Einfach ein <p>
indem der Hinweis dann ausgegeben wird. Formatierung (überlagern) ist dann Sache des CSS Entwicklers.
Übrigens kann man sich die Vorschaubilder direkt von Youtube holen mit so einer URL
https://img.youtube.com/vi/[youtubeVideoId]/0.jpg
Beispiel:
https://img.youtube.com/vi/wFeH9Ng3yxI/0.jpg
Ich würde mir wünschen, wenn diese Vorschaubilder beim ersten Aufruf automatisch geholt würden und in einem Ordner in files/ abgelegt würden. D.h. die Vorschaubilder sollten aus diesem Ordner in files/ ausgeliefert werden und nur wenn eines nicht existiert das fehlende Bild automatisch von Youtube geholt und dort abgelegt werden.
Ja, das wären die weiteren, möglichen Ausbaustufen. Initial haben wir (ich) mal die aktuelle "minimal" Variante umgestzt.
Das mit den Vorschaubildern ist nicht ganz so trivial - denn idealerweise sollte ja eines in der "passendsten" Auflösung geholt werden. Außerdem haben diese Vorschaubilder oft schwarze Balken und sind daher nur bedingt einsetzbar.
Ja, ich weiß, es gibt verschiedene Vorschaubilder. Siehe hier https://gist.github.com/protrolium/8831763 https://stackoverflow.com/questions/2068344/how-do-i-get-a-youtube-video-thumbnail-from-the-youtube-api
Das 0.jpg war für mich erstmal genau das, was ich brauchte.
Vielleicht könnte man auch das maxresdefault.jpg holen und es dann mit ner Contao Bildgröße wunschgemäß anpassen.
Das mit den schwarzen Balken scheint mir in Ordnung zu sein, wenn es in einem 16/9 Container ist und vertikal und horizontal zentriert ist.
Aber wahrscheinlich meinst du auch, dass man sich auf diese URLs nicht unbedingt verlassen kann und diese Bilder eigentlich mit der API holen sollte. https://groups.google.com/forum/#!topic/youtube-api-gdata/QyaUkAoTSpA
Ja, besser wäre sicher die API Lösung - ist natürlich um einiges komplizierter umzusetzen.
Das mit den Balken finde ich schon störend und würde ich so nie auf einer produktiven Website verwenden.
Hier mal ne Umsetzung. Die Balken sind also nicht sichbar, obwohl die Bilder (0.jpg) Balken oben und unten haben. https://www.engadin-art-talks.ch/de/e-a-tube.html
iframe.allowfullscreen = '';
Das funktioniert bei mir nicht. Bei mir funktioniert
iframe.setAttribute('allowfullscreen', '');
Fixed in beta6
Das mit dem Hinweis Overlay ist irgendwie aus dem Blickfeld geraten. IMHO ein Muss, so wie bei dlh_googlemaps. Wäre gut, wenn dazu ein eigenes Ticket erstellt würde.
@fritzmg Vielleicht kannst du ja die entsprechenden Wünsche hier und aus https://github.com/friends-of-contao/contao-privacy/issues/8 rausziehen in ein eigenes Ticket. Ansonsten würde ich ein neues Ticket dafür erstellen.
Einfache Zwei-Klick-Lösung zur DSGVO-konformen Einbettung von YouTube- und Vimeo-Videos.
Dieses Skript ersetzt alle eingebetteten Videos von YouTube und Vimeo durch den Hinweis, dass es sich um eingebettete Videos handelt, welche beim Abspielen Daten an den Video-Betreiber senden. Es wird ein externer Link zum Video auf der Betreiberseite angezeigt sowie ein Button, mit dem das Video trotzdem eingebettet abgespielt werden kann. Normal eingebettete YouTube-Videos werden durch solche mit „erweitertem Datenschutzmodus“ ersetzt.
https://github.com/a-v-l/dsgvo-video-embed