Problem/Motivation

In #2949815: Flagging translations as outdated in a pending revision causes multiple translations to be marked as affected we have hidden the "Flag as outdated" functionality for moderated content due to how late this issue was discovered in the 8.5 development cycle, however this feature is not fundamentally incompatible with pending revisions so we should try to bring it back.

Proposed resolution

An attempt was made to save a new revision for every translation, however it was deemed too risky and not tested enough to be committed.

Remaining tasks

  • Propose a valid solution
  • Write a patch
  • Reviews

User interface changes

The "Flag as outdated" checkbox is restored.

API changes

None

Data model changes

None

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

plach created an issue. See original summary.

plach’s picture

Status: Active » Needs review
FileSize
9.24 KB
timmillwood’s picture

Status: Needs review » Needs work
+++ b/core/modules/content_translation/src/ContentTranslationHandler.php
@@ -264,6 +264,41 @@ public function retranslate(EntityInterface $entity, $langcode = NULL) {
+      $metadata = $this->manager->getTranslationMetadata($revision_translation);
+      if (!$metadata->isOutdated()) {
+        /** @var \Drupal\Core\Entity\ContentEntityInterface $new_revision */
+        $new_revision = $storage->createRevision($revision->getTranslation($langcode), $revision->wasDefaultRevision());
+        $metadata = $this->manager->getTranslationMetadata($new_revision);
+        $metadata->setOutdated(TRUE);
+        $storage->save($new_revision);
+      }

I feel this section especially is lacking documentation. Why does a new revision need to be created to mark it as outdated?

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

criz’s picture

Just adding that this patch works for us. Having this functionality back would be good to improve the editor experience when working with translations!

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

marcoscano’s picture

Re-roll for 9.2.x, which also includes some refactoring of the test, to stop using deprecated code.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Kosa Ilma’s picture

I couldn't apply the patch from #11 on Drupal 9.3.3.
Here is the modified patch.

ravi.shankar’s picture

Added reroll of patch #11.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.