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
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
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
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 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.
The code used native date functions, this made tests not robust.
We switch to TYPO3 API to fetch the current date and time.
Test is adjusted to define the date and time to verify code works as
expected.
Entering the continue part would end in an endless loop.
We never add anything to $i and therefore would end up here.
Existing tests ensure we don't break something.
The new test ensures we do not hit endless loop anymore.
The property will always be set in the future.
We no longer can use it as an indicator.
We switch to freq as new indicator.
We also ensure that start has to be given for a single date.
Relates: #9892
It is now possible to create "Import" records in TYPO3 system.
Those records can then be imported via two new commands.
There is no need to configure everything within the command itself.
That allows:
* To allow editors to maintain import configuration.
* Have proper labels, description, csh and UI to create import.
It no longer is necessary to copy UIDs,
instead proper wizards from TCA are available to select pages.
Relates: #9649