Skip to main content

10. Quick-reference checklist

  • Package manifest includes both <updateservers> and <dlid prefix="dlid=" suffix=""/>
  • Manifest file inside the zip is named pkg_<packagename>.xml, not <packagename>.xml
  • <packagename> value inside the manifest is left unchanged (no pkg_ prefix in the content itself)
  • Any Download ID sync code uses the real column name, update_site_id
  • Sync's location LIKE match targets a stable fragment of your update-stream domain, not a URL you might change later
  • An installer-group plugin re-appends the key on onInstallerBeforePackageDownload for the download step specifically
  • ARS Update Stream's Element field is set to pkg_<packagename>, verified by reading the live feed's <element> tag
  • ARS Item (not just Category) carries the restricted Access Level
  • Restricted-download test was run in a private/incognito window, not a logged-in admin session
  • Purchase-to-entitlement logic actually checks the product, not just "did they buy anything"

Reference: Nicholas K. Dionysopoulos (Akeeba Ltd), "Using Joomla Update with ARS for secure downloads," Akeeba Ticket System, April 2014.

Joomla core source referenced throughout: libraries/src/Installer/Adapter/PackageAdapter.phpadministrator/components/com_installer/src/Helper/InstallerHelper.phpadministrator/components/com_installer/src/Model/UpdatesitesModel.phplibraries/src/Updater/Updater.php — all from the Joomla! CMS project.

Written while building secure, licensed one-click updates for Media Audit Tool™ and Media Audit Pro™.
In Color®