Some installations might need to add further images
to records imported from ThüCAT.
The records are now extended to support adding images by editors.
The images are not touched during import.
The images are also ignored during clean ups,
the editor is in full control.
This feature for now is only added to tourist attractions by default.
The feature is implemented in a way that all objects extending the
``WerkraumMedia\ThueCat\Domain\Model\Frontend\Base`` class are usable
by adding an ``editorial_images`` field to their table.
The command is also available as scheduler task.
This finally allows to regularly execute imports.
This also allows to import from CLI context
with differently configured timeouts.
This allows to fetch merged opening hours instead of actually edited
opening hours.
They will be merged per valid time span.
The data structure is a bit different as each time span has a list of
week days, each with its own open and end.
Relates: #10246
The schema is very flexible and some values are not validated upfront.
This will result in many objects which we currently can not map.
This resulted in an exception breaking the rest of the import.
We now handle the broken mapping and skip those objects with proper
logging.
This allows to continue with import and report and debug those objects
in order to improve the mapping step by step.
Relates: #10198
Adds a new type of import configuration.
This configuration allows to define a single resource.
All the resources referenced via schema:containsPlace will be imported.
Relates: #10237
The ctrl configuration already existed, just the corresponding column
configuration was missing.
It is now possible to hide and unhide the records within TYPO3 as usual.
Relates: #10230
Opening hours are filtered. Opening hours from the past are no longer
available.
Opening hours are sorted. Newer opening hours are shown last.
Relates: #10185
- Removed individual converters for TYPO3.
Conversion is now handled in a single converter.
- The new converter will import necessary dependencies upfront, e.g.
town or organisation.
- Move import state into extra class.
Relates: #34
Use Symfony components to map incoming JSON onto objects.
Those provide a mapping. They can then be used to fetch the data in a
common way and insert it into the system.
- Handle languages within JsonDecode
(normalize incoming data based on language)
- Handle Single Value and List of Values within Entities. They will map
incoming Data to proper Objects. (We now generally transform during
serialization process if target is array but we got single entity)
- Add missing tests for existing data.
- Finish migration of all existing data, this includes next step
- Provide discriminator to ObjectNormalizer to auto detect target class
based on "type" property. (Done for now by own registry)
- Combine generated object with current structure for import -> generate
data array out of it.
- Resolve foreign references to existing entities,
(images, contentresponsible, etc.)
Import Configuration can now be stored on folders, beside the site root.
That way editors can create and edit records.
The default storage pid for new records can be defined via TypoScript.
Resolves: #24
Allows to import entity of type TouristAttraction.
Right now only in German, as this is most important.
Add output of tourist attraction via custom content element.