<html xmlns:py="http://genshi.edgewall.org/" |
<html xmlns:py="http://genshi.edgewall.org/" |
xmlns:i18n="http://genshi.edgewall.org/i18n" |
xmlns:i18n="http://genshi.edgewall.org/i18n" |
xmlns:xi="http://www.w3.org/2001/XInclude" |
xmlns:xi="http://www.w3.org/2001/XInclude" |
py:strip=""> |
py:strip=""> |
|
|
<xi:include href="../ga_util.html" /> |
<xi:include href="../ga_util.html" /> |
|
|
<py:def function="page_title">Site usage</py:def> |
<py:def function="page_title">Site usage</py:def> |
|
|
|
<py:def function="optional_head"> |
|
<link rel="stylesheet" type="text/css" href="/scripts/vendor/rickshaw.min.css"/> |
|
<link rel="stylesheet" type="text/css" href="/css/ga_report.css"/> |
|
<script type="text/javascript" src="/scripts/ckanext_ga_reports.js"></script> |
|
<script type="text/javascript" src="/scripts/vendor/jquery.sparkline.modified.js"></script> |
|
<script type="text/javascript" src="/scripts/vendor/d3.v2.js"></script> |
|
<script type="text/javascript" src="/scripts/vendor/d3.layout.min.js"></script> |
|
<script type="text/javascript" src="/scripts/vendor/rickshaw.min.js"></script> |
|
</py:def> |
|
|
<py:match path="primarysidebar"> |
<py:match path="primarysidebar"> |
<li class="widget-container boxed widget_text"> |
|
<h4>Site-wide</h4> |
|
<p> |
|
Note: this data does not include API calls and some values have been rounded up to 2 decimal places. Where there are a large number of browser versions they have been grouped together. |
|
</p> |
|
</li> |
|
<li class="widget-container boxed widget_text"> |
<li class="widget-container boxed widget_text"> |
<h4>Download</h4> |
<h4>Download</h4> |
<p><center> |
<p><center> |
<a class="btn button" href="${h.url_for(controller='ckanext.ga_report.controller:GaReport',action='csv',month=c.month or 'all')}">Download as CSV</a></center> |
<a class="btn button btn-primary" href="${h.url_for(controller='ckanext.ga_report.controller:GaReport',action='csv',month=c.month or 'all')}">Download as CSV</a></center> |
</p> |
</p> |
</li> |
</li> |
|
<xi:include href="../notes.html" /> |
|
|
</py:match> |
</py:match> |
|
|
<div py:match="content"> |
<div py:match="content"> |
<h1>Site Usage</h1> |
<h1>Site Usage</h1> |
${usage_nav('Site-wide', None)} |
${usage_nav('Site-wide')} |
|
|
<form class="form-inline" action="${h.url_for(controller='ckanext.ga_report.controller:GaReport',action='index')}" method="get"> |
<form class="form-inline" action="${h.url_for(controller='ckanext.ga_report.controller:GaReport',action='index')}" method="get"> |
<div class="controls"> |
<div class="controls"> |
<select name="month"> |
|
<option value='' py:attrs="{'selected': 'selected' if not c.month else None}">All time</option> |
|
|
|
<py:for each="val,desc in c.months"> |
${month_selector(c.month, c.months, c.day)} |
<option value='${val}' py:attrs="{'selected': 'selected' if c.month == val else None}">${desc}</option> |
|
</py:for> |
<input class="btn button btn-primary" type='submit' value="Update"/> |
</select> |
|
<input class="btn button" type='submit' value="Update"/> |
|
</div> |
</div> |
</form> |
</form> |
|
|
<div class="tabbable"> |
<div class="tabbable"> |
<ul class="nav nav-tabs"> |
<ul class="nav nav-tabs"> |
<li class="active"><a href="#totals" data-toggle="tab">Totals</a></li> |
<li class="active"><a href="#totals" data-toggle="tab">Totals</a></li> |
<li class="dropdown"> |
<li class="dropdown"> |
<a href="#browsers" class="dropdown-toggle" data-toggle="dropdown">Browsers |
<a href="#browsers" class="dropdown-toggle" data-toggle="dropdown">Browsers |
<b class="caret"></b></a> |
<b class="caret"></b></a> |
<ul class="dropdown-menu"> |
<ul class="dropdown-menu"> |
<li><a href="#browsers_names" data-toggle="tab">Browsers</a></li> |
<li><a href="#browsers_names" data-toggle="tab">Browsers</a></li> |
<li><a href="#browsers_versions" data-toggle="tab">Versions</a></li> |
<li><a href="#browsers_versions" data-toggle="tab">Versions</a></li> |
</ul> |
</ul> |
</li> |
</li> |
<li class="dropdown"> |
<li class="dropdown"> |
<a href="#browsers" class="dropdown-toggle" data-toggle="dropdown">Operating<br/>Systems |
<a href="#browsers" class="dropdown-toggle" data-toggle="dropdown">Operating<br/>Systems |
<b class="caret"></b></a> |
<b class="caret"></b></a> |
<ul class="dropdown-menu"> |
<ul class="dropdown-menu"> |
<li><a href="#os" data-toggle="tab">Operating Systems</a></li> |
<li><a href="#os" data-toggle="tab">Operating Systems</a></li> |
<li><a href="#os_versions" data-toggle="tab">Versions</a></li> |
<li><a href="#os_versions" data-toggle="tab">Versions</a></li> |
</ul> |
</ul> |
</li> |
</li> |
<li class="dropdown"> |
<li class="dropdown"> |
<a href="#browsers" class="dropdown-toggle" data-toggle="dropdown">Social Networks |
<a href="#browsers" class="dropdown-toggle" data-toggle="dropdown">Social Networks |
<b class="caret"></b></a> |
<b class="caret"></b></a> |
<ul class="dropdown-menu"> |
<ul class="dropdown-menu"> |
<li><a href="#social_networks" data-toggle="tab">All networks</a></li> |
<li><a href="#social_networks" data-toggle="tab">All networks</a></li> |
<li><a href="#social_referrals_totals" data-toggle="tab">Referral links</a></li> |
<li><a href="#social_referrals_totals" data-toggle="tab">Referral links</a></li> |
</ul> |
</ul> |
</li> |
</li> |
|
|
<li><a href="#social_networks" data-toggle="tab"></a></li> |
<li><a href="#social_networks" data-toggle="tab"></a></li> |
<li><a href="#languages" data-toggle="tab">Languages</a></li> |
<li><a href="#languages" data-toggle="tab">Languages</a></li> |
<li><a href="#country" data-toggle="tab">Country</a></li> |
<li><a href="#country" data-toggle="tab">Country</a></li> |
</ul> |
</ul> |
<div class="tab-content"> |
<div class="tab-content"> |
<div class="tab-pane active" id="totals"> |
<div class="tab-pane active" id="totals"> |
<table class="table table-condensed table-bordered table-striped"> |
<table class="table table-condensed table-bordered table-striped"> |
<tr> |
<tr> |
<th>Name</th> |
<th>Name</th> |
<th>Value</th> |
<th>Value</th> |
|
<th>History</th> |
</tr> |
</tr> |
<py:for each="name, value in c.global_totals"> |
<py:for each="name, value, graph in c.global_totals"> |
<tr> |
<tr> |
<td>${name}</td> |
<td>${name}</td> |
<td>${value}</td> |
<td>${value}</td> |
|
<td class="sparkline-cell"> |
|
<span class="sparkline" sparkTooltips="${','.join([x for x,y in graph])}"> |
|
${','.join([y for x,y in graph])} |
|
</span> |
|
</td> |
</tr> |
</tr> |
</py:for> |
</py:for> |
</table> |
</table> |
</div> |
</div> |
<div class="tab-pane" id="browsers_versions"> |
<div class="tab-pane" id="browsers_versions"> |
|
${rickshaw_graph(c.browser_versions_graph,'browser-versions',mode='stack')} |
|
<p>Note: Where a browser has a large number of versions, these have been grouped together.</p> |
${stat_table(c.browser_versions)} |
${stat_table(c.browser_versions)} |
</div> |
</div> |
<div class="tab-pane" id="browsers_names"> |
<div class="tab-pane" id="browsers_names"> |
|
${rickshaw_graph(c.browsers_graph,'browsers',mode='stack')} |
${stat_table(c.browsers)} |
${stat_table(c.browsers)} |
</div> |
</div> |
<div class="tab-pane" id="os"> |
<div class="tab-pane" id="os"> |
|
${rickshaw_graph(c.os_graph,'os',mode='stack')} |
${stat_table(c.os)} |
${stat_table(c.os)} |
</div> |
</div> |
<div class="tab-pane" id="os_versions"> |
<div class="tab-pane" id="os_versions"> |
|
${rickshaw_graph(c.os_versions_graph,'os_versions',mode='stack')} |
${stat_table(c.os_versions)} |
${stat_table(c.os_versions)} |
</div> |
</div> |
<div class="tab-pane" id="social_referrals_totals"> |
<div class="tab-pane" id="social_referrals_totals"> |
<p>Number of visits to urls referred from social networks</p> |
<p>Number of visits that were referred from social networks</p> |
${social_table(c.social_referrer_totals)} |
${social_table(c.social_referrer_totals)} |
</div> |
</div> |
<div class="tab-pane" id="social_networks"> |
<div class="tab-pane" id="social_networks"> |
<p>Percentage of visits referred from these social networks</p> |
${rickshaw_graph(c.social_networks_graph, 'social_networks',mode='stack')} |
|
<p>Percentage of visits that were referred from these social networks</p> |
${stat_table(c.social_networks, 'Visits')} |
${stat_table(c.social_networks, 'Visits')} |
</div> |
</div> |
<div class="tab-pane" id="languages"> |
<div class="tab-pane" id="languages"> |
|
${rickshaw_graph(c.languages_graph,'languages',mode='stack')} |
${stat_table(c.languages)} |
${stat_table(c.languages)} |
</div> |
</div> |
<div class="tab-pane" id="country"> |
<div class="tab-pane" id="country"> |
|
${rickshaw_graph(c.country_graph,'country',mode='stack')} |
${stat_table(c.country)} |
${stat_table(c.country)} |
</div> |
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
|
</div> |
<py:def function="optional_footer"> |
</div> |
<script type="text/javascript"> |
|
$(function() { |
|
var sparkOptions = { |
|
enableTagOptions: true, |
</div> |
type: 'line', |
|
width: 100, |
|
height: 26, |
|
chartRangeMin: 0, |
|
spotColor: '', |
|
maxSpotColor: '', |
|
minSpotColor: '', |
|
highlightSpotColor: '000000', |
|
lineColor: '3F8E6D', |
|
fillColor: 'B7E66B' |
|
}; |
|
$('.sparkline').sparkline('html',sparkOptions); |
|
}); |
|
</script> |
|
</py:def> |
|
|
<xi:include href="../../layout.html" /> |
<xi:include href="../../layout.html" /> |
|
|
<py:def function="optional_footer"> |
|
<script type='text/javascript'> |
|
$('.dropdown-toggle').dropdown(); |
|
$('.nav-tabs li a').click(function (e) { |
|
e.preventDefault(); |
|
$(this).tab('show'); |
|
}) |
|
alert(window.location.hash); |
|
</script> |
|
</py:def> |
|
</html> |
</html> |
|
|
|
|
|
|
|
|