It is now possible to group locations.
Each location can have arbitrary children.
That can be used for editorial structuring.
Filtering for a location will always find all dates where the location
or one of the child locations is assigned.
One use case can be to group imported locations and provide a grouped
location for filtering in frontend.
Relates: #11233
A new class is added which will add meta tags for dates and events.
The class has an interface which allows it to be replaced via DI to
alter behaviour.
Refactor import regarding data handler. We now also need to add a new
column "keywords". We use the new DataHandler approach.
But that approach only covered relations so far. We therefore refactor
that area to be more generic and use that one for new keywords column.
Relates: #10642
A new PSR-14 event is added that allows to modify the event right before
it is persisted within Destination Data One import.
This for example allows to alter dates, prices, etc.
Improve handling of missing end time in dates.
The pages now receive proper cache tags.
The import now properly clears those cache tags.
That way all corresponding pages will show updated content after import
finished.
We need one test that executes frontend requests and import command.
The separation is therefore removed and tests are streamlined to have a
single parent providing all necessary information and setup.
A new TypoScript option upcoming is added.
The option can be set to 0 (default) or 1.
0 behaves the same way as in the past.
1 turns off the option useMidnight, start and end.
Only dates with a start date in the future will be shown.
Relates: #10507
There might be access to TSFE get_cache_timeout() prior rendering
events.
TYPO3 has a cache for timeout and won't re calculate again.
We therefore need to clear the cache if timeout would change.
That will lead to inconsistent cache information throughout a single
request. But the final cache timeout of the page will be correct. Other
parts might be longer, which probably is fine until they relate to the
events.
Relates: #10500
Use abstract classes to include necessary steps and keep actual test
cases small.
Ensure tests in CI run faster but not installing unnecessary
dependencies. But use pre installed ImageMagick.