1 ************************************************************************
2 CHANGES & IMPROVEMENTS between TYPO3 4.3 and 4.4
3 (for technical details see ChangeLog)
4 ************************************************************************
9 * Versioning: "Page" and "Branch" versioning has been disabled for all
10 installations, because it is deprecated since TYPO3 4.2. If you still
11 use one of these versioning types, make sure to set
12 $TYPO3_CONF_VARS['BE']['elementVersioningOnly'] = FALSE in your
13 localconf.php. Please be aware that this option will vanish with
14 TYPO3 4.6 and that "Page" and "Branch" versioning is neither supported
15 nor maintained any longer.
17 * Versioning: The dummy "draft workspace" has been disabled for all
18 installations. If you need it you can enable it again in the
19 extension configuration of the "version" extension.
21 * All CSS and JS files in the TYPO3 Backend are compressed now. This
22 means that they are added up to a single file without unnecessary
23 whitespace. This will reduce the count of requests drastically, which
24 eventually leads to faster loading and better performance.
25 CAUTION: If compressionLevel is configured
26 ($TYPO3_CONF_VARS[TYPO3_MODE]['compressionLevel'] = 1 [1-9 for compression
27 level or TRUE for "enabled"]) the files will be served with gzip compression.
28 Be sure to enable / uncomment the needed configuration in your .htaccess file,
29 also found in misc/advanced.htaccess.
31 <FilesMatch "\.js\.gzip$">
32 AddType "text/javascript" .gzip
34 <FilesMatch "\.css\.gzip$">
35 AddType "text/css" .gzip
37 AddEncoding gzip .gzip
39 IMPORTANT: If you have any trouble accessing the Backend after upgrading
40 to TYPO3 4.4, make sure to clear the typo3temp/ directory manually or through
41 the TYPO3 install tool.
43 * There is now a complete new Backend skin for all backend modules,
44 the login screen and the install tool. It is still called "t3skin",
45 however due to the use of icon sprites and the refactoring of the
46 CSS files, it is not possible anymore to run the TYPO3 Backend
47 with the old backend skin (from 3.x) or with the look and feel from
48 previous 4.x versions.
49 If you have not installed any skins in your system, you will now see
50 a completely unstyled TYPO3 Backend, no unneeded additional styles
53 * The static templates for some basic designs, that were part of the
54 TYPO3 Core since TYPO3 3.5 are now moved to a system extension that
55 is not included by default. If you are using one of these templates
56 (GLUECK, GREEN, CANDIDATE etc) or one of the old table-based layouts
57 for rendering content (like content (default) or plaintext rendering),
58 make sure to install the system extension ("statictemplate") via the
61 * The RTE has undergone major changes as UI components have been transformed
63 1. The RTE framework becomes an ExtJS Panel comprising the toolbar,
64 the iframe, the textarea and the status bar. All components
66 2. When BE textareas are resizable, the framework is resizable as
67 a whole. In the FE, the framework is always resizable.
68 3. The toolbar dropdowns become ExtJS ComboBoxes.
69 4. The context menu becomes a configurable ExtJS Menu.
70 5. Color palettes become ExtJS ColorPalettes.
71 6. All dialogue windows become ExtJS windows.
73 * The install tool is visually refactored and updated. It has now a
74 different look and feel when accessing from outside the TYPO3 Backend
75 and from within to be integrated better in the rest of the Backend.
76 Also, the 1-2-3 installer process is now cleaned up to be in sync with
77 the new UI elements. There is also a new hook in the installing
78 process that allows to add or modify the existing steps in the
79 installer to add more configuration options to a custom TYPO3 installation.
81 * The task center module and all its components like Actions and Notes
82 has undergone a complete refactoring, both visually and code-wise,
83 and now has a clean API to add more elements to it.
85 * Automatic version-numbers of CSS and JS files to avoid caching problems:
86 This feature provides automatic numbering of CSS and JS files using the
87 files modified timestamp. This way the file reference will change when a
88 CSS or JS files is changed, and by this the browser and proxy will re-cache
89 the file. This feature can be configured to include the timestamp within the
90 filename (before .ext) or as a parameter to the file (default).
91 If versioning is done directly inside the filename (by setting
92 $TYPO3_CONF_VARS[BE][versionNumberInFilename] = TRUE) you need the
93 following line as the first rewrite rule in .htaccess:
95 # Rule for versioned static files (see $TYPO3_CONF_VARS[BE][versionNumberInFilename])
96 RewriteCond %{REQUEST_FILENAME} !-f
97 RewriteCond %{REQUEST_FILENAME} !-d
98 RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L]
100 IMPORTANT: This rule has to be the very first rule to work properly,
101 at least it has to be placed before the "^typo3..." rewrite rule
102 Developers can use this API for versioning of files in their own backend mods,
103 by calling t3lib_div::createVersionNumberedFilename or using the core API
104 for including files in the page renderer class.
106 * Support for GDlib 1.x was completely dropped. Only GDlib 2.x is supported now,
107 which is bundled with most PHP installations.
109 * HTML5 is now officially supported. For the Frontend output simply use
110 these two TypoScript lines in your Setup:
112 config.doctype = html_5
113 config.xmlprologue = none
115 Backend modules also allow HTML5 configuration, simply choose the doktype:
117 $this->doc->docType = 'html_5';
123 * The TYPO3 Backend was moved into an ExtJS Viewport. This is one of the
124 first steps in a sequence to ExtJSify the complete Backend. Currently
125 this gives you the possibility to create your own left sidebar,
126 like the page tree, in your backend modules. Also you can extend the
127 viewport easily with own code to create e.g. a collapsable module menu.
128 More information can be found in the TYPO3 Wiki and the official ExtJS
129 viewport documentation. See these links:
131 http://wiki.typo3.org/index.php/TYPO3Viewport
132 http://www.extjs.com/deploy/dev/docs/
134 * Inline Records (IRRE Elements) are now loaded on demand, meaning only when
135 they are opened. This should speed up the editing process drastically.
137 * The t3editor code completion DB was updated to reflect the latest additions.
138 Also the syntax highlighting engine is now extracted from the system extension
139 so it can be used in other places of the TYPO3 Core as well.
141 * A donation notice will be shown to administrators in the TYPO3 Backend
142 on login after using TYPO3 for more than three months. This behaviour
143 can be disabled completely - see $TYPO3_CONF_VARS[BE][allowDonateWindow].
145 * Most Icons used in the TYPO3 Backend are now rendered through so-called
146 sprites. Instead of loading many image tags with single icons and therefore
147 many http requests there are now only 6 sprite images (a sprite image is a
148 big image with all icons included) that need to be loaded in the Backend.
149 Image-tags got replaced by spans using the big sprite images with background
150 and offset functionality. This reduces the HTTP and fileheader overhead of
151 about 90% which results in a blasting fast Backend. For details about the
152 new Icon Sprite API, have a look at t3lib/class.t3lib_iconworks.php.
154 * The "bigButtons" (Edit page properties, Move page, ...) in the Page module
155 are now disabled by default to have a cleaner interface. The old
156 behavior can be restored by setting mod.web_layout.disableBigButtons = 0
157 in UserTSconfig or PageTSconfig.
159 * The interface "backend_old" was completely removed. This was the BE interface
160 from 4.1. As it wasn't maintained and didn't worked correct, all references
161 are removed, so remaining interfaces for login are backend and frontend.
163 * The extension manager option "Enable extensions without review (basic security
164 check)" was completely removed as most extensions in TER weren't reviewed on
165 a regular basis. Thus, when searching for an extension in TER through the
166 Extension Manager, all matching extensions, not regarding the review state,
172 * Indexed search no longer puts a double wrap around search rules in the
173 advanced search form. This may require style changes if a default indexed
176 * The system extensions "CSS Styled Content" (css_styled_content) and
177 "Frontend User Login" (felogin) now have new manuals that reflect the
178 current state of the extension.
180 * The browser condition in TypoScript now delivers reliable information
181 about the client browser. So now it's possible to make a condition
182 for usage of Firefox, or even a webkit based browser.
188 * Extbase: has been updated to support "Single Table Inheritance" which is
189 a breaking change. In TYPO3 4.3, Extbase made a "best guess" for the table
190 name if it was not the lowercased class name (simply by crawling the class
191 hierarchy upwards trying to find a mapping rule or table). This "magic"
192 was removed because It was very hard to understand what was happening;
193 especially if there was an error. This behaviour is now changed and you
194 define the recordType and the tableName through TypoScript now. See the
195 typo3.projecty.typo3v4mvc mailing list for more details on this topic.
197 * Extbase: Template filenames are expected to be UpperCamelCased from now on.
198 Before, they were expected to be all lowercase. For a grace period there
199 is still a fallback mechanism, so that your old template filenames will
200 still work. But you should rename your templates from "myaction.html"
201 to "MyAction.html" to make sure, that it still works in upcoming versions
202 of Fluid! A message to the deprecation log is generated in case an "old"
203 template name is found.
205 * Support for GDlib 1.x was completely dropped, only GDlib 2.x is supported,
206 which is bundled with most PHP installations.
208 * Versioning: "Page" and "Branch" versioning has been disabled for all
209 installations, because it is deprecated since TYPO3 4.2. If you still
210 use one of these versioning types, make sure to set
211 $TYPO3_CONF_VARS['BE']['elementVersioningOnly'] = FALSE in your
212 localconf.php. Please be aware that this option will vanish with
213 TYPO3 4.6 and that "Page" and "Branch" versioning is neither supported
214 nor maintained any longer.
220 * In t3lib_extMgm there is now a way to retrieve the version of an
221 extension through the method getExtensionVersion($extensionKey).
223 * t3lib_div now provides the constants LF, CR, CRLF and TAB which can be
224 used to improve code readability.
226 * The ExtDirect specification was implemented in the Backend of TYPO3.
227 You can use it in your own backend modules. Details about the specification
228 can be found in the TYPO3 Wiki and on the ExtJS site.
231 http://wiki.typo3.org/index.php/ExtDirect
232 http://www.extjs.com/products/js/direct.php
234 * There are new hooks available for you to use: t3lib_page::getRecordOverlay,
235 t3lib_page::getPageOverlay, several new hooks in the impexp extension,
236 alt_doc::makeEditForm() to enable further access-restrictions,
237 in tslib_fe::settingLanguage(), in tslib_content, and in tslib_menu for
238 further filtering of menu items
240 * The newly introduced Flash messages in TYPO3 4.3 are now also available
241 as JavaScript messages done by ExtJS and available in the global
242 TYPO3 backend JS space.
244 * There is now a new API for sending emails. t3lib_utility_Mail::mail()
245 serves as a proxy for the PHP mail() function, and is now the recommended
246 way for sending emails, in order to have a central place to use a
247 different mailing engine.
249 * The debug in the TYPO3 Backend was enhanced. There is a new debug console,
250 which will show each debug in a single tab. The console will pop up
251 as soon a debug statement is present.
253 * t3lib_div::debug(): Removed the feature of passing an integer
254 as $header (second argument) to add multiple br-tags.
256 * There is a new API in place to generate HTML <span> tags with corresponding
257 CSS classes in order to display previously created sprite images in
258 the right background position. Make sure to have a look at
259 "t3lib_iconWorks::getSpriteIconForRecord($table, $row)",
260 "t3lib_iconWorks::getSpriteIconForFile('myimage.png')", and
261 "t3lib_iconWorks::getSpriteIcon('actions-document-open')".
267 * It is now possible to configure an alternative "parameter" for filelinks
274 * It is now possible to use the 1-2-3 installer process to configure a
275 website running MSSQL, Oracle or PostgreSQL as TYPO3 database. TYPO3
276 automatically detects available database drivers and presents them in
277 a convenient driver dropdown list.
283 * There is now a complete new Backend skin for all backend modules,
284 the login screen and the install tool. It is still called "t3skin",
285 however due to the use of icon sprites and the refactoring of the
286 CSS files, it is not possible anymore to run the TYPO3 Backend
287 with the old backend skin (from 3.x) or with the look and feel from
288 previous 4.x versions.
289 If you have not installed any skins in your system, you will now see
290 a completely unstyled TYPO3 Backend, no unneeded additional styles
293 * CSS files in the TYPO3 Backend are now separated in structure
294 CSS statements (definitions for margin, padding, width, height) and
295 visual (like formatting colors, fonts, border and backgrounds).
297 * Skins now have to register themselves by adding an entry
298 $TBE_STYLES['skins'][$_EXTKEY]. By default, all CSS files from
299 subdirectories stylesheets/structure/ and stylesheets/visual/ are
300 included, additional directories can be added by setting
301 $TBE_STYLES['skins'][$_EXTKEY]['stylesheetDirectories'].
303 * Most Icons used in the TYPO3 Backend are now rendered through so-called
304 sprites. Instead of loading many image tags with single icons and therefore
305 many http requests there are now only 6 sprite images (a sprite image is a
306 big image with all icons included) that need to be loaded in the Backend.
307 Image-tags got replaced by spans using the big sprite images with background
308 and offset functionality. This reduces the HTTP and fileheader overhead of
309 about 90% which results in a blasting fast Backend. For details about the
310 new Icon Sprite API, have a look at t3lib/class.t3lib_iconworks.php.
316 * Inline Records (IRRE Elements) are now loaded on demand, meaning only when
317 they are opened. This should speed up the editing process drastically.
320 Currently unsupported
321 =====================
323 * Missing features concerning the disposal of Inline Relational Record Editing (IRRE)
324 -> Workspaces and Versioning are currently not supported
325 -> FlexForms using the TCA type 'inline' are currently not supported/tested
326 -> Import/Export (sysext tx_impexp) might not work correctly in special cases