Commit graph

65 commits

Author SHA1 Message Date
075a591256 Add strict_types to all files 2021-08-12 09:46:37 +02:00
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
fb6b494993 Remove rdfs:label from tests
The endpoint no longer delivers that data which seemed to be a duplicate
of schema:name which we already used anyway.
2021-08-12 09:46:37 +02:00
1a6940633e Add first frontend test
This should ensure rendering works as expected.
Most important: This ensures data is available in frontend templates.

Add dev dependency to fluid_styled_content. This is necessary to test
our rendering integration with fluid_styled_content defaults.

Relates: #34
2021-08-12 09:30:48 +02:00
a27eae4148 Add missing test for opening and media 2021-08-09 16:19:58 +02:00
db8963d92d Add functional tests for import of tourist information 2021-08-09 09:00:20 +02:00
2d9540436a Add functional tests for import of town 2021-08-09 09:00:20 +02:00
9cfb0fdb3a Fix @covers and @uses annotations within tests
Always use `\` prefix as best practice.
Add missing new classes.
2021-06-01 11:27:23 +02:00
197a3e4696 Support sync scope
Add new configuration to support sync scope.
This one requires the provided sync scope id and will always update all
entries.

Relates: #23
2021-06-01 09:43:33 +02:00
442a6842ec Add prices to tourist attraction
Import prices, show them in records and make them accessible in
frontend.
2021-02-18 16:00:07 +01:00
2e0102894f Allow to configure storage pid for each import configuration
Each import configuration now offers an input to define storage pid.
That enables integrators to have different storage folders per
configuration.
2021-02-17 15:37:49 +01:00
92c8bbedaa Add multi language handling
Import entities in all available languages.
Provide translated records in frontend.
2021-02-17 14:51:00 +01:00
46144de0a7 Add first functional tests for import
To ensure the whole process is still working.
Setup environment and execute request of backend module through extbase.

Ensure expected records are created.
2021-02-17 09:20:24 +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