Zugriffe auf Gitlab (v6.5) mit Piwik tracken

Gitlab bietet mittlerweile Unterstützung für Google Analytics (durch setzen der google_analytics_id Option) an, aber nicht für Piwik. Das können wir aber ändern

Ein HAML Template für Piwik

Gitlab verwendet intensiv haml so, dass es Sinn macht ein eigenes Piwik template zu erstellen. Als Vorlage kann man das Google Analytics Template verwenden.

Um das Template einzubinden, erstellt man als git-Benutzer die Datei ~/gitlab/app/views/layouts/_piwik.html.hamlund fügt dort folgenden Inhalt ein:

/ Piwik site specific tracking js
:javascript
  var _paq = _paq || [];
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u=(("https:" == document.location.protocol) ? "https" : "http") + "://" + "#{extra_config.piwik_address}" + "/";
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', '#{extra_config.piwik_site_no}']);
    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);
  })();
%noscript
  %img{ :src => "http://#{extra_config.piwik_address}/piwik.php?idsite=#{extra_config.piwik_site_no}", :style => "border:0", :alt => "" }/
/ End Piwik Tracking Code

Einbinden des Templates im head

Damit das neu erstellte Piwik Template auch verwendet wird, müssen wird es in der Datei _head.html.haml einbinden. Diese Template kümmert sich um das Rendern des HTML heads und ist damit der richtige Ort für die Einbindung des Piwik-Scripts. Nach der Änderung sollte die Datei ~gitlab/app/views/layouts/_head.html.haml wie folgt aussehen:

%head
  %meta{charset: "utf-8"}
  %title
  (....)
  (....)
  = render 'layouts/google_analytics' if extra_config.has_key?('google_analytics_id')
  = render 'layouts/piwik' if extra_config.has_key?('piwik_site_no') && extra_config.has_key?('piwik_address')

  (...)

Hinzufügen der Konfigurations-Optionen

Zum Abschluss müssen wir noch die Konfiguratoins-Optionen in das gitlab-Konfiguartionsfile aufnehmen (piwik_site_no und piwik_address).
Dazu bearbeiten wird die Datei ~gitlab/config/gitlab.yml und fügen unter dem Abschnitt
extra: direkt unter den Google Analytics den folgenden Inhalt ein:

## Google analytics. Uncomment if you want it
# google_analytics_id: '_your_tracking_id'

## Piwik analytics. Uncomment BOTH if you want it
##piwik_address must NOT include trailing slash and must NOT include http or https
piwik_site_no: '1'
piwik_address: 'piwik.mydomain.com'

Gitlab neu starten

Der letzte Schritt stellt den Neustart von gitlab dar. Dazu führt man als root-Benutzer folgenden Befehl aus:
service gitlab restart

Glückwunsch, damit sollte nun Piwik-Tracking in Gitlab funktionieren!

Quelle

https://bcaron.me/2013/uncategorized/piwik-tracking-on-a-gitlab-server

Schreibe einen Kommentar