FormEngine currently allows to change the language, the localization parent or remove it, and also the colPos for tt_content. These options affect more than just setting a field to some other value.
- Changing sys_language_uid allows to actually set a record from sys_language_uid=2 to sys_language_uid=1, even when another translation in sys_language_uid=1 exists, which is a simple "make multiple translations of a record" for the same language, resulting in a lot of different issues in FE and BE.
- Changing l10n_parent might result in going into "connected"/"disconnected" mode without knowing what this actually means.
I propose to:
- Move l10n_parent, sys_language_uid for pages (once pages_language_overlay is migrated) and tt_content into a hidden palette
- Move colPos to a hidden palette in FormEngine
- Restricting the DataHandler to disallow updating a record if there is already a translation for a parent accessible (should happen in DataMap)
- Adding a button in PageModule to "remove translation parent" for a content element when in "connected mode" to go into "free mode".
- Restrict TYPO3 to only have max ONE translation per language of a record.
- It won't be easily possible anymore to change a record (pages/tt_content) to set a different language for an editor/admin
- Changing "connected" / "free mode" should be done more explicitly in Page Module / FormEngine / List Module for connected records.
- Changing colPos is only possible via page module then.
- Avoid editors to "what did I do now?"effect and brick the system
- Streamline behaviour on connected/free mode throughout further places in the Core
- Lead editors to explictly switch between connected/free mode (if done in a proper switch in FormEngine instead, this could be quite helpful)
- sys_language_uid=-1 is not really possible anymore - (we need a better solution here)
Topic Initiator: Benni Mack
Topic Mentor: Benni Mack