No Code Attached Yet
avatar fsjn
fsjn
11 May 2025

đź’ˇ Feature Request: Add support for refreshing extension manifest cache (GUI + CLI)

Problem:
Joomla stores extension metadata such as the version number in the manifest_cache column of the #__extensions table during installation or update. However, if an extension is updated manually — for example via Git, FTP, or a CI deployment — the XML manifest file is updated on disk, but Joomla does not re-read this file automatically.

This leads to inconsistencies between the actual extension files and the metadata shown in the Joomla admin interface.
Most notably:

  • The Extensions → Update page may incorrectly list such extensions as outdated.
  • The Extensions → Manage page shows stale version and metadata information.
  • Developers using Git to manage extensions must reinstall or manually update the database to reflect changes.

Currently, the only way to update the manifest_cache is to reinstall the extension or use low-level CLI/SQL workarounds.


Proposed Solution:
Add native support for refreshing the manifest_cache from the manifest XML, via both GUI and CLI:

âś… GUI (Admin Interface)

  • Add a "Refresh Manifest" button or batch action in:
    • System → Manage → Extensions
    • (Optionally) inside the extension’s detail view.
  • This should:
    • Re-parse the XML manifest file on disk.
    • Update the manifest_cache field with current data.
    • Show a success message (and optionally a diff — e.g. old vs new version).

âś… CLI

  • Add a new command in Joomla CLI:
    php cli/joomla.php extension:refresh --name=plg_myplugin
  • This should:
    • Accept either --name, or a combination of --type, --element, and --folder.
    • Perform the same logic as the GUI action to update the manifest cache.

Why it’s important:

  • Ensures version and metadata consistency after manual or Git-based updates.
  • Prevents false positives in the Extensions Update system.
  • Reduces need for reinstalling extensions or manually editing the database.
  • Improves developer experience and supports modern deployment workflows.

Security Considerations:

  • Only Super Users should be able to trigger this action.
  • File paths and manifest files should be strictly validated before parsing.

Optional Enhancements:

  • Allow refreshing multiple extensions at once (batch mode).
  • Include --all CLI option to refresh all installed extensions.
avatar fsjn fsjn - open - 11 May 2025
avatar joomla-cms-bot joomla-cms-bot - change - 11 May 2025
Labels Added: No Code Attached Yet
avatar joomla-cms-bot joomla-cms-bot - labeled - 11 May 2025
avatar joomdonation
joomdonation - comment - 11 May 2025

The feature is already supported. From extensions management screen, you can check on checkbox next to the extensions you want to refresh manifest cache, and press Actions -> Refresh Cache button to have manifest cache of the selected extensions updated. Maybe we could change label of the button to Refresh Manifest Cache to make it more clear and display a success message when the action completed.

avatar fsjn
fsjn - comment - 11 May 2025

Thanks for the clarification, and apologies for raising an unnecessary feature request.

I honestly never realized that the “Refresh Cache” button already performs a manifest refresh — I’ve always assumed it was related to internal or system caching, not extension metadata.

That’s exactly the problem though — the label is too vague to communicate its actual function. I’d suggest we really just need to:

Rename it to “Refresh Manifest Cache” (or similar),

And ideally show a success message once the action completes.

This small change would greatly improve clarity and help other developers like me avoid confusion.

Thanks again!

avatar brianteeman
brianteeman - comment - 11 May 2025

I honestly never realized that the “Refresh Cache” button already performs a manifest refresh — I’ve always assumed it was related to internal or system caching, not extension metadata.

As it exists on the Extension Updates page I thought it was obvious what it referred to. I get that obviously it wasnt obvious to you but I dont think adding the word manifest would help as that word is meaningless to regular users.

avatar fsjn
fsjn - comment - 11 May 2025

I honestly never realized that the “Refresh Cache” button already performs a manifest refresh — I’ve always assumed it was related to internal or system caching, not extension metadata.

As it exists on the Extension Updates page I thought it was obvious what it referred to. I get that obviously it wasnt obvious to you but I dont think adding the word manifest would help as that word is meaningless to regular users.

That's also reasonable I agree.

OK, so let's close this issue then.

Thank you very much!

avatar richard67 richard67 - change - 11 May 2025
Status New Closed
Closed_Date 0000-00-00 00:00:00 2025-05-11 15:10:51
Closed_By richard67
avatar richard67 richard67 - close - 11 May 2025

Add a Comment

Login with GitHub to post a comment