In the night from to tuesday April 10th the third sprint release of TYPO3 9 was released. Again many bugfixes and improvements hit the core. This blog post highlights fourteen features from this release for editors, admins, integrators and developers.

For editors

Create and copy (aka clone) a record

There is a new button next to the save button: “Duplicate”. Now it is possible to save an existing record, create a clone of it and open the clone for editing. This is especially useful, if you have to create many quite similar records in a row (f.e. be or fe user records).

typo3worx_save-and-duplicate

Duplicate a record

Suggest Wizard: Search multiple terms

The suggest wizard in content elements was / is a great enhancement to find records in the backend. Until now is was limited to a single search term. With this feature, you can look up multiple terms using the “+” sign as a separator.

For more information see:
https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Feature-61981-SearchAllFieldsInSuggestWizard.html

Sys_notes: Better performance and configurability

typo3_sys-note-position

Set the rendering position of a system note

The performance of the system extension “sys_notes” was improved by removing the dependency to extbase and using plain php. Furthermore it is now possible to set the display position of each note at the end of the “General” tab.

For more information see:
https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Feature-83965-MakePositionOfSysNotesConfigurable.html

For Integrators and Administrators

Introduce more Site Handling – Part III

The first steps for the site handling was done in the last sprint releases: 9.0 introduced the module “Site Management”. 9.1 brought the redirects functionality. This time the language and error handling is moves to the site management module, where you can edit the settings. These are saved in a new directory “<project-root>/config/sites/” (other than stated in the changelog file)

typo3worx_edit-site-configuration

Site configuration

For more information see:
https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Feature-84581-SiteHandling.html

Integrate Swift Mailer’s spool transport into TYPO3

The Swiftmailer library is part of TYPO3 since version 4.5. A newer feature in Swiftmailer is its possibility to spool emails and send them batched. This is especially useful, if you send many emails directly from that server and do not want to finish on a mail sender blacklist.
Another possibility is to use the memory to spool the mails. In that case, they are only send out, if the php process creating it finishes without any error or exception.

For more information see:
https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Feature-76349-IntegrateSwiftMailersSpoolTransportIntoTYPO3.html

Show value of fields in debug mode

This one is really neat! As an integrator you probably inspected an HTML element in the TYPO3 BE to find out, in which DB column the value is saved and which value is saved there. This feature shows both values directly in the BE, if you are logged in as an admin user and the debug mode is enabled.

typo3worx_typo3-debug-be

Show column names and values in debug mode

For more information see:
https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Feature-83748-ShowValueOfFieldsInDebugMode.html

EXT:Scheduler: Create task group from add/edit task form

It is now possible to create new scheduler task groups, when creating a new task. Until now it was only possible via the list module on PID 0. This lowers the barrier to organize the scheduler task properly very much.

typo3worx_create-new-taskgroup

Create a task group while adding a new scheduler task

For more information see:
https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Feature-69187-EXTSchedulerCreateTaskGroupFromAddeditTaskForm.html

Progressive Images

Progressive images are images, which provide a low-res version at the beginning and then afterwards enhance the image step by step. All data is contained in on file. These file can be automatically created using ImageMagick or GraphiksMagick.

It is enable in the install tool with the new option $GLOBALS['TYPO3_CONF_VARS'][GFX][processor_interlace]. Possible values are None, Plane, Line and Partition.

SmashingMag has an nice explanation of what “Progressive Rendering” in images is, For more information see: https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Feature-48013-AddSupportForProgressiveImages.html

Default reply-to e-mail address for notification mails

Two new options where added to the install tool:

  • $GLOBALS[‘TYPO3_CONF_VARS’][‘MAIL’][‘defaultMailReplyToAddress’]
  • $GLOBALS[‘TYPO3_CONF_VARS’][‘MAIL’][‘defaultMailReplyToName’]

Now it is possible to set a system wide reply-to name and address on an installation.

For more information see:
https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Feature-78332-AllowSettingADefaultReplyTo-email-addressForNotification-mails.html

Retrieve session data in TS conditions

Formerly it was necessary to access the sessions data in TypoScript conditions via the feuser object. This is now replaced by a direct access to the session data, f.e. [globalVar = session:foo|bar = 1234567]. The old way was deprecated and will be removed in TYPO3 V10.

For more information see:
https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Feature-83506-RetrieveSessionDataInTSConditions.html
https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Deprecation-83506-DeprecateFeUserSesDataCondition.html

Reorder processing of TCA Select items

The TCA select items can be rearranged via pageTSconfig and itemsProcFunc. Lately the result of itemsProcFunc took priority over the changes in TCA. This order was changed and pageTSconfig has higher priority than itemsProcFunc.

https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Breaking-75834-ReorderProcessingOfTcaSelectItems.html

For developers

New render types for checkboxes

In the backend there is a new render type for checkboxes: toggle switches.

typo3worx_checkbox-renderTypes

Toggle switches for checkboxes

(I tweaked the BE TCA to make this screenshot. So don’t be puzzled, if your installation shows the classic checkboxes).

For more information see:
https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Feature-83556-AddToggleSwitchesToFormEngine.html

New AdminPanel module API

The AdminPanel was moved to a separate extension and got an API to make it extensible. Using this API makes it a lot easier to provide new functionality in the AdminPanel, than it was possible with the hook until now.

For more information see:
https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Feature-84045-NewAdminPanelModuleAPI.html
https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Deprecation-84045-AdminPanelHookDeprecated.html

PSR enhancements

Already in the last versions TYPO3 embraced and implemented more and more standards to be compatible outside the own eco-system. This time the PSR-15 HTTP middleware hit the core. Also the PSR-7 support was extended.

For more information on PSR-15 HTTP middleware see:
https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Feature-83725-SupportForPSR-15HTTPMiddlewares.html

For more information on the extended support of PSR-7 server requests see:
https://docs.typo3.org/typo3cms/extensions/core/latest/Changelog/9.2/Feature-83736-ExtendedPSR-7RequestsWithTYPO3ServerParameters.html

Conclusion

Again many new features and fixes made it into the TYPO3 core. It is really worth to try it out. Maybe it is already the version to use, when you start new projects, which will go live in autumn when the LTS version is out.

Credits

I want to thank my supporters, who make this blog post possible. In this blog post, I want say “Thank you” to

Tomas Norre Mikkelsen

for becoming a bronze sponsor.

If you also appreciate my blog and want to support me, you can say “Thank You!”. Find out the possibilities here:

I found the blog post image on Unsplash. It was published by @danist07 under the Unsplash License. It was modified by myself using pablo on buffer.