Extensibility, Customization & Integrations

HTML-based Templated Emails

Introduced in version 10.3

Up until now, TYPO3’s system emails were  just plain text emails. But not anymore!

TYPO3 v10.3 now supports nice looking template-based HTML and plain-text emails by using the Fluid templating engine. Several emails created by the TYPO3 core use the new format: for example the notification email that can be triggered if a user logs into the backend, or the email that is sent to the appropriate users when an element changes its workspace stage.

Why don’t you trigger a test email in the Install Tool yourself to see how nice an HTML-based email can look?

But this is not all: by overwriting the default paths to the Fluid template files, developers and integrators can implement their own customized email templates. Imagine system-generated notification emails with the brand logo and colors of your agency! How amazing is this?

Documentation

Fluid-Based Frontend Login Form

Introduced in version 10.2

System integrators use the system extension Frontend Login (extension key “felogin”) to provide a simple way for users to log-in and access restricted areas of a website, with a password recovery function as well. However, it was cumbersome for integrators and developers to modify the templates. While all other system extensions use the modern Fluid templating engine, Frontend Login was the only extension that was still based on “Marker-based” templates.

TYPO3 v10.2 now includes an Extbase-version of that frontend login functionality. This solution has a few advantages:

  • Modify the templates more easily.
  • Send out HTML-based password recovery emails.
  • Adjust and modify validators to enforce password restrictions.

The new Extbase plugin is available out-of-the-box for new installations. To avoid losing modifications on existing TYPO3 instances, they will continue to use the old templates by default (use the feature toggle in TYPO3 v10.2 to explicitly enable the Extbase-version).

Documentation

Developer Joy with More PSR-14 Events

Introduced in version 10.2

Hooks and the Signal/Slot concept is one of TYPO3’s superpowers. This allows extending the core functionality by emitting a signal and to notify other components about a specific event. Extension developers love this technology and we took it to the next level by introducing PSR-14 events to the TYPO3 core in version 10.0.

Today we are more than happy to announce that all existing Signal/Slots of the TYPO3 core have been migrated to PSR-14 events in TYPO3 v10.2. Existing slots of custom extensions will continue to work but we highly recommend that extension developers should migrate slots to PSR-14 event listeners even now.

To learn how simple it is to migrate to PSR-14 events, developers can review the code change of the FileMetadataOverlayAspect for example.

Documentation

PHP class/property analysis

Introduced in version 10.0

Extbase (the powerful MVC framework used in TYPO3) enables core and extension developers to write awesome functions for TYPO3 in a clean and consistent way (“convention over configuration”). The analysis of custom PHP classes and their properties is a key function of Extbase. This crucial task is now handled by Symfony's PropertyInfo Component. By using a PHP package that follows industry standards, is well-known, and maintained by a huge community, we ensure that this component of Extbase remains state-of-the-art for years to come. At the same time we reduce our maintenance efforts and open the doors for new functionality for extension authors.

Documentation

mailer API

Introduced in version 10.0

TYPO3 has used the feature-rich SwiftMailer library to generate and send out emails. However, active development has stagnated and we decided to use another great Symfony solution with a modern API:  the “Mime” package for composing emails and “Mailer” package for processing and sending them.

Both components are state-of-the-art and enable us to generate HTML-based emails in various places of the core, where currently simple text-only emails are implemented.

Documentation