************************************************************************ CHANGES & IMPROVEMENTS between TYPO3 4.4 and 4.5 (for technical details see ChangeLog) ************************************************************************ Changes in 4.5 pre-releases =========================== * All additions to alpha3 and beta1 have been documented here: http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450alpha3 http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450beta1 This information will be merged in this NEWS.txt below before the final release. General ======= * 4.5 will be the first official TYPO3 release with LTS (long term support) * A Sprite Generator was added. This allows you to create your own sprite files, also core can generate the files if some new icons were added (#15079). * When TYPO3 runs with two different domain names for the FE and the BE, it is now possible to set accordingly different cookie domains using $TYPO3_CONF_VARS['FE']['cookieDomain'] and $TYPO3_CONF_VARS['BE']['cookieDomain']. * Pages of type "Shortcut" can now also link to the parent page, not only to the first or a random subpage. * The media element now has a core wizard for rewriting URLs. This allows the user to copy the URL from browser (eg a youtube URL like http://www.youtube.com/watch?v=pkA9qw80xO0) and use it in the media element as URL. Currently supported platforms: youtube, dailymotion, sevenload, vimeo, clipfish, google, metacafe, myvideo, liveleak and veoh. * A improved version of misc/advanced.htaccess provides more accurate and up-to-date information and is a real working sample on how to setup your Apache to server TYPO3 pages. This setup is now also used in the introduction package as-is. Backend ======= * The frameset was removed. This makes the Backend a lot faster. Now the navigation tree also can be resized. The new backend works using the ExtJS viewport, providing an easy and unified interface to manipulate the content of the different panels. * The user can decide the type of each page created in the "Create multiple pages" Wizard. And the wizard can create more than 9 pages at once. * All system extensions from typo3/mod were moved to real system extensions. These modules are: - Extension Manager - List module - Filelist module - Info module - Access module - Workspace module List module and Extension Manager are set to required extensions, but it is possible to overwrite this setting in localconf.php eg if you want to deinstall the Extension Manger. Make sure you visit the Update Wizard!!! * The recycler was refactored and has now the same skin as the rest of the BE. * DB check -> page tree submodule was removed (module lowlevel). * RSA Auth now works also with special chars. * Clearing cache now is logged (#15305). * A hook now allows postprocessing of filelist and TCEforms files operations (#15192 and #15221). Typical use-case: - Allow editors to upload any picture (e.g., 10 Mpixels) as they don't know how to resize the pictures or do not have the software - Prevent fileadmin to be overflooded with huge pictures which will never be used in their original size - Automatically resize "huge" pictures after the upload Extension using it already: http://forge.typo3.org/projects/show/extension-image_autoresize * New TS config option to disable the "Show secondary options" checkbox (#13797). In User-TS, you can set: options.enableShowPalettes=0 to see this feature in action. Default is still "1" like it used to be. Frontend ======== * FE login now allows to show the logout form direct after login. Extbase / Fluid =============== * Fixed Extbase Caching Bug. * All methods trying to find an object by uid now ignore the storagePid. This changes the behavior of argument mapping and the way extbase fetches 1:1 relations. Resolves #5631. You should not experience any negative side-effects of this change, i.e. if your extension worked before, it will definitely after this change. However, it makes the record handling more robust. * Performance improvements in TypoScript::convertTypoScriptArrayToPlainArray. * Fluid contains many new features you might want to start using. There are some changes that require special attention in case you created custom condition ViewHelpers or if you call renderSection() and renderWithLayout() from Tx_Fluid_View_TemplateView. * Check out these ChangeLogs for more details: - typo3/sysext/extbase/ChangeLog.txt - typo3/sysext/fluid/ChangeLog.txt Compatibility ============= * See typo3/sysext/fluid/ChangeLog.txt for some breaking changes in Fluid. * See typo3/sysext/extbase/ChangeLog.txt for a fix that might break certain setups (caching bug fixed, might break extbase extensions that setup their own TS configuration manually) * The API for registering additional cache frontends or backends has changed. As of TYPO3 4.5 only the classname needs to be specified in favor of both path to the php file and the classname. Instead the class needs to be registered for autoloading. See #15586 for details. Example: New: $TYPO3_CONF_VARS['SYS']['caching']['cacheFrontends']['myext']='tx_myext_cache'; Old: $TYPO3_CONF_VARS['SYS']['caching']['cacheFrontends']['myext']='/path/tx_myext_cache.php:tx_myext_cache'; Development =========== * There is a new setting that shows all SQL queries in debug (#15425): $TYPO3_CONF_VARS['SYS']['sqlDebug'] = 2; * Contrib libraries can be replaced now via hook (#15218). This allows to test with updates of these libraries. Demo extensions can be found here: http://forge.typo3.org/projects/typo3v45-projects/files * Catch all ExtDirect Exceptions and show them in the DebugConsole. It now also allows you to call debug() (#15513). * DebugConsole now also catch console-calls from Javascript if no console is available. This allows eg debug prints in browsers having no console like the IE * ExtDirect is available in the frontend now (#15754): http://wiki.typo3.org/ExtDirect TypoScript ========== * stdWrap now has a new feature: .numberFormat (#13815) lib.myPrice = TEXT lib.myPrice { value = 0.8 numberFormat { decimals = 2 dec_point = , } noTrimWrap = || $| } # Will result in "0,80 $" * GIFBUILDER has a new feature: ELLIPSE (#2049). Example: file = GIFBUILDER file { XY = 200,200 format = jpg quality = 100 10 = ELLIPSE 10.dimensions = 100,100,50,50 10.color = red } * Added easy interface to integrate lightbox style image enlargement in the frontend. Just set some constants in the "CONTENT" part of css_styled_content and your images will get attributes added that are needed for lightbox JS frameworks to work out of the box. Database API / DBAL =================== * Prepared queries are now part of the TYPO3 database API (#15457). The API is mostly based on PDO's method naming and currently supports SELECT queries. TYPO3 will progressively use this new database API which is cleaner and quicker when using DBAL. Extension authors are encouraged to use it in their own extensions. * Output of SQL parser when dealing with prepared queries is cached for enhanced performances. To activate this caching if you don't have a memcached server: $TYPO3_CONF_VARS['SYS']['useCachingFramework'] = 1; In order to have a much higher cache hit ratio, you should use one or more memcached servers. To activate this enhanced caching, use: $TYPO3_CONF_VARS['SYS']['useCachingFramework'] = 1; $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['dbal'] = array( 'backend' => 't3lib_cache_backend_MemcachedBackend', 'options' => array( 'servers' => array('localhost:11211', 'otherhost:11211'), ) ); * DBAL now supports "FIND_IN_SET()" (#14818) function and maps it correct functions in case usage under AdoDB. Using FIND_IN_SET in listQuery() will provide performance improvements in all areas, as this is used in several places (backend and frontend, for example for checking the group list permissions). Workspaces ========== * There is a new Scheduler task for the automatic publication of workspaces (#14994). If a publication date has been set for a given workspace, it will be published the next time the Scheduler task runs. Note that automatic "un-publication" still does not work. Replaces non-working CLI script "typo3/mod/user/ws/cli/ws_cli.phpsh". * The workspaces module was completely rewritten and is now based on ExtJS. The usability is enhanced by displaying the information in a nice grid view. Besides that each workspace can now have a customized set of stages which are child records of a workspace record. Make sure to run the upgrade wizard which migrates the hardcoded draft workspace to a real workspace and sets up the new stages. * Inline Relational Record Editing (IRRE) can now also be used for 1:n relations in workspaces. Backend skin ============ * sprites.css now contains the autogenerated sprites. Speed improvements ================== * Added "compress data" options to DbBackend of the Caching framework (#15141). Enable it like this: $TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_pages'] = array( 'frontend' => 't3lib_cache_frontend_VariableFrontend', 'backend' => 't3lib_cache_backend_DbBackend', 'options' => array( 'cacheTable' => 'cachingframework_cache_pages', 'tagsTable' => 'cachingframework_cache_pages_tags', 'compression' => TRUE, ), ); * Some often used functions of t3lib_div were speed improved.