Viktigt
Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.
16.4. Frigör ditt plugin
När ditt plugin är klart och du tror att pluginet kan vara till hjälp för vissa människor, tveka inte att ladda upp det till Officiellt Python plugin-repository. På den sidan kan du också hitta riktlinjer för paketering om hur du förbereder plugin-programmet för att fungera bra med plugin-installationsprogrammet. Om du vill skapa ditt eget plugin-arkiv kan du skapa en enkel XML-fil som listar plugin-programmen och deras metadata.
Var särskilt noga med att följa följande anvisningar:
16.4.1. Metadata och namn
undvika att använda ett namn som är alltför likt befintliga plugins
om ditt plugin har en liknande funktionalitet som ett befintligt plugin, förklara skillnaderna i fältet Om, så att användaren vet vilket som ska användas utan att behöva installera och testa det
undvika att upprepa ”plugin” i namnet på själva pluginet
använd beskrivningsfältet i metadata för en beskrivning på 1 rad, fältet Om för mer detaljerade instruktioner
inkludera ett kodförvar, en buggspårare och en hemsida; detta kommer att förbättra möjligheten till samarbete avsevärt och kan göras mycket enkelt med någon av de tillgängliga webbinfrastrukturerna (GitHub, GitLab, Bitbucket, etc.)
välj taggar med omsorg: undvik de oinformativa (t.ex. vector) och föredra de som redan används av andra (se plugin-webbplatsen)
lägg till en riktig ikon, lämna inte standardikonen; se QGIS-gränssnittet för ett förslag på vilken stil som ska användas
16.4.2. Kod och hjälp
inkludera inte genererade filer (ui_*.py, resources_rc.py, genererade hjälpfiler …) och värdelösa saker (t.ex. .gitignore) i repository
lägga till insticksprogrammet i lämplig meny (Vector, Raster, Web, Database)
när det är lämpligt (plugins som utför analyser), överväg att lägga till pluginet som ett underplugin till Processing framework: detta gör det möjligt för användare att köra det i batch, att integrera det i mer komplexa arbetsflöden och befriar dig från bördan att utforma ett gränssnitt
innehålla åtminstone minimal dokumentation och, om det är användbart för testning och förståelse, exempeldata.
16.4.3. Officiellt Python plugin-repository
Du kan hitta det officiella Python plugin-arkivet på https://plugins.qgis.org/.
För att kunna använda det officiella arkivet måste du skaffa ett OSGEO ID från OSGEO webbportal.
När du har laddat upp din plugin kommer den att godkännas av en anställd och du kommer att meddelas.
- TODO:
Infoga en länk till styrdokumentet
16.4.3.1. Behörigheter
Dessa regler har implementerats i det officiella plugin-arkivet:
varje registrerad användare kan lägga till ett nytt plugin
personal användare kan godkänna eller avvisa alla plugin-versioner
användare som har den särskilda behörigheten plugins.can_approve får de versioner de laddar upp automatiskt godkända
användare som har den speciella behörigheten plugins.can_approve kan godkänna versioner som laddats upp av andra så länge de finns i listan över plugin ägare
ett visst plugin kan raderas och redigeras endast av anställda användare och plugin ägare
om en användare utan plugins.can_approve-behörighet laddar upp en ny version, blir plugin-versionen automatiskt ogodkänd.
16.4.3.2. Förtroendehantering
Personal kan ge trust till utvalda plugin-skapare genom att ställa in plugins.can_approve-behörighet via frontend-applikationen.
I plugin-detaljerna finns direktlänkar för att ge förtroende till plugin-skaparen eller plugin-ägarna*.
16.4.3.3. Validering
Pluginets metadata importeras och valideras automatiskt från det komprimerade paketet när pluginet laddas upp.
Här är några valideringsregler som du bör känna till när du vill ladda upp ett plugin på det officiella förvaret:
namnet på huvudmappen som innehåller ditt plugin får endast innehålla ASCII-tecken (A-Z och a-z), siffror och tecknen underscore (_) och minus (-), och det får inte börja med en siffra
metadata.txt
krävsalla obligatoriska metadata som anges i metadatatabell måste finnas
metadatafältet version måste vara unikt
en licensfil måste inkluderas, sparad som
LICENSE
utan tillägg (dvs. inteLICENSE.txt
till exempel)
16.4.3.4. Plugin-struktur
Enligt valideringsreglerna måste det komprimerade (.zip) paketet med ditt plugin ha en specifik struktur för att valideras som ett funktionellt plugin. Eftersom insticksprogrammet kommer att packas upp i användarens insticksprogrammapp måste det ha en egen katalog i .zip-filen för att inte störa andra insticksprogram. Obligatoriska filer är: metadata.txt
, __init__.py
och LICENSE
. Men det skulle vara trevligt att ha en README
och naturligtvis en ikon för att representera insticksprogrammet. Nedan följer ett exempel på hur en plugin.zip
kan se ut.
plugin.zip
pluginfolder/
|-- i18n
| |-- translation_file_de.ts
|-- img
| |-- icon.png
| |-- iconsource.svg
|-- __init__.py
|-- LICENSE
|-- Makefile
|-- metadata.txt
|-- more_code.py
|-- main_code.py
|-- README
|-- ui_Qt_user_interface_file.ui