Skip to content

Commit

Permalink
Matomo Analytics improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
juancorr committed Jul 20, 2023
1 parent 4c30816 commit accef5b
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 83 deletions.
69 changes: 15 additions & 54 deletions src/main/java/edu/harvard/iq/dataverse/FilePage.java
Original file line number Diff line number Diff line change
Expand Up @@ -823,80 +823,41 @@ public boolean isPubliclyDownloadable() {

private Boolean lockedFromEditsVar;
private Boolean lockedFromDownloadVar;

private String piwikCodeVar="<!-- Matomo -->" +
//" <script type=\"text/javascript\">\n" +
//" var _paq = _paq || [];\n" +
//" _paq.push(['setDocumentTitle', document.domain + '/' + document.title]);\n" +
//" _paq.push(['setCookieDomain', '*.edatossandbox.consorciomadrono.es']);\n" +
//" _paq.push(['trackPageView']);\n" +
//" _paq.push(['enableLinkTracking']);\n" +
//" _paq.push(['setDownloadClasses', \"btn-download\"]);\n" +
//" (function() {\n" +
//" var u=\"//piwik.consorciomadrono.es/piwik/\";\n" +
//" var t=\"piwik\";\n" +
//" _paq.push(['setTrackerUrl', u+t+'.php']);\n" +
//" _paq.push(['setSiteId', '14']);\n" +
//" var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];\n" +
//" g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+t+'.js'; s.parentNode.insertBefore(g,s);\n" +
//" })();\n" +
//"</script>\n" +

// INIT MADROÑO: Matomo Statistics
private final String piwikInitCodeVar="<!-- Matomo -->" +
"<script type='text/javascript' src='https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js'></script>\n" +
"<script>\n" +
// "setTimeout(function(){ console.log('Executed after 1 second');}, 1000);\n" +
" var _paq2 = window._paq = window._paq || [];\n" +
" /* tracker methods like 'setCustomDimension' should be called before 'trackPageView' */\n" +
" _paq2.push(['setDownloadClasses', 'btn-download']);\n" +
" _paq2.push(['trackPageView']);\n" +
" _paq2.push(['enableLinkTracking']);\n" +
" (function() {\n" +
" var u='https://piwik.consorciomadrono.es/piwik/';\n" +
" // We will also collect the website data into Website ID = 7\n" +
" var websiteIdDuplicate = 14;\n" +
" // The data will be duplicated into `https://piwik.consorciomadrono.es/piwik/piwik.php`\n" +
" _paq.push(['addTracker', u+'piwik.php', websiteIdDuplicate]);\n" +
" // We will also collect the website data into Website ID = XX\n";

private final String piwikEndCodeVar=
" _paq2.push(['setTrackerUrl', u+'piwik.php']);\n" +
" _paq2.push(['setSiteId', '__ID__']);\n" +
" _paq2.push(['setSiteId', '1']);\n" +
" var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];\n" +
" g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);\n" +
" })();\n" +
"</script>\n" +
"<noscript>\n" +
" <p><img src=\"//piwik.consorciomadrono.es/piwik/piwik.php?idsite=14\" style=\"border:0;\" alt=\"\" /></p>\n" +
" <p><img src=\"//piwik.consorciomadrono.es/piwik/piwik.php?idsite=1\" style=\"border:0;\" alt=\"\" /></p>\n" +
"</noscript>\n" +
"<!-- End Matomo Code -->\n";

// private String piwikCodeVar="<!-- Matomo Code --><script type=\"text/javascript\">\n" +
//" var _paq = _paq || [];\n" +
//" _paq.push(['setDownloadClasses', \"btn-download\"]);\n" +
//" _paq.push(['trackPageView']);\n" +
//" _paq.push(['enableLinkTracking']);\n" +
//" (function() {\n" +
//" var u=\"//piwik.consorciomadrono.es/piwik/\";\n" +
//" var t=\"piwik\";\n" +
//" _paq.push(['setTrackerUrl', u+t+'.php']);\n" +
//" _paq.push(['setSiteId', '14']);\n" +
//" _paq.push(['trackPageView']);\n" +
//" var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];\n" +
//" g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+t+'.js'; s.parentNode.insertBefore(g,s);\n" +
//" _paq.push(['setSiteId', '__ID__']);\n" +
//" _paq.push(['setCookiePath', 'subDomain']);\n" +
//" _paq.push(['setDomains', 'subDomain']);\n" +
//" _paq.push(['trackPageView']);\n" +
//" var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];\n" +
//" g.async=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);\n" +
//" })();\n" +
//"</script>\n" +
//"<script type='text/javascript' src='https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js'></script>\n" +
//"<noscript>\n" +
//" <p><img src=\"//piwik.consorciomadrono.es/piwik/piwik.php?idsite=14\" style=\"border:0;\" alt=\"\" /></p>\n" +
//"</noscript>\n" +
//"<!-- End Matomo Code -->\n";

public String getPiwikCode() {
return piwikCodeVar;

public String getInitPiwikCode() {
return piwikInitCodeVar;
}

public String getEndPiwikCode() {
return piwikEndCodeVar;
}
// END MADROÑO: Matomo Statistics


/**
Expand Down
68 changes: 39 additions & 29 deletions src/main/webapp/dataverse_template.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -13,37 +13,47 @@
<f:view locale="#{dataverseSession.localeCode}">
<h:head>
<o:importFunctions type="edu.harvard.iq.dataverse.util.MarkupChecker" />
<f:facet name="first">
<ui:param name="dv2" value="1500"/>
<c:if test="#{dataverse != null}">
<ui:param name="dv2" value="#{dataverse.alias == 'URJC' ? 36 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'UPM' ? 35 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'UNED' ? 34 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'UC3M' ? 33 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'UAM' ? 32 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'UAH' ? 31 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'FRONTESPO' ? 30 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'federico-tena' ? 29 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'empatia' ? 28 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'nonlinear_solid_mechanics' ? 27 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'ESA' ? 26 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'RMP' ? 25 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'catalogos_barrios_vulnerables' ? 24 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'evaluacion_transparencia' ? 23 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'GCOM' ? 22 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'derecho' ? 21 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'YLDI' ? 20 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'BARD' ? 19 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'federico-tena-population' ? 18 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'XChem' ? 17 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'bodytransit' ? 16 : dv2}"/>
<ui:param name="dv2" value="#{dataverse.alias == 'humanidades_digitales' ? 15 : dv2}"/>
<f:facet name="first">
<!-- INIT MADROÑO: Matomo statistics -->
<ui:param name="dv2" value="1"/>
<ui:param name="dv3" value=""/>
<ui:param name="websiteIdTemplate" value="var websiteIdDuplicate = __ID__; _paq2.push(['addTracker', u+'piwik.php', websiteIdDuplicate]);"/>

<ui:param name="id_string" value="__ID__"/>
<h:outputText value="#{of:replaceAll(FilePage.piwikCode,id_string,dv2)}" escape="false" />
</c:if>

<title><h:outputText value="#{pageTitle}"/></title>
<c:if test="${not empty dataverse}" var="dataverseCheck">
<ui:param name="dv3" value="#{empty dataverse ? [] : dataverse.alias}"/>
<ui:param name="dv2" value="#{dv3 == 'URJC' ? [36] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'UPM' ? [35] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'UNED' ? [34] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'UC3M' ? [33] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'UAM' ? [32] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'UAH' ? [31] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'FRONTESPO' ? [30,31] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'federico-tena' ? [29,33] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'empatia' ? [28,33] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'nonlinear_solid_mechanics' ? [27,33] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'ESA' ? [26,31] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'RMP' ? [25,32] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'catalogos_barrios_vulnerables' ? [24,35] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'evaluacion_transparencia' ? [23,33] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'GCOM' ? [22,33] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'derecho' ? [21,33] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'YLDI' ? [20,31] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'BARD' ? [19,26,31] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'federico-tena-population' ? [18,33] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'XChem' ? [17,32] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'bodytransit' ? [16,33] : dv2}"/>
<ui:param name="dv2" value="#{dv3 == 'humanidades_digitales' ? [15,33] : dv2}"/>

<h:outputText value="#{FilePage.initPiwikCode}" escape="false" />
<ui:repeat value="#{dv2}" var="i" varStatus="loop">
<h:outputText value="#{of:replaceAll(websiteIdTemplate,'__ID__',i)}" escape="false" />
</ui:repeat>
<h:outputText value="#{FilePage.endPiwikCode}" escape="false" />
</c:if>
<!-- END MADROÑO: Matomo statistics -->

<title><h:outputText value="#{pageTitle}"/></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
Expand Down

0 comments on commit accef5b

Please sign in to comment.