agoat / contao-piwikanalytics

Enables tracking with the piwik analytics software
0 stars 0 forks source link

Problem mit den Standard Download Datei-Extensions #4

Closed arno1979 closed 6 years ago

arno1979 commented 6 years ago

Hallo Arne,

ich bin auf ein Problem gestoßen, das auftritt wenn man das Feld "Dateiendungen für Download-Liste" in den Eigenschaften einer Root-Seite beim speichern leer lässt, um die Standard-Werte wieder zu übernehmen.

Es werden dann zwar die Standard Datei-Extensions wieder als Wert in dem Feld gespeichert, aber die folgende Abfrage in der Datei classes/Piwik.php auf Zeile 134

if($extensions != '7z,aac,arc,arj,asf,asx,avi,bin,bz,bz2,csv,deb,dmg,doc,exe,flv,gif,gz,gzip,hqx,jar,jpg,jpeg,js,mp2,mp3,mp4,mpg,mpeg,mov,movie,msi,msp,odb,odf,odg,odp,ods,odt,ogg,ogv,pdf,phps,png,ppt,qt,qtm,ra,ram,rar,rpm,sea,sit,tar,tbz,tbz2,tgz,torrent,txt,wav,wma,wmv,wpd,xls,xml,z,zip')
{
    $extensions = str_replace(',', '|', $extensions);

        $jsTag .= ' _paq.push(["setDownloadExtensions", "' . $extensions . '"]);' . "\n";
}

ohne eine entsprechende else Klausel erwirkt, dass im default Fall der Javascript Tag "setDownloadExtensions" gar nicht gesetzt wird.

Das lässt sich dann auch sehr gut im generierten Javascript-Code nachvollziehen.

Mit default Werten:

var _paq = _paq || []; 
 _paq.push(["setDocumentTitle", "Startseite"]);
 _paq.push(["setDoNotTrack", true]);
 _paq.push(["trackPageView"]);
 _paq.push(["enableLinkTracking"]);
(function() {
 var u="https://domain.tld/";
 _paq.push(["setTrackerUrl", u+"piwik.php"]);
 _paq.push(["setSiteId", "1"]);
 var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
 g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
})();

Mit angepassten Werten:


var _paq = _paq || []; 
 _paq.push(["setDocumentTitle", "Startseite"]);
 _paq.push(["setDoNotTrack", true]);
 _paq.push(["setDownloadExtensions", "doc|xls|ppt|odt|ods|odp|pdf|mp3|wma|wmv|ram|rm|mov|csv|docx|dotx|xlsx|zip"]);
 _paq.push(["trackPageView"]);
 _paq.push(["enableLinkTracking"]);
(function() {
 var u="https://domain.tld/";
 _paq.push(["setTrackerUrl", u+"piwik.php"]);
 _paq.push(["setSiteId", "1"]);
 var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
 g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
})();

Mein Vorschlag wäre die if-Bedingung einfach auf

if($extensions != '')

zu ändern.

Das hat bei mir in einem schnellen Test jedenfalls das gewünschte Ergebnis gebracht. Ohne eine Anpassung werden im Augenblick im Standard-Fall überhaupt keine Downloads separat getrackt!

Ich habe schnell auch mal in den Code für die Contao 4 Version der Erweiterung geschaut, ich glaube da besteht das gleiche Problem.

Viele Grüße Arno

agoat commented 6 years ago

Die in der Abfrage

if($extensions != '7z,aac,arc,arj,asf,asx,avi,bin,bz,bz2,csv,deb,dmg,doc,exe,flv,gif,gz,gzip,hqx,jar,jpg,jpeg,js,mp2,mp3,mp4,mpg,mpeg,mov,movie,msi,msp,odb,odf,odg,odp,ods,odt,ogg,ogv,pdf,phps,png,ppt,qt,qtm,ra,ram,rar,rpm,sea,sit,tar,tbz,tbz2,tgz,torrent,txt,wav,wma,wmv,wpd,xls,xml,z,zip')

verwendeten Dateiendungen werden eigentlich von piwik automatisch getrackt.

Ich werde prüfen ob sich da was bei piwik geändert hat.

arno1979 commented 6 years ago

Ok, ich hatte den Bug von meiner für Piwik zuständigen Kollegin beschrieben bekommen. In den betroffenen Installationen waren aber anscheinend keine Downloadstatistiken getrackt worden. Ich selber habe mir das in Piwik aber nicht angesehen. Danke fürs kümmern!

Viele Grüße Arno

arno1979 commented 6 years ago

Hallo Arne,

hattest du schon Gelegenheit dir das genauer anzusehen? Ich will nicht drängeln, aber bei keinem unserer Kunden werden aktuell Downloads getrackt, wenn man mit den Piwik/Matomo - Standard Dateierweiterungen arbeiten will – das würden wir aber gerne. :)

Viele Grüße Arno

agoat commented 6 years ago

Nein, sorry hatte noch keine Zeit (Meine ganzen Ressourcen sind akteuell an ein großes Projekt mit Umstellung ein eine Docker Containervirtualisierung gebunden).

Um was für Dateitypen handelt es sich bei euren Downloads?

arno1979 commented 6 years ago

Hallo Arne,

Um was für Dateitypen handelt es sich bei euren Downloads?

Wir möchten einfach in der Lage sein, den Piwik/Matomo Standard zu verwenden. Das wird aber durch die oben beschriebene Abfrage verhindert.

agoat commented 6 years ago

Nach eingehender Prüfung konnte ich keine Änderung in Piwik/Matomo beim Downloadtracking feststellen.

Standardmäßig werden folgende Dateiendungen automatisch getrackt (siehe How does Matomo track downloads?):

7z,aac,arc,arj,asf,asx,avi,bin,bz,bz2,csv,deb,dmg,doc,exe,flv,gif,gz,gzip,hqx,jar,jpg,jpeg,js,mp2,mp3,mp4,mpg,mpeg,mov,movie,msi,msp,odb,odf,odg,odp,ods,odt,ogg,ogv,pdf,phps,png,ppt,qt,qtm,ra,ram,rar,rpm,sea,sit,tar,tbz,tbz2,tgz,torrent,txt,wav,wma,wmv,wpd,xls,xml,z,zip

Das sind genau die, die automatisch eingetragen werden (bei leerem Feld) und bei genau dieser Liste auch nicht im Trackingcode enthalten sind, da Matomo diese ja sowieso als Downloads trackt. Wenn diese Liste geändert wird, dann werden nur noch die aufgeführten Dateiendungen getrackt.

arno1979 commented 6 years ago

Hallo Arne, danke fürs Überprüfen. Ich habe das heute auch noch mal eingehend getestet. Bisher hatte ich halt immer nur geschaut, ob der entsprechende Parameter auch im Javascript Tracking Code landet. Das tut er bei den default Werten nicht. Downloads werden dann in Matomo aber trotzdem getrackt, wie du gesagt hast. Entschuldige bitte den Aufwand, ich muss mit meiner Kollegin dann noch mal klären was da bei ihr los war.

Lieben Dank! Arno