Breaking: Site sets and static templates have been restructured
Description
The TypoScript of this extension was shipped twice: the static template read
Configuration/, and the site set
fgtclb/ shipped its own
constants. and setup., each of them a single
@import
of that folder. The page TSconfig existed only as
Configuration/, reachable through the
auto-included Configuration/page.tsconfig and through nothing else. It
was not selectable on a page at all.
Both mechanisms now read one physical copy of every file, and both of them deliver the extension per component instead of as one block:
Configuration/holds the TypoScript of the Profiles: Profile Editing content element and is what the static template registers and what the set points itsTypo Script/ Profile Editing/ typoscriptkey at.Configuration/holds its page TSconfig and is what the page field Page TSconfig offers and what the set points itsTSconfig/ Profile Editing/ page. tsconfig pagetskey at.Configuration/andTypo Script/ Full/ Configuration/are the aggregates for installations that do not use site sets. On TYPO3 v12 that is every installation, because site sets arrived in TYPO3 v13.1.TSconfig/ Full/ page. tsconfig
The content element is now hidden by default. The always-included
Configuration/page.tsconfig removes
academicpersonsedit_ from the selectable content
element types, and the page TSconfig of the component adds it back. The element
is therefore offered where it is wanted instead of on every page of every
installation. The TCA registration itself did not move, so the frontend renders
existing records exactly as before. Editing such a record in the backend needs
care. Read the warning below before upgrading.
Impact
A
sys_ record that selected the old static template keeps its
stored value. The folder of that value holds no TypoScript of its own any more.
It imports the files of the component folder instead, so it delivers what
All components delivers. The path is deprecated and will be removed
in version 4.0, see Deprecation: The static template path of version 2.3.
A site package that imported Configuration/TypoScript/setup.typoscript
or Configuration/TypoScript/constants.typoscript by path keeps getting
the configuration, deprecated in the same way. Every other shipped file it
imported by path fails to resolve.
@import
of a missing file is
silent, so this shows up as missing configuration rather than as an error
message.
The Profiles: Profile Editing content element is no longer offered in the backend until the page TSconfig of the component is included, through the site set or through the page field Page TSconfig. On TYPO3 v12 the page field is the only one of the two that works, and that same file also carries the entry of the new content element wizard, which v12 builds from page TSconfig rather than from TCA.
Warning
Do not open an existing Profiles: Profile Editing record in the
backend form on a page that does not include that page TSconfig. An item
removed through
TCEFORM. is
excluded from the [ invalid value ] fallback TYPO3 otherwise
adds for a stored value it does not know, and the stored value is dropped
from the form data as well. The field Type therefore comes up
with nothing selected, and saving the record writes whatever the browser
preselected into
CType
. The record silently becomes another content
element. The frontend keeps rendering it correctly until that happens.
Include the page TSconfig of the component on every page tree that holds such records, and do it before editing them.
The set
fgtclb/ keeps its name and keeps delivering
everything, so a site configuration that depends on it needs no change.
Affected Installations
Installations that select the static template of this extension in a
sys_ record, that import one of the shipped files from an own
site package, or that use the content element without including the page
TSconfig of this extension.
Migration
Replace the deprecated static template entry in the
sys_
record:
| Old entry | New entry |
|---|---|
Academic Persons Edit Settings (academic_persons_edit),
stored as EXT: | Academic Persons Edit: All components
(academic_persons_edit), stored as
EXT:, or
Academic Persons Edit: Profile editing
(academic_persons_edit), stored as
EXT: |
Add the page TSconfig entry, which did not exist before, in the page record of
the site root, tab Resources, field Page TSconfig:
Academic Persons Edit: All components (academic_persons_edit),
stored as
EXT:. Without
it the content element is not selectable any more, and existing records of it
lose their
CType
when they are saved from the backend form.
Sites that use the site set instead need no migration. They must not use both mechanisms at once, see the Configuration chapter. That applies to TYPO3 v13 only. On TYPO3 v12 the entries above are required.
Adjust every
@import
in an own site package:
| Old path | New path |
|---|---|
EXT: | EXT: |
EXT: | EXT: |
EXT: | EXT: |
A site configuration on TYPO3 v13 may name the new component set instead of the aggregate:
| Set | Delivers |
|---|---|
fgtclb/ | Unchanged in name, now delivers through the component set below. |
fgtclb/ | The Profiles: Profile Editing content element only. |