将Piwik Analytics集成到SharePoint 2016中

时间:2017-04-13 13:15:07

标签: sharepoint matomo

将Piwik 3.0.2分析集成到SharePoint 2016内部部署服务器场的简洁方法是什么? Piwik本身建议将以下片段嵌入网页的头部。如何以干净和支持的方式为我们所有的~5000个网站集实现这一目标?谢谢你的帮助:)



<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//my-piwik-url/";
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', '3']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Piwik Code -->
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

如果您的服务器场中有加载项基础结构,您还可以查看Web Analytics Integration add-in

答案 1 :(得分:0)

如果是我,我会制作一个scriptlink自定义操作并将其指向我托管的文件(在sharepoint中或其他方式)。您可以安装一些PowerShell来循环租户并将自定义操作安装到每个网站集。查看this write up on how to accomplish this with powershell

答案 2 :(得分:0)

我创建了一个解决方案,用于在https://github.com/nils-a/piwik4sp在SharePoint中演示简单的piwik集成。

即使MDS (minimal download strategy)处于活动状态,它也能正常工作。但是,它是一个沙盒解决方案,正如您所说,您有大约5000个网站集,您应该修改为只有一个文件实例(例如,如果不能选择农场解决方案,请使用场解决方案或专用站点。 )

如果您从未(永远,)启用了MDS,则应执行以下操作:

<CustomAction Id="Piwik4SP.Script.Link"
    Location="ScriptLink"
    Sequence="202"
    ScriptBlock="var _paq = _paq || [];
      /* tracker methods like 'setCustomDimension' should be called before 'trackPageView' */
      _paq.push(['trackPageView']);
      _paq.push(['enableLinkTracking']);
      (function() {
        var u='//my-piwik-url/';
        _paq.push(['setTrackerUrl', u+'piwik.php']);
        _paq.push(['setSiteId', '3']);
        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
        g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
      })();" />

但是,为了很好地集成(即使使用MDS),请使用scriptLink来部署js文件like this

<CustomAction Id="Piwik.Script.Link"
    Location="ScriptLink"
    Sequence="202"
    ScriptSrc="~sitecollection/SiteAssets/Piwik4SP/piwik.js" />

in&#34; your&#34; piwik.js确保您注册MDS模块:

window.RegisterModuleInit('/path/to/your/piwik.js', someFuncToCallOnNavigate);

someFuncToCallOnNavigate中,您应该检查,如果piwik.js已经加载并在需要时加载。之后,您可以按照piwik api中的说明开始跟踪。请注意,尽管如此 - 如果启用了MDS - 您的大多数页面请求都将转到start.aspx。因此,您可能希望在跟踪之前修改网址。有关我如何解决该问题,请参阅this file