2009-03-26 Rupert Germann <rupi@gmx.li>
[Packages/TYPO3.CMS.git] / NEWS.txt
1 ************************************************************************
2 CHANGES & IMPROVEMENTS between TYPO3 4.2 and 4.3
3 (for technical details see ChangeLog)
4 ************************************************************************
5
6 General
7 =======
8
9         * TYPO3 requires PHP 5.2 now
10
11         * Support for OpenID auhentication with a new system extension for both FE and BE.
12           Any user with a valid OpenID identifier may log in when the OpenID authentication
13           is successful.
14
15         * The JavaScript framework ExtJS was integrated as common widget library. This
16           collection offers developers an easy but powerful option to create nice looking
17           user interfaces by reusing predefined objects. For example, ExtJS supports grid
18           views, dialog windows and dynamic panels. It is currently used in the TYPO3 Core
19           for the dialog showing that a session in the backend has expired and for the
20           new recycler.
21
22         * The JavaScript libraries are updated to prototype 1.6.0.3 and script.aculo.us 1.8.2.
23
24 Backend
25 =======
26
27         * Extension Manager: You can now set a new option "excludeFromUpdates" in every
28           extensions' ext_emconf.php array. This way, it is a) not shown in the
29           list of extensions to update and b) is shown a exclamation mark in order to
30           prevent updates for this extension. This is very useful if you made local changes
31           to an extension and don't want any admin to overwrite them.
32
33         * The TypoScript editor "t3editor" was enhanced with code-completion. Now you get
34           context-sensitive suggestions about possible properties while entering TypoScript.
35
36         * The recycling of deleted records is improved since most elements were not removed
37           physically in TYPO3. The recycler offers the possibilities of cleaning up the garbage
38           collection and to restore data again. Based on an ExtJS interface it's possible to
39           get a quick overview of the accordant elements, filter the resultset and execute the
40           desired actions. This new feature is the modernized and core-specific version of the
41           kj_recycler extension, that has been available in the TER for years now.
42
43         * The permissions on file operations can now be set on a per-group basis. New back-end
44           users now don't have any file permissions by default, since this has moved to back-end
45           user groups and will apply automatically for each new group being created.
46           The default settings for new groups are the following:
47                 + Move, delete, rename and create new directories
48                 + Upload, copy, move, delete and rename files
49                 + Unzip files
50
51         * The popup telling an user that his session has expired was replaced by a dialog window.
52
53         * The workspace selector has been turned to an item in the toolbar menu.
54
55         * The elements shown when creating new content elements (like "regular text element" etc.)
56           can be configured, modified and extended by Page TSconfig "mod.wizards.newContentElement".
57
58         * The tables shown when creating new records in the Web>List module are grouped by their scope
59           or extension now. The order can be modified by Page TSconfig "mod.wizards.newRecord.order".
60
61         * Elements on each table in the Web>List module can be collapsed or expanded now.
62           In the view showing a single table with many elements, a pagination helps to
63           get through them.
64
65         * It is possible now to temporarily lock down the backend for system maintenance. Editors
66           will see an overlay with an message notifying them that the backend is locked. When the
67           lock is removed, editors can continue without having to re-login.
68           The lock is enabled by placing this file:
69                 typo3conf/LOCK_BACKEND
70
71 Frontend
72 ========
73
74         * The message log of the admin panel will report failures to set the locale
75
76         * Integrated functionality of extension jb_status_code into core:
77           It is now possible to specify a redirection code (301, 302, 303 or
78           307) together with a domain redirection in a sys_domain record.
79
80         * Added option named "additionalAbsRefPrefixDirectories" for Frontend in the Install tool.
81           This option is useful if the installation uses non-TYPO3 applications and links to
82           them from extensions. Earlier TYPO3 prepended only media/, typo3conf/ext/ and
83           fileadmin/ directories automatically with config.absRefPrefix. Using the new variable
84           administrators can tell TYPO3 to prepend also other directories inside the site root
85           with config.absRefPrefix.
86
87         * Added new Install tool option named "dbClientCompress". This option will
88           enable MySQL compression for network traffic. This is useful if
89           MySQl is not on the same host as the web server. Do not use this option if MySQL
90           is on the same host because it will only slow down the process. However if MySQL
91           is on another host, this option may improve performance significally.
92
93 Compatibility
94 =============
95
96         * A deprecation log has been introduced to track calls to deprecated/outdated methods
97           in the TYPO3 Core. Developers have to make sure to adjust their code to avoid using
98           this old functionality since deprecated methods will be removed in future TYPO3 releases!
99           The information can be found in /typo3conf/deprecation_[hash-value].log
100
101         * The caching system has been revamped. It is not possible to query the cache tables directly.
102           Any compliant extension has to use the new caching framework.
103
104         * The simulateStaticDocument functionality (URLs like "MyPage.13.0.html" instead of "index.php?id=13")
105           was extracted and put to a separate system extension "simulatestatic".
106
107         * The frontend editing functionality was extracted into a separate system extension "fe_edit".
108
109         * The help modules "about" and "cshmanual" were extracted into separate system extensions with the same name.
110
111 Development
112 ===========
113
114         * t3lib_div::makeInstance now supports singletons. To mark a class as a
115           singleton it must implement the t3lib_singleton interface.
116
117         * A new caching framework has been added. It allows extensions to store temporary data
118           transparently to different cache back ends (database, file system or memory).
119
120         * Frontend plugins now can convert themselves from USER to USER_INT on the fly. This
121           is useful for plugins who can disallow caching using a TSConfig option (for example,
122           tt_news). Earlier plugins had to use $GLOBALS['TSFE']->set_no_cache(), which caused
123           huge performance problems. Now plugin simply need to call
124           $this->cObj->convertToUserIntObject() and return immediately without generating any
125           content.
126           Objects can find their current execution mode by calling $this->cObj->getUserObjectType().
127           This function can return either tslib_cObj::OBJECTTYPE_USER (if object runs as USER)
128           or tslib_cObj::OBJECTTYPE_USER_INT (if object is running as USER_INT). Here the code
129           example:
130                 function main() {
131                         ....
132                         if (!$this->conf['allowCaching'] && $this->cObj->getUserObjectType() == tslib_cObj::OBJECTTYPE_USER) {
133                                 $this->cObj->convertToUserIntObject();
134                                 return '';
135                         }
136
137         * Class tslib_eidtools is enhanced with new methods for eID/AJAX applications:
138                 static function initLanguage($language = 'default');
139                         Creates $GLOBALS['LANG'] for the given language
140                 static function initTCA();
141                         Loads 'ctrl' sections for TCA tables from all installed extensions
142                 static function initExtensionTCA($extensionKey);
143                         Similar to initTCA() but loads the table only for the given extension
144
145         * Class t3lib_extMgm has new methods to enhance palettes:
146                 t3lib_extMgm::addFieldsToAllPalettesOfField($table, $field, $addFields, $insertionPosition = '');
147                         Adds new fields to all palettes of an existing field.
148                 t3lib_extMgm::addFieldsToPalette($table, $palette, $addFields, $insertionPosition = '');
149                         Adds new fields to a palette.
150
151         * A random byte generator has been added to t3lib_div::generateRandomBytes() which can
152           be used for cryptographic operations in the TYPO3 Core or in any other extension.
153
154 TypoScript changes
155 ==================
156
157         * Custom sub categories can be used in TypoScript constants like the following:
158                 #customsubcategory=limits=LLL:EXT:devlog/locallang.xml:limits
159
160 Database changes
161 ================
162
163         * The database tables cache_hash, cache_pagesections and cache_pages have been
164           changed due to a move to the new caching framework.
165
166         * Reference indexes storing table names have been extended from 40 to 255 chars
167
168         * The database table pages_language_overlay was extended by several fields to
169           support an alternative URL or a shortcut dependent on localization.
170
171 DBAL
172 ====
173
174         * ...
175
176
177 Backend skin
178 ============
179
180         * ...
181
182
183 Speed improvements
184 ==================
185
186         * PHP classes for frontend plugins are now loaded only if they are used to render
187           content by enabling the "includeLibs" property also for USER objects in TypoScript.
188           In the past, all available class files for frontend plugins were loaded so this new
189           feature increases performance by reducing memory consumption.
190
191         * TYPO3 now enables client caching of JavaScript, CSS and image files by using .htaccess
192           files in various directories. This may cause problems if mod_expires is not enabled
193           in the Apache configuration. See the FAQ section in the INSTALL.txt about disabling
194           these files if necessary.
195
196 Important bugfixes
197 ==================
198
199         * ...
200
201 Currently unsupported
202 =====================
203
204         * Missing features concerning the disposal of Inline Relational Record Editing (IRRE)
205                 -> Workspaces and Versioning are currently not supported
206                 -> FlexForms using the TCA type 'inline' are currently not supported/tested
207                 -> Import/Export (sysext tx_impexp) might not work correctly in special cases