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.)
Sorry for fixing two things in one commit.
First fixed bug is single offer and / or single price.
Those lead to exception / fatal error and are now handled.
Second fixed bug is wrong multi language handling.
Instead of using supported languages from entity (which does not exist
and was miss interpreted) we use configured system languages.
Each record is inserted with default language.
Also tourist attractions are inserted for all other languages.
They are only inserted if they have a title for that language.
Provide first basic import mechanism.
It already allows to import entities into TYPO3 database.
Three entities are supported.
Entities are configured through import configuration.
This can be created, viewed, and edited through backend module.
Imports are tracked and accessible from backend module.
Still this is basic.
Importing lists of entities is not supported.
Multiple languages is not supported, etc.
Relates: #8214