Why is the editing interface for Content Blocks defined in YAML? Why not just use TCA?

There are several reasons:

  • Separation of a field’s view related properties from it’s database related properties
  • Simplification of the definition
  • Prevention of a possible security flaw
  • Opening up to TYPO3 newcomers/ beginners/ frontend-only devs

See Editing interface field types (YAML reference).


Currently there is a long term goal to refactor TCA, but it is unknown when this will happen. With Symfony based field types we would not have a breaking change in the configuration, but only “under the hood” then.

Switching the CType

Switching the CType without having to re-enter the content is not possible with different prefixes per CType. Perhaps a manual prefix could be defined so that, for example, an agency can define all its own content blocks on its own responsibility.

For now switching the CType without data loss won’t be enabled. However, if the survey for editors proves that it is necessary, a strategy for this will be needed first. A discussion is currently open.

Compatibility with extensions

Introducing the content blocks package approach will be a breaking change. We offer working together with the extension authors.

Localization of content

A field is localize-able by default, so setting the localization property is only necessary if special localization method is required.