Browsing the Marketplace
Discover and evaluate free and premium extensions for Pubvana.
TL;DR
Go to Admin → Marketplace. The catalogue is fetched from pubvana.net with a 1-hour cache. Filter by type using the tabs: All, Themes, Plugins, Widgets. Each item shows its name, price, version, and whether it is already installed. Click Refresh to force a fresh fetch from the API.
Details
How the Catalogue Is Fetched
MarketplaceService::fetchFromApi() requests the catalogue from https://pubvana.net/api/marketplace. The response is cached for one hour using CI4's cache driver. If the API is unreachable (network error or non-200 response), the service falls back to a built-in mock catalogue so the Marketplace page always loads.
Click Refresh at the top of the Marketplace page to bust the cache and force an immediate re-fetch from the live API.
Extension Cards
Each extension is displayed as a card showing:
- Screenshot or icon — provided by the publisher
- Name — the extension's display name
- Type — Theme, Plugin, or Widget
- Version — the latest available version on the Marketplace
- Price — "Free" or a price (e.g., "$29")
- Installed badge — shown when the extension is already installed, with the installed version number
- Update Available badge — shown when a newer version is available than what is installed
Filtering by Type
The tab bar at the top of the Marketplace page filters the catalogue:
| Tab | Shows |
|---|---|
| All | Every item in the catalogue |
| Themes | Items of type theme |
| Plugins | Items of type plugin |
| Widgets | Items of type widget |
Install Status
MarketplaceService checks the marketplace_items table against the catalogue to determine install status. The installed version is read from the extension's theme_info.json, widget_info.json, or plugin_info.json manifest file. If the manifest version is lower than the catalogue version, the "Update Available" badge is shown.