Added feature #14490: A new skin for the TYPO3 Backend (Thanks to Steffen Gebert...
[Packages/TYPO3.CMS.git] / NEWS.txt
index d2054b7..e9e66d3 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
 ************************************************************************
-CHANGES & IMPROVEMENTS between TYPO3 4.0 and 4.1
+CHANGES & IMPROVEMENTS between TYPO3 4.3 and 4.4
 (for technical details see ChangeLog)
 ************************************************************************
 
 General
-==================
+=======
+
+       * TYPO3 requires PHP 5.2 now
+
+       * There is now a complete new Backend skin for all 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), the t3skin look and feel from the previous 4.x versions can be obtained by the TER, but is not actively maintained anymore.
+
+       * 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 via the TYPO3 Installer.
+
+       * 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.
 
-       * New PHP version requirement: You need to have at least PHP 4.3.0 in order to run TYPO3 4.1
+       * The install tool is visually refactored and updated. It has now a different look&feel when accessing from outside the TYPO3 Backend and from within to be integrated better in the backend. Also, the 1-2-3 installer process is now cleaned up to be in sync with the new UI elements. There is 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 in the TYPO3 Backend has undergone a complete refactoring, both visually and code-wise.
+
+       * 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. Can be configured to include the timestamp within the the filename (before .ext) or as a parameter to the file (default).
+         If versioning is done inside the filename (by setting $TYPO3_CONF_VARS[BE][versionNumberInFilename] to true) you need this 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.
+
+       * CSS and JS are compressed now. This means that they are concatenated to a single file. This will reduce the count of request drastically, which ends up in faster loading and better performance.
+         If compressionLevel is configured ($TYPO3_CONF_VARS[TYPO3_MODE]['compressionLevel'] = 1 [1-9 for compression level or TRUE for enable]) they will be served with gzip. Be sure to uncomment the needed configuration in your .htaccess, also found in misc/advanced.htaccess.
+         
 Backend
-==================
+=======
+
+       * 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'].
 
-       * Inline Relational Record Editing (IRRE)
-               -> It's now possible to create and edit child records of a record as subforms inside of the form view in the backend
-               -> Therefore, the new TCA field type "inline" has been introduced
-               -> See http://wiki.typo3.org/index.php/Inline_Relational_Record_Editing for details
+       * 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 pagetree) in your backend modules. Also you can extend the viewport easily with own code to create e.g. a collapsable module menu. More Informations can be found in the TYPO3 Wiki and the official ExtJS viewport documentation. See these links: http://wiki.typo3.org/index.php/TYPO3Viewport and http://www.extjs.com/deploy/dev/docs/
+       
+       * Inline Records (IRRE Elements) are now loaded on demand, which is only when they are opened. This should speed up the editing process drastically.  
 
-       * Bidirectional MM relations: It's now possible to configure MM relations from both sides of the relation.
-               -> E.g. an employment relation could now be edited from both the "person" as well as the "company" side. ("employers" of "persons" and "employees" of "companies")
+       * The t3editor code completion DB was updated to reflect the latest additions. Also the syntax highlighting engine was now extracted from the system extension so it can be used in other places of the TYPO3 Core as well.
 
-       * BE who-is-online
-               -> The Tools->Useradmin module now displays which BE users are currently online.
+       * A donate notice will be shown to admins in the TYPO3 backend after using it for more than three months.
+         This behaviour can be disabled completely - see $TYPO3_CONF_VARS[BE][allowDonateWindow].
 
-       * UTF-8 for filenames
-               -> You need to set $TYPO3_CONF_VARS['SYS']['UTF8filesystem'] to TRUE to enable this feature.
 
-       * Improved Extension Manager
-               -> Requires less memory
-               -> The EM now stores the list of extensions from TER in the database,
-               -> see http://bugs.typo3.org/view.php?id=2615
+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 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.
 
-       * Two nice usability enhancements
-               -> Using <label> tags in tceforms where appropriate to enhance usability in the Backend forms
-               -> Increase length for titles of be_users, be_groups, and fe_groups
 
 Compatibility
 =============
 
-       * Changed the default value of $TYPO3_CONF_VARS[SYS][devIPmask]
+       * 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.
 
-Speed improvements
-==================
 
-       * Many TYPO3 tables (cache_*, index_*, tt_content, pages and others) are modified to use new indexes. This speeds up common queries on these pages a lot
+Development
+===========
 
-       * Some tables are changed to use InnoDB engine type for MySQL. Unlike MyISAM, which was default in previous versions, InnoDB does not lock tables for reading when another request tries to write something to table. InnoDB makes possible many reads along with many writes, while MyISAM prevents reads and writes until every single write completes. This gives huge improvement cache_*, sys_stat and index_* tables during peak visiting hours
+       * In t3lib_extMgm there is now a way to retrieve the version of an extension through the method getExtensionVersion($extensionKey).
 
-       * TYPO3 now includes several .htaccess files in t3lib/ and typo3/ subdirectories to speed up loading of static (non-changing) images. Prior to version 4.1 all images were reloaded each time when backend user accessed any module, navigation frame, file or page tree. This used a lot of bandwidth and slowed servers down with HTTP requests for static (non-changing) images (for example, imagine how many additional requests will web server get when you use List module in extended mode and how much data it needs to transfer!).
-         Using this feature requires certain Apache configuration. Main Apache configuration file should have "AllowOverride Indexes" directive for typo3-based web site (note that there can be also other values in AllowOverride" but "Indexes" is mandatory). It is safe and usually enabled by default by web server administrator. However if it is disabled and you cannot enable it for any reason (shared hosting, etc), you need to rename or delete several .htaccess files to prevent error messages from web server. Here is a list of these files:
-               typo3/gfx/.htaccess
-               typo3/mod/user/ws/.htaccess
-               typo3/sysext/.htaccess
-               typo3/sysext/t3skin/stylesheets/.htaccess
-         This feature requires mod_expires to be installed for Apache. If mod_expires is not installed, images will not be cahced and TYPO3 will work as in previous versions. .htaccess files will detect if mod_expires is installed and use it automatically
+       * t3lib_div now provides the constants LF, CR, CRLF and TAB which can be used to improve code readability.
 
-Development
-====================
+       * 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 and http://www.extjs.com/products/js/direct.php
 
-       * Better getRecordTitle() function
-               -> It's now possible to define a "label_userFunc"
-               -> This makes it possible to e.g. define the label of a "persons" table as displayed in the list module to be like "Lastname, Firstname". Until now you could only define one field to be the "labelfield".
+       * 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_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() that 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.
 
-       * Inline Relational Record Editing (see "Backend" section above)
+       * The debug in BE 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.
+       
+       * 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')".
 
-       * It is possible to reuse List module classes in extensions (see record editing in TemplaVoila Page module, for example)
 
-Database changes
-================
+TypoScript changes
+==================
 
-       * Changed many BLOB fields from int/varchar/whatever to tinyint(1) - this is the field type which is actually intended by MySQL for BLOBs
+       * It is now possible to configure an alternative "parameter" for filelinks when using jumpURLs
 
-DBAL
-====
+
+Database changes
+================
 
        * ...
 
-Frontend features
-=================
 
-       * Autologin for Frontend users is now possible!
-               -> Users can decide on their own whether they want to "Stay logged in" using a checkbox. The latest version of the "newloginbox" extension is required for that.
-               -> Needs to be configured in the Install Tool ("All Configuration" -> "permalogin" and "lifetime")
+DBAL
+====
 
-       * UTF-8 for log files
-               -> TYPO3 now logs page paths in UTF-8 if config.stat_apache_niceTitle is set to "utf-8" in the TypoScript template Setup.
+       * 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.
 
-       * Enable $TYPO3_CONF_VARS[FE][pageNotFoundOnCHashError] by default
-               -> URLs (especially plugins) can contain the &cHash parameter. It contains a checksum of the whole paramter set and is very useful for caching.
-               -> In the past, a wrong cHash caused the website to be recreated with caching turned off.
-               -> With the new behaviour, a wrong cHash will instead trigger an error message since this usually should never happen!
-               -> Usually, the cHash is only wrong if a) someone has changed the encryptionKey (bad!) or b) someone has manually modified the requested URL
 
 Backend skin
 ============
 
        * ...
 
+
+Speed improvements
+==================
+
+       * When editing records in the TYPO3 Backend, Inline Records (IRRE Elements) are now loaded on demand, which is only when they are opened. This should speed up the editing process drastically.
+
+
 Important bugfixes
 ==================
 
        * ...
+
+Currently unsupported
+=====================
+
+       * 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