Outdated version of the documentation. Find the latest one here.

プラグインをリリースする

プラグインの準備ができ、そのプラグインが誰かのために役立つことあると思ったら、躊躇わずに 公式のpythonプラグインリポジトリ にアップロードしてください。そのページでは、プラグインのインストーラでうまく動作するプラグインを準備する方法についてパッケージ化のガイドラインも見つかります。あるいは、独自のプラグインのリポジトリを設定したい場合は、プラグインとそのメタデータの一覧を表示する単純なXMLファイルを作成してください。例は他の プラグインリポジトリ を参照してください。

次の提案に特に注意してください:

メタデータと名前

  • 既存のプラグインとあまりにも類似した名前を使用しないようにしてください

  • プラグインが既存のプラグインと類似の機能を持っている場合は、「このプラグインについて」フィールドに違いを説明し、ユーザーがインストールして試さなくてもどれを使用するべきかわかるようにしてください

  • プラグイン自体の名前に「プラグイン」を繰り返さないようにしてください

  • 1行の説明にはメタデータ中の説明フィールドを、より詳細な手順については「このプラグインについて」フィールドを使用してください

  • コードリポジトリ、バグトラッカー、およびホーム・ページが含めてください。これは非常にコラボレーションの可能性を向上させますし、利用可能なWebインフラストラクチャの1つ(GitHub、GitLab、Bitbucketなど)で非常に簡単に行うことができます

  • タグは注意して選択してください:情報価値のないもの(例:ベクター)を避け、すでに他のユーザーによって使用されているもの(プラグインのWebサイトを参照)を選んでください

  • 適切なアイコンを追加してください、デフォルトのアイコンのままにしないでください。使用するスタイルの提案のためにはQGISインターフェイスを参照してください

コードとヘルプ

  • リポジトリに生成されたファイル(ui_*.py、resources_rc.py、生成されたヘルプファイル...)と役に立たないもの(例えば.gitignore)を含めないでください

  • 適切なメニューにプラグインを追加してください(ベクター、ラスター、ウェブ、データベース)

  • 適切な場合(解析を実行するプラグイン)、処理フレームワークのサブプラグインとしてプラグインを追加することを検討してください:これによってユーザーはバッチでそれを実行し、より複雑なワークフローにそれを統合できるようになり、インターフェイスを設計する負担からあなたを解放します

  • 最低限の文書と、テストと理解に役立つ場合はサンプルデータを含めてください。

公式のpythonプラグインリポジトリ

公式の pythonプラグインリポジトリは http://plugins.qgis.org/ で見つけることができます。

公式のリポジトリを使用するためには OSGEO web portal からOSGEO IDを入手しないといけません。

あなたがプラグインをアップロードしたら、それはスタッフによって承認され、あなたに通知されます。

TODO:

ガバナンスの文書へのリンクを挿入してください

許可

これらのルールは、公式のプラグインリポジトリに実装されています:

  • すべての登録ユーザーは、新しいプラグインを追加することができます

  • スタッフ は全てのプラグインバージョンの承認と非承認を行うことができます。

  • 特別な権限 plugins.can_approve を持つユーザーがアップロードしたバージョンは自動的に承認されます

  • 特別な権限 plugins.can_approve を持つユーザーは、彼らがプラグイン 所有者 のリスト中にある限り、他人によってアップロードされたバージョンを承認できます

  • 特定のプラグインは スタッフ ユーザーまたはプラグイン 所有者 によって削除または編集できます。

  • ユーザーが plugins.can_approve なしで新しいバージョンをアップロードした場合、プラグインのバージョンは自動的に非承認になります。

運用の信託

スタッフはフロントエンドアプリケーションを介して plugins.can_approve 許可を設定し、選択したプラグインの作成者に 信頼 を付与できます。

プラグインの詳細ビューには、プラグインの作成者やプラグイン 所有者 への信頼を付与するために直接リンクを提供しています。

検証

プラグインのメタデータはプラグインがアップロードされたとき、圧縮されたパッケージから自動的にインポートされ検証されます。

公式リポジトリ上にプラグインをアップロードするときに注意するべき検証規則がいくつかあります:

  1. プラグインを含むメインフォルダの名前は、ASCII文字(A-Zおよびa-z)、数字、アンダースコア(_)とマイナス( - )しか含んではならず、また数字で始めることはできません。

  2. metadata.txt が必要です

  3. メタデータテーブル に記載されているすべての必要なメタデータ存在している必要があります

  4. VERSION メタデータフィールドは一意である必要があります

プラグイン構造

検証規則に従って、プラグインの圧縮パッケージ(.zipファイル)は、機能プラグインとして検証する特定の構造を持たなければなりません。プラグインはユーザーのプラグインフォルダ内部で解凍されるので、それは他のプラグインに干渉しないように、.zipファイル内に独自のディレクトリを持っている必要があります。必須ファイルは metadata.txt__init __ py ですが、 README と、プラグインを表現するためのアイコン( resources.qrc )もあればもちろん良いでしょう。以下は 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