Bug #102345
openCopy/Move pages with existing translation into another site with different language setup results in orphaned problematic page translation records
0%
Description
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
Steps to reproduce¶
- set up a TYPO3 instance with 2 TYPO3 site configs with different language setup
- site a: default:en (0) + translation:de (1)
- site b: default:de (0) + translation:en (2)
- 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)
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)
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 Mack 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)
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 :-) )
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)
Related external links¶
- somehow related as it's actually possible to create translation duplicates for records other then page records:
Files
Updated by Josef Glatz 9 months ago
- Category set to Localization
- Complexity set to hard
Updated by Josef Glatz 9 months ago
- Category changed from Localization to DataHandler aka TCEmain
Updated by Josef Glatz 9 months ago
- Category changed from DataHandler aka TCEmain to Localization
Updated by Jo Hasenau 9 months ago
- Related to Story #101564: User Interface related translation issues added
Updated by André Buchmann 5 months ago
- File clipboard-202403081039-hvvqf.png clipboard-202403081039-hvvqf.png added
- File clipboard-202403081041-gki6w.png clipboard-202403081041-gki6w.png added
- File clipboard-202403081043-ibuah.png clipboard-202403081043-ibuah.png added
I've got the same Issue in a real live project with TYPO3 11.5
That's part of our SiteConfiguration where "global" is the main Site and has the most content. Editors sometimes copy parts of this tree to another site an then replaces the text with the target language. As most trees do only have a single language and the global has 3 translations, there are many orphan/dangling records...
It even can result in errors when editors (non-admin) edit the orginial records. The error is caused due to the editor not having access to the other site, but the datahandler tries to update those orphan records also.
See also the Slack discussion: https://typo3.slack.com/archives/C05D7UF1L8M/p1709044815292889
Updated by Gerrit Code Review 5 months ago
- Status changed from New to Under Review
Patch set 3 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/83310
Updated by Gerrit Code Review 5 months ago
Patch set 4 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/83310
Updated by Gerrit Code Review 4 months ago
Patch set 5 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/83310
Updated by Gerrit Code Review 4 months ago
Patch set 6 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/83310
Updated by Gerrit Code Review 4 months ago
Patch set 7 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/83310
Updated by Gerrit Code Review 4 months ago
Patch set 8 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/83310
Updated by Gerrit Code Review 4 months ago
Patch set 9 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/83310
Updated by André Buchmann 3 months ago
- Related to Task #103814: Add tests for copying localized content to non-translated page added
Updated by André Buchmann 3 months ago
- Related to Bug #103828: Copy-Paste: Prevent orphaned added
Updated by André Buchmann 2 months ago
- Related to Bug #93744: Copying pages with translations to sites without translations should not copy translations added
Updated by Lukas Fürderer 2 months ago
- Related to Bug #104010: Copy & Paste creates invisible translations added
Updated by Riccardo De Contardi 2 months ago
- Related to Bug #90610: Copy-pasting a record that's already translated in "connected" mode, to a different language causing "free" mode, creates duplicate(s) in "connected" translations added