Yay! TYPO3 v11.3 comes with a lot of UI/UX, TYPO3 Backend, TYPO3 templates, and user functionality improvements. With vital new features and improvements, our favorite TYPO3 CMS is just getting better.
Unlike us, you must be waiting excitedly for TYPO3 version 11 to launch. Beta TYPO3 version 11.3 is out and we have been following the TYPO3 version 11 development closely and trying out the new features on our test sites. For each TYPO3 version 11.3 released, I’ve provided key specific insights concerning any new features and functionality.
One more thing, this blog is dedicated to TYPO3 people who contribute to the betterment, improvement, and enhance the richness of the amazing TYPO3 OpenSource Project.
In this article, we will show you what’s coming in T3v11 with its new power packs added in the latest release.
Development Roadmap of TYPO3 v11
To know ROI, It’s always good to check out the future planning of an OpenSource CMS. Here is the TYPO3 Roadmap at https://typo3.org/cms/roadmap.
Check out the well-planned development roadmap of TYPO3v11.
Do you know that TYPO3 GmbH offers further help and support options for TYPO3 v11 LTS even after 31 October 2024 for up to two extra years.
List Module: Selectable Columns
Backend users can now show/hide columns for each table under Web -> List without the need to switch to the single table view.
TYPO3 integrators can customize the view by applying a few lines of User TSconfig and can disable the “column selector” for specific tables or for all tables as required.
Integrators can also disable the "column selector" for specific tables or for all tables by applying User TScong:
# disable the column selector for the table "tt_content" mod.web_list.table.tt_content.displayColumnSelector = 0
# disable the column selector for all tables in general mod.web_list.displayColumnSelector = 0
List Module: Extended View
The List module has a further extensive view to get to additional capacities, for example, showing additional details or to view the change history of the components.
Along with TYPO3 v11.3, the checkbox has been taken out, and clients can get to the secondary capacities for each table independently (with three vertical spots).
Website User Data Download
TYPO3 website users can now download almost all database tables as CSV files from the List module. Obviously, suitable access consents to the tables are required. This "export" functionality has been in TYPO3 Core however was in some cases missed by clients.
Backend clients would now be able to trigger download in CSV and JSON design through a single click in the table header of each table in Web - > List.
Sharing Backend Links
Sharing TYPO3 backend deeplinks is easier now. Copying a link to the clipboard only takes two mouse clicks. Backend users can copy the URL of the page to their clipboard.
Developers can generate deep links (URLs) of pages in the backend using this constant.
For example:
$uri = $uriBuilder->buildUriFromRoute(
$routeName, $arguments, UriBuilder::SHAREABLE_URL
);
Selection of Files and Records
Record Selection has been made easy with TYPO3 v11.3. The File Selector to select an image in the "Text and Media" content element now features a checkbox on the left-hand side for each file. Backend users can check/uncheck/toggle elements easily.
These components now feature super-fast and lightweight techniques such as the underlying SVG-based code.
File-list Module
The Filelist backend module has a refreshed visual appearance that is more consistent with the List module.
TYPO3 Redirects
The tab "statistics" of the "redirects" module (Site Management - > Redirects) currently displays the date/time when the redirect was made.
TYPO3 Backend Hierarchy
A clue is displayed in the page properties if a page acquires the backend layout from a parent page.
TYPO3 Backend Layout Structure
The Web - > Info module currently contains a new Pagetree outline type that displays the backend structure layout utilized on each page.
TYPO3 Filemounts
TYPO3 administrators would now be able to make filemounts through another option from the context menu.
Improved TYPO3 Backend Widgets
With improvements in TYPO3 Backend Widgets, now TYPO3 users can refresh the widgets at the TYPO3 dashboard easily.
Integrators must set the configuration option refreshAvailable to true
Check the example of YAML configuration:
dashboard.widget.foobarWidget:
class: ’TYPO3\CMS\Dashboard\Widgets\RssWidget’
arguments:
$view: ’@dashboard.views.widget’
$cache: ’@cache.dashboard.rss’
$options:
rssFile: ’https://example.com/rss’
lifeTime: 3600
refreshAvailable: true
tags:
...
TYPO3 Password Reset
Since TYPO3 v10 LTS, the following global configuration disables the password reset functionality for backend users:
$GLOBALS[’TYPO3_CONF_VARS’][’BE’][’passwordReset’] = false
Changes in TYPO3 v11.3:
- The configuration only affects the login screen
- Administrators can still execute a password reset for users through the backend
- Administrators can still execute the respective CLI command
A new User TSconfig option disables the function in the backend:
options.passwordReset = 0
PSR-3 Logging Messages and Context
To completely follow PSR-3 detail, the TYPO3 Core currently utilizes placeholders when executing logging messages:
$this->logger->alert(
’Text text text {placeholder} text text.’,
[’placeholder’ => $variable]
);
Do not implement logging this way:
$this->logger->alert(’Text text text ’ . $variable . ’ text text.’);
Exclusion from TYPO3 Sitemap
A new TypoScript configuration excludePagesRecursive has been added to exclude parts of the page tree from the Sitemap. The option accepts a comma-separated list of page IDs
For example:
plugin.tx_seo {
config {
xmlSitemap {
sitemaps {
pages {
config {
# exclude pages recursively
excludePagesRecursive = 2,3
}
}
}
}
}
TCA Read-Only Option
A new TCA option readOnly has been added to the "t3editor" render type to prevent users from editing the content. TCA code example:
’config’ => [
’type’ => ’text’,
’renderType’ => ’t3editor’,
’format’ => ’html’,
’readOnly’ => true
]
Symfony Mailer
Integrators can now configure the Symfony Mailer using DSN:
[MAIL][transport] = ’dsn’
This makes it possible to use any 3rd-party mail transport provider such as Amazon SES, Gmail, MailChimp, and many more. Check out the configuration example of Amazon SES:
[MAIL][dsn] = ’ses+api://ACCESS_KEY:SECRET_KEY@default’
TYPO3 Page Layout Controller
The PageLayoutController now contains the new method
getModuleTemplate()
This gives TYPO3 developers more alternatives to control the page module when utilizing the drawHeaderHook and drawFooterHook. This new method can be utilized to retrieve the related ModuleTemplate module as the example code on the next page shows.
Event Listener
Event listeners do not require the tag "event" in the file Services.yaml anymore TYPO3 automatically detects events based on the type hint in the method signature by using reflection.
New File-ViewHelper
A new ViewHelper has been implemented:
TYPO3\CMS\Fluid\ViewHelpers\Link\FileViewHelper
The ViewHelper lets extension authors create links to both public and non-public files easily. For example:
<f:link.file file="{file}" download="true"
filename="alternative-name.jpg">Download</f:link.file>
The argument file accepts a File object, a FileReference, or a ProcessedFile
An alternative download le name can be specified using the argument filename
Extbase: PSR-7 Request/Response
To follow unified standards and state-of-the-art technologies for extension developers, Extbase should feature a clean request/response handling in accordance with the PSR-7 standard.
So streamlined class “\TYPO3\CMS\Extbase\Mvc\Request” now implements the PSR-7 ServerRequestInterface and in several deprecations, for example the methods getRequestUri() and getBaseUri().
This lets developers access request-related information from the core.
Custom Error Messages for Validation Results
A new method addErrorForProperty() allows developers to add custom error messages
This applies to properties of Extbase models. For Example
public function isValid(): void
{
// validation
$this->addErrorForProperty(
’object.property.name’,
$this->translateErrorMessage(
’validator.errormessage’,
’myextension’
),
1626134400 // timestamp
);
}
Parameter Type Evaluation
Extbase's legacy type detection of arguments has been marked as deprecated
Developers should use PHP's type hints in argument lists
Example (old code):
/**
* @param \MyVendor\MyExtension\MyModel $item
*/
public function myAction($item);
new code:
public function myAction(\MyVendor\MyExtension\MyModel $item);
Language Support
The TYPO3 backend now supports two additional languages:
- Shona (Bantu) (ISO 639-1 code: sn)
- Welsh (ISO 639-1 code: cy)
This change enables us to:
- Fetch translated labels for these languages from
- translation.typo3.org and CrowdIn
- Switch the backend interface to these languages
- Use these languages in a site configuration
- Create translation files (e.g. <code>.locallang.xlf)
TYPO3 Login Throttling
TYPO3 now limits backend and frontend logins using the Symfony library "Rate Limiter".
A PSR-15 middleware now uses the rate limit to block further authentication attempts if too many failed logins from the same IP address were detected.
This approach replaces the old solution that was not a state-of-the-art implementation from a security perspective
Post a Comment
- TYPO3 version 11 also seems revolutionary. Many cool improvements! Good going TYPO3 community.
- Wow! So many great features in TYPO3 v11, Thanks for writing such in-depth blog on new releaset. Awaiting for TYPO3 v11 LTS.
Dhyana Chauhan
Tech Expert & Customer ManagerDhyana Chauhan is the customer support manager at T3Planet, having vast experience as an technology lead who loves exploring everything that’s in trend, especially TYPO3. Being a TYPO3 fanatic, in her free time, she loves…
More From Author