Bug #102345
Updated by Josef Glatz about 1 year ago
h1. Problem/Description
> I've also created a video where I try to explain the thematic right in a TYPO3 12.4 backend: https://www.youtube.com/watch?v=Yf2bZWpPW6c
!https://www.youtube.com/watch?v=Yf2bZWpPW6c!
h2. Steps to reproduce
* set up a TYPO3 instance with 2 TYPO3 site configs with different language setup
** site a: default:en + translation:de
** site b: default:de + translation:en
* Create a subpage in site a and add a translation
* Copy the created subpage into site b
* The translated page translation is now "somehow" orphaned as you can only reach it (in TYPO3 12) via the Backend Live Search component (e.g. via @#page:uidOfTranslation@ or the title)
h2. Resulting problems
* the editor does not know what's going on
* the editor maybe thinks, that TYPO3 is dumb due to the fact, that the copied records are not changed (default to translation and vice-versa)
* or the editor get's not stopped by TYPO3 while trying to copy/move a record to another TYPO3 site with a different language setup
* there are scenarios if there are relations like FAL and/or CEs which results in datalost if the orphaned translation get's deleted via the TYPO3 backend AKA DataHandler
* we also had wrong/problematic speaking urls / slugs. (but this is something I did not investigated when the problem occurs a year ago)
h2. Notes
* in our scenario the problem seems to be occured in TYPO3 9 or 10 when an editor copied a subpagetree from one site to another site. In our scenario, those orphaned page translation records where easily findable via @SELECT uid, pid, sys_language_uid, l10n_source, l10n_parent, slug, title, hidden,cruser_id, deleted FROM pages WHERE deleted = 0 AND l10n_parent != l10n_source;@
* in 2022, @benni had also the same scenario in his real life projects in B13
* we try to disable copying/moving from one site to another site in this project with hooking into the DataHandler (I will add the workaround code when done/finished)
h1. ToDo(s)
IDK so far. But I've tried to show/describe it in my video (linked in the issue description up):
* stop copy/move from one site to another site via DataHandler when die language setup is not the same betwwen sites
* add a modal with a wizard where the editor have the possibilities to decide what to do
* or introduce a completely new way of copying empty structures. e.g. one wants to copy just the skeleton of a page with empty elements but with correct settings for backendLayout and so... (you see: beLayout can also be differently configured in another site, so one might say just stop copying from site to site :-) )
h1. Acceptance Criteria
* prohibit problematic copy/move or improve this as a feature in the TYPO3 core (TBD)
* document the actual problem until it get's fixed (or not fixed)
---
h1. Related external links
* somehow related as it's actually possible to create translation duplicates for records other then page records:
** https://decisions.typo3.org/t/hide-localization-fields-and-colpos-in-formengine/314/15
** https://forge.typo3.org/issues/93930#note-3