Puppet Class: ckan::ext::googleanalytics

Defined in:
manifests/ext/googleanalytics.pp

Summary

Installs the "googleanalytics" extension.

Overview

Sends tracking data to Google Analytics and retrieves statistics from Google Analytics and inserts them into CKAN pages.

You should enable the “googleanalytics” plugin to use this extension.

Parameters:

  • id (String)

    The Google Analytics tracking ID (usually of the form UA-XXXXXX-X).

  • account (String)

    The account name @example example.com @see www.google.com/analytics).

  • username (String)

    Google Analytics username.

  • password (String)

    Google Analytics password.

  • track_events (Boolean) (defaults to: false)

    Adds Google Analystics Event tracking.

  • revision (String) (defaults to: 'master')

    The revision (or version) of the source to checkout with git.

See Also:



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'manifests/ext/googleanalytics.pp', line 30

class ckan::ext::googleanalytics (
  String  $id,
  String  $account,
  String  $username,
  String  $password,
  Boolean $track_events = false,
  String  $revision     = 'master',
) {
  # need to install 
  # apt install  libbz2-dev
  # liblzma-dev
  # python3 install rust
  # python3 install setuptools_rust

  ckan::ext { 'googleanalytics':
    revision => $revision,
    plugin   => ['googleanalytics'],
  }

  # Google Analytics extension
  ckan::conf::setting { 'googleanalytics.id':
    value   => $id,
    require => Class['ckan::conf::production'],
  }
  ckan::conf::setting { 'googleanalytics.account':
    value   => $account,
    require => Class['ckan::conf::production'],
  }
  ckan::conf::setting { 'googleanalytics.username':
    value   => $username,
    require => Class['ckan::conf::production'],
  }
  ckan::conf::setting { 'googleanalytics.password':
    value   => $password,
    require => Class['ckan::conf::production'],
  }
  ckan::conf::setting { 'googleanalytics.track_events':
    value   => $track_events,
    require => Class['ckan::conf::production'],
  }

  # setup cron job to push events
  if $track_events {
    # run the cron every hour
    cron { 'analystics_push_events':
      command => "${ckan::paster} --plugin=ckan tracking update\
 -c ${ckan::ckan_conf} && ${ckan::paster} --plugin=ckan\
 search-index rebuild -r -c ${ckan::ckan_conf}",
      hour    => '*/1',
    }
  }
}