This week the christmas edition of TYPO3 was released. It is the sixth sprint release of TYPO3 version 8. Again some new and shiny features hit the public. In this post I will give you a quick overview of the new features, important changes and bugfixes. I grouped them according to “the target audience”, so that you can spot the changes, which are important to you more easily.
1) Streamline field positions in tabs for recurring fields
Tabs, which are recurring in different record types, were streamlined. Similar fields, that were distributed across different tabs, are now placed on the identical tabs. That means for editors, that some fields may have moved to other tabs to be consistent. The reason is for these moves are to ensure that the labels of the tabs are more meaningful.
This leads to the aspect for developers in this topic: You are strongly encouraged to follow this systematic of tabs and adjust the placement of fields to the strategy of the core. You should get rid of tabs named that have an unspecific labelling of the tabs, like options, settings, extended, miscellaneous. The labels should really provide value and guidance for editors.
Detailed information about the streamlining can be found here https://docs.typo3.org/typo3cms/extensions/core/8-dev/Changelog/8.5/Important-78383-TCAStreamlineFieldPositionsInTabsForRecurringFields.html
2) A shiny new RTE
A new RTE hit the TYPO3 core. It is the CKEditor from http://ckeditor.com/. This is another good example where TYPO3 joins forces with other open source projects. It will be the new default RTE in TYPO3 in the future. The “default” was removed for now just on the release date. This is a good move, as there is no possibility to configure it individually. Making it a default would have raised to many expectations. Currently it is possible to use the editor in full fledged mode. Configuration options will be added in one of the next releases.
3) EXT:form becomes the form framework
For the last LTS release the sysext form has got an major overhaul. It turned out, that the code was hard to maintain. So Björn Jacob (@tritum) and his agency “Tritum – Die OnlinePiloten” stepped in and did a complete rewrite of the form extension. The details of the history and the features are shown in the presentation, which was held at the TYPO3camp in Essen. You can find it here at slideshare.
These two new features deserve more than just two short paragraphs. So I will dedicate special blog posts about each of them in the next weeks / months. (So stay tuned).
4) Purge language packs in language module
Until 8.4 integrators were able to register new languages and their language packs. If these were deactivated, the l10n zip files stayed in the filesystem under “typo3conf/l10n/”. Now it is possible to deactivate and remove the language packs by clicking on the trash bin in the language module.
5) HMENU: “showAccessRestrictedPages” works now with special menus
This is an important bugfix for integrators. The TypoScript setting “showAccessRestrictedPages” works now with also with special menus. Until now only just the page title was rendered. As of 8.5 the titles are enclosed with an HTML a-tag, as expected and documented in https://docs.typo3.org/typo3cms/TyposcriptReference/MenuObjects/CommonProperties/Index.html
6) FluidDataProcessor for HMENU
With this feature, we’ll stay in the context of HMENU. This fluid data processor utilizes HMENU to generate a json encoded menu string that will be decoded again and assigned to FLUIDTEMPLATE as a variable. Additional DataProcessing is supported and will be applied to each record. Furthermore all options of HMENU are supported. The doucmentation for this feature is found on https://docs.typo3.org/typo3cms/extensions/core/8-dev/Changelog/8.5/Feature-78672-IntroduceFluidDataProcessorForMenus.html
7) Fluid: “option” and “optiongroup” viewhelper
This feature is also about FLUID … there are two new viewhelpers available for use with the f:form.select viewhelper. These serve to define individual options and optiongroups. The FLUID code might look like this:
<f:form.select.option value="1">Option one</f:form.select.option>
<f:form.select.option value="2">Option two</f:form.select.option>
<f:form.select.option value="3">Grouped option one</f:form.select.option>
<f:form.select.option value="4">Grouped option twi</f:form.select.option>
8) Scheduler: Send system status reports
The scheduler now provides a task to send status reports via email. Until the 8.5 release it was only possible to get this information from reports module. Furthermore it is possible to decide if the report should only be sent if an error occurs or also if everything is fine.
9) InstallTool: Re-check for upgrade wizards
The InstallTool now provides the possibility to re-check already executed upgrade wizards. This is especially helpful, if you do data migrations and need to re-run certain (or all) upgrade wizards again. If a upgrade wizard is checked, it will re-activate the wizard step for the next run and re-check, if everything went ok.
10) InstallTool: Check for modifications of TCA in ext_tables.php
Modifications of the array “$GOBALS[‘TCA’]” in ext_tables.php of extensions is not allowed any more. This check in the InstallTool checks all installed extensions, whether they try to do it. If so, the check will give the appropriate feedback. If it is your own extension, you should really find an appropriate solution to avoid this. If it is a 3rd party extension, please support the extension author with a report and a patch.
11) SuggestWizard: Default ordering is now customizable
With TYPO3 8.5 it is possible to define a customized ordering of results in the suggest wizards. The official documentation states an example of the news extension from Georg Ringer:
12) Custom render-types for dates must use ISO-8601
For everybody, who is working with dates and custom rendering definitions for them, should / must have a look at this change and the description of the change (taken literally from the changelog):
Historically, TYPO3 used its own special, localized formats for passing date and datetime values between server and client. To get rid of any possible problems with that, we now use ISO-8601, a standard format for date/time representations.
Due to that, you need to adapt your custom FormEngine render types if you use them for any date/datetime fields, even those stored as integers in the database (eval=date/datetime).
These were my personal main picks of the changelog. There are many more! All in all there are over sixty feature, breaking or deprecation changes. For a complete list have a look at https://docs.typo3.org/typo3cms/extensions/core/8-dev/Changelog/8.5/Index.html There you finde a complete overview over all these changes. A similar source is the section “Upgrade analysis” where all these changes are also available (if you have installed the current release).
After all I want to thank all contributors for their time and dedication for this release”. I am really looking forward, to what we will see in the next sprint aka “Valentine Edition” and LTS release.