Login / Status
developer.Resource
Home . Download . Release Notes . TYPO3 4.3
Sponsors
hosted by punkt.deTYPO3 and Open Source Magazine

TYPO3 4.3 Release Notes

by Oliver Hader, TYPO3 Release Manager 4.3

General

Exbase and Fluid allow developers to create well-architectured applications

Integrated Extbase and Fluid

Extbase and Fluid are backports from FLOW3 to bring MVC and a very flexible templating engine to TYPO3 v4. Extbase can be used in TYPO3 4.3 for frontend extensions only, but it's planned to support backend modules in TYPO3 4.4 as well. The techniques used by these two packages are the same as in FLOW3/TYPO3 5.0. Thus, it's possible to develop future-proof extensions now and easily migrate them to TYPO3 5.0 when it is released. Having Extbase and Fluid in TYPO3 v4 is an important milestone in the transition to TYPO3 5.0. The extension blog_example is available as a demonstration of how Extbase and Fluid can be used. Learn more...

Integrated advanced Frontend Editing

Hovering over content elements (even using TemplaVoila) shows an edit-panel
The edit-box appears offering the editing functionalities of the backend in the frontend

TYPO3 has long offered the ability to edit content from the frontend of the website, but over time this functionality has become outdated as TYPO3 and general web technology advanced. Advanced Frontend Editing brings this feature back to the cutting edge by providing a modern look and feel to go along with an AJAX-based editing approach. Advanced Frontend Editing is not a replacement for the TYPO3 Backend, but instead focuses on providing the most intuitive experience for editors with simple page and content editing needs. This includes drag and drop for content elements, lightbox-based content editing, and AJAX updates on each save.

Beneath its simplified interface, Advanced Frontend Editing still relies on the same configuration and permissions that drive editing in the TYPO3 backend. This ensures a consistent experience for editors across the frontend and backend editing interfaces.

While the previous frontend editing capability was only compatible with classic templating (ie. Modern Template Building), Advanced Frontend Editing adds full support for TemplaVoila while still maintaining compatibility with the classic templating.

Advanced Frontend Editing has been published in the TYPO3 Extension Repository (TER) as "feeditadvanced" to allow for a quicker release cycle and more rapid introduction of bugfixes and new features. The extension will still be maintained by the TYPO3 Core Team to ensure its quality and longevity.

Optimized performance

In the last few months there have been many initiatives to optimize the overall performance of TYPO3. The frontend's time tracking functionality is no longer loaded when the admin panel is disabled and several caches have been introduced to prevent repeatedly parsing the same XML data or repeatedly walking the same pagetree rootline. In addition, extensions that are only used in the backend are no no longer loaded in the frontend.

Security

Improved security with Salted Passwords, OpenID and RSA Authentication

Passwords in TYPO3 are stored using a regular MD5 hash. With knowledge of that hash value, an attacker may be able to recalculate the original password by using rainbow hash tables. The Salted Passwords extension adds a random value - the salt - to the stored hash which drastically reduces the chance of rainbow attacks. This feature can be used by installing the system extension 'saltedpasswords'. Furthermore, a secure channel must be available to transfer the password data. The HTTPS protocol is one option and if that is not available the RSAAuth extension can be used instead.

A new authentication service implements the OpenID feature which can be used for frontend and backend login. More information about using and registering an OpenID account can be found on the official OpenID website.

Using public-key cryptography allows sensitive data to be transfered over a secure channel, even if the website does not support HTTPS. This feature allows password data to be stored as a salted hash value. The RSA authentication service can be used in the frontend and backend by enabling the system extension rsaauth.

Backend

Integrated a mass file uploader

Multiple files are uploaded step-by-step to the server

Uploading files to TYPO3 is now easier and more comfortable than ever. Not only is it possible to upload multiple files at once, but you will also get a constantly updated progress report while the upload proceeds. This is done by using a Flash-based upload component which seamlessly integrates into the Filelist module. If users wish to disable this component due to restrictions on Flash usage, this is possible in the User Setup module.

Integrated Conditions for TSconfig

TypoScript conditions have been possible in the frontend for a long time. This release adds support for conditions in PageTSconfig and UserTSconfig so the same functionality is available in both the frontend and backend now. 

Improved Localization Handling

The appearance and behavior of localized records in the backend when copying, moving and deleting records has been improved. Actions performed to a record in the default language will now affect the related localization records as well, which leads to more consistency and avoids losing the localization records during the action. Security has also been increased by limiting user access to only the permitted languages during copy, move, or delete actions.

In addition the user interface was simplified to only show useful options for localized records.

Improved recycling of deleted records

The recycler allows restoring or permanently removing previously deleted elements

In TYPO3 most elements are not removed physically. They remain in the database but are no longer displayed in the user interface.

The recycler offers the possibility of restoring these deleted records. Based on an ExtJS interface, it's possible to get a quick overview of deleted elements, filter the list and execute the desired actions. The recycler also allows deleting and restoring to be performed recursively on nested pages.

This new feature is the modernized and core-specific version of the kj_recycler extension that has been available in the TER for years now.

TypoScript editor "t3editor" improvements

Automatic code-completion makes writing TypoScript a lot easier

The TypoScript editor called t3editor now comes with an amazing code completion feature, not only helping you to complete the properties you're typing by making sensible suggestions but also by showing the documentation of the properties as well as their data types. This helps beginners learn TypoScript and even helps advanced TYPO3 users to code error-free and faster.

Improved behavior in backend forms

Record selection can now be enhanced by a suggest wizard that searches available records and shows the search results while typing. Regular text areas without the rich text editor are now dynamically resizable.

Replaced "login expired" popup

The popup telling a user that his session has expired was replaced by a dialog based on ExtJS.

Frontend

Integrated new Media Content Element

The MediaCE now allows to integrate external resources like Youtube

A new media content element has been integrated and allows simple, configurable handling of audio and video data. It is also possible to use this element with external sources like YouTube.

The Media Content Element is delivered with default audio and video players but can also be configured to use third-party players.

Cleaned up CSS styled content

CSS styled content was split into separate files for each compatibility versions of TYPO3 (3.8, 3.9, 4.2 and current). Splitting these files improves performance and increases maintainability in the future.

When including the static template of css_styled_content, a specific version must be chosen.

Maintenance

Integrated System Scheduler

The scheduler gathers recurring tasks and processes them

Thanks to the Scheduler, the TYPO3 Core now provides a central place to manage tasks that should happen at fixed dates or at regular intervals. Tasks are provided by extensions using the Scheduler's API. By default the Scheduler only provides very simple test tasks. The number of extensions providing tasks will grow in the future and more tasks will certainly appear in future versions of the TYPO3 Core, now that such a tool is available.

The Scheduler manages the queue of all tasks to execute, depending on their schedule. An administrator only needs to set up the Scheduler as a cron job. All registered tasks will be executed as needed, whenever the Scheduler is called up.

The Scheduler provides a BE module where tasks can be managed. It also allows to manually launch any available task.

Integrated a new module for System Reports

For monitoring system events, a reporting module has been added. The reports module is delivered with common tests to check the health of a system. These tests include whether basic system requirements are met and whether installed extensions need to be updated. Extensions can hook into the reporting mechanism and provide their own tests as well.

Development

Deprecated Functions

Deprecation log in typo3conf

Any usage of deprecated functions in TYPO3's PHP API or TypoScript is written to a deprecation log in typo3conf. Developers should check the log entries and update their extensions since these deprecated functions will be removed completely by TYPO3 4.5 at the latest.

Integrated Error and Exception Handling

Continuing with the goal of easing the transition between TYPO3 v4 and TYPO3 v5, the error and exception handling of FLOW3 was backported. This new feature allows one to have custom error and exception messages.

Integrated API to handle rendering of documents

TYPO3 4.3 now has a specialized class for rendering DOM documents. This API offers the possibility to define and manipulate all header, footer and body data and prevents duplicate inclusions of JavaScript libraries. The "page renderer" can be controlled by using the PHP API or several new TypoScript definitions.

Hooks allow to post-processing of stylesheets and JavaScript files is also supported. This allows compressing to reduce overall file size and concatenation to reduce the number of concurrent HTTP requests.

Integrated autoloading for PHP classes

With this feature, only the files that are really needed for an application are loaded into memory what results in a performance improvement. The PHP files are looked up using a registry file that returns a simple array mapping PHP class names to the corresponding file names. The file t3lib/core_autoload.php contains all core related classes of t3lib and tslib. The file ext_autoload.php provides similar data for individual extensions. The extension "extdeveval" helps generate these autoload registry files automatically.

Integrated ExtJS as common library

The JavaScript framework ExtJS was integrated as common widget library. This collection offers developers an easy but powerful option to create nice looking user interfaces by reusing predefined objects. For example, ExtJS supports grid views, dialog windows and dynamic panels. It is currently used in the TYPO3 Core for the dialog showing that a session in the backend has expired and for the new recycler.

Improved caching framework

TYPO3 4.3 ships with a new optional caching framework that was backported from FLOW3. It offers different methods to store data such as in the database, in the filesystem and in memcached environments. This offers more flexibility and allows to cater for the needs of site administrators to handle site specific requirements more adequate.

Cache entries can be tagged, giving new possibilities to developers. Having fine-grained control over cached entries allows for new applications and even better performance tuning.

The caching framework also offers the possibility to develop application-specific caching frontends that are optimized for your application's unique requirements.

Download

You can download the packages at http://typo3.org/download/packages/

MD5 checksums:

551e15ed6aae62b7f9c058318186c8c9  dummy-4.3.0.tar.gz
e58b6e64abca5eac0e7b6e4c015bb97e dummy-4.3.0.zip
2900c16b1c68153a9d62c85a401435c5 typo3_src-4.3.0.tar.gz
7c539c515d7bc8c99d361d66c8e8a269 typo3_src-4.3.0.zip
92806f56394ccba2990bd3f4e9703e33 typo3_src+dummy-4.3.0.zip

More Impressions

The login screen of TYPO3 4.3 comes with a fresh and clean look.

During system maintenance, the Backend can now be shut down.

The re-login popup is finally gone - and has been replaced by a nice JavaScript modal dialog.

The file operation permissions can now be centrally defined for user groups instead of only for single users.

The user settings dialog has been visually cleaned up.

A datepicker now helps editors enter dates in the correct format.

The Deprecations Log helps developers track usage of old, deprecated core functions.

Redirects now use configurable HTTP status codes.

Extensions can now be flagged to be locally modified and therefore excluded from any updates. This is possible by setting "excludeFromUpdates" in the ext_emconf.php file of the extension.

A very useful "select all" flag helps when selecting which SQL updates to perform.

The filelist content element now provides an easy option for reading files from a path.

The BE File->Filelist module has been rearranged and looks cleaner.

Flash messages now inform the user of performed changes and actions in many parts of the Backend.

The new "Advanced Frontend Editing" comes with an amazing user experience featuring drag and drop of content elements.

The editing dialog of the new "Advanced Frontend Editing" is displayed on a nice layer on the original page.

Once you roll over a content element in the frontend, the "Advanced Frontend Editing" displays icons for various actions as an overlay.

A subtle top bar adds editing functionality to your website when in "Advanced Frontend Editing" mode.

Adding to the wide range of Security Features of TYPO3 4.3, cookies can be configured to be transmitted only over a secure HTTPS connection.

Sections of record types can now be collapsed in the list module.

Multiple files can now be uploaded at once using a Flash based mass file uploader.

A new media content element displays the latest video formats using an embedded Flash Media player.

The content element wizard can now be configured to fit custom needs using Page TS Config.

Deleted records can now be restored using the Recycler included in the TYPO3 Core.

A new Reports Module displays various aspects of the system, in this case: Installed services.

The Reports Module showing the system status.

A new handy little icon allows to creating multiple new content elements in a row.

The System Scheduler is the central location to configure automatically run, recurring maintenance tasks.

The System Scheduler Task list indicates the status of each task with different colors.

An inline, auto-suggesting search box now helps editing relations of records.

Actions from the sys_actions will now be displayed in the top bar.

Many more global arrays are now able to be debugged using the Tools->Configuration module.

The TypoScript editor (t3editor) in the Template module now offers amazing code-completion functionality.

The CSS Styled Content standard template now comes in different compatibility versions for backwards compatibility with older TYPO3 versions.