Skip to content
Snippets Groups Projects
Commit 2118e38d authored by Mark HOEBEKE's avatar Mark HOEBEKE
Browse files

Merge branch 'evolution--add-matomo-tracking' into 'main'

Added configurable Matomo stats collection.

See merge request !4
parents 53e9503c cc26fe98
No related branches found
No related tags found
2 merge requests!5Update develop with latest from main.,!4Added configurable Matomo stats collection.
......@@ -14,3 +14,8 @@ url_base_pathname='/benthobsdash/'
[server]
debug=true
host='127.0.0.1'
[matomo]
tracker_url='https://matomo.yourdomain.com/'
site_id='123'
window.addEventListener("load", (event) => {
let tracker_url = document.querySelector('meta[property="matomo-tracker-url"]').content;
let site_id = document.querySelector('meta[property="matomo-site-id"]').content;
if (tracker_url != null && tracker_url != "" && site_id != null && site_id != "") {
let _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
let u=tracker_url;
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', site_id]);
let d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
}
});
from dash import Dash, html, dcc
from dash import clientside_callback, Dash, html, Input, Output
import dash
import dash_bootstrap_components as dbc
import toml
import argparse
import benthobs_data_tools as bdt
import logging
LOGGER = logging.getLogger(__name__)
LOGGER.setLevel(logging.DEBUG)
def build_app(config):
......@@ -16,11 +20,24 @@ def build_app(config):
:return: The constructed Dash application.
"""
matomo_tracker_url = ''
matomo_site_id = ''
if 'matomo' in config and 'tracker_url' in config['matomo'] and 'site_id' in config['matomo']:
LOGGER.debug(
f"Initializing Matomo collector with tracker url {config['matomo']['tracker_url']} and site id {config['matomo']['site_id']}")
matomo_tracker_url = config['matomo']['tracker_url']
matomo_site_id = config['matomo']['site_id']
else:
LOGGER.debug(f"Matomo configuration missing or incomplete. Skipping.")
app = Dash('benthobsdash',
title="BenthOBS SNO Data Viewer",
external_stylesheets=[dbc.themes.YETI, dbc.icons.BOOTSTRAP],
meta_tags=[
{"name": "viewport", "content": "width=device-width, initial-scale=1"},
{"property": "matomo-tracker-url", "content": matomo_tracker_url},
{"property": "matomo-site-id", "content": matomo_site_id},
],
use_pages=True,
**config['webapp']
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment