tracking/readme.rst

73 lines
2 KiB
ReStructuredText
Raw Normal View History

2020-02-25 22:33:41 +01:00
About
=====
This extension should only demonstrate technical features of TYPO3.
It is not intended for use in production systems.
The following features should be demonstrated:
PSR-4 Autoloading Standard
Use `composer.json` to provide autoloading information.
Classes will be loaded when needed. No need for require statements.
PSR-12 Extended Coding Style Guide
Current stable Coding Style Guide, applied via Coding Sniffer.
PSR-7 HTTP Message Interface
Also known as Request Response, used to create tracking information from incoming
request.
PSR-11 Container Interface
Also known as Dependency Injection.
Used to resolve external dependencies, e.g. foreign classes.
Existing TYPO3 factories are used to build `QueryBuilder` instances.
Also DI is "misused" to provide configuration for dashboard widgets
and tracking blacklists.
PSR-15 HTTP Handlers
Also known as middlewares.
Used to hook into processing to create tracking information.
PSR-14 Event Dispatcher
Not in use yet.
EXT:dashboard
Used to visualize collected tracking information.
2020-02-24 14:49:31 +01:00
Todos
=====
#. Add further widgets.
2020-02-26 23:00:18 +01:00
#. Grouped by user agents (bar).
2020-02-24 14:49:31 +01:00
2020-02-26 23:00:18 +01:00
#. Top 404 requests (Collect them to show them, doughnut).
2020-02-24 14:49:31 +01:00
#. Move bot detection to another rule.
#. Keep indexing those requests, but mark them as bot and separate them in widgets.
#. Provide an overview of crawls as widgets. E.g. to allow fine grained robots.txt.
#. Add information to Admin Panel.
#. Add operating System
#. Another Symfony Expression which returns the OS ("Ubuntu", "Macintosh", "Android", "iPhone", "Windows")
2020-02-25 22:46:07 +01:00
2020-02-26 23:00:18 +01:00
#. Add command that will iterate over all DB entries and remove ones matching the black list rule.
E.g. if rule is adjusted in meanwhile.
#. Add 100% code coverage (Widgets are missing)
2020-02-25 22:46:07 +01:00
Example
=======
The following widgets are added and could look like:
.. image:: Documentation/Images/Widgets.png
A new record is added which looks like:
.. image:: Documentation/Images/ListView.png