16.4. Rilasciare il tuo plugin
Una volta che il tuo plugin è pronto e pensi che possa essere utile a qualcuno, non esitare a caricarlo su Repository ufficiale dei plugin Python. In quella pagina puoi trovare anche le linee guida su come preparare il plugin per farlo funzionare bene con l’installatore di plugin. Oppure, nel caso in cui vuoi creare un tuo repository di plugin, crea un semplice file XML che elenchi i plugin e i relativi metadati.
Presta particolare attenzione ai seguenti suggerimenti:
16.4.1. Metadati e nomi
evita di utilizzare un nome troppo simile a quello di plugin esistenti
se il tuo plugin ha una funzionalità simile a quella di un plugin esistente, spiega le differenze nel campo About, in modo che l’utente sappia quale utilizzare senza doverlo installare e testare
evita di ripetere «plugin» nel nome del plugin stesso
utilizza il campo Descrizione nei metadati per una descrizione di 1 linea, il campo About per istruzioni più dettagliate
includi un repository di codice, un bug tracker e una home page; questo aumenterà notevolmente le possibilità di collaborazione e può essere realizzato molto facilmente con una delle infrastrutture web disponibili (GitHub, GitLab, Bitbucket, ecc.).
scegli con cura i tag: evita quelli poco informativi (ad es. vettoriali) e preferisci quelli già utilizzati da altri (vedi il sito web del plugin)
aggiungi un’icona appropriata, non lasciare quella predefinita; vedi l’interfaccia di QGIS per un suggerimento sullo stile da usare
16.4.2. Codice e guida
non includere file generati (ui_*.py, resources_rc.py, file di aiuto generati…) e roba inutile (ad esempio .gitignore) nel repository
aggiungi il plugin al menu appropriato (Vector, Raster, Web, Database)
quando è opportuno (plugin che eseguono analisi), valuta la possibilità di aggiungere il plugin come sottoplugin del framework Processing: ciò consentirà agli utenti di eseguirlo in batch, di integrarlo in flussi di lavoro più complessi e vi libererà dall’onere di progettare un’interfaccia
includi almeno una documentazione minima e, se utile per il test e la comprensione, dei dati di esempio.
16.4.3. Repository ufficiale dei plugin Python
Puoi trovare il repository ufficiale dei plugin Python all’indirizzo https://plugins.qgis.org/.
Per utilizzare il repository ufficiale devi ottenere un OSGEO ID dal portale web OSGEO.
Una volta che hai caricato il tuo plugin, questo verrà approvato da un membro dello staff e ti verrà notificato.
- **DA FARE: **
Inserisci un link al documento di governance
16.4.3.1. Permessi
Queste regole sono state implementate nel repository ufficiale dei plugin:
ogni utente registrato può aggiungere un nuovo plugin
Gli utenti staff possono approvare o disapprovare tutte le versioni dei plugin.
Gli utenti che hanno il permesso speciale plugins.can_approve fanno approvare automaticamente le versioni che caricano.
Gli utenti che hanno il permesso speciale plugins.can_approve possono approvare le versioni caricate da altri, purché siano nell’elenco dei proprietari dei plugin.
un determinato plugin può essere cancellato e modificato solo dagli utenti staff e dai proprietari di plugin
se un utente senza il permesso plugins.can_approve carica una nuova versione, la versione del plugin viene automaticamente non approvata.
16.4.3.2. Gestione del Trust
I membri dello staff possono concedere trust ai creatori di plugin selezionati impostando il permesso plugins.can_approve attraverso l’applicazione front-end.
La visualizzazione dei dettagli del plugin offre collegamenti diretti per concedere la fiducia al creatore del plugin o ai proprietari del plugin.
16.4.3.3. Validazione
I metadati del plugin vengono importati e convalidati automaticamente dal pacchetto compresso quando il plugin viene caricato.
Ecco alcune regole di validazione che dovresti conoscere quando vuoi caricare un plugin sul repository ufficiale:
il nome della cartella principale contenente il plugin deve contenere solo caratteri ASCII (A-Z e a-z), cifre e i caratteri underscore (_) e meno (-), inoltre non può iniziare con una cifra
metadata.txt
è richiestotutti i metadati richiesti elencati in metadata table devono essere presenti
il campo di metadati version deve essere univoco
16.4.3.4. Struttura Plugin
In base alle regole di convalida, il pacchetto compresso (.zip) del plugin deve avere una struttura specifica per essere convalidato come plugin funzionale. Poiché il plugin verrà decompresso all’interno della cartella plugins dell’utente, deve avere una propria cartella all’interno del file .zip per non interferire con altri plugin. I file obbligatori sono: metadata.txt
e __init__.py
. Ma sarebbe bello avere un README
e naturalmente un’icona per rappresentare il plugin (resources.qrc
). Di seguito è riportato un esempio di come dovrebbe apparire un plugin.zip.
plugin.zip
pluginfolder/
|-- i18n
| |-- translation_file_de.ts
|-- img
| |-- icon.png
| `-- iconsource.svg
|-- __init__.py
|-- Makefile
|-- metadata.txt
|-- more_code.py
|-- main_code.py
|-- README
|-- resources.qrc
|-- resources_rc.py
`-- ui_Qt_user_interface_file.ui