Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecation: #94165 - sys_language table #2590

Closed
sabbelasichon opened this issue Sep 24, 2021 · 0 comments · Fixed by #2782
Closed

Deprecation: #94165 - sys_language table #2590

sabbelasichon opened this issue Sep 24, 2021 · 0 comments · Fixed by #2782

Comments

@sabbelasichon
Copy link
Owner

Deprecation: #94165 - sys_language table

https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/11.3/Deprecation-94165-SysLanguageDatabaseTable.html
.. include:: ../../Includes.txt

========================================
Deprecation: #94165 - sys_language table

See :issue:94165

Description

Since the introduction of site handling back in TYPO3 v9, available
languages and their associated information, for example locale, ISO code or the
navigation title are configured in the site configurations. As a consequence,
the :sql:sys_language table just duplicated this information and is therefore
now deprecated.

The Core internally does not longer rely on this table but fetches
necessary information from the site languages instead. This means, there
won't be any relation to the :sql:sys_language table, which allows to
define any kind of "ID" for the :php:languageField field of records, which
is usually :sql:sys_language_uid.

Also the site languages, used in site configurations, are now completely
independent of any :sql:sys_language record. Previously, when using the
site module to create or edit a site configuration, site languages could
only be added when a corresponding :sql:sys_language record existed.
This has now changed. The site configurations' languages field now
features a :guilabel:Create new language button, which allows to create a new
site language for this site configuration. Such newly created site
language will then also be available in the selector box of all other
site configurations. The ID for a new site language is always created
automatically (auto-increment). When selecting this site language in
another site configuration, most of the fields will now be prefilled.

.. note::

When creating the first site configuration of a new installation, the
languages selector box is empty, as new languages must be created via
the :guilabel:Create new language button first. However, a default
language (ID=0) record will always be added automatically.

Impact

Currently there is no direct impact. However, if your code relies on TYPO3
processing :sql:sys_language, you might have to adapt those places to use
site languages instead.

Affected Installations

All installations which rely on TYPO3 processing the :sql:sys_language
table. For example for fetching available languages and their related
information.

Migration

Adapt your code to always use site languages for fetching and processing
language related information.

For example, use the new TCA type language, introduced in :issue:57082,
instead of :php:foreign_table => sys_language for selecting a records'
language.

.. index:: Database, TCA, NotScanned, ext:core

@sabbelasichon sabbelasichon self-assigned this Sep 24, 2021
@sabbelasichon sabbelasichon removed their assignment Oct 25, 2021
sabbelasichon added a commit that referenced this issue Jan 11, 2022
sabbelasichon added a commit that referenced this issue Jan 11, 2022
sabbelasichon added a commit that referenced this issue Jan 11, 2022
sabbelasichon added a commit that referenced this issue Jan 11, 2022
* Add rector for language TCA type

Resolves: #2590

* [ci-review] Rector Rectify

Co-authored-by: GitHub Action <action@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant