【问题标题】:Integrate Piwik Analytics into SharePoint 2016将 Piwik 分析集成到 SharePoint 2016
【发布时间】:2017-09-09 15:22:14
【问题描述】:

将 Piwik 3.0.2 分析集成到 SharePoint 2016 本地场的干净方法是什么? Piwik 本身建议将以下 sn-p 嵌入网页的头部。如何以干净和支持的方式为我们所有的约 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 -->

【问题讨论】:

    标签: sharepoint matomo


    【解决方案1】:

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

    【讨论】:

    • 请记住,如果启用了 MDS,则如上所述简单地添加脚本块可能不会(总是)起作用。
    【解决方案2】:

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

    即使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" />
    

    在“您的”piwik.js 中确保您正在为 MDS 注册一个模块:

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

    someFuncToCallOnNavigate 中,您应该检查 piwik.js 是否已经加载并在需要时加载。之后,您可以按照 piwik api 中的说明开始跟踪。请注意,如果启用了 MDS,您的大部分页面请求将发送到 start.aspx。因此,您可能需要在跟踪它之前修改 url。请参阅this file,了解我如何尝试解决该问题。

    【讨论】:

      【解决方案3】:

      如果您的农场中有附加基础设施,您还可以查看Web Analytics Integration add-in

      【讨论】:

        猜你喜欢
        • 2017-10-22
        • 2016-07-12
        • 2019-09-22
        • 2017-05-31
        • 1970-01-01
        • 1970-01-01
        • 2019-08-11
        • 2021-09-03
        • 1970-01-01
        相关资源
        最近更新 更多