ds-site/Configuration/Services/Tracking.yaml
Daniel Siepmann a5465bc07b Do not track preview calls
E.g. preview url shared via EXT:workspace
2020-09-28 12:50:35 +02:00

158 lines
6.6 KiB
YAML

services:
_defaults:
autowire: true
autoconfigure: true
public: false
DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerDay:
arguments:
$queryBuilder: '@querybuilder.tx_tracking_pageview'
$pagesToExclude: [1, 11, 38]
DanielSiepmann\Tracking\Dashboard\Provider\NewestPageviews:
arguments:
$queryBuilder: '@querybuilder.tx_tracking_pageview'
$pagesToExclude: [1, 11, 38]
DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage:
arguments:
$queryBuilder: '@querybuilder.tx_tracking_pageview'
$pagesToExclude: [1, 11, 38]
DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage7_days:
class: DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage
arguments:
$queryBuilder: '@querybuilder.tx_tracking_pageview'
$pagesToExclude: [1, 11, 38]
$days: 7
dashboard.widget.danielsiepmann.tracking.pageViewsPerPage7_days:
class: 'TYPO3\CMS\Dashboard\Widgets\DoughnutChartWidget'
arguments:
$view: '@dashboard.views.widget'
$dataProvider: '@DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage7_days'
tags:
- name: 'dashboard.widget'
identifier: 'pageViewsPerPageDoughnut7_days'
groupNames: 'tracking'
iconIdentifier: 'content-widget-chart-bar'
title: 'Pageviews 7 Days'
description: ''
additionalCssClasses: 'dashboard-item--chart'
height: 'medium'
width: 'small'
DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage365_days:
class: DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage
arguments:
$queryBuilder: '@querybuilder.tx_tracking_pageview'
$pagesToExclude: [1, 11, 38]
$days: 365
dashboard.widget.danielsiepmann.tracking.pageViewsPerPage365_days:
class: 'TYPO3\CMS\Dashboard\Widgets\DoughnutChartWidget'
arguments:
$view: '@dashboard.views.widget'
$dataProvider: '@DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage365_days'
tags:
- name: 'dashboard.widget'
identifier: 'pageViewsPerPageDoughnut365_days'
groupNames: 'tracking'
iconIdentifier: 'content-widget-chart-bar'
title: 'Pageviews 365 Days'
description: ''
additionalCssClasses: 'dashboard-item--chart'
height: 'medium'
width: 'small'
dashboard.provider.danielsiepmann.tracking.records.topics:
class: 'DanielSiepmann\Tracking\Dashboard\Provider\Recordviews'
arguments:
$queryBuilder: '@querybuilder.tx_tracking_recordview'
$recordTableLimitation: ['sys_category']
dashboard.widget.danielsiepmann.tracking.records.topics:
class: 'TYPO3\CMS\Dashboard\Widgets\DoughnutChartWidget'
arguments:
$view: '@dashboard.views.widget'
$dataProvider: '@dashboard.provider.danielsiepmann.tracking.records.topics'
tags:
- name: 'dashboard.widget'
identifier: 'topics'
groupNames: 'tracking'
iconIdentifier: 'content-widget-chart-pie'
title: 'Topics 31 Days'
description: 'Shows which topics are called most'
additionalCssClasses: 'dashboard-item--chart'
height: 'medium'
width: 'small'
dashboard.provider.danielsiepmann.tracking.records.topics7_days:
class: 'DanielSiepmann\Tracking\Dashboard\Provider\Recordviews'
arguments:
$queryBuilder: '@querybuilder.tx_tracking_recordview'
$recordTableLimitation: ['sys_category']
$days: 7
dashboard.widget.danielsiepmann.tracking.records.topics7_days:
class: 'TYPO3\CMS\Dashboard\Widgets\DoughnutChartWidget'
arguments:
$view: '@dashboard.views.widget'
$dataProvider: '@dashboard.provider.danielsiepmann.tracking.records.topics7_days'
tags:
- name: 'dashboard.widget'
identifier: 'topics7days'
groupNames: 'tracking'
iconIdentifier: 'content-widget-chart-pie'
title: 'Topics 7 Days'
description: 'Shows which topics are called most'
additionalCssClasses: 'dashboard-item--chart'
height: 'medium'
width: 'small'
dashboard.provider.danielsiepmann.tracking.records.topics365_days:
class: 'DanielSiepmann\Tracking\Dashboard\Provider\Recordviews'
arguments:
$queryBuilder: '@querybuilder.tx_tracking_recordview'
$recordTableLimitation: ['sys_category']
$days: 365
dashboard.widget.danielsiepmann.tracking.records.topics365_days:
class: 'TYPO3\CMS\Dashboard\Widgets\DoughnutChartWidget'
arguments:
$view: '@dashboard.views.widget'
$dataProvider: '@dashboard.provider.danielsiepmann.tracking.records.topics365_days'
tags:
- name: 'dashboard.widget'
identifier: 'topics365days'
groupNames: 'tracking'
iconIdentifier: 'content-widget-chart-pie'
title: 'Topics 365 Days'
description: 'Shows which topics are called most'
additionalCssClasses: 'dashboard-item--chart'
height: 'medium'
width: 'small'
DanielSiepmann\Tracking\Middleware\Pageview:
public: true
arguments:
$rule: >
not (context.getAspect("backend.user").isLoggedIn())
and not (context.getAspect("frontend.preview").isPreview())
and not (request.getHeader("User-Agent")[0] matches "/^TYPO3|TYPO3 linkvalidator/")
and not (request.getHeader("User-Agent")[0] matches "/^Codeception Testing/")
and not (request.getHeader("User-Agent")[0] matches "/Wget|curl|Go-http-client/")
and not (request.getHeader("User-Agent")[0] matches "/bot|spider|Slurp|Sogou|NextCloud-News|Feedly|XING FeedReader|SEOkicks|Seekport Crawler|ia_archiver|TrendsmapResolver|Nuzzel/")
and not (request.getHeader("User-Agent")[0] matches "/mattermost|Slackbot|WhatsApp/")
DanielSiepmann\Tracking\Middleware\Recordview:
public: true
arguments:
$rules:
topics:
matches: >
request.getQueryParams()["topic_id"] > 0
and not (context.getAspect("backend.user").isLoggedIn())
and not (context.getAspect("frontend.preview").isPreview())
and not (request.getHeader("User-Agent")[0] matches "/^TYPO3|TYPO3 linkvalidator/")
and not (request.getHeader("User-Agent")[0] matches "/^Codeception Testing/")
and not (request.getHeader("User-Agent")[0] matches "/Wget|curl|Go-http-client/")
and not (request.getHeader("User-Agent")[0] matches "/bot|spider|Slurp|Sogou|NextCloud-News|Feedly|XING FeedReader|SEOkicks|Seekport Crawler|ia_archiver|TrendsmapResolver|Nuzzel/")
and not (request.getHeader("User-Agent")[0] matches "/mattermost|Slackbot|WhatsApp/")
recordUid: 'request.getQueryParams()["topic_id"]'
tableName: 'sys_category'