跳转到主要内容

uData的Piwik/Matomo支持

项目描述

udata-piwik

Join the chat at https://gitter.im/opendatateam/udata

此插件提供udataPiwik/Matomo之间的集成

兼容性

udata-piwik需要Python 2.7+和udata

安装

安装udata

保持相同的虚拟环境(对于Python)并使用相同的npm版本(对于JS)。

安装udata-piwik

pip install udata-piwik

修改您的本地配置文件(通常是udata.cfg)如下

PLUGINS = ['piwik']
# Piwik/Matomo site IDs
# this site will track front (template) events
PIWIK_ID_FRONT = 1
# this site will track back (API) events
PIWIK_ID_API = 1
PIWIK_SCHEME = 'https'
PIWIK_URL = 'stats.data.gouv.fr'
PIWIK_AUTH = '<32-chars-auth-token-from-piwik>'
# `client.track` method `requests` timeout
PIWIK_TRACK_TIMEOUT = 60  # in seconds
# `client.analyze` method `requests` timeout
PIWIK_ANALYZE_TIMEOUT = 60 * 5  # in seconds

可选配置

# Content tracking options. Default: None
#   - 'all': track all impressions
#   - 'visible': track impressions of visible items only (default refresh: 750 ms)
PIWIK_CONTENT_TRACKING = 'visible'

本地环境测试

$ docker-compose up
$ pip install -r requirements/test.pip
$ pytest

变更日志

4.1.0 (2024-04-23)

  • 不要导入simplejson #287
  • 根据udata依赖项升级迁移到Python 3.11 #286

4.0.0 (2023-11-20)

  • 【紧急】移除以Matomo为源的指标计算(见下文) #273
  • 在CI中替换mongo旧版镜像 #266
  • 升级测试和开发依赖 #284

在此版本之前,指标计算基本上是从Matomo的udata实例的每个对象中临时计算的。我们发现这种方法非常不准确,因为Matomo限制存储的记录数约为给定“命名空间”中最常访问的1000条。可以通过使用Matomo的实时模块数据来绕过这个问题,但出于隐私原因,我们没有在我们的实例上启用它。我们还需要计数Matomo无法知道的用户访问:直接在我们的服务器上下载的资源(文件)。

因此,此模块现在只做三件事

  • 在模板中注入Matomo跟踪代码
  • 处理事件以跟踪Matomo中的API使用情况
  • 处理事件以跟踪一些Matomo目标

指标计算现在由https://github.com/opendatateam/udata-metrics处理,不使用Matomo作为数据源。

:warning: 要取消安排的任务

  • piwik-update-metrics
  • piwik-current-metrics
  • piwik-yesterday-metrics

3.1.0 (2021-09-16)

  • 将udata-gouvfr依赖项更改为udata-front(根据重命名)#249

3.0.0 (2021-07-07)

  • 确保与udata-front和移除的目标机制的兼容性 #245

2.1.4 (2021-05-06)

  • 将influx docker镜像版本锁定以防止使用Influx v2 #239

2.1.3 (2021-05-05)

  • 修复noscript img协议 #215
  • 当analyze的API调用失败时添加异常抛出 #230

2.1.2 (2020-07-03)

  • 为每个模型指标添加特定查询 #203

2.1.1 (2020-05-20)

  • 从错误日志消息中删除对象的id以获得更简洁的消息 #195

2.1.0 (2020-05-12)

  • 更改指标系统 #185
    • 现在在注入udata对象之前将指标存储到InfluxDB中
    • Udata piwik通过udata-metrics访问influxDB
    • 需要额外安排周期性作业piwik-update-metrics,以检索udata对象中的查看指标
    • 添加了命令update-metrics以手动触发指标注入

2.0.2 (2020-04-24)

  • [修复] 不要期望跟踪API返回JSON响应 #192

2.0.1 (2020-04-07)

  • 不要期望跟踪API返回JSON响应 #190

2.0.0 (2020-03-11)

  • 迁移到python3 🐍 #68
  • 将页脚片段迁移到新的footer.snippets钩子 #157

1.5.1 (2019-12-31)

  • 修复订阅目标时的JS语法错误 #174

1.5.0 (2019-12-30)

  • 为前端和API跟踪提供独立的Matomo站点ID:警告:破坏性更改,您需要在设置中设置PIWIK_ID_FRONTPIWIK_ID_API(它们可以是相同的)#173

1.4.2 (2019-12-13)

  • 改进detect_by_url错误处理 #171

1.4.1 (2019-05-15)

  • 修复处理Unicode URL的批量操作 #139

1.4.0 (2019-03-27)

  • 合并并公开默认设置 #119
  • 批量处理API调用 #120

1.3.2 (2019-01-14)

  • 添加PIWIK_SCHEME配置支持 #104

1.3.1 (2018-11-05)

  • 确保 JS 目标处理等待 uData 对象存在 #91

1.3.0 (2018-10-11)

  • 高级搜索跟踪:显示结果数量和类别(数据集、重用、组织) #88
  • 降低作业优先级到 low #90
  • 依赖于 udata>=1.6.1

1.2.0 (2018-06-06)

  • 更简单、更可靠的指标计算 #54

1.1.1 (2018-03-15)

  • 处理相同 URL 的多个资源 #49

1.1.0 (2018-03-13)

  • 重构 counter.handle_downloads - 修复 #1421
  • 切换到 flask-cli 和基于端点的命令(需要 udata>=1.3#33
  • 公开新的 udata.tasks 端点 #39
  • 公开新的 udata.views 端点 #41
  • 在配置参数中添加内容跟踪选项 #42

1.0.2 (2017-12-20)

  • 修复版本号
  • 修复 PyPI 上的 README

1.0.1 (2017-12-20)

  • 修复打包问题

1.0.0 (2017-12-19)

  • 添加针对 Piwik 实例的(自动化)测试 #20
  • 为(社区)资源处理最新 URL 的下载次数 #30

0.9.3 (2017-12-11)

  • analyze() 添加超时 #19

0.9.2 (2017-12-11)

  • track() 添加超时 #18

0.9.1 (2017-01-10)

  • 修复构建和打包

0.9.0 (2017-01-10)

  • 首次发布版本

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面