Montag, 24. Februar 2014

PIWIK's OptOut-Iframe anpassen

*****************************************************
Aktualisierung: Nachdem PIWIK mit dem „Custom Opt-Out“-PlugIn eine eigene Möglichkeit bietet, den OptOut-Iframe anzupassen, haben wir die Entwicklung unserer Lösung eingestellt. Wir empfehlen allen Nutzern auf das PlugIn umzusteigen.
*****************************************************
Mit den kostenlosen Quelltext-Modifikationen für Piwik können Administratoren das Erscheinungsbild des OptOut-Iframes ihrer Piwik-Installation dem Layout ihrer Seite anpassen, sodass dieser endlich nicht mehr wie ein Fremdkörper im eigenen Design wirkt.

Nutzungsanalyse mit Piwik

Piwik ist eine Software zur Analyse von Nutzerverhalten auf einer Homepage. Entgegen anderen gängigen Angeboten kann das Programm auf dem eigenen Server installiert werden, sodass die erhobenen Daten nicht an Dritte weitergeben werden müssen. Wenn der Serverstandort nun noch im Land des Internetangebotes liegt, unterliegt der Datenschutz ausschließlich dem jeweils nationalen Recht. Zudem verfügt das Programm über automatische Anonymisierungs­funktionen und Widerspruchslösungen. Die Nutzungsanalyse mit Piwik ist daher eine faire Lösung für den Betreiber wie für die Besucher einer Internetseite.

Das OptOut-Verfahren

Nach deutschem Recht muss ein Anbieter dem Nutzer die Möglichkeit bieten, im OptOut-Verfahren dem Tracking auf einer Seite aktiv zu widersprechen. Piwik stellt hierfür ein Onlineformular zur Verfügung, das der Anbieter über einen Iframe in seiner Internetseite einbinden kann. Möchte der Nutzer der anonymisierten Analyse seiner Nutzungsdaten widersprechen, muss er in dem Webformular ein Häkchen deaktivieren. Piwik setzt dann einen permanenten Cookie im Browser des Anwenders, mithilfe dessen die Software die Willensbekundung auch für weitere Besuche speichert.

Integration in das Layout der eigenen Seite

Leider lässt sich das OptOut-Formular von Piwik in seinem Aussehen standardmäßig nicht an das Layout der eigenen Seite anpassen. Dies ist vor allem folgenden zwei Umständen geschuldet:
  1. Will man den OptOut-Iframe einer Piwik-Installation in zwei unterschiedlichen Angeboten integrieren, darf das Webformular nicht zentral in Piwik formatiert werden, sondern muss sich nach dem Layout der jeweils einbindenden Seite richten.
  2. Moderne Browser unterbinden aufgrund der Same-Origin-Policy aus Sicherheitsgründen den Zugriff mit Javascript oder Cascading Style Sheets auf Iframes, wenn die aufrufende und die aufgerufene Seite nicht dieselbe Domain haben.
Gerade dies könnte aber der Fall sein, wenn man Piwik auf einem anderen Server gehostet hat, als die zu analysierende Seite. Hier setzt nun unsere Lösung an, bei der die Layoutinformationen mittels eines zusätzlichen Parameters im SRC-Attribut des Iframes übergeben werden.

Kurzanleitung

Gehen Sie auf die unten angeführte Projektseite und laden Sie sich dort die angebotene ZIP-Datei herunter. Entpacken Sie das Archiv.  Kopieren Sie die Dateien „optOut.tpl” und „optOut.twig” (überschreiben jeweils eine bestehende Datei!) sowie „customize.js” in den Ordner „plugins/CoreAdminHome/templates” Ihrer Piwik-Installation.

Erstellen Sie nun ein valides JSON-Objekt, das die gesamten von Ihnen gewünschten Formatierungs­informationen beinhaltet. Die Schlüssel des Objektes müssen Selektoren für die HTML-Elemente sein, deren Aussehen Sie beeinflussen wollen. Diesen übergeben Sie als Wert jeweils ein weiteres JSON-Objekt, das die benötigen CSS-Angaben enthält. Beide, Schlüssel und „Style-Objekte”, müssen im jQuery-Stil geschrieben werden. Komma-separierte CSS-Werte werden nicht akzeptiert!

JSON-Objekt:
{
  "p": {"color":"black", "font-size":"12px"},
  "body": {"margin":"0px", "padding":"0px"}
}
Fügen Sie nun dem SRC-Attribut Ihres Iframes den Parameter „style” hinzu und übergeben Sie diesem das erstellte JSON-Objekt als Wert. Natürlich müssen Sie dieses zuvor URL-sicher maskieren. Wenn Sie eine Scriptsprache wie PHP einsetzen, können Sie dies bequem über sprachinterne Funktionen erledigen. Im Folgenden finden Sie ein Beispiel, das mithilfe von PHP umgesetzt wurde. Sie können dies aber auch leicht für jede andere Scriptsprache anpassen.

Iframe-Aufruf:
<iframe ...
  src = "http://your-piwik-domain.org/index.php?
  module=CoreAdminHome&
  action=optOut&
  language=whatever&
  style=<?php echo urlencode('{
    "p": {"color":"black", "font-size":"12px"},
    "body": {"margin":"0px", "padding":"0px"}
  }'); ?>
></iframe>

Download und Rechte

Auf dieser Seite *** Link entfernt **** können Sie die notwendigen Dateien für die oben beschriebenen Modifikationen als ZIP-Datei herunterladen. Zum Download der Analyse-Software Piwik gehen Sie bitte auf die offizielle Homepage des Projektes.

Unsere Quelltext-Modifikationen von Piwik sind in der Version 2.5 erschienen und sind nun kompatibel mit PIWIK 2.0+! Bei der Version 2.0 handelte es sich um ein Sicherheitsupdate. Nutzern der Version 1.0 empfehlen wir dringend zu einer Aktualisierung!

Piwik wird unter der GPL v3 (oder neuer) angeboten. Dementsprechend haben wir unsere Ergänzungen und Bearbeitungen ebenfalls unter die GPL v3 (oder neuer) gestellt.