Deprecation: #104773 - ext:backend LoginProviderInterface changes
See forge#104773
Description
Method
\TYPO3\
has been marked as deprecated
and is substituted by
Login
that will
be added to the interface in TYPO3 v14, removing
render
from the
interface in v14.
Related to this, event
\TYPO3\
has been changed to deprecate
get
and
get
,
while
get
has been added.
get
now typically returns
an instance of
View
.
This change is related to the general View refactoring.
Impact
The default
Login
implementation is
Username
provided by ext:core. This consumer has been adapted.
Using
Login
in TYPO3 v13 will trigger a
deprecation level log entry and will fail in v14.
Affected installations
Instances with custom login providers that change the TYPO3 backend login
field rendering may be affected. The extension scanner is not configured to
find usages, since method name
render
is too common. A deprecation
level log message is triggered upon use of the old method.
Migration
Consumers of
Login
should implement
modify
instead, the transition should be smooth.
Consumers that need the
Page
for JavaScript magic, should use dependency injection
to receive an instance.
The default implementation in
Username
is a good example. Extensions that need to configure additional template, layout or
partial lookup paths can extend them:
if ($view instanceof FluidViewAdapter) {
$templatePaths = $view->getRenderingContext()->getTemplatePaths();
$templateRootPaths = $templatePaths->getTemplateRootPaths();
$templateRootPaths[] = 'EXT:my_extension/Resources/Private/Templates';
$templatePaths->setTemplateRootPaths($templateRootPaths);
}
Consumers of
Modify
should use the request instead, and/or should get an instance of
Page
injected as well.