bug RMDQ PR-5.4-dev Pending

User tests: Successful: Unsuccessful:

avatar Reda-Muhamed
Reda-Muhamed
18 Jul 2026

Pull Request resolves #47609.

  • I read the Generative AI policy and my contribution is either not created with the help of AI or is compatible with the policy and GNU/GPL 2 or later.

Summary of Changes

This PR fixes storing UCM data when tags are assigned to articles.

When an article with tags is saved again, the existing #__ucm_content row is now updated instead of creating a duplicate row.

The PR also keeps #__ucm_base consistent with #__ucm_content. When tag data is removed and the related #__ucm_content row is deleted, the matching #__ucm_base row is removed too. This prevents a stale #__ucm_base row from pointing to a deleted #__ucm_content row and breaking tag assignment when the same tag is added again later.

Testing Instructions

  1. Create a new article.
  2. Assign a tag to the article.
  3. Save the article.
  4. Check the database tables #__ucm_content, #__ucm_base, and #__contentitem_tag_map.
  5. Save the article again without changes.
  6. Check that no duplicate row is created in #__ucm_content.
  7. Edit the article and remove the tag.
  8. Save the article.
  9. Check that the tag mapping is removed and that no stale #__ucm_base row remains for the deleted #__ucm_content row.
  10. Edit the article again and assign the same tag.
  11. Save the article.
  12. Check that the tag is saved correctly.

Actual result BEFORE applying this Pull Request

Saving an article with tags again creates duplicate rows in #__ucm_content.

After removing a tag, the #__ucm_content row is deleted but the related #__ucm_base row can remain. When assigning the same tag again, the article is saved but the tag assignment silently fails.

Expected result AFTER applying this Pull Request

Saving an article with tags again updates the existing #__ucm_content row and does not create duplicates.

When tags are removed, the related UCM rows remain consistent. Assigning the same tag again works correctly.

Link to documentations

Please select:

  • Documentation link for guide.joomla.org:

  • No documentation changes for guide.joomla.org needed

  • Pull Request link for manual.joomla.org:

  • No documentation changes for manual.joomla.org needed

avatar Reda-Muhamed Reda-Muhamed - open - 18 Jul 2026
avatar Reda-Muhamed Reda-Muhamed - change - 18 Jul 2026
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 18 Jul 2026
Category Libraries
avatar Reda-Muhamed Reda-Muhamed - change - 18 Jul 2026
Labels Added: PR-5.4-dev
avatar brianteeman
brianteeman - comment - 18 Jul 2026

Didn't this already get fixed once

avatar Reda-Muhamed
Reda-Muhamed - comment - 18 Jul 2026

Didn't this already get fixed once

The last test was unsuccessful

avatar brianteeman
brianteeman - comment - 18 Jul 2026

Thats because although I remembered correctly that there was a fix it hasnt been merged #47664

avatar no-matter-0
no-matter-0 - comment - 19 Jul 2026

Same issue with 6.1.2 (but my ucm_base is always empty)
Each Time when I save an article a new row is added to ucm_content


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/48114.

avatar no-matter-0
no-matter-0 - comment - 19 Jul 2026

Same issue with 6.1.2 (but my ucm_base is always empty)
Each Time when I save an article a new row is added to ucm_content


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/48114.

avatar chmst
chmst - comment - 21 Jul 2026

I have tested this PR and seemed to work in every constellation.
But it uses the deprecated function storeUcmBase().

This would require a revert of the deprecation?

avatar no-matter-0
no-matter-0 - comment - 21 Jul 2026

I have tested this PR and seemed to work in every constellation. But it uses the deprecated function storeUcmBase().

This would require a revert of the deprecation?

They should totally remove ucm tables

avatar Reda-Muhamed
Reda-Muhamed - comment - 21 Jul 2026

I have tested this PR and seemed to work in every constellation. But it uses the deprecated function storeUcmBase().
This would require a revert of the deprecation?

They should totally remove ucm tables

#47664 check this PR also use the

I have tested this PR and seemed to work in every constellation. But it uses the deprecated function storeUcmBase().

This would require a revert of the deprecation?

check this PR: #47664 also uses the deprecated function.

avatar MacJoom
MacJoom - comment - 27 Jul 2026

I have tested this PR and seemed to work in every constellation. But it uses the deprecated function storeUcmBase().
This would require a revert of the deprecation?

They should totally remove ucm tables

#47664 check this PR also use the

I have tested this PR and seemed to work in every constellation. But it uses the deprecated function storeUcmBase().
This would require a revert of the deprecation?

check this PR: #47664 also uses the deprecated function.

Please add the same lines to the phpstan-baseline.neon so phpstan passes.

avatar Reda-Muhamed Reda-Muhamed - change - 28 Jul 2026
Labels Added: bug RMDQ
avatar Reda-Muhamed Reda-Muhamed - change - 30 Jul 2026
Status Pending Closed
Closed_Date 0000-00-00 00:00:00 2026-07-30 09:49:55
Closed_By Reda-Muhamed
avatar Reda-Muhamed Reda-Muhamed - close - 30 Jul 2026
avatar hiteshm0
hiteshm0 - comment - 30 Jul 2026

@Reda-Muhamed Why close this?

Add a Comment

Login with GitHub to post a comment