Follow-up to bug #8305: SQL debug output is not shown in the Backend
[Packages/TYPO3.CMS.git] / NEWS.txt
1 ************************************************************************
2 CHANGES & IMPROVEMENTS between TYPO3 4.3 and 4.4
3 (for technical details see ChangeLog)
4 ************************************************************************
5
6 General
7 =======
8
9         * TYPO3 requires PHP 5.2 now
10
11         * 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), the t3skin look and feel from the previous 4.x versions can be obtained by the TER, but is not actively maintained anymore.
12
13         * 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.
14
15         * The RTE has undergone major changes as UI components have been transformed into ExtJS widgets:
16                 1. The RTE framework becomes an ExtJS Panel comprising the toolbar, the iframe, the textarea and the status bar. All components are ExtJS objects.
17                 2. When BE textareas are resizable, the framework is resizable as a whole. In the FE, the framework is always resizable.
18                 3. The toolbar dropdowns become ExtJS ComboBoxes.
19                 4. The context menu becomes a configurable ExtJS Menu.
20                 5. Color palettes become ExtJS ColorPalettes.
21                 6. All dialogue windows become ExtJS windows.
22
23         * 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.
24
25         * The task center module in the TYPO3 Backend has undergone a complete refactoring, both visually and code-wise.
26
27         * 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).
28           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:
29                 # Rule for versioned static files (see $TYPO3_CONF_VARS[BE][versionNumberInFilename])
30                 RewriteCond %{REQUEST_FILENAME} !-f
31                 RewriteCond %{REQUEST_FILENAME} !-d
32                 RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L]
33           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
34           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.
35
36         * 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.
37           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.
38
39         * Support for GDlib 1.x was completely dropped, only GDlib 2.x is supported, which is bundled with most PHP installations.
40         
41         * HTML5 now is official supported. For frontend simply use these two config lines:
42                 config.doctype = html_5
43                 config.xmlprologue = none
44           Backend modules also allow HTML5 configuration, simply choose the doktype:
45                 $this->doc->docType = 'html_5';
46
47
48 Backend
49 =======
50
51         * 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/
52         
53         * Inline Records (IRRE Elements) are now loaded on demand, which is only when they are opened. This should speed up the editing process drastically.  
54
55         * 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.
56
57         * A donate notice will be shown to admins in the TYPO3 backend after using it for more than three months.
58           This behaviour can be disabled completely - see $TYPO3_CONF_VARS[BE][allowDonateWindow].
59
60         * 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 we now just have 6 sprites (one big image with all icons included) that need to be loaded. Image tags got replaced by spans using the big sprite images with background and offset. 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.
61
62         * 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 UserTS or PageTS.
63         
64         * The "backend_old" was 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. 
65
66 Frontend
67 ========
68
69         * 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.
70
71         * 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.
72         
73         * 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.
74
75
76 Compatibility
77 =============
78
79         * 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.
80
81         * Support for GDlib 1.x was completely dropped, only GDlib 2.x is supported, which is bundled with most PHP installations.
82
83 Development
84 ===========
85
86         * In t3lib_extMgm there is now a way to retrieve the version of an extension through the method getExtensionVersion($extensionKey).
87
88         * t3lib_div now provides the constants LF, CR, CRLF and TAB which can be used to improve code readability.
89
90         * 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
91
92         * 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
93         
94         * 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.
95         
96         * 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.
97
98         * 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.
99         
100         * t3lib_div::debug(): Removed the feature of passing an integer as $header (second argument) to add multiple br-tags.
101         
102         * 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')".
103
104
105 TypoScript changes
106 ==================
107
108         * It is now possible to configure an alternative "parameter" for filelinks when using jumpURLs
109
110
111 Database changes
112 ================
113
114         * ...
115
116
117 DBAL
118 ====
119
120         * 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.
121
122
123 Backend skin
124 ============
125
126         * 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), the t3skin look and feel from the previous 4.x versions can be obtained by the TER, but is not actively maintained anymore.
127
128         * 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'].
129
130         * 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 we now just have 6 sprites (one big image with all icons included) that need to be loaded. Image tags got replaced by spans using the big sprite images with background and offset. 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.
131
132
133 Speed improvements
134 ==================
135
136         * 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.
137
138
139 Important bugfixes
140 ==================
141
142         * ...
143
144 Currently unsupported
145 =====================
146
147         * Missing features concerning the disposal of Inline Relational Record Editing (IRRE)
148                 -> Workspaces and Versioning are currently not supported
149                 -> FlexForms using the TCA type 'inline' are currently not supported/tested
150                 -> Import/Export (sysext tx_impexp) might not work correctly in special cases