Updates
This page documents update and migration steps between major versions.
Version 1.x
This is the initial release of the standalone extension. There are no migration steps required for a fresh installation.
Migrating from fgtclb/academic-base
The environment builder and state manager were extracted from
fgtclb/, where they lived under the internal, @internal
flagged namespaces FGTCLB\,
FGTCLB\ and
FGTCLB\.
As of ``fgtclb/academic-base`` 2.4.0 those internal classes are
deprecated and will be removed in ``fgtclb/academic-base`` 3.0.0. Code
that consumed the feature through fgtclb/ should switch to this
extension:
-
Require the extension:
composer require fgtclb/environment-state-managerCopied! -
Replace the namespace prefix. The class names, method signatures and behaviour are compatible; only the namespace changes (the
Environmentsub-namespace segment is dropped):fgtclb/(deprecated)academic- base fgtclb/environment- state- manager FGTCLB\Academic Base\ Environment\* FGTCLB\Environment State Manager\* FGTCLB\Academic Base\ Core12\ Environment\* FGTCLB\Environment State Manager\ Core12\* FGTCLB\Academic Base\ Core13\ Environment\* FGTCLB\Environment State Manager\ Core13\* For example
FGTCLB\becomesAcademic Base\ Environment\ State Manager Interface FGTCLB\, andEnvironment State Manager\ State Manager Interface FGTCLB\becomesAcademic Base\ Core13\ Environment\ State Manager FGTCLB\.Environment State Manager\ Core13\ State Manager
Note
In fgtclb/ 2.4.0 the value object
State was already removed and re-registered as a
deprecated class alias onto
FGTCLBEnvironment (via the
typo3/ composer plugin), because it is carried by type
through a public PSR-14 event. The remaining classes stay as deprecated real
classes until 3.0.0.
API differences to be aware of
While migrating, note the following intentional differences from the former
fgtclb/ implementation:
Stategained two optional constructor arguments,Build Context $backendandUser Id $workspace, used by the backend environment builder. Existing frontend call sites are unaffected.Id - The version-agnostic
Stateno longer declares theInterface Typoaccessors. They moved to the TYPO3 core version specificScript Frontend Controller Core12Extended/State Interface Core13Extended, because theState Interface Typois deprecated in TYPO3 v13 and removed in TYPO3 v14. AScript Frontend Controller Languageaccessor pair was added instead.Service