Updated and formatted NEWS.txt
[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 * 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.
16
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.
20
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.
30
31 <FilesMatch "\.js\.gzip$">
32 AddType "text/javascript" .gzip
33 </FilesMatch>
34 <FilesMatch "\.css\.gzip$">
35 AddType "text/css" .gzip
36 </FilesMatch>
37 AddEncoding gzip .gzip
38
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.
42
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
51 are loaded.
52
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
59 Install Tool.
60
61 * The RTE has undergone major changes as UI components have been transformed
62 into ExtJS widgets:
63 1. The RTE framework becomes an ExtJS Panel comprising the toolbar,
64 the iframe, the textarea and the status bar. All components
65 are ExtJS objects.
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.
72
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.
80
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.
84
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:
94
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]
99
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.
105
106 * Support for GDlib 1.x was completely dropped. Only GDlib 2.x is supported now,
107 which is bundled with most PHP installations.
108
109 * HTML5 is now officially supported. For the Frontend output simply use
110 these two TypoScript lines in your Setup:
111
112 config.doctype = html_5
113 config.xmlprologue = none
114
115 Backend modules also allow HTML5 configuration, simply choose the doktype:
116
117 $this->doc->docType = 'html_5';
118
119
120 Backend
121 =======
122
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:
130
131 http://wiki.typo3.org/index.php/TYPO3Viewport
132 http://www.extjs.com/deploy/dev/docs/
133
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.
136
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.
140
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].
144
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.
153
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.
158
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.
162
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,
167 are shown up.
168
169 Frontend
170 ========
171
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
174 search is used.
175
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.
179
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.
183
184
185 Compatibility
186 =============
187
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.
196
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.
204
205 * Support for GDlib 1.x was completely dropped, only GDlib 2.x is supported,
206 which is bundled with most PHP installations.
207
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.
215
216
217 Development
218 ===========
219
220 * In t3lib_extMgm there is now a way to retrieve the version of an
221 extension through the method getExtensionVersion($extensionKey).
222
223 * t3lib_div now provides the constants LF, CR, CRLF and TAB which can be
224 used to improve code readability.
225
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.
229 See the links:
230
231 http://wiki.typo3.org/index.php/ExtDirect
232 http://www.extjs.com/products/js/direct.php
233
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
239
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.
243
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.
248
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.
252
253 * t3lib_div::debug(): Removed the feature of passing an integer
254 as $header (second argument) to add multiple br-tags.
255
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')".
262
263
264 TypoScript changes
265 ==================
266
267 * It is now possible to configure an alternative "parameter" for filelinks
268 when using jumpURLs
269
270
271 DBAL
272 ====
273
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.
278
279
280 Backend skin
281 ============
282
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
291 are loaded.
292
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).
296
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'].
302
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.
311
312
313 Speed improvements
314 ==================
315
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.
318
319
320 Currently unsupported
321 =====================
322
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