No Code Attached Yet
avatar multizone-uk
multizone-uk
11 Sep 2025

Steps to reproduce the issue

The <dlid> tag in component manifests is not being parsed properly in Joomla 5.x, preventing the download key field from appearing in the Extensions → Update Sites interface, even when the database is correctly configured.

Expected result

When a component manifest includes a properly formatted <dlid> tag, the Extensions → Update Sites interface should display a "Download Key" field for premium component updates, allowing administrators to enter their license key. See #26744 "When you edit an Update Site, the Download Key field only displays for extensions which support it (those that have a dlid attribute in their XML manifest file."

Actual result

The download key field does not appear in Extensions → Update Sites, despite:

  • Correct <dlid> tag in manifest
  • Proper database configuration (extra_query field populated)

System information (as much as possible)

  • Joomla Version: 5.x (tested on Joomla 5.3.3)
  • PHP Version: 8.4.1.1 with Zend OPcache
  • Database: MariaDB 11.8.2
  • Browser: Chrome

Additional comments

Steps to Reproduce

  1. Create Component with DLID Support
<?xml version="1.0" encoding="UTF-8"?>
<extension type="component" method="upgrade">
  <!-- ... other manifest elements ... -->
  <!-- Download Key Support -->
    <dlid prefix="dlid=" suffix="&amp;download=com_test.zip"/>
</extension>
  1. Install Component
  • Install the component through Joomla administrator
  • Verify installation completes successfully
  1. Check Update Sites
  • Navigate to Extensions → Update Sites
  • Locate the installed component's update site
  • Expected: Download key field should be visible
  • Actual: No download key field appears
  1. Verify Database State
  • Query the database to confirm update site configuration:
  SELECT update_site_id, name, extra_query
  FROM #__update_sites
  WHERE name LIKE '%Test Component%';

Result: extra_query field may be empty or not properly initialized from <dlid> tag.

  1. Manual Database Fix not sufficient.
  • Manually set the extra_query field:
  UPDATE #__update_sites
  SET extra_query = 'dlid='
  WHERE name LIKE '%Test Component%';

Result: Database now contains correct value, but UI field still doesn't appear.

Related Documentation

Impact

  • Affects premium extension developers using download key authentication
  • Forces workarounds through component-specific configuration interfaces
  • Breaks expected workflow documented in official Joomla guides

Suggested Fix Areas

  1. Manifest parser: Review <dlid> tag processing during component installation
  2. Update sites UI: Verify download key field rendering logic

Please contact me, if I can be of more help or I am missing something obvious. I am implementing a workaround by processing the key myself as a component option parameter but it would be nicer not to do this and rely entirely upon Joomla functionality.

Angus

avatar multizone-uk multizone-uk - open - 11 Sep 2025
avatar joomla-cms-bot joomla-cms-bot - change - 11 Sep 2025
Title
<dlid> tag in component manifest not recognised in Joomla 5.x Extensions → Update Sites
tag in component manifest not recognised in Joomla 5.x Extensions → Update Sites
Labels Added: No Code Attached Yet
avatar joomla-cms-bot joomla-cms-bot - labeled - 11 Sep 2025
avatar alikon
alikon - comment - 12 Sep 2025

shouldn't the tag look like this
<dlid prefix="dlid=" suffix="&amp;dummy=my.zip"/> from https://manual.joomla.org/docs/building-extensions/install-update/installation/manifest/#download-keys
instead of yours
<dlid prefix="dlid=" suffix="&download=com_test.zip"/>

avatar multizone-uk
multizone-uk - comment - 12 Sep 2025

Thanks for replying. I tested that. I believe the suffix is only an example in that documentation to show the kind of structure you can add to the download link, for your download system.

I believe that the prefix is what should enable the field to be visible. I don't know for sure.

avatar multizone-uk multizone-uk - change - 24 Sep 2025
Status New Closed
Closed_Date 0000-00-00 00:00:00 2025-09-24 13:36:30
Closed_By multizone-uk
avatar multizone-uk multizone-uk - close - 24 Sep 2025
avatar multizone-uk
multizone-uk - comment - 24 Sep 2025

This issue has been completely resolved through a better installation script and can be closed.

By way of explanation my installation scripts were not properly creating update site database records and extension mappings, and InstallerHelper::getInstallationXML() seems to expect component manifests named without the com_ prefix (e.g., test.xml) while Joomla installs them with the prefix (e.g., com_test.xml). This caused the helper to return null when looking for my <dlid> tags, preventing components from being recognised as supporting download keys.

My solution was to enhance my installation scripts to create proper update site records with extension mappings and generate manifest aliases (copying com_component.xml to component.xml) for InstallerHelper compatibility.

Verification: Download key fields now appear correctly in Extensions.

Im open to better ways to do this.

Add a Comment

Login with GitHub to post a comment