Skip to content

Define table links in files #19

Description

@brotkrueml

Configuration should not be stored in the database, instead files should be used. This has advantages:

  • Configuration and its history can be versioned via Git.
  • Configuration is deployable.

TYPO3 v12 will probably provide a way to read configuration from files and hydrate value objects accordingly, see discussion:
https://decisions.typo3.org/t/configuration-overhaul-plan/728

Prerequisite: #20

Acceptance criteria:

  • Table links are defined in yaml files.
  • An upgrade wizard to move the configuration from the database into yaml files is available.
  • The backend module displays all available table links readonly. A connection check is possible.
  • The Table and Column models and the TableRepository are removed.
  • The sync hash, the last sync date and a possible error are stored in the registry.
  • The field table_uid is removed from dataset and transfer table. Also the logic to use the table_uid as fallback when syncing datasets or transmitting transfers is in place.
  • The documentation is adjusted.
  • Add breaking entry to changelog

The following fields for a table link are available:

  • identifier (string, unique, required, formerly know as "handle")
  • type (string, required)
  • connection identifier (string, required)
  • table guid (string, required)
  • custom table name (string optional/required, depends on type)
  • columns (array, optional/required, depends on type)

The following fields for a column are available:

  • name (string, required) - corresponds to column name from JobData table
  • label (string, optional)
  • type (string, required)
  • decimal places (int, optional, depends on column type "decimal", default 2)
  • field size (int, optional, depends on column type "text", defaults 0)
  • alignment (string, optional, depends on table type "simple sync")
  • sorting priority (int, optional, depends on table type "simple sync")
  • sorting order (string (asc, desc), optional, depends on table type "simple sync", default asc)

Probably, one configuration file for each type is used.

Metadata

Metadata

Assignees

Labels

wontfixThis will not be worked on

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions