TYPO3 CMS 6.2 LTS beta1 released

Categories: Development, Community Created by Ernesto Baschny
The TYPO3 community, contributors, and the release team are proud to introduce to you a new snapshot of the current development of TYPO3 CMS 6.2: beta1.
With this snapshot being released, we are now in a phase called Feature Freeze: We added all features to the product that we could for this release. Now the stabilizing phase begins. This doesn't mean we will do just bug fixing (we will focus on that of course), but we will also work on stabilizing the API, enhancing the performance and further improving the user experience. The next step will be the release of beta2 planned for November, 12th.

What's new since alpha3?

Alpha3 was released not so long ago (October 1st), and you might remember the <link record:tt_news:1625>huge list of new features we introduced with it. Well, meanwhile the team and the community surrounding it worked hard to finish up plenty of nice new features. We have had a Code Sprint in Hannover which was dedidated to this last spurt heading to the feature freeze today. We managed to "merge" (integrate into the core) 72 new patches during these four days of code sprint, including 22 new features (375 files changed, 16513 lines inserted, 4015 deleted). These are the highlights of beta1 amongst the dozens of other new features:
  • Package Management: TYPO3 CMS now supports the concept of "Packages" (the TYPO3 Flow ones) and Composer. Extensions as we know them are a special kind of these packages.
  • Responsive Image Rendering: Fully configurable system for frontend rendering of responsive images.
  • Backend Layout Data Providers: Extensions can now provide their own "Backend Layouts". Let the "theming" begin!
  • Core Updater: The Core is now able to update itself (Patchlevel / Security fixes).
  • File Metadata Localization: FAL now allows you to localize metadata of files.

Upgrading

Please note that the typo3_src package can now be installed without further other dependencies (makes the Dummy and Blank Packages obsolete). Simply uncompress the file in your Webhost and point your browser to it. The Install Tool will start with the Step Installer. If you upgrade an existing TYPO3 site (i.e. 6.0 or 6.1 or an earlier alpha version of 6.2), proceed as usual:
  • Download the package from the Download Page and uncompress it on your Webserver, or update your GIT working copy to tag "TYPO3_6-2-0beta1".
  • Adapt the "typo3/" and "index.php" symlinks to point to inside the new typo3_src.
  • Create an empty typo3conf/ENABLE_INSTALL_TOOL file.
  • Point your browser to your installation, it should redirect you to the Install Tool.
  • Login and go to Important Actions and use the Database Compare and let it CREATE and CHANGE existing fields (do not tick the checkbox to "DELETE" fields) yet!
  • Go to the Upgrade Wizard and click through the available ones.
  • That's it! Login to the Backend and have fun.

Package Management

TYPO3 CMS now supports the concept of "Packages" (the TYPO3 Flow ones) and Composer (<link http: forge.typo3.org issues>#47018, <link http: forge.typo3.org issues>#52737). Extensions as we know them are a special kind of these packages, and they can provide their composer.json file with dependencies (see the core extensions: <link http: forge.typo3.org issues>#52740, <link http: forge.typo3.org issues>#52831). Everything is backwards compatible. The Extension Manager still works as usual, updates the packages information, but has no direct composer support yet. We worked hard to make the migration as smooth as possible. On first hit of your updated site, you will be redirected to the Install Tool. Please simply login to it (after creating the ENABLE_INSTALL_TOOL file), and the silent updater will magically create a PackageStates.php file in your typo3conf which will replace the old Extension list from LocalConfiguration.php (which will be backed up as LocalConfiguration.beforePackageStatesMigration.php for your convenience). Read more about in this project, it's goals and further plans in the <link http: wiki.typo3.org blueprints packagemanager>Blueprint on Packagemanager. This is a very intrusive major new feature, and it has already received lots of bug fixes (<link http: forge.typo3.org issues>#52753, <link http: forge.typo3.org issues>#52766, <link http: forge.typo3.org issues>#52754, <link http: forge.typo3.org issues>#52767, <link http: forge.typo3.org issues>#52847, <link http: forge.typo3.org issues>#52814, <link http: forge.typo3.org issues>#52779) and improved Windows support (<link http: forge.typo3.org issues>#52774). Please don't let yourself get frustrated with it if you find another bug or perceive some instability with it: Contact us or report your findings through the <link http: forge.typo3.org projects typo3v4-core issues>Issue Tracker. Thomas Maroschik did an awesome job here and is available during the next time to work on that area further.

Install Tool

Core Updater

The Core is now able to update itself throught the Install Tool (<link http: forge.typo3.org issues>#52547, <link http: forge.typo3.org issues>#52618). This allows the site administrator to quickly check if there are patchlevel updates available and install them with a click. Since this feature is not needed by some hosting providers which have their own updating mechanisms, it can be disabled through an env-variable (<link http: forge.typo3.org issues>#52639).

Other Cleanups

  • Remove misleading password hint (<link http: forge.typo3.org issues>#52808)
  • Remove unused TYPO3_CONF_VARS['FE']['logfile_dir'] (not used since TYPO3 6.0) (<link http: forge.typo3.org issues>#52786)
  • Improve message for the RedirectLoopException (<link http: forge.typo3.org issues>#52703)
  • Correct exception class inheritance (<link http: forge.typo3.org issues>#52757)
  • Add autofocus to pass input in install (<link http: forge.typo3.org issues>#52523)
  • FolderStructure basic link support (<link http: forge.typo3.org issues>#52401)
  • Load defaultConfigArray just once in AllConfiguration (<link http: forge.typo3.org issues>#52555)
  • Show not empty databases in install tool (<link http: forge.typo3.org issues>#52585)
There are still some usability tasks pending to get the Install Tool finished, we'll be working on that during the next weeks.

File Abstraction Layer

On the goal to provide a good migration path from users coming from TYPO3 4.5 and DAM installations, we identified during the Agency Code Sprint several missing features which we now integrated:

Translation Support

We worked on a concept to get FAL records translatable. We kindly appreciate all the perseverance and dedication of Steffen Ritter working on these tasks and hope for more support from interested contributors in the next period to further stabilize this area. First the sys_file table was split to sys_file_metadata (<link http: forge.typo3.org issues>#52726). If you have already FAL metadata stored in your database, you need to run the Upgrade Wizard to migrate the data to the new format after creating the necessary tables (with the Database Compare Tool). A minor FAL architecture clean-up (<link http: forge.typo3.org issues>#51528) and adaptation of the IndexerService (<link http: forge.typo3.org issues>#52765) were part of this work. Finally the sys_file_metadata was made translatable (<link http: forge.typo3.org issues>#52816) and the Frontend Rendering was enhanced to support this (<link http: forge.typo3.org issues>#52818). What is still pending and will be further worked
  • The placeholder feature in the backend form should work recursively in order to display proper placeholders for FAL records now (<link http: forge.typo3.org issues>#52630).
  • The Indexing API will also receive some more love and an addition to an ExtractorInterface, so that extensions will in future be able to provide their own "extracting tool-chains" to bring meta data into FAL records (<link http: forge.typo3.org issues>#52841). The <link http: wiki.typo3.org blueprints fal-indexerrework>concept is already published as a Blueprint and a WIP patch is available for reviewing.

Advanced Metadata

A new (optional) extension called filemetadata provides a set of standard asset metadata (<link http: forge.typo3.org issues>#52719) - as known from DAM. Just install this extension and the new fields will be created in the database and are available in the backend. The FAL team will work further on tuning this important set of standard metadata. Of course extensions are allowed to further expand this list, but the ones provided by the core allow everybody to rely on them being available on all systems.

Categorization

File records are now categorizable throught the core categorization API by default (<link http: forge.typo3.org issues>#51554). A new feature allows to create a collection of files based on categories (<link http: forge.typo3.org issues>#51580).

Permissions

An administrator can now configure a backend user and group with fine grained file permission which were previously only available through UserTS configuration (<link http: forge.typo3.org issues>#52716).

API change

The FAL Drivers API was enhanced slightly, making getFileInfo more versatile and performant (<link http: forge.typo3.org issues>#51515). Please note that this changeset <link https: review.typo3.org c typo3 sysext core classes resource driver>modified the signature of the Driver class. This only affects PHP 5.3 but needs adjustment in existing (non-core) drivers.

TypoScript / Frontend

Responsive Image Rendering

The Frontend is now able to render images in different responsive variants (<link http: forge.typo3.org issues>#49723, <link http: forge.typo3.org issues>#50075). The configuration is very flexible allowing the integrator to choose the rendering mode of their liking, and is future proof due to this flexibility. This project was kickstarted during the Developer Days 2013 in a Workshop. Thanks a lot to all participants for this iniciative and the very good result we now have in the Core at the end.

Other additions

  • TypoScript now allows for file inclusion (i.e. <INCLUDE_TYPOSCRIPT: source"../misc/other.ts" ...) so that it's easier to include other local files recursively (<link http: forge.typo3.org issues>#52018).
  • The CONTENT cObject now allows to fetch records that have no translation parent (using a new option "includeRecordsWithoutDefaultTranslation": <link http: forge.typo3.org issues>#24005).
  • There is a new TypoScript condition to detect the ApplicationContext (i.e. [applicationContext = Production*]) (<link http: forge.typo3.org issues>#50132).
  • The FILES content object now has begin and maxItems options (<link http: forge.typo3.org issues>#52632).
  • For performance reasons, the Content-length header is now enabled by default in the frontend (config.enableContentLengthHeader: <link http: forge.typo3.org issues>#19732).
  • Indexed Search now has a stdWrap for the list of results <link http: forge.typo3.org issues>#16386 (this is most probably the oldest feature request implemented in beta1: from our old fellow Masi 7 years ago: now finally merged)

Backend

Backend Layout Data Provider

Extensions can now provide it's own "Backend Layouts" through an API called BackendLayout/DataProviderInterface (<link http: forge.typo3.org issues>#37208). With this, backend layouts are no longer limited to live in the database table "backend_layout" but can also be stored in files (making them easier to deploy and share). Extensions that provide "Theming" to TYPO3 (i.e. EXT:themes) will make very good use of it soon!

Other additions

You can now restrict the visibility categories for a backend users, a feature known from tt_news (<link http: forge.typo3.org issues>#52718). The admin can also control the visibility of modules in the backend (<link http: forge.typo3.org issues>#52482):
# Hide module groups "file" + "help"
options.hideModules = file, help
# Append configuration to hide module "func" and "info"
options.hideModules.web := addToList(func,info)
# Hide module BELogLog
options.hideModules.system = BelogLog
Enhancing the usability, elements where you can select multiple records now have a filter on top (<link http: forge.typo3.org issues>#49739). A new hook allows extensions to provide information on top of the page module (<link http: forge.typo3.org issues>#52579). Version fields in list view are now only shown if version is loaded (<link http: forge.typo3.org issues>#52444). In the Scheduler, there is now a description-field to allow differenciate same tasks with different parameters textually (<link http: forge.typo3.org issues>#52696). Scheduler-jobs can now be grouped (<link http: forge.typo3.org issues>#52695). For that, simply create records of the type "Scheduler task group" on the root of your instance and assign the existing tasks to these groups. Since alpha3 (<link http: forge.typo3.org issues>#51148) we have a view page selector to emulate device widths. This is now configurable per project, providing maximal flexibility for integrators (<link http: forge.typo3.org issues>#51865):
 mod.web_view.previewFrameWidths {
1780.label = My Device
1780.height = 145

Backend Skin

We are running an experiment of a slightly larger font size in the backend now (<link http: forge.typo3.org issues>#52501). You might notice that there are still some inconsistencies which we will work out during the next few weeks. We introduced the table.t3-table class and it's styling (<link http: forge.typo3.org issues>#52558) and started using it throughout the Core (<link http: forge.typo3.org issues>#52568, <link http: forge.typo3.org issues>#52566, <link http: forge.typo3.org issues>#52564, <link http: forge.typo3.org issues>#52565, <link http: forge.typo3.org issues>#52561, <link http: forge.typo3.org issues>#52560, <link http: forge.typo3.org issues>#52445). This work is not complete yet, but is a start to unify all the different "tables" used throughout the Backend. You can now see a high-res TYPO3 logo in topbar (<link http: forge.typo3.org issues>#52514). And the "about modules" was redesigned to serve as a start screen (<link http: forge.typo3.org issues>#52517). Usability is an area which we will still focus after feature freeze, so expect some changes still until beta2. The UX Team is working together with the Core Developers on that area.

Extbase / Fluid

  • Fluid now supports "Fallback paths", a very useful backport of a Flow feature (<link http: forge.typo3.org issues>#39868).
  • The uriBuilder now honors POST arguments for addQueryString (<link http: forge.typo3.org issues>#11441).

API

  • Logging API: A work in progress was not finished yet to replace "devLog" and other core logging calls with the Core Logging API (see for example <link http: forge.typo3.org issues>#52694). We decided that we first will need to draft and approve in the team a concept on how this should look like before voting on an implementation. This task will be followed up now during the beta phase and hopefully will bring some final implementation until beta2.
  • Caching Performance: The cache_hash data now serializes data internally (<link http: forge.typo3.org issues>#52648). If you have used storeHash/getHash before, you no longer need to serialize your data before passing it to this function. This avoids "double serialization" and allows the caching framework to make use of igbinary_serialize if available. The core was changed accordingly, so this will result in some speed improvement in several areas.
  • A PHP Enumeration type was introduced to provide a pattern for avoiding class constants in future (<link http: forge.typo3.org issues>#52707)
  • The API for the ApplicationContext was renamed (<link http: forge.typo3.org issues>#52678)
  • Centralize jQuery libraries: We moved multiple copies of jquery from diverse system extensions into one central location (typo3/contrib/jquery) (<link http: forge.typo3.org issues>#52442, <link http: forge.typo3.org issues>#52844). Please note that this is not an official API from the core but for core internal use only (by system extensions). In future TYPO3 releases, we expect to provide a rebust and generic API for others to use.

Workspaces

  • The "all workspaces" tab is now enabled for all users in the workspace module (<link http: forge.typo3.org issues>#50223). It is also now possible to extend the workspace module through a nice API (<link http: forge.typo3.org issues>#50219).
  • The newly introduced Enumation API was used to make the t3ver_state stats "readable" (<link http: forge.typo3.org issues>#52551).
  • Let workspace users decide whom to send notifications (<link http: forge.typo3.org issues>#50224)
  • Transfer query parameters in preview (<link http: forge.typo3.org issues>#31996)

Testing and Quality Assurance

We added a bunch of new unit tests with the new additions, and cleaned up and optimized the existing ones. Through <link https: travis-ci.org typo3 typo3.cms>Travis CI we now execute 6.247 unit tests after every commit, in three different environments (PHP 5.3, 5.4, 5.5). Christian Kuhn - leader of the quality assurance team - is working on further optimizing the testing infrastructure. Check out the <link http: wiki.typo3.org blueprints standaloneunittests>Blueprint describing these plans.

Documentation Module

The documentation module got more stabilization fixes and visual enhancements.

Activity

The activity in our project lately is so high, that Ohloh site has tagged <link http: www.ohloh.net p typo3>TYPO3 CMS project with "Very High Activity". Also interesting and in line with the openess of our project is the amount of <link http: www.ohloh.net p typo3>first time commiters to the Core. Quoting: "Over the past twelve months, 167 developers contributed new code to TYPO3 CMS. This is one of the largest open-source teams in the world, and is in the top 2% of all project teams on Ohloh.". Great support from everyone, give yourselfs a round of applause! Thanks!

What's to come?

Beta1 is for sure a "big release" and will bring not only many new enhancements, but some additions which might come with some drawbacks. The Packaging API and the changes in the File Abstraction Layer are the most prominent ones. Please consider that huge amount of work, reviewing spirit and effort is spend on working on these topics: for free! We know that there are still glitches and improvements to be done, the team is happy to share knowledge in a constructive discussion with you. This is not the final "release yet", and together with your help we will be able to finish it as a very solid and modern product that will last for the next three years. The <link http: forge.typo3.org projects typo3cms-v62 wiki>roadmap describes the next steps:
  • Beta2: November, 12th
  • Release Candidate: around December, 3rd
  • Final Release: December, 10th
Thanks again to the huge amount of support, help, inspiring words and enthusiasm around this project. Let us rock on the last few steps together!

MD5 Checksum of download files

b8f4a35d01706ec0b0fc0d3c4d80d8c1 typo3_src-6.2.0beta1.tar.gz<br/> 1b7cddabe643f4f0f7492b0f68a87c52 typo3_src-6.2.0beta1.zip<br/>