分发插件

Piwik的插件市场是下载和安装第三方插件的主要方式。

每一个运行2.0或更高版本的Matomo(以前的Piwik)实例都可以直接从市场下载和安装插件。让你的插件在市场上可用是让你的插件进入Matomo用户手中的最好方式。

这也是一个很好的方式,你可以:

  • 通过电子邮件或Github问题跟踪器获取用户反馈
  • 看看有多少人使用你的插件
  • 允许人们捐款
  • 允许人们购买你的插件(保持联系
  • 允许人们与您联系以获得帮助或报告错误和功能
  • 让你的技能和工作得到曝光

为你的插件市场做准备

将你的完整插件放到市场上需要几个步骤,都列在下面。

确保你的插件有一个唯一的名字

市场上的每个插件都有一个唯一的名称。确保您选择的名称当前可用,如果不是,请选择另一个名称。此外,你的插件名称必须以字母开头,只包含字母和数字,不能包含“Matomo”或“Piwik”,“Analytics”,“Core”或“plugin”。

准备插件

在发布插件之前,需要在插件中出现两个文件README.md文件和plugin.json文件。

README.mdfile

README.md文件应该包含插件的描述。让我们来看看CustomAlerts插件自述文件.该文件以Markdown格式编写,并具有以下部分:描述.之间的内容# #描述下一个# #……标题将直接显示在你的插件在市场的页面!检出的CustomAlerts插件的从README文件创建的页面。

截图

为了让您的插件在Matomo市场上大放光彩,请在Git存储库中包含截图!

准备一些插件的截图,并把它们放在一个截屏/目录在你的插件文件夹。给它们一个描述性的名字,因为文件名将被用作每个截图下面显示的图例。文件名中只允许使用字母、数字、下划线和破折号。文件名必须以. png,jpgjpeg

的结果CustomAlerts插件的截图(点击截图链接)。这些截图会被保存在git中:CustomAlerts/截图

plugin.jsonfile

plugin.json文件必须包含以下信息:

  • 的名字:插件名。它只能包含字母(a-z),数字(0-9),并且必须以大写字母开头。名称中不能包含单词“Piwik”,“核心”“分析”.不超过60个字符。
  • 版本:插件的版本。它必须是有效的语义版本号.如果node-semver不能解析它,它将被认为是无效的。
  • 描述:插件的简短描述(最多150个字符)。这将显示在搜索结果中插件名称的下面,以及插件页面的顶级标题的下面。它可以包括任何字符。
  • 关键字:描述插件的单词或短语数组。关键字被列在市场上,这有助于用户发现你的插件。关键字只能包含字母、数字、连字符和点。
  • 许可证:插件使用的许可证名称。license必须与gpl - 3.0或更高版本。我们建议使用gpl - 3.0 +或更高版本。目前支持的价值观:“gpl - 3.0 +”、“gpl - 3.0”,“BSD和gpl - 3.0 +”,“只gpl - 2.0”,“gpl - 2.0 +”,“麻省理工学院”。如果您想在不同的许可证下发布插件,请与我们联系。
  • 主页:插件主页的URL。
  • 作者:一个对象数组,每个对象都描述了帮助创建插件的人。对象必须包含的名字字段,可以选择包含电子邮件和主页字段。必须定义至少一个作者。
  • 需要-定义插件所需的包。除非满足这些要求,否则不会安装插件。目前支持两个包:matomo而且php.支持Matomo 3的插件。X或以上,应使用piwik而不是matomo

    例如:

    "require": {"matomo": ">=4.0.3,<5.0.0-b1", //要求至少matomo 4.0.3但低于matomo 5.0.0 "php": ">=7.3.5" //要求至少php 7.3.5}

    你可以通过用以下值之一更改版本的前缀来定义任何其他比较:<>,! =,>,> =,<,< =,==

    例如:

    "require": {"matomo": ">=4.0.3,<5.0.0-b1", //要求至少matomo 4.0.3但低于matomo 5.0.0 "php": ">7.3.5" //要求至少php 7.3.6}

    matomo要求需要定义一个下限和上限。例如,是否建议使用> = 4.0.0-b1 < 5.0.0-b1一个与Matomo 4兼容的插件。对于目标Matomo 3或更新的插件,请阅读Composer版本文档获取更多信息。

以下字段不是发布插件所必需的,但是你可能想要添加它们:

  • 捐赠-一个包含如何捐赠给插件作者(你!)信息的对象。该对象可以包含以下任何字段:

    • 贝宝-你的paypal邮箱地址。
    • flattr-你的网址Flattr页面。
    • 比特币-比特币地址。

    例如:

    "donate": {"paypal": "supporters@www.hju8.com", "flattr": "https://flattr.com/thing/131552/Piwik-Web-Analytics-Open-Source", "比特币":"1NdftZmgb8V9PgbFDYjC5PRJ2QDLyyzCU9"}
  • 支持-一个包含如何与你取得联系的信息的对象。任何指定的资源都将在插件页面的“支持”选项卡中可见。该对象可以包含以下任何字段:

    • 电子邮件—联系人或技术支持邮箱地址。
    • 问题-这个插件的问题/ bug /特性跟踪器的URL。
    • 论坛-一个论坛的URL。
    • 文档-这个插件的文档或指南的URL。
    • irc- IRC信息。
    • 维基- wiki的URL。
    • -指向源代码的URL。
    • rss-一个他们可以订阅新闻或更新的URL。

    例如:

    "support": {"email": "support@example.com", "issues": "https://github.com/matomo-org/matomo/issues", "forum": "https://forum.piwik.org", "irc": "irc: " freenode/piwik", "source": "https://github.com/matomo-org/matomo/", "wiki": "https://github.com/matomo-org/matomo/wiki", "docs": "https://piwik.org/docs/", "rss": "https://piwik.org/feed/"}
  • 预览-预览让您定义演示链接和视频。如果定义了,它们将在插件的“预览”选项卡中可见。该对象可以包含以下任何字段:

    • demo_url-一个插件演示的URL
    • video_url-一个YouTube URL来展示你的插件。URL必须如下例所示。这意味着一个YouTube URL必须开始https://www.youtube-nocookie.com/embed/
    "preview": {"demo_url": "https://demo.piwik.org", "video_url": "https://www.youtube-nocookie.com/embed/Aaa_111HHH"}
  • 存档-让你定义一些选项来创建Matomo插件存档。

    • 排除-允许您配置当用户下载或安装插件时应从ZIP文件中删除哪些文件或目录。不能使用任何通配符,路径必须以斜杠开头/.默认情况下,总是会从ZIP归档文件中删除一些目录和文件:目录测试,测试而且截图还有文件.travis.yml而且.gitignore在插件的根目录中找到。
    “档案”:{“排除”:[" /构建”、“/ test.log”)}
  • wordpress-compatible:一个布尔值,定义这个插件在Matomo for WordPress中是否工作。默认情况下是启用的,Marketplace会让你的插件自动与WordPress兼容。

  • onpremise-compatible:一个布尔值,定义这个插件是否在Matomo On-Premise中工作。亚博账号每天2000元出租通常不需要设置这个标志来禁用它。如果这个插件只能在WordPress上使用,我们建议把它发布到WordPress市场上。

下面是一个完整的例子:

{"name": "MyPlugin", "description": "这是将在市场上显示的简短说明","version": "0.1.0", "license": "GPL-3.0+", "keywords": [" MyPlugin"], "首页":"https://piwik.org", "authors": [{"name": "Piwik", "email": "hello@www.hju8.com", "首页":"https://piwik.org"}], "preview": {"demo_url": "https://demo.piwik.org", "video_url": "https://www.youtube.com/embed/Aaa_111HHH"}, "archive": {"exclude": ["/builds", "/test.log"]}, "support": {"email":“support@example.com”、“问题”:“https://github.com/matomo-org/matomo/issues”、“论坛”:“https://forum.piwik.org”,“irc”:“irc: / /自由节点/ piwik”、“源”:“https://github.com/matomo-org/matomo/”,“维基”:“https://github.com/matomo-org/matomo/wiki”、“文档”:“https://piwik.org/docs/”,“rss”:“https://piwik.org/feed/”},“需要”:{" piwik ": " > = 2.9.0 "}}

许可证

plugin.json文件,您可以定义您的许可证的名称。

你也可以放一个许可证,LICENSE.txtLICENSE.md在插件的根目录中的文件。如果存在,插件页面上的许可名称将可点击,用户将能够看到完整的许可文本。

更新日志

建议创建并维护一个更新日志,CHANGELOG.txtCHANGELOG.md在插件的根目录中的文件。如果存在,一个标签“Changelog”将出现在您的插件页面上,显示该文件的内容。

文档

建议将插件文档直接放入/ docs / index.md文件。如果文件存在,它的内容将显示在插件页面的“文档”选项卡中。

常见问题解答

建议把你的插件的FAQ直接放到/ docs / faq.md文件。如果该文件存在,它的内容将显示在插件页面的“常见问题”选项卡中。

在市场上发布你的插件

把你的插件放到GitHub上

市场使用GitHubwebhooks来了解您的插件,并将其提供给需要它的Matomo用户。这意味着您不需要手动将任何文件上传到市场。相反,你把你的代码放在一个Github存储库中,让市场知道它。

创建和初始化gitGithub上的存储库超出了本指南的范围。如果你需要学习如何创建一个Github存储库,阅读本文

激活Matomo Plugins webhook

一旦你的插件在Github存储库中,你需要让市场知道它。这是通过激活Matomo Plugins webhook来完成的。

要激活这个webhook,请遵循以下步骤:

  1. 在浏览器中找到插件的Github回购。
  2. 点击设置
  3. 点击人则
  4. 点击添加webhook
  5. 输入“https://plugins.www.hju8.com/postreceive-hook”作为有效载荷URL。
  6. 任何内容类型都可以(JSON或URL编码)
  7. 确保“Just the push event”和“active”复选框被选中(默认)
  8. 单击添加webhook按钮。

现在,每当您将提交或标记推送到存储库时,市场都会收到通知。

发布插件的第一个版本

现在你可以发布插件的第一个版本了。首先,确保你的版本plugin.json0.1.0.然后,我们将运行两个git命令来发布你的插件版本:

$ git push的来源——标签

每当你将一个新标签推送到你的Github存储库时,你的插件的新版本就会在市场上可用。或者,您也可以通过创建标记创建发布在Github上。标签的名称并不重要,市场将始终使用您的版本plugin.json文件。

如果一切顺利,你的插件应该会在几分钟内出现在市场上。恭喜你!

故障排除

如果你的插件不在市场上,那么在验证你的插件时出现了一个错误plugin.json你会收到一封描述问题所在的电子邮件。

以下是一些常见错误:

  • plugin.json未找到文件。
  • 一些plugin.json必填字段没有设置。
  • 的版本plugin.json已经发布了这个插件。
  • plugin.json文件不包含有效的JSON。
  • README.md文件丢失。
  • 与你的插件名称相同的插件已经在市场上存在了。
  • 在您的插件中有一个PHP语法错误。

如果你没有收到电子邮件,那么webhook可能没有配置(或者你可能在设置webhook之前创建了标签)。

如果你在发布插件时仍然遇到麻烦,请加入IRC频道# piwik自由节点.如果你在IRC频道找不到任何人,请寻求帮助在论坛上

插件规则

关于什么可以在市场上发布,有一些限制。有可能你的插件是好的,但如果我们发现一个插件违反了以下规则之一,它将立即被删除:

  • 你的插件不能做任何违法的事情,或者是道德上的冒犯。
  • 免费插件必须具有与GNU通用公共许可证v3或任何后续版本。我们强烈建议使用与Matomo (GPL-v3.0或更高版本).你的免费插件不应该包含混淆的代码。我们认为,混淆的代码违反了GPL许可证的精神,如果不是字面上的,我们的运作。如果你没有在你的插件中指定许可证,它就假定你的插件使用GPL-3.0+或更高版本
  • 没有打电话回家未经用户知情同意。为了Matomo插件的目的,打电话回家包括:
    • 未经授权收集用户数据。例如,未经用户允许,将管理员的电子邮件地址发送回您自己的服务器是不允许的;但是询问用户的电子邮件地址并收集他们选择提交的信息是可以的。在这方面所采取的所有行动必须是用户的行为,而不是由插件自动完成。
    • 所显示的所有图像和脚本都应该是插件的一部分。这些应该在本地加载。如果插件需要从外部网站加载数据(例如伺服)这应该在插件的管理界面或描述中清楚地说明。用户必须被告知什么信息被发送到哪里。
  • Matomo附带了各种有用的库,如jQuery, AngularJs, PHP-DI, Monolog等等。出于安全性和稳定性的考虑,插件可能不包含Matomo中已经包含的任何库。相反,插件必须使用与Matomo打包的库版本。由于Matomo附带了各种api(例如用于发送邮件),您应该使用这些api,而不包括您自己的邮件库。
  • 插件页面,内容README.md文件和所有翻译文件中可能没有“赞助”链接。这适用于将显示的所有内容plugins.www.hju8.com而且themes.www.hju8.com
  • 插件不能违反我们的商标.不要使用piwikmatomo在你的域名,相反,拿出你自己的原创品牌!人们会记住名字。
  • 在一个主要的Matomo版本不再支持6个月后,我们将从市场中删除任何只支持这个不再支持的Matomo版本的插件版本。例如《Matomo 2》。Xreaches its end of life in December 2017 (receives no longer any updates nor security fixes), we will remove all plugin versions that target only Matomo 2.X in June 2018. This may cause a plugin to disappear from the Marketplace when there is no longer any up to date version. Please note it is always recommended to update to a supported Matomo version in order to still receive updates and security fixes.

利用市场

现在你已经把你的插件放到了市场上,是时候学习如何使用它了。本节将解释你如何才能最大限度地走出市场。

插件页面

每个插件在市场上都有自己的页面。顶部是插件的名称和简短描述,后面是一组选项卡。

控件中的描述部分确定了选项卡的内容README.md文件,CHANGELOG.md,文档/ index.md而且文档/ faq.md文件。看到这个插件举个例子。

Baidu