Important
翻译是一项社区工作 you can join。此页面目前翻译进度为 100.00%。
16.4. 发布您的插件
当您的插件准备就绪,并且您认为它可能对某些用户有帮助时,请毫不犹豫地将其上传至 官方 Python 插件仓库。在该页面上,您还可以找到打包指南,了解如何准备插件以使其与插件安装程序良好兼容。或者,如果您希望搭建自己的插件仓库,可以创建一个简单的 XML 文件,列出插件及其元数据。
请特别注意以下建议:
16.4.1. 元数据与名称
避免使用与现有插件过于相似的名称
如果您的插件功能与现有插件类似,请在“关于(About)”字段中说明其差异,以便用户无需安装和测试即可知道应使用哪一个
避免在插件名称中重复使用“plugin”一词
在元数据中使用 description 字段提供一行简短描述,使用 About 字段提供更详细的说明
包含代码仓库、缺陷追踪器和主页;这将极大提升协作可能性,且可借助现有网络基础设施(如 GitHub、GitLab、Bitbucket 等)轻松实现
谨慎选择标签:避免使用信息量不足的标签(如 vector),优先使用他人已采用的标签(参见插件网站)
添加合适的图标,不要保留默认图标;可参考 QGIS 界面中建议的图标风格
16.4.2. 代码与帮助文档
不要在仓库中包含生成的文件(如 ui_*.py、resources_rc.py、生成的帮助文件等)和无用内容(例如 .gitignore)
将插件添加到合适的菜单中(矢量、栅格、Web、数据库)
在合适的情况下(例如执行分析的插件),请考虑将其作为 Processing 框架的子插件:这样用户即可批量运行、集成到更复杂的工作流中,同时您也无需费心设计界面
至少包含最基本的文档,如有助于测试和理解,还应提供示例数据。
16.4.3. 官方 Python 插件仓库
您可以在 https://plugins.qgis.org/ 找到*官方* Python 插件仓库。
要使用官方仓库,您必须从 OSGEO 网站门户 获取一个 OSGEO ID。
上传插件后,将由工作人员审核,您会收到通知。
- 待办:
插入治理文档的链接
16.4.3.1. 权限
官方插件仓库已实施以下规则:
所有注册用户均可添加新插件
staff 用户可批准或拒绝所有插件版本
拥有特殊权限 plugins.can_approve 的用户,其上传的版本将自动获得批准
拥有特殊权限 plugins.can_approve 的用户,只要在插件*所有者*列表中,即可批准他人上传的版本
特定插件仅可由 staff 用户和插件*所有者*删除或编辑
若无 plugins.can_approve 权限的用户上传新版本,该插件版本将自动处于未批准状态。
16.4.3.2. 信任管理
工作人员可通过前端应用程序向选定的插件开发者授予*信任*,即设置 plugins.can_approve 权限。
插件详情页面提供直接链接,用于向插件创建者或插件*所有者*授予信任。
16.4.3.3. 验证规则
插件上传时,其元数据将从压缩包中自动导入并验证。
在向官方仓库上传插件时,请注意以下验证规则:
包含插件的主文件夹名称只能包含 ASCII 字符(A–Z 和 a–z)、数字以及下划线(_)和连字符(-),且不能以数字开头
必须包含
metadata.txtmetadata table 中列出的所有必填元数据字段都必须存在
version 元数据字段必须唯一
必须包含许可证文件,且文件名为
LICENSE``(无扩展名,例如不能是 ``LICENSE.txt)
16.4.3.4. 插件结构
根据验证规则,您的插件压缩包(.zip)必须具有特定结构,才能被验证为有效的插件。由于插件将被解压至用户插件文件夹中,因此 .zip 文件内必须包含一个独立的目录,以免与其他插件冲突。必备文件包括:metadata.txt、__init__.py 和 LICENSE。此外,建议包含一个 README 文件,当然也应包含代表插件的图标。以下是一个 plugin.zip 的示例结构。
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