Marketplace plugin
Il Marketplace plugin è l’interfaccia amministrativa per installare, aggiornare e disinstallare plugin XIQUIL. I plugin estendono l’app con nuove funzionalità (riconciliazione bancaria, connettori specifici, analisi avanzate) ed espongono sia pagine frontend che route backend.
A cosa serve
Sezione intitolata “A cosa serve”- Sfogliare il catalogo ufficiale di plugin disponibili dall’Hub XIQUIL
- Installare/disinstallare plugin con un click
- Vedere gli aggiornamenti disponibili e applicarli
- Per sviluppatori: uploadare plugin in test da file o URL
Come si usa
Sezione intitolata “Come si usa”- Dal menu amministrativo, apri Marketplace plugin
- Naviga i tab:
- Installati: elenco dei plugin attivi, con versione e stato
- Disponibili: catalogo dall’Hub, filtrabile per tier, categoria e ricerca
- Aggiornamenti: plugin con versione più recente disponibile
- Sviluppatore (solo se abilitato da licenza): upload manuale da file o URL
- Per installare, clicca sul plugin e conferma. Se il plugin richiede pacchetti di sistema, l’installazione richiede un restart completo del container (~30s)
- Per disinstallare, clicca “Disinstalla” e conferma — l’operazione è atomica

Concetti chiave
Sezione intitolata “Concetti chiave”- Catalogo license-aware: XIQUIL chiama l’Hub con header
Authorization: License <token>. L’Hub usa la licenza attiva per decidere cosa mostrare e cosa rendere installabile - Tier di licenza: i plugin sono distribuiti per tier (
community,starter,pro,business). Il tier della tua licenza deve soddisfare il tier richiesto dal plugin - Upgrade visibili: i plugin di tier superiore possono comparire nel catalogo come proposta di upgrade. L’Hub li marca con
is_locked: sono visibili, ma non installabili finché non aggiorni la licenza - Download bloccato: se provi a scaricare un plugin di tier superiore, l’Hub risponde con 403 e indica il tier richiesto
- Plugin installati ma bloccati: se degradi la licenza, un plugin Pro gia installato puo restare nell’elenco, ma viene mostrato come bloccato dal piano corrente. Le sue pagine e route backend non sono operative finche non torni a Pro o Business
- Pacchetti di sistema: alcuni plugin richiedono pacchetti apt aggiuntivi — installati automaticamente al restart
- Developer mode: flag abilitato dalla licenza (o env
PLUGIN_DEVELOPER_MODE=Trueper sviluppo locale) — sblocca il tab Sviluppatore - Beta channel: le versioni beta compaiono solo quando il Core chiede
include_beta=truee la licenza haplugin_beta=true - Compatibilità Core: prima dell’installazione XIQUIL controlla la versione minima o massima del Core (
min_core_version/max_core_version) inserita dall’Hub nel manifest firmato e blocca pacchetti incompatibili - Firma Marketplace: i pacchetti ufficiali devono essere firmati dall’Hub. La licenza attiva contiene le chiavi pubbliche fidate e il pacchetto indica quale chiave è stata usata tramite
MANIFEST.sha256.keyid - Protezione downgrade licenza: non è possibile attivare una licenza di tier inferiore finché la precedente è valida (salvo scadenza esplicita)
Sicurezza del catalogo
Sezione intitolata “Sicurezza del catalogo”Il Marketplace ufficiale espone solo versioni approvate e firmate dall’Hub. Una versione caricata da uno sviluppatore non appare nel catalogo finché non viene inviata in review, approvata e firmata.
Per ogni plugin, il catalogo mostra la versione stabile più recente quando esiste. Se la richiesta include beta e la licenza è abilitata, mostra anche la versione beta più recente. Un plugin senza versioni approvate e firmate non viene restituito dal catalogo Core.
Le versioni in bozza, in review, rifiutate o archiviate non vengono mai mostrate nel Marketplace Core. Il backoffice può conservarle nello storico per audit e recupero, ma non sono distribuibili agli utenti.
Quando aggiorni un plugin dal Marketplace, XIQUIL verifica anche che il pacchetto firmato appartenga allo stesso plugin già installato. Questo impedisce di sostituire accidentalmente un plugin con un archivio di un altro plugin.
Il tab Sviluppatore è diverso dal Marketplace ufficiale: serve per installare plugin locali o da URL durante lo sviluppo. Usalo solo con pacchetti di cui conosci l’origine.