Project

General

Profile

Actions

Bug #97662

open

When removing translated page from the recycler, deletion goes too far and hard delete content elements related to the default language page

Added by Mathieu Bilodeau about 2 years ago. Updated about 1 month ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
DataHandler aka TCEmain
Target version:
-
Start date:
2022-05-19
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
11
PHP Version:
5.3
Tags:
Complexity:
medium
Is Regression:
Sprint Focus:

Description

As said in the title, one of our client filled a bug report claiming some content elements were lost while deleting records using the Recycler. We checked the code and found out a way to reproduce this bug with v10.4.27 and v11.5.10.

Here is how to reproduce:

  1. Using a site with multiple languages configured
    1. Default: English
    2. Secondary: French
  2. Create a new page using the default language (ie: English)
  3. Create a text content element in it (or any type of content element)
  4. Create a new translation to this page --> French
  5. Create a new text element for the translation
  6. Test that both languages works fine
  7. Delete the translation, not the content element, to return with only the default language (deleting the french version)
  8. At this point, using the Recycle module, we can see the deleted french translation page
  9. Going back in the Page module, create a new translation of that same page in French again
  10. Add content elements to this new French translation
  11. Using the Recycler module, permanently delete the first (deleted) translation page
  12. When going back to the page module, on the original page, we can witness the latest french content elements are deleted permanently

By tracking every steps of the Recycler, from the delete button to the function TYPO3\CMS\Core\DataHandling\DataHandler\deleteSpecificPage() it became obvious that, when the page deletion occures, the function getDefaultLanguagePageId() will return the value of l10n_parent field and will directly link any tt_content using the uid of the default language page.

Actions

Also available in: Atom PDF