Cleanup: Updated NEWS.txt
[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 * Integration of RSA Authentication Service: Using a the public-key cryptography allows
25 to transfer sensitive data over a secure channel, even if the website does not support
26 HTTPS. This feature allows to store password data as salted hash value. The RSA
27 authentication service can be used in frontend and backend by enabling the system
28 extension rsaauth.
29
30 * Integration of PHP Autoloader: This feature allows to have only those files in memory
31 that are really required for an accordant application. The performace improves
32 dramatically. The PHP files are looked up using a registry file returns a simple array
33 mapping PHP class names to accordant file names:
34 + t3lib/core_autoload.php contains all classes in t3lib/tslib or the TYPO3 Core
35 + [extension_key]/ext_autoload.php contains all classes of that TYPO3 extension
36
37 * Extbase and Fluid integration: Extbase and Fluid are backports from FLOW3 to bring MVC
38 and a very flexible templating engine to TYPO3 4.x. Extbase can be used in TYPO3 4.3 for
39 frontend extensions only. The techniques used by these two packages are the same as in
40 FLOW3/TYPO3 5.0 - thus, it's possible to develop future-proof extensions now and migrate
41 them easily when TYPO3 5.0 is released.
42
43 Backend
44 =======
45
46 * Extension Manager: You can now set a new option "excludeFromUpdates" in every
47 extensions' ext_emconf.php array. This way, it is a) not shown in the
48 list of extensions to update and b) is shown a exclamation mark in order to
49 prevent updates for this extension. This is very useful if you made local changes
50 to an extension and don't want any admin to overwrite them.
51
52 * The TypoScript editor "t3editor" was enhanced with code-completion. Now you get
53 context-sensitive suggestions about possible properties while entering TypoScript.
54
55 * The recycling of deleted records is improved since most elements were not removed
56 physically in TYPO3. The recycler offers the possibilities of cleaning up the garbage
57 collection and to restore data again. Based on an ExtJS interface it's possible to
58 get a quick overview of the accordant elements, filter the resultset and execute the
59 desired actions. This new feature is the modernized and core-specific version of the
60 kj_recycler extension, that has been available in the TER for years now.
61
62 * The permissions on file operations can now be set on a per-group basis. New back-end
63 users now don't have any file permissions by default, since this has moved to back-end
64 user groups and will apply automatically for each new group being created.
65 The default settings for new groups are the following:
66 + Move, delete, rename and create new directories
67 + Upload, copy, move, delete and rename files
68 + Unzip files
69
70 * The popup telling an user that his session has expired was replaced by a dialog window.
71
72 * The workspace selector has been turned to an item in the toolbar menu.
73
74 * The elements shown when creating new content elements (like "regular text element" etc.)
75 can be configured, modified and extended by Page TSconfig "mod.wizards.newContentElement".
76
77 * The tables shown when creating new records in the Web>List module are grouped by their scope
78 or extension now. The order can be modified by Page TSconfig "mod.wizards.newRecord.order".
79
80 * Elements on each table in the Web>List module can be collapsed or expanded now.
81 In the view showing a single table with many elements, a pagination helps to
82 get through them.
83
84 * Uploading files is now available with an optional Flash Uploader which shows a
85 nice widget with information on the upload progress. It makes it possible to select
86 multiple files at once. Enable the Flash Uploader by checking the appropriate checkbox
87 in the User Setup, reload the Backend and make sure that your browser has the
88 latest version of Flash (Flash v9+) installed.
89
90 * It is possible now to temporarily lock down the backend for system maintenance. Editors
91 will see an overlay with an message notifying them that the backend is locked. When the
92 lock is removed, editors can continue without having to re-login.
93 The lock is enabled by placing this file:
94 typo3conf/LOCK_BACKEND
95
96 * The backend gateway for manipulating files (uploading, renaming, copying) TCEfile is now
97 separated from the file typo3/tce_file.php and put in a new file and class in
98 typo3/classes/class.typo3_tcefile.php. There is now also a new AJAXid (TYPO3_tcefile::process)
99 to use this functionality in AJAX-based environments as well.
100
101 Frontend
102 ========
103
104 * The message log of the admin panel will report failures to set the locale
105
106 * Integrated functionality of extension jb_status_code into core:
107 It is now possible to specify a redirection code (301, 302, 303 or
108 307) together with a domain redirection in a sys_domain record.
109
110 * Added option named "additionalAbsRefPrefixDirectories" for Frontend in the Install tool.
111 This option is useful if the installation uses non-TYPO3 applications and links to
112 them from extensions. Earlier TYPO3 prepended only media/, typo3conf/ext/ and
113 fileadmin/ directories automatically with config.absRefPrefix. Using the new variable
114 administrators can tell TYPO3 to prepend also other directories inside the site root
115 with config.absRefPrefix.
116
117 * Added new Install tool option named "dbClientCompress". This option will
118 enable MySQL compression for network traffic. This is useful if
119 MySQl is not on the same host as the web server. Do not use this option if MySQL
120 is on the same host because it will only slow down the process. However if MySQL
121 is on another host, this option may improve performance significally.
122
123 * CSS styled content was split into separate files for each compatibility versions of TYPO3
124 (3.8, 3.9, 4.2 and current). When including the static template of css_styled_content,
125 a specific version must be chosen (also see Compatibility below).
126
127 * The GIFBUILDER now supports automatic line breaks by defining a maximum width of the
128 element to be rendered. The new TypoScript properties are "breakWidth" and "breakSpace".
129
130 * Image rendering now cuts off the profile data of images by default to reduce file sizes.
131 This behaviour can be modified or disabled by changing [GFX][im_stripProfileCommand] in
132 the install tool or by setting the TypoScript property "stripProfile" on IMAGE objects.
133
134 Compatibility
135 =============
136
137 * A deprecation log has been introduced to track calls to deprecated/outdated methods
138 in the TYPO3 Core. Developers have to make sure to adjust their code to avoid using
139 this old functionality since deprecated methods will be removed in future TYPO3 releases!
140 The information can be found in /typo3conf/deprecation_[hash-value].log
141
142 * The caching system has been revamped. It is not possible to query the cache tables directly.
143 Any compliant extension has to use the new caching framework.
144
145 * The simulateStaticDocument functionality (URLs like "MyPage.13.0.html" instead of "index.php?id=13")
146 was extracted and put to a separate system extension "simulatestatic".
147
148 * The frontend editing functionality was extracted into a separate system extension "fe_edit".
149
150 * The help modules "about" and "cshmanual" were extracted into separate system extensions with the same name.
151
152 * As mentioned in "Frontend" CSS styled content has been split into several files.
153 The update wizard can switch the versions of the static includes by refering to
154 the TYPO3 compatibility version.
155
156 Development
157 ===========
158
159 * t3lib_div::makeInstance now supports singletons. To mark a class as a
160 singleton it must implement the t3lib_singleton interface.
161
162 * A new caching framework has been added. It allows extensions to store temporary data
163 transparently to different cache back ends (database, file system or memory).
164
165 * Frontend plugins now can convert themselves from USER to USER_INT on the fly. This
166 is useful for plugins who can disallow caching using a TSConfig option (for example,
167 tt_news). Earlier plugins had to use $GLOBALS['TSFE']->set_no_cache(), which caused
168 huge performance problems. Now plugin simply need to call
169 $this->cObj->convertToUserIntObject() and return immediately without generating any
170 content.
171 Objects can find their current execution mode by calling $this->cObj->getUserObjectType().
172 This function can return either tslib_cObj::OBJECTTYPE_USER (if object runs as USER)
173 or tslib_cObj::OBJECTTYPE_USER_INT (if object is running as USER_INT). Here the code
174 example:
175 function main() {
176 ....
177 if (!$this->conf['allowCaching'] && $this->cObj->getUserObjectType() == tslib_cObj::OBJECTTYPE_USER) {
178 $this->cObj->convertToUserIntObject();
179 return '';
180 }
181
182 * Class tslib_eidtools is enhanced with new methods for eID/AJAX applications:
183 static function initLanguage($language = 'default');
184 Creates $GLOBALS['LANG'] for the given language
185 static function initTCA();
186 Loads 'ctrl' sections for TCA tables from all installed extensions
187 static function initExtensionTCA($extensionKey);
188 Similar to initTCA() but loads the table only for the given extension
189
190 * Class t3lib_extMgm has new methods to enhance palettes:
191 t3lib_extMgm::addFieldsToAllPalettesOfField($table, $field, $addFields, $insertionPosition = '');
192 Adds new fields to all palettes of an existing field.
193 t3lib_extMgm::addFieldsToPalette($table, $palette, $addFields, $insertionPosition = '');
194 Adds new fields to a palette.
195
196 * A random byte generator has been added to t3lib_div::generateRandomBytes() which can
197 be used for cryptographic operations in the TYPO3 Core or in any other extension.
198
199 TypoScript changes
200 ==================
201
202 * Custom sub categories can be used in TypoScript constants like the following:
203 #customsubcategory=limits=LLL:EXT:devlog/locallang.xml:limits
204
205 Database changes
206 ================
207
208 * The database tables cache_hash, cache_pagesections and cache_pages have been
209 changed due to a move to the new caching framework.
210
211 * Reference indexes storing table names have been extended from 40 to 255 chars
212
213 * The database table pages_language_overlay was extended by several fields to
214 support an alternative URL or a shortcut dependent on localization.
215
216 DBAL
217 ====
218
219 * ...
220
221
222 Backend skin
223 ============
224
225 * ...
226
227
228 Speed improvements
229 ==================
230
231 * PHP classes for frontend plugins are now loaded only if they are used to render
232 content by enabling the "includeLibs" property also for USER objects in TypoScript.
233 In the past, all available class files for frontend plugins were loaded so this new
234 feature increases performance by reducing memory consumption.
235
236 * TYPO3 now enables client caching of JavaScript, CSS and image files by using .htaccess
237 files in various directories. This may cause problems if mod_expires is not enabled
238 in the Apache configuration. See the FAQ section in the INSTALL.txt about disabling
239 these files if necessary.
240
241 Important bugfixes
242 ==================
243
244 * ...
245
246 Currently unsupported
247 =====================
248
249 * Missing features concerning the disposal of Inline Relational Record Editing (IRRE)
250 -> Workspaces and Versioning are currently not supported
251 -> FlexForms using the TCA type 'inline' are currently not supported/tested
252 -> Import/Export (sysext tx_impexp) might not work correctly in special cases