The TYPO3 CMS Team and the TYPO3 Community are happy to announce the availability of a new sneak preview of the upcoming 6.2 LTS release: 6.2 alpha2.
Since the release of alpha1 (June 4th) we have had plenty of activity in our development team. Workspaces experts met up in Frankfurt at dkd for some heavy Workspaces Brainstorming sessions. We have had the incredible Developer Days last week in Hamburg. The Active Contributors team met three days prior to it (report still to come). We haven't published some general news regarding 6.2 development since over a month, so there is lot of nice stuff to share. Please hold your breath and read on!
What's new with alpha2 since alpha1?
Here is a short round-up:
Install Tool completely refactored
We finally removed t3lib completely
Extbase now has recursive validation
Our Logger is now fully PSR-3 compliant
We merged the separate ts_* extensions into one
You can now drag&drop files into the file list to upload them
There is a new "System" group in the module menu
The BE authentication now uses saltedpassword by default
Many many other usability and code cleanups
And now the gory details (you can breath again...):
The most prominent and ambitious change was the completely reworked Install Tool (#49162). The base is the master refactoring work done by Christian Kuhn. It not only provides a suberb and robust new code base for the delight of the fellow developers: It also comes with a whole new usability feeling. It is designed not to crash, and redesigned to cope with the shortcomings that we have known for ages.
The main menu now presents the Install Tool modules in a more usable way. All important actions (like "Database compare", "Change of site name" and "Create new admin user") are grouped together in one menu entry. The system environment now has dozens of new checks, which are directly linked from the Reports module in case some misconfiguration is detected. The folder structure can now be checked and automatically cleaned up (i.e. creating missing subdirectories, changing the permissions).
Read more about the technical details of this change if you are interested.
The Usability Team will further go through the modules and further optimize it, while the development team will still be enhancing it even more.
The "Packaging" project
The refactored Install Tool doesn't currently provide support for installing the Introduction or the Government Packages as before. The package-handling will be completely reworked during the next weeks to provide several benefits:
Packages will be simply "extensions". The Install Tool will redirect to the Backend Login and the Extension Manager will then pick up with some workflow to install available packages.
The extensions will be provided through TER so that other enthusiasts could also create their own packages.
Package extensions will come with their extension dependencies so that the EM can fetch the right extensions directly from TER (rather than having to be shipped with the Package itself). A fallback possibility of providing the extensions in a "zip" package already is being considered..
It looks like a new Responsive Package will replace the current Introduction Package. Benni Mack is currently working on the basis of Sven Wolfermann's package.
So stay tuned for more news on that area!
Cleanup's: no more t3lib!
Wait a minute, what?! Yes, in alpha1 we already removed lots of obsolete files from t3lib. Now we managed to move them all to the corresponding System Extensions (core, backend, ...). So no more need to keep this folder around. A minimal typo3_src could now contain only the entry point index.php and a single typo3/ subdirectory containing the whole core!
This also means that the constant TYPO3_t3lib was not used anymore, and thus removed. It was mostly used for "require_once" in extensions, which did not work since alpha1 anyway: Simply rely on the auto-loader and you can still use the old class names (t3lib_div etc) even though they are now called differently.
Apart from this and plenty of other cleanups, we merged the separate tstemplate_* extensions (Template Analyzer, Object Browser, Info, Constant Editor, Info/Modify) into one single extension to ease maintainability.
Usability / Backend
Felix Kopp and the Usability Team continued to clean up the backend. The goal is still to have a common standard for backend modules to follow. To acchieve this, lots of conflicting ways of stying have to be identified and cleaned up.
New "System" top level backend module group
In the past system utilities cluttered the "Admin Tools". It was not uncommon that this holded up to 20 entries. Clearly too much for a menu.
So we introduced a new top level module group called "System" (#48625) and moved the "low level" administrative modules there ("Backend users", "Install tool", "DB check" etc), leaving most commonly used tools in "Admin Tools" which is also the place where extensions currently place their admin modules.
Extbase and Fluid
Finally Extbase allows recursive validation (#6893). Note that in certain situations this can be a breaking change, please stay up to date by following the list of Extbase/Fluid breaking changes, maintained by the Extbase team.
The team also improved some ViewHelpers: The BE module ViewHelper was improved to allow loading more than one CSS/JS files and other new goodies (#49749). Already in use by the Extension Manager, Language and Reports Module. There is now a new Switch-ViewHelper (#48653) and one to display file sizes (#49139).
Our logging API is now fully compliant with the PSR-3 specification. This means that integrating third party components which require Psr\Log\LoggerInterface is now fully supported.
Further work is still open and we need your help to tackle it. Get in touch with Steffen Müller through the Logging Project if you want to contribute.
File Abstraction Layer
During the Developer Days a Workshop concentrated on the user experience of FAL. During this, we managed to include two new additions thanks to the work done by new FAL artists:
You can now drag&drop files into the file list to upload them directly - if your browser supports it (#47005).
The Label for sys_file_reference which is displayed for example on content elements referencing to files was made more usable (#49718).
Since there is still lot of work to do to make FAL provide a robust API for everyone's needs, we will be organizing a Code Sprint for it in the next two months. Stay tuned for more information on that! During the Developer Days we gathered many new ideas and got in touch with new potential contributors.
TER extension cleanup
The TYPO3 Core's Extension Manager now support the concept of "outdated" extensions in TER (#49350). This was introduced with the TER cleanup project and will improve search for actively maintained extensions. Currently no extension is marked as "outdated", but as soon as TER starts outdating extensions, the extension manager will know about it.
Other notable changes
Extensions providing backend modules now have a new option to configure the module when calling ExtensionManagementUtility::addModule() (#49643). This makes the conf.php file obsolete.
There is now a new task for the scheduler to update language files automatically (#43703). Currently it is a bit hidden inside the "Extbase CommandController Task", but this should be improved later (see #49375).
The BE authentication now uses saltedpassword and rsaauth by default (#49694).
Downloading and Upgrading
You can download TYPO3 6.2.0alpha2 on our download page in the tab "TYPO3 CMS 6.2 LTS Preview".
Please note that we haven't shipped an Introduction Package and a Government Package with alpha2 as explained above. One way to use the introduction package with alpha2, is:
Install 6.2 alpha1 Introduction Package
Remove typo3_src and replace it with a "fresh copy" of alpha2 source package (or simply checkout current "master" from git instead).
If after updating your typo3_src you get some "Fatal error" (i.e. Interface 'Psr\Log\LoggerInterface' not defined or Call to a member function isEnvironmentInFrontendMode() on a non-object), make sure that you:
clean typo3temp/Cache directory
use "Clear all caches" in the backend.
What's to come?
Despite being a couple of days later with the alpha2 release we are still in track with the 6.2 Roadmap.
The following events are planned already for the weeks to come:
PHPUnit Code Sprint Berlin: July 19-21
Extbase Code Sprint for Workspaces Stuttgart: August 15-18
TYPO3 Smooth Migration Sprint: August 26-30 (details will follow)
FAL Code Sprint (being planned)
List of unique new changes in 6.2 alpha2
Apart from the below mentioned 112 new unique issues since alpha1, the team was able to commit 98 other bugfixes which were also backported to older releases! That's a huge effort, thanks to everyone involved! Refer to the git log for full details.
[TASK] Install steps: Load saltedpasswords and rsaauth (core) (#49694)
[BUGFIX] Reports module link to Install Tool section is incorrect (reports lang) (#49352)
[BUGFIX] System information looks ugly (install) (#49748)
[BUGFIX] Folder structure honors file and folderCreateMask (install others) (#49715)