25+ New Enhancements in TYPO3 v11.3

25+ New Enhancements in TYPO3 v11.3

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.

Features of TYPO3 v11.3


 

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:[email protected]

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

Support for PHP 8.0

The TYPO3 Core is now compatible with PHP 8.0, which is officially supported with security updates until 26th November 2023.

Conclusion!

We hope this article gives you a good idea of what is coming in the upcoming TYPO3 11.3. Let us know what features you find interesting and what you’d look to see in a future TYPO3 release.

Post Comment

Your email address will not be published. Required fields are marked *

×

Name is required!

Enter valid name

Valid email is required!

Enter valid email address

Comment is required!

Google Captcha Is Required!

Comments :

  • Ulrich Meier August 4, 2021 At 7:12 am
    TYPO3 version 11 also seems revolutionary. Many cool improvements! Good going TYPO3 community.
  • Andreas August 2, 2021 At 1:32 pm
    Wow! So many great features in TYPO3 v11, Thanks for writing such in-depth blog on new releaset. Awaiting for TYPO3 v11 LTS.

TYPO3 Templates & Extensions Updates Release - August 2021

Welcome to TYPO3 Templates & Extensions Updates Release - August 2021Team T3Terminal has a dream to provide World-class TYPO3…

How to Check TYPO3 Version (with TYPO3 Live Demo)

Have you ever wondered how to check what version of TYPO3 you or another site are using?Recently, one of our users asked us how…

TYPO3 Templates & Extensions Updates Release - March 2021

Welcome to TYPO3 Templates & Extensions Updates Release - March 2021Team T3Terminal has a dream to provide World-class TYPO3…

Stay up to date with our recent TYPO3 Blogs, news, & updates