25+ New Enhancements in TYPO3 v11.3

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 with TYPO3 version 11.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.

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.


 

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

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).

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 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
);

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.

The Filelist backend module has a refreshed visual appearance that is more consistent with the List module.

The tab "statistics" of the "redirects" module (Site Management - > Redirects) currently displays the date/time when the redirect was made.

A clue is displayed in the page properties if a page acquires the backend layout from a parent page.

The Web - > Info module currently contains a new Pagetree outline type that displays the backend structure layout utilized on each page.

TYPO3 administrators would now be able to make filemounts through another option from the context menu.

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:
...

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

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.’);

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
             }
       }
    }
  }
}

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
]

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’

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 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.

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

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.

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
   );
}

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);

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 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

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

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.

Get hassle-free upgrade service from a certified TYPO3 Developer

  • 350+ Extensions upgrade to TYPO3 LTS versions
  • 150+ Completed TYPO3 upgrade sites (from v6 to current LTS)
  • 35+ Team of TYPO3 developers
  • 13+ Years of TYPO3 experience
  • 3 Package plans are available for the TYPO3 upgrade
  • 2 Days of quick support (reaction and resolution time)
TYPO3 Upgrade Gig
upgrade

Post a Comment

×
Captcha Code Can't read the image? Click here to refresh
  • user
    Ulrich Meier 2021-08-04 at 7:12 am
    TYPO3 version 11 also seems revolutionary. Many cool improvements! Good going TYPO3 community.
  • user
    Andreas 2021-08-02 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.