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:

  1. 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

  2. metadata.txt krävs

  3. alla obligatoriska metadata som anges i metadatatabell måste finnas

  4. metadatafältet version måste vara unikt

  5. en licensfil måste inkluderas, sparad som LICENSE utan tillägg (dvs. inte LICENSE.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