Skip to content

Downloads ​

Attach versioned releases to a product. Customers with a valid license see them in the customer portal and via the downloads API.

Adding a Download ​

  1. Open the product
  2. Go to the Downloads tab → Add Download
  3. Set the Version (e.g. 1.2.0) and Changelog
  4. Upload one or more files
  5. Save

Multiple Files per Version ​

Each release can hold several files. This is useful for:

  • Cross-platform builds (Windows, macOS, Linux)
  • Source vs compiled
  • Add-ons or language packs

Each file has its own Label (e.g. Windows installer, macOS dmg, Source) – the label is what customers see in the portal.

File Storage ​

Files are stored under the configured download path (default licensedock/downloads). Subfolders are organised per product. The webserver should not allow direct access to this directory – LicenseDock streams files through the download endpoint after verifying the license.

Allowed File Types ​

LicenseDock allows the formats you'd expect for digital products: archives (zip, tar.gz, 7z), documents (pdf, docx, epub), images, audio, video, design files, fonts, 3D, and structured data.

Executable file types are blocked at upload – .php, .phtml, .sh, .bash, .exe, .bat, .cmd, .cgi, .pl, .py, .htaccess, and .html are rejected to prevent webshell uploads.

Versioning ​

The Version field is plain text – use semantic versioning (1.2.3) for predictable ordering.

When you upload a new version, the older releases stay available – customers always see the latest in the portal, but the API's update check returns the highest published version.

Joomla Extension Updates ​

If you sell Joomla extensions, point Joomla's update server to LicenseDock so customers receive updates inside their Joomla admin. See Joomla Update Server Integration.

Secure Delivery ​

  • The download API verifies the license is active, not expired, and tied to the requested product before streaming
  • Path traversal is blocked – every served file must resolve inside the download base directory
  • Each download is logged with user, license, IP, file, version, and timestamp – view the log under Components → LicenseDock → Downloads

Joomla Extensions by Contona