重要
翻訳は あなたが参加できる コミュニティの取り組みです。このページは現在 95.45% 翻訳されています。
16.4. プラグインをリリースする
プラグインの準備ができ、そのプラグインが誰かのために役立つことあると思ったら、躊躇わずに 公式なPythonプラグインリポジトリ にアップロードしてください。そのページでは、プラグインのインストーラでうまく動作するプラグインを準備する方法についてパッケージ化のガイドラインがあります。あるいは、独自のプラグインのリポジトリを設定したい場合は、プラグインとそのメタデータの一覧を表示する単純なXMLファイルを作成してください。
以下の提案には特に注意してください:
16.4.1. メタデータと名前
既存のプラグインに似すぎた名前は使わない
あなたのプラグインが既存のプラグインと似たような機能を持っている場合、Aboutフィールドで違いを説明してください。そうすれば利用者はインストールしてテストしなくても、どちらのプラグインを使えばよいかがわかります。
プラグイン自身の名前で「プラグイン」を繰り返さない
1行の説明にはメタデータのdescriptionフィールドを使い、より詳細な説明にはAboutフィールドを使う。
コードリポジトリ、バグトラッカー、およびホーム・ページを含めてください。これは非常に協働作業の可能性を向上させますし、利用可能なWebインフラストラクチャの1つ(GitHub、GitLab、Bitbucketなど)で非常に簡単に行うことができます
タグは注意して選択してください:情報価値のないもの(例:ベクタ)を避け、すでに他のユーザーによって使用されているもの(プラグインのWebサイトを参照)を選んでください
適切なアイコンを追加し、デフォルトのアイコンのままにしない;使用されるスタイルの提案については、QGISインタフェースを参照してください
16.4.2. コードとヘルプ
生成されたファイル(ui_*.py、resources_rc.py、生成されたヘルプファイル...)や無駄なもの(例えば.gitignore)をリポジトリにインクルードしない
プラグインを適切なメニュー(ベクタ、ラスタ、Web、データベース)に加える
適切な場合(解析を実行するプラグイン)、プロセシングフレームワークのサブプラグインとしてプラグインを追加することを検討してください:これによってユーザーはバッチでそれを実行し、より複雑なワークフローにそれを統合できるようになり、インタフェースを設計する負担がなくなります
最低限の文書を、そしてテストと理解に役立つ場合はサンプルデータを含めてください。
16.4.3. 公式なPythonプラグインリポジトリ
公式 のPython プラグインのリポジトリは https://plugins.qgis.org/ にあります。
公式リポジトリを使用するには、OSGEO web portal からOSGEO IDを取得する必要があります。
プラグインをアップロードすると、スタッフによって承認され、あなたに通知されます。
- TODO:
ガバナンス文書へのリンクを挿入する
16.4.3.1. 許可
これらのルールは公式プラグインリポジトリに実装されています:
すべての登録ユーザーが新しいプラグインを追加できます
スタッフ ユーザーは、すべてのプラグインのバージョンを承認または非承認することができます
特別な権限 plugins.can_approve を持っているユーザーは、アップロードしたバージョンが自動的に承認されます
特別な権限 plugins.can_approve を持っているユーザーは、プラグインの 所有者 のリストにいる限り、他のユーザーがアップロードしたバージョンを承認することができます
特定のプラグインを削除および編集できるのは、スタッフ ユーザーとプラグインの 所有者 だけです
plugins.can_approve 権限を持たないユーザーが新しいバージョンをアップロードした場合、そのプラグインのバージョンは自動的に未承認になります。
16.4.3.2. 信頼マネジメント
スタッフはフロントエンドのアプリケーションから plugins.can_approve 権限を設定することで、選択したプラグイン作成者に 信頼 を与えることができます。
プラグインの詳細表示では、プラグイン作成者またはプラグイン 所有者 に信頼を与えるための直接リンクを提供します。
16.4.3.3. 検証
プラグインのメタデータは、プラグインのアップロード時に圧縮パッケージから自動的にインポートされ、検証されます。
公式リポジトリにプラグインをアップロードする際に注意すべき検証ルールをいくつか紹介します:
プラグインを含むメインフォルダの名前は、ASCII文字(A-Zおよびa-z)、数字、アンダースコア(_)とマイナス( - )しか含んではならず、また数字で始めることはできません
metadata.txt
があることメタデータテーブル にリストされているすべての必須メタデータが存在すること
version メタデータフィールドがユニークであること
a license file must be included, saved as
LICENSE
with no extension (i.e. notLICENSE.txt
for example)
16.4.3.4. プラグインの構造
Following the validation rules the compressed (.zip) package of your plugin
must have a specific structure to validate as a functional plugin. As the
plugin will be unzipped inside the users plugins folder it must have it's own
directory inside the .zip file to not interfere with other plugins. Mandatory
files are: metadata.txt
, __init__.py
and LICENSE
.
But it would be nice to have a README
and of course an icon to represent
the plugin. Following is an example of how a plugin.zip
could look like.
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