Add new tracking of record views

Split tracking configuration in extra file
This commit is contained in:
Daniel Siepmann 2020-07-29 10:15:50 +02:00
parent 93ab601fff
commit 2ea338c675
2 changed files with 50 additions and 26 deletions

View file

@ -1,3 +1,6 @@
imports:
- {resource: Services/Tracking.yaml}
services:
_defaults:
autowire: true
@ -25,29 +28,3 @@ services:
iconIdentifier: 'content-widget-rss'
height: 'medium'
width: 'small'
DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerDay:
arguments:
$queryBuilder: '@querybuilder.tx_tracking_pageview'
$blackListedPages: [1, 11, 38]
DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage:
arguments:
$queryBuilder: '@querybuilder.tx_tracking_pageview'
$blackListedPages: [1, 11, 38]
DanielSiepmann\Tracking\Dashboard\Provider\NewestPageviews:
arguments:
$queryBuilder: '@querybuilder.tx_tracking_pageview'
$blackListedPages: [1, 11, 38]
DanielSiepmann\Tracking\Middleware\Pageview:
public: true
arguments:
$rule: >
not (context.getAspect("backend.user").isLoggedIn())
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 "/Googlebot|Bingbot|bingbot|Slurp|DuckDuckBot|Baiduspider|YandexBot|Sogou|Exabot|NextCloud-News|Feedly|XING FeedReader|CCBot|SemrushBot|SEOkicks|Twitterbot|Seekport Crawler|SemanticScholarBot|ia_archiver|PaperLiBot|TrendsmapResolver|AhrefsBot|Nuzzel/")
and not (request.getHeader("User-Agent")[0] matches "/mattermost|Slackbot|WhatsApp/")

View file

@ -0,0 +1,47 @@
services:
_defaults:
autowire: true
autoconfigure: true
public: false
DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerDay:
arguments:
$queryBuilder: '@querybuilder.tx_tracking_pageview'
$blackListedPages: [1, 11, 38]
DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage:
arguments:
$queryBuilder: '@querybuilder.tx_tracking_pageview'
$blackListedPages: [1, 11, 38]
DanielSiepmann\Tracking\Dashboard\Provider\NewestPageviews:
arguments:
$queryBuilder: '@querybuilder.tx_tracking_pageview'
$blackListedPages: [1, 11, 38]
DanielSiepmann\Tracking\Middleware\Pageview:
public: true
arguments:
$rule: >
not (context.getAspect("backend.user").isLoggedIn())
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 (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'