Skip to main content

Piwik support for uData

Project description

udata-piwik

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

This plugin provide integration between udata and Piwik/Matomo

Compatibility

udata-piwik requires Python 2.7+ and udata.

Installation

Install udata.

Remain in the same virtual environment (for Python) and use the same version of npm (for JS).

Install udata-piwik:

pip install udata-piwik

Modify your local configuration file of udata (typically, udata.cfg) as following:

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>'
# Mapping of piwik goals {'<name_in_udata>': <id_in_piwik>}
# All keys are required
PIWIK_GOALS = {
    'NEW_DATASET': 1,
    'NEW_REUSE': 2,
    'NEW_FOLLOW': 3,
    'SHARE': 4,
    'RESOURCE_DOWNLOAD': 5,
    'RESOURCE_REDIRECT': 6,
}
# `client.track` method `requests` timeout
PIWIK_TRACK_TIMEOUT = 60  # in seconds
# `client.analyze` method `requests` timeout
PIWIK_ANALYZE_TIMEOUT = 60 * 5  # in seconds

Optional configuration

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

Testing on local env

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

Changelog

2.1.1 (2020-05-20)

  • Remove object's id in error log message in order to have a cleaner message #195

2.1.0 (2020-05-12)

  • Changed metrics system #185:
    • Metrics are now stored into InfluxDB before being injected in udata's objects
    • Udata piwik accesses influxDB throught udata-metrics
    • The periodic job piwik-update-metrics needs to be scheduled in addition to existing jobs, in order to retrieve the views metrics in udata's objects
    • The command update-metrics was added to trigger the metrics injection manually

2.0.2 (2020-04-24)

  • [fix] Do not expect a json response from tracking api #192

2.0.1 (2020-04-07)

  • Do not expect a json response from tracking api #190

2.0.0 (2020-03-11)

  • Migrate to python3 🐍 #68
  • Migrate footer snippet to the new footer.snippets hook #157

1.5.1 (2019-12-31)

  • Fix JS syntax when subscribing to goals #174

1.5.0 (2019-12-30)

  • Independant Matomo site ids for front and api tracking :warning: breaking change, you need to set PIWIK_ID_FRONT and PIWIK_ID_API in settings (they can be the same) #173

1.4.2 (2019-12-13)

  • Improve detect_by_url error handling #171

1.4.1 (2019-05-15)

  • Fix bulk handling of unicode URLs #139

1.4.0 (2019-03-27)

  • Consolidate and expose default settings #119
  • Process API calls in bulk #120

1.3.2 (2019-01-14)

  • Add PIWIK_SCHEME config support #104

1.3.1 (2018-11-05)

  • Ensure JS goals handling waits for uData object to be present #91

1.3.0 (2018-10-11)

  • Advanced search tracking: display results count and categories (datasets, reuses, organizations) #88
  • Lower jobs piriority to low #90
  • Depends on udata>=1.6.1

1.2.0 (2018-06-06)

  • Simpler and more reliable metrics computation #54

1.1.1 (2018-03-15)

  • Handle multiple resources for same url #49

1.1.0 (2018-03-13)

  • Refactor counter.handle_downloads - fix #1421
  • Switch to flask-cli and endpoint-based commands (requires udata>=1.3) #33
  • Expose the new udata.tasks endpoint #39
  • Expose the new udata.views endpoint #41
  • Add content tracking options in configuration paramaters #42

1.0.2 (2017-12-20)

  • Fix version number
  • Fix README on pypi

1.0.1 (2017-12-20)

  • Fix packaging issue

1.0.0 (2017-12-19)

  • Add (automated) tests against a Piwik instance #20
  • Handle download count on latest url for (community) resources #30

0.9.3 (2017-12-11)

  • Add a timeout to analyze() #19

0.9.2 (2017-12-11)

  • Add a timeout to track() #18

0.9.1 (2017-01-10)

  • Fix build and packaging

0.9.0 (2017-01-10)

  • First published release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

udata_piwik-2.1.1-py2.py3-none-any.whl (16.1 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page