Skip to content

Commit 0833b32

Browse files
authored
Feat / Adds user tracking via Matomo (#1608)
1 parent 720a35e commit 0833b32

File tree

9 files changed

+47
-11
lines changed

9 files changed

+47
-11
lines changed

Diff for: docker-compose.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ services:
3232
PUSH_NOTIFICATION: 'enable'
3333
JQUERY: 'enable'
3434
MATOMO_TRACKING: 'enable'
35-
MATOMO_URL: ''
35+
MATOMO_SERVER_URL: ''
3636
MATOMO_SITE_ID: ''
3737
IMAGE_SIZE_PRESET: ''
3838
command: python manage.py runserver 0.0.0.0:8000

Diff for: home/processors.py

-6
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,3 @@ def jquery(request):
1919
return {
2020
'jquery': settings.JQUERY,
2121
}
22-
23-
24-
def matomo_tracking(request):
25-
return {
26-
'matomo_tracking': settings.MATOMO_TRACKING,
27-
}

Diff for: iogt/settings/base.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,6 @@
143143
'django.template.context_processors.i18n',
144144
'home.processors.commit_hash',
145145
'home.processors.show_footers',
146-
'home.processors.matomo_tracking',
147146
'messaging.processors.add_vapid_public_key',
148147
'notifications.processors.push_notification',
149148
'home.processors.jquery',
@@ -560,7 +559,7 @@
560559

561560
# Matomo tracking server and site information
562561

563-
MATOMO_URL = os.getenv('MATOMO_URL', '')
562+
MATOMO_SERVER_URL = os.getenv('MATOMO_SERVER_URL', '')
564563
MATOMO_SITE_ID = int(os.getenv('MATOMO_SITE_ID', '') or '0')
565564
MATOMO_TRACKING = os.getenv('MATOMO_TRACKING', 'disable') == 'enable'
566565

Diff for: iogt/templates/base.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
{% block extra_css %}
4545
{# Override this in templates to add extra stylesheets #}
4646
{% endblock %}
47-
{% if matomo_tracking %} {% tracking_code %} {% endif %}
47+
{% matomo_tracking_tags %}
4848
</head>
4949

5050
{% get_current_language_bidi as LANGUAGE_BIDI %}

Diff for: matomo/__init__.py

Whitespace-only changes.

Diff for: matomo/apps.py

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from django.apps import AppConfig
2+
3+
4+
class MatomoConfig(AppConfig):
5+
name = 'matomo'

Diff for: matomo/templates/matomo_tracking_tags.html

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<!-- Matomo -->
2+
{% if tracking_enabled %}
3+
<script type="text/javascript">
4+
var _paq = window._paq = window._paq || [];
5+
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
6+
_paq.push(['trackPageView']);
7+
_paq.push(['enableLinkTracking']);
8+
(function() {
9+
var u="{{ matomo_server_url }}";
10+
_paq.push(['setTrackerUrl', u+'matomo.php']);
11+
_paq.push(['setSiteId', '{{ matomo_site_id }}']);
12+
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
13+
g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
14+
})();
15+
</script>
16+
<noscript>
17+
<img src="{{ matomo_server_url }}matomo.php?idsite={{ matomo_site_id }}&rec=1" style="border:0" alt="" />
18+
</noscript>
19+
{% endif %}
20+
<!-- End Matomo Code -->

Diff for: matomo/templatetags/matomo_tags.py

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
from django import template
2+
from django.conf import settings
3+
4+
5+
register = template.Library()
6+
7+
8+
@register.inclusion_tag('matomo_tracking_tags.html', takes_context=True)
9+
def matomo_tracking_tags(context):
10+
context.update({
11+
'tracking_enabled': (
12+
settings.MATOMO_TRACKING
13+
and settings.MATOMO_SERVER_URL
14+
and settings.MATOMO_SITE_ID
15+
),
16+
'matomo_site_id': settings.MATOMO_SITE_ID,
17+
'matomo_server_url': settings.MATOMO_SERVER_URL
18+
})
19+
return context

Diff for: requirements.txt

-1
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,4 @@ django-google-analytics-app==5.0.5
3030
django-filter==2.4.0
3131
drf-yasg~=1.21.3
3232
django-webpush==0.3.4
33-
django-matomo==0.1.6
3433
git+https://github.com/IDEMSInternational/wagtail-transfer.git@enh/show-error-for-unimported-referenced-pages#egg=wagtail-transfer

0 commit comments

Comments
 (0)