[TASK] Improve FAL performance
[Packages/TYPO3.CMS.git] / NEWS.txt
index 6c68dc2..04d4a4b 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
-************************************************************************
-CHANGES & IMPROVEMENTS between TYPO3 4.3 and 4.4
-(for technical details see ChangeLog)
-************************************************************************
+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-2012 by Kasper Skaarhoj.
 
-General
-=======
-
-       * Versioning: "Page" and "Branch" versioning has been disabled for all
-         installations, because it is deprecated since TYPO3 4.2. If you still
-         use one of these versioning types, make sure to set
-         $TYPO3_CONF_VARS['BE']['elementVersioningOnly'] = FALSE in your
-         localconf.php. Please be aware that this option will vanish with 
-         TYPO3 4.6 and that "Page" and "Branch" versioning is neither supported
-         nor maintained any longer.
-
-       * Versioning: The dummy "draft workspace" has been disabled for all
-         installations. If you need it you can enable it again in the
-         extension configuration of the "version" extension.
-
-       * All CSS and JS files in the TYPO3 Backend are compressed now. This 
-         means that they are added up to a single file without unnecessary
-         whitespace. This will reduce the count of requests drastically, which
-         eventually leads to faster loading and better performance.
-         CAUTION: If compressionLevel is configured 
-         ($TYPO3_CONF_VARS[TYPO3_MODE]['compressionLevel'] = 1 [1-9 for compression
-         level or TRUE for "enabled"]) the files will be served with gzip compression.
-         Be sure to enable / uncomment the needed configuration in your .htaccess file, 
-         also found in misc/advanced.htaccess.
-
-               <FilesMatch "\.js\.gzip$">
-                 AddType "text/javascript" .gzip
-               </FilesMatch>
-               <FilesMatch "\.css\.gzip$">
-                 AddType "text/css" .gzip
-               </FilesMatch>
-               AddEncoding gzip .gzip
-               
-         IMPORTANT: If you have any trouble accessing the Backend after upgrading
-         to TYPO3 4.4, make sure to clear the typo3temp/ directory manually or through
-         the TYPO3 install tool.
-
-       * There is now a complete new Backend skin for all backend modules, 
-         the login screen and the install tool. It is still called "t3skin",
-         however due to the use of icon sprites and the refactoring of the
-         CSS files, it is not possible anymore to run the TYPO3 Backend
-         with the old backend skin (from 3.x) or with the look and feel from 
-         previous 4.x versions.
-         If you have not installed any skins in your system, you will now see 
-         a completely unstyled TYPO3 Backend, no unneeded additional styles
-         are loaded.
-
-       * The static templates for some basic designs, that were part of the
-         TYPO3 Core since TYPO3 3.5 are now moved to a system extension that
-         is not included by default. If you are using one of these templates
-         (GLUECK, GREEN, CANDIDATE etc) or one of the old table-based layouts
-         for rendering content (like content (default) or plaintext rendering),
-         make sure to install the system extension ("statictemplate") via the
-         Install Tool.
-
-       * The RTE has undergone major changes as UI components have been transformed
-         into ExtJS widgets:
-               1. The RTE framework becomes an ExtJS Panel comprising the toolbar, 
-                  the iframe, the textarea and the status bar. All components 
-                  are ExtJS objects.
-               2. When BE textareas are resizable, the framework is resizable as
-                  a whole. In the FE, the framework is always resizable.
-               3. The toolbar dropdowns become ExtJS ComboBoxes.
-               4. The context menu becomes a configurable ExtJS Menu.
-               5. Color palettes become ExtJS ColorPalettes.
-               6. All dialogue windows become ExtJS windows.
-
-       * The install tool is visually refactored and updated. It has now a
-         different look and feel when accessing from outside the TYPO3 Backend
-         and from within to be integrated better in the rest of the Backend.
-         Also, the 1-2-3 installer process is now cleaned up to be in sync with
-         the new UI elements. There is also a new hook in the installing
-         process that allows to add or modify the existing steps in the
-         installer to add more configuration options to a custom TYPO3 installation.
-
-       * The task center module and all its components like Actions and Notes
-         has undergone a complete refactoring, both visually and code-wise,
-         and now has a clean API to add more elements to it.
-
-       * Automatic version-numbers of CSS and JS files to avoid caching problems:
-         This feature provides automatic numbering of CSS and JS files using the
-         files modified timestamp. This way the file reference will change when a
-         CSS or JS files is changed, and by this the browser and proxy will re-cache
-         the file. This feature can be configured to include the timestamp within the
-         filename (before .ext) or as a parameter to the file (default).
-         If versioning is done directly inside the filename (by setting
-         $TYPO3_CONF_VARS[BE][versionNumberInFilename] = TRUE) you need the
-         following line as the first rewrite rule in .htaccess:
-
-               # Rule for versioned static files (see $TYPO3_CONF_VARS[BE][versionNumberInFilename])
-               RewriteCond %{REQUEST_FILENAME} !-f
-               RewriteCond %{REQUEST_FILENAME} !-d
-               RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L]
-
-         IMPORTANT: This rule has to be the very first rule to work properly,
-         at least it has to be placed before the "^typo3..." rewrite rule
-         Developers can use this API for versioning of files in their own backend mods,
-         by calling t3lib_div::createVersionNumberedFilename or using the core API
-         for including files in the page renderer class.
-
-       * Support for GDlib 1.x was completely dropped. Only GDlib 2.x is supported now,
-         which is bundled with most PHP installations.
-       
-       * HTML5 is now officially supported. For the Frontend output simply use
-         these two TypoScript lines in your Setup:
-
-               config.doctype = html_5
-               config.xmlprologue = none
-
-         Backend modules also allow HTML5 configuration, simply choose the doktype:
-
-               $this->doc->docType = 'html_5';
-
-
-Backend
-=======
-
-       * The TYPO3 Backend was moved into an ExtJS Viewport. This is one of the
-         first steps in a sequence to ExtJSify the complete Backend. Currently
-         this gives you the possibility to create your own left sidebar,
-         like the page tree, in your backend modules. Also you can extend the 
-         viewport easily with own code to create e.g. a collapsable module menu.
-         More information can be found in the TYPO3 Wiki and the official ExtJS
-         viewport documentation. See these links:
-
-               http://wiki.typo3.org/index.php/TYPO3Viewport
-               http://www.extjs.com/deploy/dev/docs/
-
-       * Inline Records (IRRE Elements) are now loaded on demand, meaning only when
-         they are opened. This should speed up the editing process drastically.  
-
-       * The t3editor code completion DB was updated to reflect the latest additions.
-         Also the syntax highlighting engine is now extracted from the system extension
-         so it can be used in other places of the TYPO3 Core as well.
-
-       * A donation notice will be shown to administrators in the TYPO3 Backend
-         on login after using TYPO3 for more than three months. This behaviour
-         can be disabled completely - see $TYPO3_CONF_VARS[BE][allowDonateWindow].
-
-       * Most Icons used in the TYPO3 Backend are now rendered through so-called
-         sprites. Instead of loading many image tags with single icons and therefore
-         many http requests there are now only 6 sprite images (a sprite image is a
-         big image with all icons included) that need to be loaded in the Backend.
-         Image-tags got replaced by spans using the big sprite images with background
-         and offset functionality. This reduces the HTTP and fileheader overhead of
-         about 90% which results in a blasting fast Backend. For details about the
-         new Icon Sprite API, have a look at t3lib/class.t3lib_iconworks.php.
-
-       * The "bigButtons" (Edit page properties, Move page, ...) in the Page module
-         are now disabled by default to have a cleaner interface. The old
-         behavior can be restored by setting mod.web_layout.disableBigButtons = 0
-         in UserTSconfig or PageTSconfig.
-
-       * The interface "backend_old" was completely removed. This was the BE interface
-         from 4.1. As it wasn't maintained and didn't worked correct, all references
-         are removed, so remaining interfaces for login are backend and frontend. 
-
-       * The extension manager option "Enable extensions without review (basic security 
-         check)" was completely removed as most extensions in TER weren't reviewed on
-         a regular basis. Thus, when searching for an extension in TER through the
-         Extension Manager, all matching extensions, not regarding the review state,
-         are shown up.
+This document contains information about TYPO3 version 6.1 has been released
+on April 30th 2013.
 
-Frontend
-========
-
-       * Indexed search no longer puts a double wrap around search rules in the
-         advanced search form. This may require style changes if a default indexed
-         search is used.
-
-       * The system extensions "CSS Styled Content" (css_styled_content) and
-         "Frontend User Login" (felogin) now have new manuals that reflect the
-         current state of the extension.
-       
-       * The browser condition in TypoScript now delivers reliable information
-         about the client browser. So now it's possible to make a condition
-         for usage of Firefox, or even a webkit based browser.
+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_6.1
 
+===============================================================================
 Compatibility
-=============
-
-       * Extbase: has been updated to support "Single Table Inheritance" which is
-         a breaking change. In TYPO3 4.3, Extbase made a "best guess" for the table
-         name if it was not the lowercased class name (simply by crawling the class
-         hierarchy upwards trying to find a mapping rule or table). This "magic" 
-         was removed because It was very hard to understand what was happening;
-         especially if there was an error. This behaviour is now changed and you
-         define the recordType and the tableName through TypoScript now. See the
-         typo3.projecty.typo3v4mvc mailing list for more details on this topic.
-
-       * Extbase: Template filenames are expected to be UpperCamelCased from now on.
-         Before, they were expected to be all lowercase. For a grace period there
-         is still a fallback mechanism, so that your old template filenames will
-         still work. But you should rename your templates from "myaction.html"
-         to "MyAction.html" to make sure, that it still works in upcoming versions
-         of Fluid!  A message to the deprecation log is generated in case an "old"
-         template name is found.
-
-       * Support for GDlib 1.x was completely dropped, only GDlib 2.x is supported,
-         which is bundled with most PHP installations.
-
-       * Versioning: "Page" and "Branch" versioning has been disabled for all
-         installations, because it is deprecated since TYPO3 4.2. If you still
-         use one of these versioning types, make sure to set
-         $TYPO3_CONF_VARS['BE']['elementVersioningOnly'] = FALSE in your
-         localconf.php. Please be aware that this option will vanish with 
-         TYPO3 4.6 and that "Page" and "Branch" versioning is neither supported
-         nor maintained any longer.
-
-
-Development
-===========
-
-       * In t3lib_extMgm there is now a way to retrieve the version of an
-         extension through the method getExtensionVersion($extensionKey).
-
-       * t3lib_div now provides the constants LF, CR, CRLF and TAB which can be
-         used to improve code readability.
-
-       * The ExtDirect specification was implemented in the Backend of TYPO3.
-         You can use it in your own backend modules. Details about the specification
-         can be found in the TYPO3 Wiki and on the ExtJS site.
-         See the links:
-
-               http://wiki.typo3.org/index.php/ExtDirect
-               http://www.extjs.com/products/js/direct.php
-
-       * There are new hooks available for you to use: t3lib_page::getRecordOverlay,
-         t3lib_page::getPageOverlay, several new hooks in the impexp extension,
-         alt_doc::makeEditForm() to enable further access-restrictions, 
-         in tslib_fe::settingLanguage(), in tslib_content, and in tslib_menu for 
-         further filtering of menu items
-       
-       * The newly introduced Flash messages in TYPO3 4.3 are now also available
-         as JavaScript messages done by ExtJS and available in the global
-         TYPO3 backend JS space.
-       
-       * There is now a new API for sending emails. t3lib_utility_Mail::mail()
-         serves as a proxy for the PHP mail() function, and is now the recommended
-         way for sending emails, in order to have a central place to use a
-         different mailing engine.
-
-       * The debug in the TYPO3 Backend was enhanced. There is a new debug console,
-         which will show each debug in a single tab. The console will pop up
-         as soon a debug statement is present.
-       
-       * t3lib_div::debug(): Removed the feature of passing an integer
-         as $header (second argument) to add multiple br-tags.
-       
-       * There is a new API in place to generate HTML <span> tags with corresponding
-         CSS classes in order to display previously created sprite images in
-         the right background position. Make sure to have a look at
-         "t3lib_iconWorks::getSpriteIconForRecord($table, $row)",
-         "t3lib_iconWorks::getSpriteIconForFile('myimage.png')", and
-         "t3lib_iconWorks::getSpriteIcon('actions-document-open')".
-
+===============================================================================
 
-TypoScript changes
-==================
+-------------------------------------------------------------------------------
+System environment
+-------------------------------------------------------------------------------
 
-       * It is now possible to configure an alternative "parameter" for filelinks
-         when using jumpURLs
+-------------------------------------------------------------------------------
+Deprecated and removed components
+-------------------------------------------------------------------------------
 
+===============================================================================
+Changes and Improvements
+===============================================================================
 
-DBAL
-====
-
-       * It is now possible to use the 1-2-3 installer process to configure a
-         website running MSSQL, Oracle or PostgreSQL as TYPO3 database. TYPO3
-         automatically detects available database drivers and presents them in
-         a convenient driver dropdown list.
-
-
-Backend skin
-============
-
-       * There is now a complete new Backend skin for all backend modules, 
-         the login screen and the install tool. It is still called "t3skin",
-         however due to the use of icon sprites and the refactoring of the
-         CSS files, it is not possible anymore to run the TYPO3 Backend
-         with the old backend skin (from 3.x) or with the look and feel from 
-         previous 4.x versions. 
-         If you have not installed any skins in your system, you will now see 
-         a completely unstyled TYPO3 Backend, no unneeded additional styles
-         are loaded.
-
-       * CSS files in the TYPO3 Backend are now separated in structure
-         CSS statements (definitions for margin, padding, width, height) and
-         visual (like formatting colors, fonts, border and backgrounds).
-
-       * Skins now have to register themselves by adding an entry
-         $TBE_STYLES['skins'][$_EXTKEY]. By default, all CSS files from
-         subdirectories stylesheets/structure/ and stylesheets/visual/ are
-         included, additional directories can be added by setting
-         $TBE_STYLES['skins'][$_EXTKEY]['stylesheetDirectories'].
-
-       * Most Icons used in the TYPO3 Backend are now rendered through so-called
-         sprites. Instead of loading many image tags with single icons and therefore
-         many http requests there are now only 6 sprite images (a sprite image is a
-         big image with all icons included) that need to be loaded in the Backend.
-         Image-tags got replaced by spans using the big sprite images with background
-         and offset functionality. This reduces the HTTP and fileheader overhead of
-         about 90% which results in a blasting fast Backend. For details about the
-         new Icon Sprite API, have a look at t3lib/class.t3lib_iconworks.php.
-
-
-Speed improvements
-==================
-
-       * Inline Records (IRRE Elements) are now loaded on demand, meaning only when
-         they are opened. This should speed up the editing process drastically.
-
-
-Currently unsupported
-=====================
+-------------------------------------------------------------------------------
+General
+-------------------------------------------------------------------------------
+
+* Improved TCA load mechanism
+
+The initialization of the central $GLOBAL['TCA'] array was refactored,
+accelerated and simplified. Frontend code can now rely on a fully loaded array
+including columns and the requirement to call loadTca() in ext_tables.php if
+manipulating TCA is gone.
+Extension authors should catch up with this evolvment: Definition of new TCA
+tables should be moved to the extensions Configuration/TCA/ directory, every
+table must be declared in an own file "tablename.php". The file must return the
+full TCA definition of the specific table, with ctrl and columns sections
+merged together, without the former dynamicConfigFile definition. The
+declaration of TCA for new tables can be dropped from ext_tables.php, the
+bootstrap will find and execute any new table definitions in Configuration/TCA
+automatically if the extension author sticks to the convention. Examples of
+correct registration can be found in sys_note and extensionmanager and other
+system extensions.
+
+-------------------------------------------------------------------------------
+Backend
+-------------------------------------------------------------------------------
 
-       * Missing features concerning the disposal of Inline Relational Record Editing (IRRE)
-               -> Workspaces and Versioning are currently not supported
-               -> FlexForms using the TCA type 'inline' are currently not supported/tested
-               -> Import/Export (sysext tx_impexp) might not work correctly in special cases
+-------------------------------------------------------------------------------
+Administration / Customization
+-------------------------------------------------------------------------------