[TASK] Set version to 6.1-dev
[Packages/TYPO3.CMS.git] / NEWS.txt
index f6b502c..a1c9280 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
 This document is a part of the TYPO3 project. TYPO3 is an open source web
 content management system released under the GNU GPL. TYPO3 is copyright
-(c) 1999-2011 by Kasper Skaarhoj.
+(c) 1999-2012 by Kasper Skaarhoj.
 
-This document contains information about TYPO3 version 4.6 which was released
-on October, 25th 2011.
+This document contains information about TYPO3 version 6.0 has been released
+on November 27th 2012.
 
 An up-to-date version of this document also containing links to further in
 depth information can be found here:
 
-http://wiki.typo3.org/TYPO3_4.6
+http://wiki.typo3.org/TYPO3_6.0
 
 ===============================================================================
 Compatibility
 ===============================================================================
 
-* PHP 5.3
-
-This version requires at least PHP 5.3, older versions of PHP are not supported
-anymore with TYPO3 4.6.
-
-       * safe_mode is not supported anymore
-       * magic_quotes_gpc is deprecated. You are encouraged to turn this option
-         off as it still defaults to "On".
-
-* ImageMagick
-
-If you are using ImageMagick, only versions 6.0 and above are supported.
-
-* PHP __constructor() methods
-
-The old PHP 4 style class constructors, which have been the same as the class
-name have been changed to use the PHP 5 __constructor() syntax. This is
-considered as breaking change, if extension called the old constructor of an
-object directly.
-
-* Deprecated methods
-
-Deprecated methods that were initially targeted to be removed in TYPO3 4.5 have
-finally been removed. Starting from TYPO3 4.6, removal of deprecated methods
-will follow as announced in the deprecation log.
-
-Removed Functionality
--------------------------------------------------------------------------------
-
-* Static Published Pages
-
-The feature to statically publish a page from the Admin Panel has been dropped.
-There are better ways to achieve such a functionality, like e.g.
-EXT:nc_staticfilecache.
-
-* Removed extCache=2 option
-
-The cache files in typo3conf/temp_CACHED_* were by default set to a hash that
-was based on the extensionlist, but this is quite unnecessary, so the extCache
-option was removed to be only used once in the typo3conf/ directory in order
-to prevent hundreds of temp_CACHED_* files that don't get cleaned up automati-
-cally. From now on the option $TYPO3_CONF_VARS['EXT']['extCache'] can only be
-set to 0 or 1.
-
-===============================================================================
-Changes and Improvements
-===============================================================================
-
-This will list all changes and improvements between TYPO3 4.5 and 4.6. For
-technical details see ChangeLog included in the typo3_src package.
-
--------------------------------------------------------------------------------
-General
 -------------------------------------------------------------------------------
-
-XLIFF Support
+System environment
 -------------------------------------------------------------------------------
 
-XLIFF language files (*.xlf) are now the official format for localization
-files. These files are generated from our Translation Server
-(http://translation.typo3.org). You are encouraged to use your typo3.org user
-account to log into the Translation Server and suggest corrections. This
-server generates automatically the old ll-XML localization files to be used
-with previous versions of TYPO3.
-
-* Language dependency
-
-Language dependency may now be specified. This allows a user-defined fallback.
-By default, locales composed of a language code and a country code (e.g. fr_CA)
-now fall back to the main language (fr) before using English (default). This
-means that if fr_CA is being used (French Canada), a missing label will be
-searched within French localization files before being searched within the
-default (English) localization files. This behaviour may be changed by
-specifying arbitrary dependencies:
+* PHP setting register_globals must be off
 
- $TYPO3_CONF_VARS['SYS']['localization']['locales']['dependencies'] = array(
-     'de_CH' => array('de_AU', 'de'),
- );
+The bootstrap now verifies the PHP setting register_globals is disabled for
+security reasons. The script dies otherwise.
 
-Swiss German (de_CH) will fall back to Austrian German (de_AU), then German
-(de) and finally English (always used as last option).
-
-* Upgrade notes for JavaScript within user extensions
-
-JavaScript files using TYPO3.lang to retrieve localization labels should be
-updated to use the new TYPO3.l10n API instead:
-
- TYPO3.lang.KEY => TYPO3.l10n.localize('KEY')
- TYPO3.lang['KEY.SUBKEY'] => TYPO3.l10n.localize('KEY.SUBKEY')
-
-Form
 -------------------------------------------------------------------------------
-
-The new Form content element, available as a system extension, makes it easy to
-generate forms to be used as content elements. It provides a Form wizard based
-on ExtJS to allow editors to construct forms very efficiently with intuitive
-drag & drop functionality and sorting methods to add and replace form elements.
-While working in the wizard, the editor sees exactly how the form will be
-displayed in the website.
-
-This is a complete rewrite and enhancement of the Form content element you may
-have used in the past. It paves the way for future enhancements such as storing
-data in the database instead of sending an email or having AJAX validation to
-show an error immediately after filling in a single field without submitting
-the whole form.
-
-NOTE: If you upgrade from a previous version of TYPO3, you have to manually
-load the new Form content element using the Extension Manager. For new TYPO3
-installations based on the Introduction Package or the Blank Package, the new
-Form content element is loaded by default.
-
-BEWARE: Loading the new Form system extension deactivates the old Form content
-element and no upgrade wizard is available so you have to manually upgrade your
-old form definitions to use the new feature set of this extension.
-
-Other General Improvements
+PHP namespaces & TYPO3 autoloader
 -------------------------------------------------------------------------------
 
-* Precise publishing dates
+* Introducing PHP namespaces
 
-Editors can now set the publishing date for pages and elements using both date
-and time values, set down to the minute. This was previously not possible due
-to caching issues and required work-arounds.
+Almost every PHP class file has been modified to support PHP namespaces and
+was moved to a more meaningful location. Besides that old class names, e.g.
+t3lib_div still can be used - however it is deprecated - this works by using a
+class alias map pointing to the new namespaces class name.
 
-* New Scheduler task to delete old data from tables
+       see the files in typo3/sysext/core/Migrations/Code/ for the mentioned maps
 
-The Scheduler task 'Table garbage collection' can be used to delete old data
-from growing tables like log tables on a regular basis. Additional tables that
-can be cleaned up must be registered in $TYPO3_CONF_VARS['SC_OPTIONS']
-['scheduler']['tasks']['tx_scheduler_TableGarbageCollection']['options']
-['tables'] with its table name and a field. After that they can
-be selected in the Scheduler task.
+Basically the classes are now arranged in three basic components, which are
+core, backend and frontend - each of them are located in typo3/sysext/. The
+old class files (e.g. t3lib/class.t3lib_div.php) are still shipped with the
+Core and point to the new class files - this prevents PHP fatal errors if
+extension use hardcoded require_once() calls to old class names. This layer
+is deprecated as well.
 
-* New Scheduler task to delete old files from fileadmin trash directories
+       see http://wiki.typo3.org/Namespaces for further details
 
-The Scheduler task 'Fileadmin recycler garbage collection' can be used to
-definitely delete old files from _recycler_ directories. When a _recycler_
-directory exists within the path of a file to delete via the File module, the
-file is not actually deleted, but stored in the _recycler_ folder.
-This new task now deletes all files insider _recycler_ folders that have been
-moved there for longer than a given number of days.
+* New XCLASS handling
 
-* New option to customize the cookie names used by TYPO3
+The old way of registering XCLASSes in $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS'] is
+removed. XCLASSES must now be registered by adding a class implementation
+configuration to the $TYPO3_CONF_VARS['SYS']['Objects'] array. The key of the
+array is the class name for which you want to define an implementation class.
 
-It is now possible to customize the cookie names used by TYPO3 to avoid clashes
-when running more installations on the same domain. The names used can be con-
-figured with:
- $TYPO3_CONF_VARS['FE']['cookieName'] and
- $TYPO3_CONF_VARS['BE']['cookieName'].
+Example:
+$TYPO3_CONF_VARS['SYS']['Objects']['TYPO3\\CMS\\Core\\Database\\DatabaseConnection'] =
+       array('className' => 'TYPO3\\CMS\\Dbal\\Database\\DatabaseConnection');
 
-* Moved t3d exports to fileadmin/_temp_ directory
+As with Xclasses, the implementation resolving works recursively and you are free
+to put the implementation class name into the namespace of your own extension.
 
-t3d packages exported by the import / export extension are now stored in
-fileadmin/_temp_ by default which is access restricted by default .htaccess
-rules.
-
-* Added "IDNA Convert" libray for Internationalized Domain Names (IDN)
-
-The new library can be found in typo3/contrib/idna/ and is used to encode and
-decode internationalized domain names (containing special characters like
-umlauts) from and to punycode.
-
--------------------------------------------------------------------------------
-Security
--------------------------------------------------------------------------------
-
-For new installations, extensions saltedpasswords and rsaauth are now
-automatically activated and used if the server meets the corresponding
-requirements, including non-broken OpenSSL configuration.
-
-Upgrading users are strongly advised to manually enable these extensions in
-order to strengthen the security of their website.
-
-If extension rsaauth is enabled, the password transmission when saving the user
-settings is now encrypted.
-
--------------------------------------------------------------------------------
-Backend
--------------------------------------------------------------------------------
+This means that every XCLASS registration both for core and extension classes
+will not work any more with TYPO3 6.0.
+To keep compatibility for 6.0 and 4.x, extension authors should add their class
+to both the XCLASS array and the object implementation array.
 
-Live Search
 -------------------------------------------------------------------------------
-
-In previous TYPO3 versions, there were several problems with Backend search:
-
-* it searched far more fields than necessary (for example, TSConfig)
-* it searched "uid" and other numeric fields even if the value was not numeric
-* it used LIKE x search on numeric fields
-* it searched all tables even if they did not make sense to be searched
-* it was too slow
-* it searched only first four levels deep in the page tree
-
-All these problems came from the (wrong) idea that TYPO3 could detect where it
-could search. With the new backend search, tables needs to be marked as
-"searchable" and provide a list of fields that make sense to search for. In
-addition, some fields are searched without case sensitivity.
-
-Basically, the 'ctrl' section of TCA is extended with a new option:
-
- 'searchFields' => 'username,email,realName'
-
-Extension Manager
+PHP bootstrap and configuration
 -------------------------------------------------------------------------------
 
-The old Extension Manager has now been officially obsolesced and the
-ExtJS-based one will be used regardless of your previous preferences.
+* Refactored bootstrap
 
-Other Improvements to the Backend
--------------------------------------------------------------------------------
+The bootstrap changes all basic initializations for frontend, backend, CLI and
+install tool rendering. If a copied and customized version of the frontend's
+index.php was used, it has to be updated to the current index.php file of the
+TYPO3 Core sources (this applies to custom symbolic links as well).
 
-* Backend speed-up with merged JavaScript files
+* New handling of typo3conf/localconf.php
 
-All jsLibs, jsFiles and jsFooterFiles are now concatenated by default into
-single files depending on type and section (header / footer). This reduces
-the webserver requests approximately by one third.
+The localconf.php file is deprecated and not used in the core any longer. As
+substitution the new file typo3conf/LocalConfiguration.php is introduced that
+basically only returns the local configuration as array. The install tool and
+other installation changing core code like the extension manager now writes
+the whole file if configuration is changed. As a result, no more local
+code is allowed in this file.
+To overload the local configuration with special instance specific code that
+might still be needed, it is possible to add the php code to the optional
+additional file typo3conf/AdditionalConfiguration.php that is executed during
+bootstrap of TYPO3 after LocalConfiguration.php.
+An ugrade wizard takes care of migrating contents of the previous localconf.php
+file to the new scheme.
 
-* On-the-fly minification of inline JavaScript code disabled
+* List of loaded extensions stored as array
 
-The use of the JSmin library, which previously minified the inline JavaScript
-code in the Backend was dropped. Due to its immense performance impact, editors
-benefit from faster response times, while the increase of the output is only of
-negligible order.
+The list of loaded extensions in typo3conf/LocalConfiguration (key EXT/extList)
+was transferred to an array for better readability and maintenance. It is
+available with the new key EXT/extListArray. The old, comma separated value is
+still kept, but not used in the core anymore. It will be removed with a later
+version from the core.
 
--------------------------------------------------------------------------------
-Administration / Customization
--------------------------------------------------------------------------------
+* Moved default TYPO3_CONF_VARS
 
-User-defined Languages
--------------------------------------------------------------------------------
+The default TYPO3_CONF_VARS definitions where moved from t3lib/config_default.php
+to an own file in t3lib/stddb/DefaultSettings.php.
 
-The Backend now supports user-defined languages. This allows dialects to be
-added or new languages to be prepared before official inclusion within TYPO3.
+* Removed TYPO3_tables_script constant
 
-New languages can be added by declaring them within typo3conf/localconf.php:
+It was possible to define a different base TCA definition file by defining the
+variable typo_db_tables_script in localconf.php. This functionality is removed
+without substitution.
 
- $TYPO3_CONF_VARS['SYS']['localization']['locales']['user'] = array(
-     'de_CH' => 'Swiss German',
-     ...
-     '<language_key>' => '<English Name>',
- );
+* Restricted access of global variables in ext_tables.php and ext_localconf.php
 
-Localization files should then be prepared as usual within
-typo3conf/l10n/<language_key>/ just as with localization files retrieved from
-TER.
+With the bootstrap refactoring the visibility of ext_tables.php and
+ext_localconf.php was reduced. The files do not run in global context anymore,
+so variables like $TCA should be accessed through $GLOBALS['TCA']. There is a
+compatibility layer, but the core can not guarantee that extensions with
+strange setup does not break.
 
 -------------------------------------------------------------------------------
-Development
+Deprecated and removed components
 -------------------------------------------------------------------------------
 
-Extbase / Fluid
--------------------------------------------------------------------------------
-
-Extbase, the MVC bridge between TYPO3 Phoenix' framework FLOW3 and TYPO3 v4 as
-well as the new templating engine Fluid are steadily improved with every new
-version of TYPO3 4.x.
-
-* New Property Mapper
-
-The Property Mapper has been completely rewritten in FLOW3, and this has also
-been backported to Extbase. The new property mapper is very configurable and
-extensible. Furthermore, the MVC stack has been adjusted to be in sync with
-FLOW3 again. However, the new behavior is ONLY ACTIVATED MANUALLY. We suggest
-that you activate it for your new extensions by inserting:
+* Deprecated methods
 
- plugin.tx_[yourExtensionName].features.rewrittenPropertyMapper = 1
+Deprecated methods that were initially targeted to be removed in TYPO3 4.8/6.0
+have finally been removed. The deprecation log shows which functions were
+declared to be deprecated and will be removed in the next TYPO3 versions.
 
-The documentation for the new property mapper can be found at
-http://flow3.typo3.org/documentation/guide/partiii/propertymapping.html
+* Removed classes prior to scheduled deprecation removal
 
-* Validation API
+t3lib_BEDisplayLog: This class was used only by the old belog module, its
+functionality is now encapsulated in EXT:belog itself. Since it is very
+unlikely that the class was used by other external extensions, the file was
+removed instead of deprecating it.
 
-The Validation API has changed, but this is only a breaking change if you do
-NOT subclass AbstractValidator, but implement ValidatorInterface yourself. In
-this case, you need to adjust your custom validator to support the new API.
+* Removed doNotLoadInFE flag
 
-* Dependency Injection
+With TYPO3 4.3 the flag doNotLoadInFE flag was introduced in ext_emconf.php
+extension files to hint the core that an extension has no frontend
+functionality. The performance gain of this change in the frontend was minimal.
+The flag is now removed and the according extList_FE setting in localconf.php
+has no effect anymore.
 
-Dependency Injection is now also possible for reconstituted Domain Objects.
+* Removed system extension simulatestatic
 
-* Signal / Slot: The "Signal / Slot" feature has been backported from FLOW3,
-implementing a future-proof alternative to hooks.
+The system extension to simulate static documents was removed from the core.
+@TODO: Issue #36025 must be solved and this note here adapted, otherwise the
+removal will be reverted.
 
-* Compiled Fluid templates
+* Removed TypoScript option noBlur
 
-Fluid templates are now compiled to PHP files. This drastically speeds up the
-rendering process by factor 2-5 and reduces memory consumption as well.
+The ancient noBlur TypoScript setting for old Browsers (Internet Explorer up to
+version 5.5) was removed without any alternatives. The setting has no effect
+anymore and can be removed from custom TypoScript objects, especially MENU.
 
-* $this->arguments->hasArgument() removed
+* Removed internal history cleanup feature
 
-AbstractViewHelper::$arguments are no longer an object but an array. If you
-used $this->arguments->hasArgument() in your custom ViewHelpers, you'll have to
-replace this with $this->hasArgument().
+TYPO3 will not clean the history (table "sys_history") on its own anymore.
+This can lead to a large amount of data in this table. Please consider using
+the garbage collection scheduler task to remove old entries.
 
-* Introduction of {_all} Variable
+* Removed TypoScript resources
 
-You can now use {_all} inside your template to access all variables available
-right now. This is especially helpful for debugging:
+The ancient feature to add images and other resources directly to TypoScript
+records is dropped and the handling removed. This old feature - accessible
+from the 'Info/modify' tab in the Template module - was hardly ever used
+and was partly broken.
+If this feature was still in use, it is recommended to not drop the
+resource field from table sys_template during upgrading, fix the using
+TypoScript to refer to resources located in fileadmin or similar directly,
+and afterwards to finally delete the resource field in the install tool.
 
- {_all -> f:debug()}
+* Removed page hit logging functionality
 
-or for passing all currently available variables to a partial:
+Writing log entries to some logfile during frontend page hit was removed.
+There are tons of solutions on the net and on server basis that can do a
+better job than the core implementation ever did. Therefor the complete
+code was dropped and all TypoScript config.stat* options are obsolete.
 
- <f:render partial="..." arguments="{_all}" />
+* Removed compression of javascript files with jsmin
 
-This is a breaking change if you used a variable _all inside your own
-templates.
+The default compression of certain javascript files in frontend and backend
+with the jsmin library was removed from the core due to license issues. The
+code segment was substituted with a hook, so extensions can now deliver
+compression solutions if needed. In general, it is a good idea to configure
+a webserver to compress javascript and css files on the webserver with gzip.
 
-* Widgets & templateRootPath
 
-It is now possible to override the widget template root path via the framework
-configuration, for example:
+===============================================================================
+Changes and Improvements
+===============================================================================
 
- plugin.tx_extension.view {
-     widget.<WidgetViewHelperClassName>.templateRootPath = ...
- }
+This will list all changes and improvements between TYPO3 4.7 and 6.0. For
+technical details see ChangeLog included in the typo3_src package.
 
-Please read the ChangeLog for further details.
+-------------------------------------------------------------------------------
+General
+-------------------------------------------------------------------------------
 
-Although we do our best to make adjustments in a backwards-compatible manner,
-we needed to break backwards compatibility at a few places. In order to see if
-you are affected and how the issues can be solved, please read our notes on
-breaking changes:
+* Extbase and fluid always loaded
 
-http://forge.typo3.org/projects/typo3v4-mvc/wiki/Breaking_Changes
+The core extensions 'extbase' and 'fluid' are used in core classes like t3lib
+and in several important core extensions. Extbase and fluid are now required
+extensions and always loaded.
 
-Backend Development
+-------------------------------------------------------------------------------
+PHP namespaces & TYPO3 autoloader
 -------------------------------------------------------------------------------
 
-* Language files
-
-Localization parsing is now cached within typo3temp/Cache/Data/t3lib_l10n. This
-speeds up TYPO3 but may lead to weird behaviour when you add a new language
-label in an XLIFF file and it seems not to "exist" at all. Instead of
-clearing the aforementioned cache directory, you may add an item in the clear
-cache menu by adding enabling it in localconf.php:
+* PHP namespaces in the TYPO3 autoloader
 
- $GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['cache']['clear_menu'] = TRUE;
+The autoloader can now handle fully qualified namespaced class names.
+If you use the fully qualified namespaced class name like
+'\Tx\ExtName\Foo\Bar', the autoloader will find the containing class following
+the extbase naming scheme. The mentioned class will be found if it is located
+in file 'exttensionkey'/Classes/Foo/Bar.php.
+It is also possible to use class names not following the extbase naming scheme
+by providing the "name spaced class name -> file" mapping in ext_autoloader.php.
 
-Generally, you may disable caches by using a NULL backend as described in:
+-------------------------------------------------------------------------------
+Backend
+-------------------------------------------------------------------------------
 
-http://wiki.typo3.org/Caching_framework#How_to_disable_specific_caches
+* New backend user administration module
 
-* xtype:modulepanel
+The backend user administration module was created from scratch again. The
+interface changed a lot, it is now possible to filter large groups of users
+with certain criteria and to compare specific user information. The code was
+made more flexible to easily cope with different use cases and to be more
+open for future enhancements.
 
-This new ExtJS panel type allows creation of pure ExtJS modules which fit the
-TYPO3 look 'n' feel.
+* New extension manager
 
-* Marker-based templates
+The extension manager was rewritten to be based on Extbase and thus to have a
+discrete controller and action API. The view utilized jQuery in the client's
+user interface and has been reduced to only contain required functionality
+for (un-)installing or configuring extensions. Uploading extensions to TER
+and directly modifying files of extensions is not supported in the Core
+anymore, but will be available as separate extension tools package in the TER.
 
-A new method substituteMarkerAndSubpartArrayRecursive() has been added to
-t3lib_parsehtml. A wrapper for this method is present in tslib_cObj as well.
-Instead of manually looping over nested subparts in a template, developers can
-now prepare a nested array of markers and subparts and let TYPO3 do the nested
-replacements in a single operation.
+* Introducing global categorization
 
-TypoScript / TCA / Frontend
--------------------------------------------------------------------------------
+A new global categorization has been introduced, thus any core component and
+extension can utilize this in the backend. An API call can be used to set
+accordant TCA and to create required SQL definition changes during runtime.
 
-* New TypoScript features
+See the following example to create a new field categories in a table:
 
-stdWrap has new properties:
+       \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable(
+               'myextension',
+               'tx_myextension_table',
+               'categories'
+       );
 
-       * .round: Round floating numbers
-       * .hash: Hash content with md5, sha1, and generally all algorithms
-         available by PHP function hash()
-       * .capitalize: Make first character of each word uppercase
-       * .replacement: Replace part of the content
-       * .expandList: Expand a comma-separated list of integers
-       * listNum = rand: Random item out of the list
-       * select.where now supports stdWrap
+* Support for NULL values in backend forms
 
-IMAGE and IMG_RESOURCE now support stdWrap on file.params.
+In some situations it might become handy to have an "undefined" value, e.g.
+for timestamp fields where "0" has the meaning of the unix timestamp origin
+back in 1970. Therefore a new TCA "eval" subtype has been introduced to support
+that - which will be visualized in the backend with a new "enable field"
+checkbox. Besides that the SQL definition must not have the "NOT NULL"
+statement for that field.
 
-* TCA
+Example to add the "undefined" (NULL value) to the field "myfield":
 
-       * parameters for userFunc: When using a userFunc as field type, additional
-         parameters may be provided.
-       * slider: New wizard for select fields as well as input fields for times,
-         integers and doubles.
-       * groupName (section [ctrl]): New option that can be used to group records
-         in the new record wizard.
+       $TCA['tx_myextension_table']['columns']['myfield']['config'] = array(
+               'type' => 'input',
+               'eval' => 'null',
+       );
 
 -------------------------------------------------------------------------------
-Performance
+Administration / Customization
 -------------------------------------------------------------------------------
 
-* Caching Framework now mandatory
-
-The Caching Framework is enabled by default and the old database-only driven
-caching was removed. This opens a lot of options for administrators to optimize
-cache deployment and performance. Details about configuration options and usage
-in own extensions can be found at http://wiki.typo3.org/Caching_framework.
-
-* Caching Framework: DB Backend uses own table namespace
-
-The Database Backend must not define own tables and table definitions anymore.
-Cache tables and table layout of the database backend will created by the
-Caching Framework when needed.
-
-* Compression and concatenation of CSS and JavaScript files
-
-New built-in minification routines can now be used with config.compressCss and
-config.compressJs to reduce the file size of all files configured in
-page.includeCSS and page.includeJS. Single files can be excluded from
-compression using the new option disableCompression. Additionally, files can
-be concatenated into a single file using config.concatenateCss and
-config.concatenateJs. Please note that there is only limited support for
-@charset, @import and @namespace statements in concatenated CSS files.
-
-Together with
-
- config.removeDefaultJS = external
-
-these routines will significantly lower web site traffic.
-
-Furthermore, if compressCss/compressJs is enabled,
-$TYPO3_CONF_VARS['FE']['compressionLevel'] now also affects CSS and JS files in
-frontend and applies GZIP compression. This requires the same options as for
-$TYPO3_CONF_VARS['BE']['compressionLevel'] to be set in .htaccess.
-
-You may disable compression and/or concatenation on the PAGE object. Example:
+* Introducing the File Abstraction Layer
 
- page.includeJSlibs {
-     jquery = http://code.jquery.com/jquery-1.6.1.min.js
-     jquery.external = 1
-     jquery.disableCompression = 1
-     jquery.excludeFromConcatenation = 1
- }
+The File Abstraction Layer ("FAL") is used to create accordant database records
+for each file. This was the same file can be used (referenced) in multiple
+elements without having to clone and clutter the file-system anymore. The TYPO3
+Core already makes use of the new File Abstraction Layer, but elderly extensions
+still can use the old way. Besides that, the Install Tool provides several
+upgrade wizards to migrate files to the new structure.
 
-The same options apply for includeCSS.
+       see http://docs.typo3.org/typo3cms/FileAbstractionLayerReference/
 
-Please note that compression and concatenation apply for external resources as
-well. But if activated, they will be dynamically retrieved to allow requested
-processing and will be served locally.