Salta ai contenuti

Pannello Developer

Il Pannello Developer dell’Hub XIQUIL è l’area in cui uno sviluppatore registra i propri plugin, carica nuove versioni e le invia agli amministratori per la review.

Per accedervi serve un account Hub con accesso developer abilitato. Se non vedi la sezione I miei plugin, chiedi l’abilitazione al team XIQUIL.

Il tab I miei plugin mostra una tile per ogni plugin associato al tuo account. Ogni tile riassume le informazioni principali:

  • nome e descrizione breve;
  • categoria, tag e tier richiesto;
  • stato derivato del plugin, con tooltip di spiegazione;
  • versione pubblicata, versione in review o bozza più rilevante;
  • chip Stable e Beta quando esistono versioni pubblicate su quei canali;
  • punteggio scan della bozza o della versione in review, se disponibile;
  • accesso rapido con CTA contestuale.

Lo stato mostrato nella tile è derivato dalle versioni presenti sul plugin:

StatoSignificato
BozzaEsiste una versione caricata ma non ancora inviata in review
In revisioneUna versione è stata inviata agli amministratori ed è in attesa di esito
In betaUna versione è stata approvata sul canale beta
PubblicatoUna versione è stata approvata e pubblicata sul canale stabile
DisattivatoIl plugin non è disponibile nel Marketplace
Richiesta disattivazioneUna richiesta di disattivazione è in attesa di review admin

Se un plugin ha più versioni, la tile mostra lo stato più utile per capire cosa fare: una versione in review evidenzia che devi attendere l’esito; una bozza evidenzia che puoi ancora completare o inviare il lavoro; una versione pubblicata resta visibile anche se stai preparando una nuova bozza.

La CTA della tile cambia in base al contesto:

CTAQuando appare
Apri reviewIl plugin ha una versione in review
Completa bozzaEsiste una bozza, ma lo scan della bozza non è ancora disponibile
Apri pannello pluginIl plugin è consultabile o gestibile dal pannello completo

Ogni tile mostra una mini-checklist con tre chip:

ChipCosa indica
MetadatiNome, descrizione, categoria, tier e almeno un tag risultano presenti
ScanEsiste uno scan disponibile per la bozza o per la versione in review
ReviewLa tile non vede blocchi evidenti: metadati e scan sono pronti e non ci sono warning

Questa mini-checklist è un riepilogo rapido, non sostituisce la checklist completa della bozza. Se lo scan ha warning, apri il pannello plugin e aggiungi una giustificazione prima dell’invio.

Aprendo un plugin entri nel suo pannello di controllo. Le schede principali sono:

SchedaA cosa serve
PanoramicaControllare stato, versione corrente, dati essenziali e prossime azioni disponibili
MetadataModificare nome, descrizione, categoria, tag, tier e icona
VersioniCaricare archivi, leggere gli esiti di scan e inviare una versione in review
StatisticheConsultare dati di utilizzo e andamento del plugin quando disponibili
RichiesteVedere richieste di modifica, note di review e comunicazioni legate al plugin

Le azioni disponibili dipendono dallo stato della versione. Una bozza può essere completata e inviata; una versione in review non va modificata mentre è in valutazione; una versione approvata diventa la base pubblicata o beta del plugin.

Nella scheda Versioni trovi anche tre riquadri di riepilogo: stable attuale, beta attuale e versione in review. Le versioni archiviate sono nascoste di default; attiva Mostra archiviate solo quando devi recuperare una bozza precedente o ricostruire lo storico.

Se un plugin è già live, le modifiche ai metadati non vengono salvate direttamente: l’Hub crea una richiesta di modifica da far approvare agli amministratori. Le richieste pendenti sono visibili nella scheda Richieste e possono essere annullate finché non vengono gestite.

Una versione segue questo ciclo:

  1. Bozza: carichi l’archivio e completi i metadata richiesti.
  2. Invio in revisione: premi Invia per review quando la checklist è completa.
  3. Review admin: un amministratore controlla scan, metadata, changelog e note.
  4. Approvazione o rifiuto: se approvata, la versione viene pubblicata sul canale beta o stable scelto dall’amministratore; se rifiutata, passa a rejected, ricevi una motivazione e puoi preparare una nuova bozza.

L’approvazione non è automatica: anche con scan positivo, la pubblicazione richiede sempre una review manuale.

Puoi archiviare manualmente una bozza che non vuoi più mantenere nel flusso attivo. Una versione archiviata non può essere inviata in review finché non viene ripristinata come bozza. Quando ripristini una versione archiviata, l’Hub la rende la bozza attiva del plugin e archivia eventuali altre bozze concorrenti.

Prima di inviare una versione in review, l’Hub controlla che siano presenti tutti i dati necessari.

Campi obbligatori:

  • Nome del plugin;
  • Descrizione di almeno 30 caratteri;
  • almeno un tag;
  • Categoria;
  • Tier richiesto;
  • Changelog della versione;
  • Versione core minima (min_core_version);
  • Archivio del plugin caricato;
  • Scan completato.

L’icona è consigliata, non obbligatoria. Se non carichi un’icona, l’Hub usa un’icona segnaposto nel pannello e nel catalogo.

Sulla bozza, sotto la checklist, il riepilogo Per continuare: mostra le azioni mancanti in modo operativo. Se mancano dati, l’invio resta bloccato e il riepilogo indica cosa aprire o completare, per esempio metadata, changelog, Core minimo, archivio o scan.

Ogni versione dichiara nel form Hub la compatibilità con il core:

  • min_core_version (obbligatorio): la versione minima di XIQUIL su cui il plugin funziona.
  • max_core_version (opzionale): la versione massima supportata, utile per impedire l’installazione di plugin obsoleti su core più recenti.

Questi valori devono usare formato x.x.x. Quando l’amministratore approva la versione, l’Hub li inserisce nel plugin.json firmato. Quando un utente installa il plugin, il core confronta questi valori con la propria versione e blocca l’installazione se il plugin non è compatibile.

Il pacchetto sorgente può contenere plugin.source.json con i soli campi tecnici. Per evitare disallineamenti, non usare il manifest sorgente come fonte autorevole per versione, tier o compatibilità Core.

Quando carichi un archivio, l’Hub esegue uno scan automatico. Lo scan assegna un punteggio da 0 a 100 e produce eventuali finding da leggere prima dell’invio.

I controlli includono:

ControlloCosa verifica
BanditPossibili problemi di sicurezza nel codice Python
pip-auditVulnerabilità note nelle dipendenze Python
PatternUso di istruzioni o funzioni rischiose, come esecuzione dinamica di codice o comandi di sistema

Se lo scan produce warning, l’Hub può chiedere una giustificazione. Scrivi una spiegazione chiara e concreta: perché quel warning è accettabile, quali limiti hai previsto e come hai ridotto il rischio.

Il pulsante Riesegui scan rigenera punteggio e finding sulla bozza caricata, senza dover ricaricare l’archivio.

Usalo quando:

  • vuoi verificare un esito temporaneo o non aggiornato;
  • hai bisogno di riallineare il punteggio dopo un aggiornamento dei controlli disponibili;
  • un amministratore ti chiede di ripetere la scansione prima della review.

Se devi correggere il codice del plugin, crea invece un nuovo archivio e caricalo come nuova bozza o nuova versione.

Quando premi Invia per review, l’Hub verifica la checklist e blocca l’invio se mancano dati obbligatori. Se tutto è completo:

  1. la versione passa da bozza a in revisione;
  2. gli amministratori la vedono nella coda review;
  3. metadata, changelog, archivio, scan e giustificazioni diventano il materiale di valutazione;
  4. metadata e versione restano bloccati finché la review non termina;
  5. non puoi pubblicare direttamente la versione: devi attendere approvazione o richiesta di modifica.

Se esiste già una versione in review e invii una nuova bozza, l’Hub avvisa che la review corrente verrà archiviata e sostituita dalla nuova richiesta.

Se la review termina con un rifiuto, leggi la motivazione nel pannello e prepara una nuova bozza con le correzioni richieste. Per un plugin già pubblicato, invece, le modifiche post-pubblicazione ai metadati passano dalla scheda Richieste e dalla review amministrativa dedicata.