<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=""> |
<py:def function="page_title">Publisher Analytics for ${g.site_title}</py:def> | <py:def function="page_title">Publisher Analytics for ${g.site_title}</py:def> |
<py:match path="primarysidebar"> | |
<li class="widget-container boxed widget_text"> | |
<h4>Publishers</h4> | |
</li> | |
</py:match> | |
<div py:match="content"> | <div py:match="content"> |
<h1>Publisher Analytics</h1> | <h1>Publisher Analytics</h1> |
<h2>The top 20 publishers</h2> | <h2>The top 20 publishers</h2> |
<form class="form-inline" action="${h.url_for(controller='ckanext.ga_report.controller:GaPublisherReport',action='index')}" method="get"> | <form class="form-inline" action="${h.url_for(controller='ckanext.ga_report.controller:GaPublisherReport',action='index')}" method="get"> |
<div class="controls"> | <div class="controls"> |
<select name="month"> | <select name="month"> |
<py:for each="val,desc in c.months"> | <py:for each="val,desc in c.months"> |
<option value='${val}' py:attrs="{'selected': 'selected' if c.month == val else None}">${desc}</option> | <option value='${val}' py:attrs="{'selected': 'selected' if c.month == val else None}">${desc}</option> |
</py:for> | </py:for> |
</select> | </select> |
<input class="btn button" type='submit' value="Update"/> | <input class="btn button" type='submit' value="Update"/> |
</div> | </div> |
</form> | </form> |
<table class="table table-condensed table-bordered table-striped"> | <table class="table table-condensed table-bordered table-striped"> |
<tr> | <tr> |
<th>Publisher</th> | <th>Publisher</th> |
<th>Dataset Views</th> | <th>Dataset Views</th> |
<th>Visits</th> | <th>Visits</th> |
</tr> | </tr> |
<py:for each="publisher, views, visits in c.top_publishers"> | <py:for each="publisher, views, visits in c.top_publishers"> |
<tr> | <tr> |
<td>${h.link_to(publisher.title, h.url_for(controller='ckanext.ga_report.controller:GaPublisherReport', action='read', id=publisher.name))} | <td>${h.link_to(publisher.title, h.url_for(controller='ckanext.ga_report.controller:GaPublisherReport', action='read', id=publisher.name))} |
</td> | </td> |
<td>${views}</td> | <td>${views}</td> |
<td>${visits}</td> | <td>${visits}</td> |
</tr> | </tr> |
</py:for> | </py:for> |
</table> | </table> |
</div> | </div> |
<xi:include href="../../layout.html" /> | <xi:include href="../../layout.html" /> |
<py:def function="optional_footer"> | <py:def function="optional_footer"> |
<script type='text/javascript'> | <script type='text/javascript'> |
$('.nav-tabs li a').click(function (e) { | $('.nav-tabs li a').click(function (e) { |
e.preventDefault(); | e.preventDefault(); |
$(this).tab('show'); | $(this).tab('show'); |
}) | }) |
</script> | </script> |
</py:def> | </py:def> |
</html> | </html> |
<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=""> |
<py:def function="page_title">Analytics for ${g.site_title}</py:def> | <py:def function="page_title">Analytics for ${g.site_title}</py:def> |
<py:match path="primarysidebar"> | |
<li class="widget-container boxed widget_text"> | |
<h4>${c.publisher.title}</h4> | |
<p> | |
The table shows the top 20 most viewed datasets belonging to ${c.publisher.title}. | |
</p> | |
<p> | |
As well as showing the number of views within ${c.month_desc}, it will also show the | |
number of visitors that viewed each dataset. | |
</p> | |
<p> | |
<p>The dataset list page for <a href="${h.url_for(controller='ckanext.dgu.controllers.publisher:PublisherController', action='read', id=c.publisher.name)}">${c.publisher.title}</a> was viewed ${c.publisher_page_views} times during ${c.month_desc}</p> | |
</p> | |
</li> | |
</py:match> | |
<div py:match="content"> | <div py:match="content"> |
<h1>Analytics for ${c.publisher.title}</h1> | <h1>Analytics for ${c.publisher.title}</h1> |
<h2>Top 20 most viewed datasets</h2> | <h2>Top 20 most viewed datasets</h2> |
<p><em>Note: this data does not include API calls</em></p> | <p><em>Note: this data does not include API calls</em></p> |
<form class="form-inline" action="${h.url_for(controller='ckanext.ga_report.controller:GaPublisherReport',action='read',id=c.publisher.name)}" method="get"> | <form class="form-inline" action="${h.url_for(controller='ckanext.ga_report.controller:GaPublisherReport',action='read',id=c.publisher.name)}" method="get"> |
<div class="controls"> | <div class="controls"> |
<select name="month"> | <select name="month"> |
<py:for each="val,desc in c.months"> | <py:for each="val,desc in c.months"> |
<option value='${val}' py:attrs="{'selected': 'selected' if c.month == val else None}">${desc}</option> | <option value='${val}' py:attrs="{'selected': 'selected' if c.month == val else None}">${desc}</option> |
</py:for> | </py:for> |
</select> | </select> |
<input class="btn button" type='submit' value="Update"/> | <input class="btn button" type='submit' value="Update"/> |
</div> | </div> |
</form> | </form> |
<p><a href="${h.url_for(controller='ckanext.dgu.controllers.publisher:PublisherController', action='read', id=c.publisher.name)}">${c.publisher.title} dataset list</a> was viewed ${c.publisher_page_views} times in ${c.month_desc}</p> | |
<table class="table table-condensed table-bordered table-striped"> | <table class="table table-condensed table-bordered table-striped"> |
<tr> | <tr> |
<th>Dataset</th> | <th>Dataset</th> |
<th>Views</th> | <th>Views</th> |
<th>Visits</th> | <th>Visits</th> |
</tr> | </tr> |
<py:for each="package, views, visits in c.top_packages"> | <py:for each="package, views, visits in c.top_packages"> |
<tr> | <tr> |
<td>${h.link_to(package.title or package.name, h.url_for(controller='package', action='read', id=package.name))} | <td>${h.link_to(package.title or package.name, h.url_for(controller='package', action='read', id=package.name))} |
</td> | </td> |
<td>${views}</td> | <td>${views}</td> |
<td>${visits}</td> | <td>${visits}</td> |
</tr> | </tr> |
</py:for> | </py:for> |
</table> | </table> |
</div> | </div> |
<xi:include href="../../layout.html" /> | <xi:include href="../../layout.html" /> |
</html> | </html> |
<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=""> |
<py:def function="page_title">Site analytics</py:def> | <py:def function="page_title">Site analytics</py:def> |
<py:match path="primarysidebar"> | |
<li class="widget-container boxed widget_text"> | |
<h4>Statistics</h4> | |
</li> | |
</py:match> | |
<div py:match="content"> | <div py:match="content"> |
<h1>Site statistics</h1> | <h1>Site statistics</h1> |
<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"> | <select name="month"> |
<py:for each="val,desc in c.months"> | <py:for each="val,desc in c.months"> |
<option value='${val}' py:attrs="{'selected': 'selected' if c.month == val else None}">${desc}</option> | <option value='${val}' py:attrs="{'selected': 'selected' if c.month == val else None}">${desc}</option> |
</py:for> | </py:for> |
</select> | </select> |
<input class="btn button" type='submit' value="Update"/> | <input class="btn button" type='submit' value="Update"/> |
</div> | </div> |
</form> | </form> |
<p><a href="${h.url_for(controller='ckanext.ga_report.controller:GaReport',action='csv',month=c.month)}">Export data</a> as CSV</p> | <p><a href="${h.url_for(controller='ckanext.ga_report.controller:GaReport',action='csv',month=c.month)}">Export data</a> as CSV</p> |
<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><a href="#browsers" data-toggle="tab">Browsers</a></li> | <li><a href="#browsers" data-toggle="tab">Browsers</a></li> |
<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="#social_networks" data-toggle="tab">Social Networks</a></li> | <li><a href="#social_networks" data-toggle="tab">Social Networks</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> |
</tr> | </tr> |
<py:for each="name, value in c.global_totals"> | <py:for each="name, value in c.global_totals"> |
<tr> | <tr> |
<td>${name}</td> | <td>${name}</td> |
<td>${value}</td> | <td>${value}</td> |
</tr> | </tr> |
</py:for> | </py:for> |
</table> | </table> |
</div> | </div> |
<div class="tab-pane" id="browsers"> | <div class="tab-pane" id="browsers"> |
<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> |
</tr> | </tr> |
<py:for each="name, value in c.browsers"> | <py:for each="name, value in c.browsers"> |
<tr> | <tr> |
<td>${name}</td> | <td>${name}</td> |
<td>${value}</td> | <td>${value}</td> |
</tr> | </tr> |
</py:for> | </py:for> |
</table> | </table> |
</div> | </div> |
<div class="tab-pane" id="os"> | <div class="tab-pane" id="os"> |
<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> |
</tr> | </tr> |
<py:for each="name, value in c.os"> | <py:for each="name, value in c.os"> |
<tr> | <tr> |
<td>${name}</td> | <td>${name}</td> |
<td>${value}</td> | <td>${value}</td> |
</tr> | </tr> |
</py:for> | </py:for> |
</table> | </table> |
</div> | </div> |
<div class="tab-pane" id="social_networks"> | <div class="tab-pane" id="social_networks"> |
<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> |
</tr> | </tr> |
<py:for each="name, value in c.social_networks"> | <py:for each="name, value in c.social_networks"> |
<tr> | <tr> |
<td>${name}</td> | <td>${name}</td> |
<td>${value}</td> | <td>${value}</td> |
</tr> | </tr> |
</py:for> | </py:for> |
</table> | </table> |
</div> | </div> |
<div class="tab-pane" id="languages"> | <div class="tab-pane" id="languages"> |
<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> |
</tr> | </tr> |
<py:for each="name, value in c.languages"> | <py:for each="name, value in c.languages"> |
<tr> | <tr> |
<td>${name}</td> | <td>${name}</td> |
<td>${value}</td> | <td>${value}</td> |
</tr> | </tr> |
</py:for> | </py:for> |
</table> | </table> |
</div> | </div> |
<div class="tab-pane" id="country"> | <div class="tab-pane" id="country"> |
<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> |
</tr> | </tr> |
<py:for each="name, value in c.country"> | <py:for each="name, value in c.country"> |
<tr> | <tr> |
<td>${name}</td> | <td>${name}</td> |
<td>${value}</td> | <td>${value}</td> |
</tr> | </tr> |
</py:for> | </py:for> |
</table> | </table> |
</div> | </div> |
</div> | </div> |
</div> | </div> |
</div> | </div> |
<xi:include href="../../layout.html" /> | <xi:include href="../../layout.html" /> |
<py:def function="optional_footer"> | <py:def function="optional_footer"> |
<script type='text/javascript'> | <script type='text/javascript'> |
$('.nav-tabs li a').click(function (e) { | $('.nav-tabs li a').click(function (e) { |
e.preventDefault(); | e.preventDefault(); |
$(this).tab('show'); | $(this).tab('show'); |
}) | }) |
</script> | </script> |
</py:def> | </py:def> |
</html> | </html> |