Commit graph

8 commits

Author SHA1 Message Date
bfd4c77a17 Refactor parsing of JSON-LD
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.)
2021-08-12 09:46:37 +02:00
dc09713884 Move namespace below initial file comment 2021-08-10 09:41:54 +02:00
6b19485a36 Handle resources with missing containedInPlace
Check for situation and return empty array.
Do not create unnecessary requests to database but directly return.
2021-06-08 14:05:24 +02:00
e13bb35252 Handle removed configuration in log overview
Resolves: #13
2021-06-01 11:23:25 +02:00
c91f665d98 Make compatible with PHP 7.3
As some projects still might run on PHP 7.3 and supported TYPO3 version
still supports 7.3.
2021-04-13 15:32:10 +02:00
dc5a4546f3 Ensure proper types when saving import log
Insertion is stored as integer in database.
Therefore cast boolean to integer.
Otherwise DataHandler might throw error as saved data type differs from
provided data type.
2021-02-16 11:09:18 +01:00
ded93e0d8e Integrate phpstan 2021-02-16 11:09:18 +01:00
dc1c45f1c1 Initial import mechanism
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
2021-02-16 11:09:18 +01:00