Installing Extensions

Install themes, plugins, and widgets directly from the Marketplace with one click (free) or with a license key (premium).

TL;DR

Free items: click "Install" on the Marketplace page — done. Premium items: click "Install", enter your license key, click "Validate & Install". Extensions are downloaded from pubvana.net and extracted to the correct directory automatically.

Details

Installing Free Extensions

  1. Go to Admin → Marketplace and find the extension you want.
  2. Click the Install button on the extension's card.
  3. MarketplaceService::installFree() downloads the zip from the download_url provided by the Marketplace API.
  4. The zip is extracted to the correct directory:
    • Themes → themes/extension-slug/
    • Widgets → widgets/extension-slug/
    • Plugins → plugins/extension-slug/
  5. A record is inserted into marketplace_items with the slug, type, and installed version.
  6. The extension is immediately available:
    • Themes appear in Admin → Themes.
    • Widgets appear in Admin → Widgets.
    • Plugins appear in Admin → Plugins after running Discover (or on the next page load).

Installing Premium Extensions

  1. Go to Admin → Marketplace and find the premium extension.
  2. Click the Install button. A modal dialog appears prompting for a license key.
  3. Enter your license key (received after purchase from pubvana.net).
  4. Click Validate & Install.
  5. MarketplaceService::installLicensed() sends the key and slug to https://pubvana.net/api/license/validate.
  6. If valid, the API returns a download_url. Installation then proceeds identically to a free install.
  7. The license key is stored in the marketplace_licenses table alongside the product slug and registered domain.

If validation fails (invalid key, wrong domain, or expired subscription), an error message is shown and the extension is not installed.

Extension Vetting

All extensions in the Marketplace catalogue go through Pubvana's vetting process. During install, the installer checks with pubvana.net whether the extension is on the approved list. If an extension is not approved (e.g., it was later found to have security issues), a warning banner is displayed on the extension card and during install. You can still install unvetted extensions, but the warning remains visible.

Directory Permissions

For installation to work, the following directories must be writable by the web server:

  • themes/ — for theme installs
  • widgets/ — for widget installs
  • plugins/ — for plugin installs

If a directory is not writable, the install will fail with a permissions error message.