Translations
Info
All page names need to be in English.
en da  de  fr  it  ja  km  nl  ru  zh

TYPO3.CMS/Releases/7.1/Breaking

From TYPO3Wiki
Jump to: navigation, search

Contents

Breaking: #24900 - Remove $TYPO3_CONF_VARS[SYS][compat_version] option

Description

The option $TYPO3_CONF_VARS[SYS][compat_version], which was modified on update in the Install Tool wizard, has been removed.

Any checks on GeneralUtility::compat_version are now made against the common constant TYPO3_branch instead of the former TYPO3_CONF_VARS option.

Impact

Any usage of $TYPO3_CONF_VARS[SYS][compat_version] where the value is different than TYPO3_branch will result in unexpected behaviour.

TypoScript conditions which check for older compat_version will have different behaviour now.

Affected installations

Any installation where $TYPO3_CONF_VARS[SYS][compat_version] was not set to the currently running version or where the value of compat_version was used to simulate behaviour of an older version. E.g. TypoScript conditions or GeneralUtility::compat_version in extensions.

Migration

Remove any direct usage of the option, and use the "compat_version" method within GeneralUtility as well as the TypoScript condition "compat_version" which gives more accurate results.

Breaking: #44879 - TypoScript inline styles from blockquote tag removed

Description

CSS Styled Content renders blockquote tags using :code:`lib.parseFunc_RTE` TypoScript. For TYPO3 CMS 7.1, the following TypoScript lines have been removed without substitution:

lib.parseFunc_RTE.externalBlocks.blockquote.callRecursive.tagStdWrap.HTMLparser = 1 lib.parseFunc_RTE.externalBlocks.blockquote.callRecursive.tagStdWrap.HTMLparser.tags.blockquote.overrideAttribs = style="margin-bottom:0;margin-top:0;"

The effect is that the following inline styles have been removed from blockquote tags without substitution:

margin-bottom:0;
margin-top:0;

Impact

Styling of blockquote tags based on CSS Styled Content could differ after an upgrade to CMS 7.1.

Affected installations

All CMS 7.1 installations that were upgraded from 7.0 and below which use blockquote tags rendered by :code:`lib.parseFunc_RTE`.

Migration

It is recommended to fix the margins inside your website CSS. Alternatively, you can re-add the above TypoScript lines to your website TypoScript template (not recommended).

Breaking: #57089 - Behaviour of page shortcut to "Parent of selected or current page"

Description

In former versions of TYPO3 CMS the page shortcut type "Parent of selected or current page" had a misleading label as the selected page was never taken into account, it always chose the parent of the current page.

This has been changed and the selected page is now considered, so the parent of the selected page will be used as the target page.

Impact

Assuming the supplied upgrade wizard was run, the behaviour of existing shortcuts will not change.

If you fail to run the upgrade wizard, the target of a shortcut is changed to the parent of the selected page as the selected page is now respected.

Affected installations

Any installation using shortcut pages with shortcut type "Parent of selected or current page"

Migration

Run the supplied upgrade wizard in the Install Tool if it shows up.

Breaking: #61510 - Improvement of indexed_search

Description

The extension indexed_search is improved in the backend and frontend.

Backend

Previously the functionality of indexed_search has been scattered to multiple modules. Information about indexed_search was available in a custom module in "Admin tools" and 2 sections in the "Info" module.

The complete code has been moved to a central place, which is now a custom module in the area "Web" and has been rewritten by using Extbase & Fluid. Translations and a modern UI have been added as well.

Impact

Changes in the Backend

The previous user configuration for indexed_search modules is not working anymore. Therefore editors won't see the module anymore after login.

Changes in the Frontend

The TypoScript configuration changed. If indexed_search is installed, it is automatically activated:

config.index_enable = 1
config.index_externals = 1

Affected installations

All installations using indexed_search

Migration

Backend

Reconfigure the backend users and groups if users need to see the module of indexed_search.

Breaking: #62415 - Remove deprecated disable_autocreate field in workspaces

Description

The field "disable_autocreate" from ext:workspaces has been removed.

Impact

If a 3rd party extension relies on the removed field an SQL error will be thrown.

Affected installations

An installation is affected if a 3rd party extension relies on the removed field in the database.

Migration

Remove any usage of the removed field in 3rd party extensions.

Breaking: #62886 - Removed setting config.meaningfulTempFilePrefix

Description

The setting config.meaningfulTempFilePrefix which was still used for images built by GIFBUILDER that were saved in typo3temp/GB/ has been removed. With this option it was possible to configure a meaningful file prefix limiting the filename prefix to a certain character length.

Impact

All files will always have their original filename fully prepended when stored in the folder typo3temp/GB/.

Affected Installations

All installations using GIFBUILDER to generate images. The files within typo3temp/GB/ will now be called with the full name of each original file before the hash and the file extension.

Migration

The setting should be removed from any TypoScript configuration because it has no impact anymore.

Breaking: #62925 - ExtJS Ext.ux.DateTimePicker removed

Description

The old ExtJS component Ext.ux.DateTimePicker has been removed and replaced with a bootstrap alternative. For technical reasons, the feature had to be removed. Thus the possibility to use "+3d" or "today" in input fields is no longer available.

Impact

Extensions which rely on Ext.ux.DateTimePicker will break.

Migration

Use the new bootstrap DateTimePicker component which can be loaded with require.js. Example implementations can be found in EXT:belog, EXT:scheduler and the FormEngine component of the TYPO3 CMS core.

Breaking: #63296 - Deprecated typo3/ files removed

Description

The following script entry points have been removed without substitution:

  • typo3/file_edit.php
  • typo3/file_newfolder.php
  • typo3/file_rename.php
  • typo3/file_upload.php
  • typo3/show_rechis.php
  • typo3/listframe_loader.php

The corresponding ListFrameLoaderController class is now marked as deprecated.

Impact

Any script pointing to one of these file resources will trigger a 404 server response.

Affected installations

An extension needs to be adapted in the unlikely case that it uses a link to any of the files.

Migration

The functionality of these scripts (except listframe_loader.php which is not used at all any more) have been moved to "modules". Use BackendUtility::getModuleUrl() to link to them. The module name is identical to the file name without the ".php" suffix.

e.g. BackendUtility::getModuleUrl('file_edit');

Breaking: #63310 - Web=>Functions=>Wizards moved

Description

The two module functions "Create Pages" and "Sort Pages" located within the extensions "wizard_crpages" and "wizard_sortpages" were located under Web => Functions => Wizards. This structure is now simplified as the wizards are moved one level up in Web => Functions.

Impact

Any options set via TSconfig for these wizards for the module menu have changed. The existing options don't work anymore.

Affected installations

Any installation using TSconfig like "web_func.menu.wiz" needs to be adapted.

Migration

The respective options "web_func.menu.wiz" have been moved to "web_func.menu.functions".

Breaking: #63431 - Backend toolbar refactored

Description

The upper right backend toolbar has been refactored with TYPO3 CMS 7.0. A new PHP interface and a new registration were introduced.

Impact

Extensions that are not adapted to the new interface will not show up in the toolbar anymore, but will not throw a fatal PHP error.

Method BackendController::addToolbarItem() has been marked as deprecated.

Affected installations

If a TYPO3 CMS instance uses extensions based on the old interface and registration, the according items will no longer show up in the toolbar.

Migration

Extensions must implement the new interface TYPO3CMSBackendToolbarToolbarItemInterface and must be registered in $GLOBALS['TYPO3_CONF_VARS']['BE']['toolbarItems'].

Warning: The new interface is not 100% finished, method checkAccess() will probably be substituted by two other methods in later versions of TYPO3 CMS.

Breaking: #63437 - Class aliases moved to legacy extension

Description

With the switch to namespaced classes in TYPO3 CMS 6.0, a class alias mechanism has been set up to support the old class names as aliases for a while. All those class aliases have been moved to the dedicated extension "compatibility6". This extension will be removed at some point during the development of TYPO3 CMS 7.

Removing the class aliases from the core results in a significant performance gain especially during first load with empty caches.

Impact

If extensions still rely on old non-namespaced class names, EXT:compatibility6 can be loaded to keep further backwards compatibility for now - with the side-effect of drained performance.

Affected installations

TYPO3 CMS 7 installations need EXT:compatibility6 loaded if old extensions are used that are still not adapted to the namespaced core classes.

Migration

During an upgrade, the "Extension check" of the install tool may find old extensions that still rely on old class names and can unload those. The backend may work again to load EXT:compatibility6, or to unload further extensions that rely on old class names.

Another option is to manually set all extensions that rely on old class names to "inactive" in typo3conf/PackageStates.php, or to set EXT:compatibility6 to "active". If a manual change is done, typo3temp/Cache directory have to be flushed afterwards.

Breaking: #63464 - Remove include_once inclusions inside ModuleFunctions

Description

The functionality to include PHP files within module functions (e.g. info module) via an include_once array has been removed. The API did not use the include_once array anymore and certain places were marked as deprecated since TYPO3 CMS 6.2. All module functions are using the common autoloading functionality via namespaced classes.

The following include_once arrays within the following modules have been removed
 ;* Web => Page
  • Web => Page - New Content Element Wizard
  • Web => Functions
  • Web => Info
  • Web => Template
  • Web => Recycler
  • User => Task Center
  • System => Scheduler


Impact

Any non-API usage of the include_once array in any custom module function will fail.

Affected installations

Any installation with an extension using the property $include_once to load additional files via direct access instead of using the API via ExtensionManagementUtility::insertModuleFunction().

Migration

Use the autoloader to load any custom classes inside your code, or any hooks if available in the custom module functions to include any file.

Breaking: #63687 - Web=>Functions=>Wizards moved to legacy extension

Description

Within the "Web" => "Functions" module was a nested layer called "Wizards" where "Sort pages" and "Bulk-create new pages" resided until TYPO3 CMS 7.1. These are now moved directly underneath "Web" => "Functions", so the "Wizards" module function becomes obsolete, and with it the whole extension called "func_wizards" that provided this nested layer. The module function "Wizards" has been moved to the legacy extension EXT:compatibility6. The extension "func_wizards" has been completely removed from the core.

Impact

The existing "Functions" provided by the TYPO3 CMS Core are now directly dependant and hooked into "Web" => "Functions". Any extensions using "Web" => "Functions" => "Wizards" will not show up anymore.

Affected installations

TYPO3 CMS 7 installations need EXT:compatibility6 extension loaded if old extensions are still hooked into "Web" => "Functions" => "Wizards".

Migration

Any extension hooking into "Web" => "Functions" => "Wizards" need to be adapted. In their ext_tables.php the insertModuleFunction call does not need to have a 5th parameter given. EXT:compatibility6 is then no longer needed.

Breaking: #63780 - Remove public properties words and word_strings from ReferenceIndex

Description

Public properties words and word_strings have been removed from class \TYPO3\CMS\Core\Database\ReferenceIndex. ReferenceIndex->words was always an empty array and ReferenceIndex->word_strings contained strings from input- and text fields of every record that was given to this class instance.

Impact

An extension relying on one of these public properties will fail.

Affected installations

It is unlikely that any extension used the properties words or word_strings. An instance could be checked by searching for usages of class ReferenceIndex.

Migration

The according logic needs to be re-implemented in an extension that used the content of these properties.

Breaking: #63818 - Removed Static file edit functionality

Description

A special TCA configuration enabled RTE fields to write its content to sections within files. The configuration was done in defaultExtras array, static_write section and documented in TCA reference->AdditionalFeatures->SpecialConfigurationOptions.

This functionality has been removed without substitution.

Impact

Content of RTE fields can no longer be written to files.

Affected installations

In the unlikely case that this feature was used by anyone its usage can be located by searching for static_write keyword in TCA configuration.

Migration

Move this logic elsewhere, eg. use hooks in DataHandler to write out DB content.

Breaking: #64059 - Rewritten Javascript Tree Components

Description

In the process of refactoring prototype/scripta.culo.us code and migrate these to an AMD module, the tree component and its drag&drop parts have been migrated to a RequireJS / jQuery module.

The page tree filter functionality of the prototype tree, which is not used in the TYPO3 core, was removed from the tree component.

The file typo3/js/tree.js has been removed, the replacement code, based on jQuery is located under EXT:backend/Resources/Public/JavaScript/LegacyTree.js.

Impact

Any usages in third party extensions that include js/tree.js will fail, as the tree component has been removed. Any extension using the filter part of the tree.js component will not work.

Affected installations

Any installation with its own backend module using the tree component from the core.

Migration

Rewrite any needed logic for filtering, and include the RequireJS module like in e.g. FileSystemNavigationFrameController.php, to use the tree component. If the old code is needed, the tree.js file and prototype need to be included as part of the extension, not from the core.

Breaking: #64070 - Removed global variable WEBMOUNTS

Description

The global variable WEBMOUNTS has been removed, as the same data from the WEBMOUNTS can always be fetched via $GLOBALS['BE_USER']->returnWebmounts().

Impact

The variable $GLOBALS['WEBMOUNTS'] will no longer be filled.

Affected installations

Any installation using $GLOBALS['WEBMOUNTS'] directly within an extension will produce a wrong result.

Migration

Replace all occurrences of $GLOBALS['WEBMOUNTS'] with $GLOBALS['BE_USER']->returnWebmounts().

Breaking: #64102 - Move t3-table and t3-button to bootstrap

Description

In transition to full bootstrap coverage and streamlining the backend, we are dropping the support for the CSS classes .t3-table and .t3-button. We are replacing them with the corresponding bootstrap CSS classes for tables and buttons. See http://getbootstrap.com/css/#tables and http://getbootstrap.com/css/#buttons for more details.

Impact

Custom implementations of tables and buttons in backend modules will lose the TYPO3 default styling.

Affected installations

Extensions that provide custom backend modules that are using the css classes .t3-table or .t3-button.

Migration

For tables we recommend the usage of the CSS class combination table table-striped table-hover instead of t3-table.

For buttons we recommend the usage of the CSS class combination btn btn-default instead of t3-button.

Breaking: #64131 - Resizable Textarea option removed

Description

The User Setting "Resizable Textarea" for FormEngine textarea fields has been removed.

Impact

The option and its feature are no longer available.

Breaking: #64143 - Language / Country Flag files moved

Description

The static GIF file collection representing flags within typo3/gfx/flags/ has been removed. All PNG flag images from EXT:t3skin are moved from typo3/sysext/t3skin/images/flags/ to typo3/sysext/core/Resources/Public/Icons/flags/. The according stylesheets for the that flags-* icon files have been moved to EXT:core as well.

Impact

Any hard-coded reference on any of the files within typo3/gfx/flags/ and typo3/sysext/core/Resources/Public/Icons/flags/ will result in an error.

Changing the EXT:t3skin flags sprite now means changing the flags sprite of EXT:core.

Affected installations

Any installation using third-party extensions that access typo3/gfx/flags/ or typo3/sysext/t3skin/images/flags/ will fail.

Breaking: #63818 - FormEngine Checkbox Element limitation of cols setting

Description

The TCA configuration for checkbox cols has been changed. We reduced the number of accepted values to 1, 2, 3, 4 and 6 to provide a responsive experience.

For usecases like checkboxes for weekdays like mo, tu, we, th, fr, sa, su we introduced a new value inline.

Impact

For values equals 5 or above 6 the rendering of 6 will be used.

Affected installations

Installations with TCA column configurations for checkboxes with values equals 5 or above 6.

Migration

Choose between one of the supported values or change the display to inline.

Breaking: #64226 - Option $TYPO3_CONF_VARS[BE][accessListRenderMode] removed

Description

The $GLOBALS[TYPO3_CONF_VARS][BE][accessListRenderMode] option, which acted as a shorthand function to set permission-related fields for modules and excludeFields, has been removed.

All corresponding fields in TCA tables be_users and be_groups are set to the already-default value checkbox given in the DefaultConfiguration.php file.

Impact

All respective fields will show up as a checkbox selection within FormEngine (implying the value renderMethod=checkbox).

Affected installations

Installations having this option set to something different than checkbox will result in a having the fields displayed as checkboxes.

Migration

Choose between the default value checkbox (no change required then) or set the following values inside the Configuration/TCA/Overrides files of your project specific extension to the option of your needs.

$GLOBALS['TCA']['be_users']['columns']['file_permissions']['config']['renderMode'] = 'singlebox';
$GLOBALS['TCA']['be_users']['columns']['userMods']['config']['renderMode'] = 'singlebox';
$GLOBALS['TCA']['be_groups']['columns']['file_permissions']['config']['renderMode'] = 'singlebox';
$GLOBALS['TCA']['be_groups']['columns']['pagetypes_select']['config']['renderMode'] = 'singlebox';
$GLOBALS['TCA']['be_groups']['columns']['tables_select']['config']['renderMode'] = 'singlebox';
$GLOBALS['TCA']['be_groups']['columns']['tables_modify']['config']['renderMode'] = 'singlebox';
$GLOBALS['TCA']['be_groups']['columns']['non_exclude_fields']['config']['renderMode'] = 'singlebox';
$GLOBALS['TCA']['be_groups']['columns']['userMods']['config']['renderMode'] = 'singlebox';

Breaking: #64229 - Trim submitted login-form-data before usage

Description

Data submitted through the login-forms (frontend and backend) will now be trimmed before the login is performed. So now all fields (like username or password) with leading/trailing whitespace will have those removed. Any whitespace inside fields will not be touched.

Impact

Users that have had whitespace at the beginning or end of their username or password will not be able to log in anymore.

Affected installations

Any installation relying on whitespace at the beginning or end of either a username or a password. Please note that the TYPO3 backend didn't allow whitespace for username in frontend or backend and only allowed whitespace for passwords of backend users until now.

Migration

Update usernames and/or passwords.

Deprecation: #64361 - Composer Class Loading

Description

TYPO3 CMS started integrating composer support and by that embracing PHP standards PSR-0 and PSR-4 for class loading that comes with composer. The old class loader is still present and registered and will handle loading extension classes that do not follow the above mentioned standards.

For the time being a pre-compiled composer class loader is shipped with the git repository, so that people using the TYPO3 sources directly from there can use it without requiring a composer install step.

It is possible however to do a composer install in the TYPO3 sources directory or a top level distribution directory to gain full control over class loading of your TYPO3 installation. This step is optional and currently requires thorough knowledge of composer and as such currently is only recommended for people familiar with this process.

Further technical details can be found in the wiki.

Impact

Third party libraries added to a TYPO3 installation via composer can immediately be used without further manual intervention. The classes cache for most core classes will be gone. Resolving classes is slowly shifted from a run time task - executed and monitored in every request - to an installation task with composer.

Affected installations

Some installations could be affected which were previously installed via composer, but now not properly updated using composer. And outdated Packages/Libraries/autoload.php file present in the system will lead to fatal errors.

Migration

If you previously installed TYPO3 via composer, make sure you perform a composer update command to reflect the current changes in your Packages folder.

Breaking: #64637 - Compatibility CSS Styled Content TypoScript templates removed

Description

CSS Styled Content ships compatibility TypoScript templates for being compatible with older versions. For TYPO3 CMS 7, all templates to render a compatibility frontend for the following versions have been removed without substitution.

* TYPO3 CMS 6.1
  • TYPO3 CMS 6.0
  • TYPO3 CMS 4.7
  • TYPO3 CMS 4.6
  • TYPO3 CMS 4.5

Impact

It is not possible to have the TYPO3 CMS 7 Frontend rendering based on CSS Styled Content to behave like a version prior to TYPO3 CMS 6.2.

Affected installations

All installations using the TypoScript templates to have the TYPO3 frontend powered via CSS Styled Content with a compatibility TypoScript will result in no Frontend output.

Migration

For installations still needing the old templates, an old version of the template (e.g. from TYPO3 CMS 6.2) need to be included separately. Any other installation still using the old TypoScript templates should migrate to the latest TypoScript templates of CSS Styled Content by choosing the correct version inside the Web=>Template module.

Breaking: #63687 - Outdated ContentObjects moved to legacy extension

Description

The TypoScript Content Objects (cObjects) CLEARGIF, COLUMNS, CTABLE, OTABLE and HRULER have been moved into the legacy extension EXT:compatibility6.

Impact

Any TypoScript using the cObjects above will result in an empty output in the TYPO3 Frontend.

Affected installations

TYPO3 CMS 7 installations still using the cObjects need EXT:compatibility6 to be loaded if the rendering should be continued.

Migration

Any installation should migrate to alternatives such as FLUIDTEMPLATE to customize the output of the content.

Breaking: #64643 - Remove functionality for enable_typo3temp_db_tracking

Description

The logic and the database table for tracking generated typo3temp/ images by GraphicalFunctions have been removed without substitution. The option to enable this functionality $TYPO3_CONF_VARS[GFX][enable_typo3temp_db_tracking] has been removed.

Impact

Images generated with GraphicalFunctions with the option above enabled will not be tracked in the database anymore.

Affected installations

Any installation having the option $TYPO3_CONF_VARS[GFX][enable_typo3temp_db_tracking] enabled.

Migration

If the functionality or a similar functionality is needed for some edge-cases, an own implementation via a third-party extension is necessary.

Breaking: #64668 - Content Element mailform moved to legacy extension

Description

The fallback "mailform" functionality, containing the FORM ContentObject, the submission logic for sending mailform and the content element (CType=mailform) has been moved to the legacy extension "compatibility6". This mailform was available when the "Form" extension, introduced in TYPO3 CMS 4.7, was not installed.

The following options have been marked for deprecation:

$TYPO3_CONF_VARS][FE][secureFormmail]
$TYPO3_CONF_VARS][FE][strictFormmail]
$TYPO3_CONF_VARS][FE][formmailMaxAttachmentSize]

The following methods within TypoScriptFrontendController have been removed:

protected checkDataSubmission()
protected sendFormmail()
public extractRecipientCopy()
public codeString()
protected roundTripCryptString()

Impact

Mailform elements are missing and not rendered in the frontend anymore unless EXT:compatibility6 is loaded.

Affected installations

Any installation using the fallback "mailform" Content Element, the FrontendDataSubmissionController or the FORM Content Object directly will break. Additionally, any third party extension using the TypoScriptFrontendController methods directly will stop working with a fatal error.

Migration

For TYPO3 CMS 7, installing EXT:compatibility6 brings back the existing functionality. For the long term the affected installations should migrate to a different, better suited solution for sending mails and building forms.

Breaking: #64671 - Outdated ContentObject IMGTEXT moved to legacy extension

Description

The TypoScript Content Object IMGTEXT has been moved to the legacy extension "compatibility6".

Impact

Any TypoScript using the cObject directly or via CSS Styled Content configured using renderMethod=table will result in an empty output in the TYPO3 Frontend.

Affected installations

TYPO3 CMS 7 installations still using the cObject need EXT:compatibility6 to be loaded.

Migration

Any installation should migrate to alternatives such as CSS Styled Content without a table-based rendering for text w/ image elements to customize the output of content.

Breaking: #64696 - Content Element "search" moved to legacy extension

Description

The TYPO3 default search functionality, which was based on the FORM and SEARCHRESULTS ContentObjects and the content element CType=search itself has been moved to the legacy extension EXT:compatibility6.

Impact

Content elements of the Type "Search" are gone and will no longer be rendered in the frontend unless EXT:compatibility6 is loaded. TypoScript using SEARCHRESULTS directly will return nothing.

Affected installations

Any installation using the simple "search" content element or the SEARCHRESULTS ContentObject directly will break.

Migration

For TYPO3 CMS 7, installing EXT:compatibility6 brings back the existing functionality. For the long term the affected installations should be migrate to a better suited solution for searching.

Breaking: #64762 - FormEngine wizards

Description

The following TCA wizards properties have been removed:

  • _PADDING
  • _VALIGN
  • _DISTANCE

Impact

Usage of the mentioned TCA properties has no effect anymore.

Affected installations

Installations with special TCA wizard position settings ignore those now.

Migration

Remove above properties.