diff --git a/packages/matomo/assets/index.html b/packages/matomo/assets/index.html deleted file mode 100644 index d04762f731d7e55eb53ea35f6581b47aa70e5a60..0000000000000000000000000000000000000000 --- a/packages/matomo/assets/index.html +++ /dev/null @@ -1,13 +0,0 @@ -<!doctype html> -<html> -<head> - <meta charset="UTF-8"> - <script type="module" src="dbp-matomo-demo.js"></script> -</head> - -<body> - -<dbp-matomo-demo lang="de"></dbp-matomo-demo> - -</body> -</html> diff --git a/packages/matomo/assets/index.html.ejs b/packages/matomo/assets/index.html.ejs new file mode 100644 index 0000000000000000000000000000000000000000..580ad863f6e42c7fe3b5cfa433a9092e9e198a45 --- /dev/null +++ b/packages/matomo/assets/index.html.ejs @@ -0,0 +1,15 @@ +<!doctype html> +<html> +<head> + <meta charset="UTF-8"> + <script type="module" src="dbp-matomo-demo.js"></script> +</head> + +<body> + +<dbp-matomo-demo lang="de" matomo-url="<%= matomoUrl %>" matomo-site-id="<%= matomoSiteId %>"></dbp-matomo-demo> + +<p>version: <span style="color: white; background-color: black;"><%= buildInfo.info %></span></p> +<p>Matomo: url: <%= matomoUrl %>, site-id: <%= matomoSiteId %></p> +</body> +</html> diff --git a/packages/matomo/rollup.config.js b/packages/matomo/rollup.config.js index 71369f40a771e1fcbc1f75255512ac6e07cd76dd..39ad4839e1694c0c41555c75fb5dace46e6c0fbb 100644 --- a/packages/matomo/rollup.config.js +++ b/packages/matomo/rollup.config.js @@ -8,10 +8,38 @@ import serve from 'rollup-plugin-serve'; import url from "@rollup/plugin-url"; import consts from 'rollup-plugin-consts'; import del from 'rollup-plugin-delete'; +import emitEJS from 'rollup-plugin-emit-ejs' import {getPackagePath} from '../../rollup.utils.js'; +const pkg = require('./package.json'); const build = (typeof process.env.BUILD !== 'undefined') ? process.env.BUILD : 'local'; console.log("build: " + build); +const matomoUrl = "https://analytics.tugraz.at/"; +const matomoSiteId = 131; + +function getBuildInfo() { + const child_process = require('child_process'); + const url = require('url'); + + let remote = child_process.execSync('git config --get remote.origin.url').toString().trim(); + let commit = child_process.execSync('git rev-parse --short HEAD').toString().trim(); + + let parsed = url.parse(remote); + // convert git urls + if (parsed.protocol === null) { + parsed = url.parse('git://' + remote.replace(":", "/")); + parsed.protocol = 'https:'; + } + let newPath = parsed.path.slice(0, parsed.path.lastIndexOf('.')); + let newUrl = parsed.protocol + '//' + parsed.host + newPath + '/commit/' + commit; + + return { + info: commit, + url: newUrl, + time: new Date().toISOString(), + env: build + } +} export default (async () => { return { @@ -37,6 +65,23 @@ export default (async () => { consts({ environment: build, }), + emitEJS({ + src: 'assets', + include: ['**/*.ejs', '**/.*.ejs'], + data: { + getUrl: (p) => { + return url.resolve(basePath, p); + }, + getPrivateUrl: (p) => { + return url.resolve(`${basePath}local/${pkg.name}/`, p); + }, + name: pkg.name, + environment: build, + matomoUrl: matomoUrl, + matomoSiteId: matomoSiteId, + buildInfo: getBuildInfo() + } + }), resolve(), commonjs(), url({ diff --git a/packages/matomo/src/dbp-matomo-demo.js b/packages/matomo/src/dbp-matomo-demo.js index 71af83e0330a49901476e1fcf1a881039dd2f7cf..3437bc1763ae4242fa3cab972c0d8f09ce2e5023 100644 --- a/packages/matomo/src/dbp-matomo-demo.js +++ b/packages/matomo/src/dbp-matomo-demo.js @@ -12,6 +12,8 @@ class MatomoDemo extends ScopedElementsMixin(LitElement) { constructor() { super(); this.lang = 'de'; + this.matomoUrl = ''; + this.matomoSiteId = -1; } static get scopedElements() { @@ -25,6 +27,8 @@ class MatomoDemo extends ScopedElementsMixin(LitElement) { static get properties() { return { lang: { type: String }, + matomoUrl: { type: String, attribute: "matomo-url" }, + matomoSiteId: { type: Number, attribute: "matomo-site-id" }, }; } @@ -67,7 +71,7 @@ class MatomoDemo extends ScopedElementsMixin(LitElement) { <div class="container"> <dbp-auth-keycloak lang="${this.lang}" url="https://auth-dev.tugraz.at/auth" realm="tugraz" client-id="auth-dev-mw-frontend-local" load-person try-login></dbp-auth-keycloak> <dbp-login-button lang="${this.lang}" show-image></dbp-login-button> - <dbp-matomo endpoint="https://analytics.tugraz.at/" site-id="131"></dbp-matomo> + <dbp-matomo endpoint="${this.matomoUrl}" site-id="${this.matomoSiteId}"></dbp-matomo> </div> <div class="container"> <p>Click this button (and watch the network traffic) ...</p> diff --git a/packages/matomo/src/matomo.js b/packages/matomo/src/matomo.js index 030f0a542cf2f1db4ea549801d1e1093ac63eefe..6365082f6a428277bd93ff0268a0e27dea3c5531 100644 --- a/packages/matomo/src/matomo.js +++ b/packages/matomo/src/matomo.js @@ -40,9 +40,6 @@ export class MatomoElement extends DBPLitElement { } setupMatomo(loggedIn) { - console.log('setupMatomo: loggedIn = ' + loggedIn); - console.log('setupMatomo: running = ' + this.isRunning); - if (loggedIn && ! this.isRunning) { console.log('add matomo...'); @@ -96,7 +93,7 @@ export class MatomoElement extends DBPLitElement { } track (action, message) { - console.log('MatomoElement (' +this.isRunning+'): ' + action + ', ' + message); + console.log('MatomoElement (' + this.isRunning + '): ' + action + ', ' + message); if (this.isRunning) { _paq.push(['trackEvent', action, message]); }