Commit graph

92 commits

Author SHA1 Message Date
73e2ec0214 Add functional tests regarding actual frontend request tracking
Ensures pageview and recordview are tracked as expected.

Relates: #46
2021-08-16 11:18:32 +02:00
721b6e5a31 Support PHP 7.3
- Extend CI to test everything against PHP 7.3
- Update composer to allow installation with PHP 7.3
- Remove dependency checker, install loosely within CI to get compatible
  version with actual PHP version.
- Adjust CI to use PHP compatible MySQL versions.

Relates: #69
2021-08-11 12:15:57 +02:00
0d1366f386 Update sponsoring information 2021-08-03 12:49:52 +02:00
67c2d22f15 Fix performance issue of PageviewsPerDay widget
Issue a single query with native group by instead of x queries.

Resolves: #63
2021-08-03 12:04:55 +02:00
9624847b9a Raise version for extension manager
The next version will be 1.1.2, which already exists in changelog.
This needs to be reflected by ext_emconf.php.
2021-08-03 10:44:17 +02:00
e2a23c6455 Improve performance of widgets with large datasets
Provide database index for widgets which is used by widget queries to
fetch data way faster, e.g. 0.1 instead of > 5 seconds in one concrete
project.

Relates: #63
2021-08-03 10:41:01 +02:00
f3b4ae3c3b Raise from TYPO3 11.2 to 11.3
Only support latest public release of current TYPO3 dev releases.
2021-08-03 10:27:12 +02:00
50741e6531 Release 1.1.1
Add changelog entry.
Raise version number.
2021-06-02 06:53:02 +02:00
92e7795752 Mark extension as stable within extension manager
This extension is already stable.
It is used since a year in multiple production systems.
Don't provide a bad feeling to integrators and users.
2021-06-02 06:47:45 +02:00
ad97b6597f Add missing changelog for 1.1.0 2021-06-02 06:44:16 +02:00
9a4f71bce4 Allow copy of pages
Pages can not be copied by administrators as DataHandler will copy all
pages, including tx_tracking_* tables.
Those are not allowed on tables which will result in error messages.

A test is added to simulate the action and ensure it doesn't fail with
errors.

Results: #52
2021-06-02 06:25:27 +02:00
1c669f52c7 Remove --no-suggest from CI
This is no longer supported by composer V2.
2021-05-24 23:06:34 +02:00
adb73eeffc Switch to ECS for coding style
This allows configuration via PHP.
It also combines code sniffer and php cs fixer.

Used commands:

composer remove --dev squizlabs/php_codesniffer
composer req --dev symplify/easy-coding-standard
./vendor/bin/ecs --fix
2021-05-24 22:11:46 +02:00
165b110e01 Always use TestCase of testing framework
That way the framework can add extra logic like cleanup.
We don't have to worry about such things.
2021-05-19 22:39:22 +02:00
b6d1189f4d Add necessary transOrigPointerField
This is required by list module, As we define a languageField.
Might be a bug, but BackendUtility::translationCount() will fail if 2nd
field is missing.

Fixed in current TYPO3 master and therefore with v11.3,
see: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69180
2021-05-19 22:21:17 +02:00
3c10aa6d10 Support TYPO3 v11.2 and PHP 8.0 beside current v10.4 and 7.4. 2021-05-19 22:21:17 +02:00
a6a170b61e Increase version number for extension manager 2021-01-07 10:11:47 +01:00
3c996aca19 Add changelog and contributions 2021-01-07 10:00:38 +01:00
dfa75fb436 Fix broken CI due to unwanted PHP update
Force specific PHP version for all necessary CI steps.
2021-01-07 09:55:24 +01:00
eb3d14a784 Fix statement regarding production usage 2020-12-01 11:40:23 +01:00
443e042d82 Remove security checker
It will report old TYPO3 versions which we support, but don't require.
Therefore it does not provide a benefit but breaks builds.
The package is intended for projects, not libraries.
2020-12-01 11:23:23 +01:00
13cbd3c2a9 Use composer v1 in CI
Not all dev dependencies are v2 ready.

maglnet/composer-require-checker has a dependency to
ocramius/package-versions version which requires v1 composer API.
Once a newer version is required, we can use v2.
2020-12-01 11:23:23 +01:00
a642a0846d Add default and docs to not track preview
Preview is also active if a preview link is shared via EXT:workspace.
Those views should probably not be tracked, just like active backend
sessions.
2020-10-16 12:26:03 +02:00
ad690f4bc9 There is no need for allowTableOnStandardPages 2020-09-23 09:52:32 +02:00
6dccb84987 Add icons for extension
* Add Icons for extension itself.
* Add Icons for custom records.

Relates: #40
2020-09-23 09:52:22 +02:00
93353630b0 Execute tests with all supported PHP versions 2020-09-23 08:50:27 +02:00
9fe11b300c Extend dependency checker to TYPO3 specific files
Only autoloaded files will be checked by default.
TYPO3 has some additional files which should be scanned as well.
2020-09-16 09:13:29 +02:00
8ecc704cd9 Fetch XSD for xliff from official source 2020-09-16 09:09:58 +02:00
930903e39f Fix SQL query for pageviewsperpage widget
The existing query was not fully working as intended.
Also it did not work with proper MySQL sql_mode settings.

This is fixed by building a proper query which delivers expected and
deterministic results.

We now always have latest records first.

Also there is no need to fetch the sys_language_uid, as we only fetch
localized record if only one language is allowed. That way we can just
check configuration and use the configuration to do language overlay.

Also there was no need for an join, therefore query was reduced to
necessary stuff.

Relates:  #35
2020-08-13 10:11:45 +02:00
27e0623794 Fix SQL query for recordviews widget
The existing query was not fully working as intended.
Also it did not work with proper MySQL sql_mode settings.

This is fixed by building a proper query which delivers expected and
deterministic results.

We now always have latest records first.

Also there is no need to fetch the sys_language_uid, as we only fetch
localized record if only one language is allowed. That way we can just
check configuration and use the configuration to do language overlay.

Relates:  #35
2020-08-13 10:11:45 +02:00
8f755f79f2 Execute tests for MySQL in addition to existing sqlite 2020-08-13 10:11:45 +02:00
204eddf9e1 Fix path to PHPUnit schema
PHPUnit changed path of 9.3 aka current xsd.
2020-08-12 15:38:20 +02:00
f06684c660 Add sensiolabs secutiy checker to ci 2020-08-07 12:43:28 +02:00
2c4db3078d Add php linting
Ensure PHP Code is valid for all supported PHP versions.
2020-08-07 12:43:15 +02:00
04fcaaaad2 Add XML linting to GitHub CI 2020-08-07 12:43:04 +02:00
80055b0642 Split GitHub Actions CI Jobs
It doesn't make sense to place all jobs into a single job.
Instead split them up into single jobs.
2020-08-07 12:10:59 +02:00
9cd32427ae Migrate phpunit configuration for 9.3.x
9.3.x renamed some options from offensive white and blacklist to include
and exclude.

As we don't want to wait until they get removed in v10, we adjust the
configuration now.
2020-08-07 10:46:37 +02:00
5d4b724485 Do not separate unit and functional tests
Both can be run with a single command and configuration.
Therefore merge both configurations into one and adjust CI call.
2020-08-07 10:40:19 +02:00
7d3aeabcdd Adjust branch alias for composer
As master was replaced by main.
2020-08-06 16:34:11 +02:00
42f75a75a0 Remove HTML Tags from dashboard widget labels
BackendUtility::getRecordTitle might contain HTML tags like "span".
Those might result in broken rendering. As we don't need this markup
anyway, we remove it.
2020-08-04 09:16:33 +02:00
1cbec2e51d Support language restriction for all widgets
Relates: #15
2020-08-03 14:29:42 +02:00
68d1b44008 Add missing _defaults to examples Services.yaml in docs
In order to provide fully consistent and working examples.
2020-08-03 12:31:16 +02:00
d754120517 Use news as example for recordview tracking in docs
As it most likely is the most used configuration.
Therefore it should be as easy as possible.
Also it matches more or less any Extbase plugin with nested structure.
2020-08-03 12:31:16 +02:00
644f5f241d Add hint regarding loading order of extensions 2020-08-03 12:31:16 +02:00
7346616663 Allow older versions of symfony components
This should prevent conflicts with other tools like typoscript linter.
2020-08-03 12:31:16 +02:00
26d499a1de Allow Symfony to autowire and autoconfigure widgetproviders
That will allow to resolve none configured dependencies, e.g. to
language service.
2020-08-03 12:31:16 +02:00
f3d69eed45 Add multi language support
Allow integrator to limit results in widget to certain languages.
If only one language is allowed, labels will be translated.
Otherwise default system language is used.

E.g. one record will be displayed in multiple languages, it would be
confusing to show him multiple times for each language.

Add TYPO3 extension for phpstan as many things would break within tests.

Relates: #15
2020-08-03 08:46:31 +02:00
a387580df7 !!!|Rename bad phrases like blacklist
This involves changed inside of Services.yaml if those configuration
options were used before.

Relates: #17
2020-07-30 14:00:22 +02:00
f48714cb7b Add documentation for integrators
Relates: #14
2020-07-30 13:52:33 +02:00
33685d1735 Add tracking of record views
Allow Integrator to define rules to track views of records.
This allows to add tracking to extensions like tx_news.
Integrators are able to define matching rules on current request. If a
request matches, the record is stored as individual view beside existing
pageview.

Relates: #14
2020-07-30 13:52:33 +02:00