Slugs might sometimes become too long.
This should be handled, but we do not know how right now.
This is already a test setup for validating the logic.
Relates: #11496
Slugs of dates are generated during import.
This might lead to confusion if the time zone differs from frontend.
Therefore the time zone is now configurable to allow adjustments for the
actual website.
A new interface `TimeZoneProviderInterface` is provided which can be re
configured to a different implementation.
The default implementation will use TYPO3s `SYS.phpTimeZone` setting,
with fall back to `date_default_timezone_get()` call.
That way it should be useful for most systems out of the box.
Resolves: #11345
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
* Add missing dependency to composer package `typo3/cms-install`.
As UpgradeWizards use API of the package.
* Migrate deprecated PHPStan configuration options
* Adapt expected HTML output within functional tests
As TYPO3 changed actual generated HTML.
https://ogp.me/ is used by some platforms, especially social media, to
generate previews of shared links.
The extension now delivers default open-graph tags for better user
experience.
Twitter uses its own way which is also supported.
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
The vendor was renamed from `wrm` to `werkraummedia`.
And the namespace vendor was renamed from `Wrm` to `WerkraumMedia`.
That way all references to PHP classes as well as the package name
itself need to be adjusted.
We migrated the part of the import to use DataHandler.
We didn't invest too much time as budgets are low.
Still the bugs are covered with tests and fixed.
Relates: #10782
It was not possible to change the value of highlight for events due to
broken TCA.
This got fixed. The input is now streamlined to look the same as hidden
to not irritate users.
Relates: #10782
A new PSR-14 event is added that allows to modify the categories to be
assigned to an event.
The event itself (including already existing categories) as well as the
list of categories to be used after import are available.
It is possible to change the categories to be assigned, e.g. keep some
of the existing categories.
That way it is possible for installations to add custom categories to
events.
Relates: #10623
Destination Data One provides an source info explaining where the data
originally came from.
This is now added to event records and exposed in TYPO3 backend.
That allows editors to check the source and contact corresponding
sources in order to fix broken data.
Relates: #10630
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.
They sometimes use a different separator.
The code is adjusted to always use same separator and precision.
That will prevent the same location from showing up multiple times due
to different latitude and longitude values.
* Set ``alternative`` to the ``description`` if available.
* Set ``creator_tool`` to the "destination.one".
* Set ``source`` to the URL of the fetched image.
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.
The usual use cases right now would involve a new file with a new URL.
That way we don't need to download existing files again.
That reduced network traffic, execution time and resource usage.
Dates are vanished and re created during import.
Slugs for dates were generate after whole import was finished.
This is now changed to generate slugs for dates after saving each single
event.