Breaking: Site sets and static templates have been restructured
Description
The TypoScript and the page TSconfig of this extension were 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 the wizard file
Configuration/ and 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/keeps the sharedTypo Script/ plugin.block and thetx_ academicprojects pageobject of the page type. Both content elements are driven by the one plugin, so that block is shipped once and every component folder names it in a one-lineinclude_.static_ file. txt Configuration/andTypo Script/ Project List/ Configuration/are the two component folders. They are what the static template registers and what the matching set points itsTypo Script/ Project List Single/ typoscriptkey at.Configuration/holds the page TSconfig of a component and is what the page field Page TSconfig offers and what the set points itsTSconfig/<Component>/ page. tsconfig pagetskey at.Configuration/andTypo Script/ Full/ Configuration/are the aggregates for installations that do not use site sets.TSconfig/ Full/ page. tsconfig
The directory Configuration/ is now spelled
Configuration/, the spelling TYPO3 itself uses for the term.
Every path below it changed with it, and the migration table lists them.
The content elements are now hidden by default. The always-included
Configuration/page.tsconfig removes both content element types from the
selectable ones, and the page TSconfig of a component adds its own back. An
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.
The
styles. override that
Configuration/TypoScript/setup.typoscript used to import unconditionally
is a component of its own now,
Configuration/TypoScript/ContentLoad/setup.typoscript. It redefines a
global TypoScript object path for every page of a site, so it must be possible
to take the content elements without it.
The page type Academic project (doktype 30) and its backend layout
AcademicProject are unchanged and stay installation-wide. They are
values stored on
pages
records and are not, and must not be, part of any
opt-in set.
Impact
A
sys_ record that selected the static template of this extension
keeps its stored value and keeps working: the registered folder is unchanged,
only its label is. What it no longer delivers is the
styles. override, which moved into a component
of its own.
A site package that imported one of the moved files by path fails to resolve it.
@import
of a missing file is silent, so this shows up as missing
configuration rather than as an error message.
Both content elements are no longer offered in the backend until the page TSconfig of their component is included, through the site set or through the page field Page TSconfig.
Warning
Do not open an existing record of one of these content elements 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.
Warning
The Fluid template of the page type renders
styles. through
<f:, and
that ViewHelper throws when the path is undefined. A site that deliberately
opts out of fgtclb/ and still uses the page
type has to define
styles. itself.
The set
fgtclb/ keeps its name and keeps delivering
everything, so a site configuration that depends on it needs no change.
Site sets arrived in TYPO3 v13.1 and do nothing at all on TYPO3 v12: the core
has no set API there and the folder Configuration/ is never read.
Everything above about the static templates and the page field Page
TSconfig therefore applies to both TYPO3 versions this extension supports, and
everything about sets applies to TYPO3 v13 only. An installation on v12 has to
add the page TSconfig entry described under Migration, and has no
alternative to it.
Affected Installations
Installations that import one of the shipped files from an own site package,
that use one of the content elements of this extension without including its
page TSconfig, or that relied on the
styles.
override arriving with the plugin configuration.
Migration
Adjust every
@import
in an own site package:
| Old path | New path |
|---|---|
EXT: | Unchanged. |
EXT: | Unchanged, but it no longer imports the
styles. override below. |
EXT: | EXT: |
EXT: | EXT: |
EXT: | EXT: |
EXT: | EXT: |
EXT: | EXT: |
EXT: | EXT: |
EXT: | Removed. It was a one-line
@import
of the file above
it in this table. |
EXT: | Removed, for the same reason. |
The entry in the
sys_ record keeps its value and changes its
label:
| Old entry | New entry |
|---|---|
Academic Projects (academic_projects),
stored as EXT: | Academic Projects: Shared plugin settings and page
rendering (academic_projects), same stored value, or
Academic Projects: All components (academic_projects),
stored as EXT:,
which also carries the content load override. |
Add the page TSconfig entry, which did not exist before, in the page record of
the site root, tab Resources, field Page TSconfig:
Academic Projects: All components (academic_projects), stored as
EXT:. Without it
the content elements are not selectable any more, and existing records of them
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.
A site configuration on TYPO3 v13 may name the new component sets instead of the aggregate:
| Set | Delivers |
|---|---|
fgtclb/ | Unchanged in name, now delivers through the component sets below. |
fgtclb/ | The Projects content element only. |
fgtclb/ | The Projects (selected) content element only. |
fgtclb/ | The
styles. override only. The
aggregate depends on it. Name the component sets above without it to
opt out. |