--- a/ckanext/ga_report/templates/ga_report/publisher/read.html +++ b/ckanext/ga_report/templates/ga_report/publisher/read.html @@ -3,58 +3,102 @@ xmlns:xi="http://www.w3.org/2001/XInclude" py:strip=""> - <py:def function="page_title">Analytics for ${g.site_title}</py:def> + <xi:include href="../ga_util.html" /> - <py:match path="primarysidebar"> + <py:def function="page_title">Usage by Dataset</py:def> - <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 for ${c.month_desc}, it will also show the - number of visitors that viewed each dataset. - </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 the selected time period</p> - <p>View the <a href="${h.url_for(controller='ckanext.ga_report.controller:GaPublisherReport', action='index')}">publishers</a> leaderboard</p> - </li> + <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?1"/> + <script type="text/javascript" src="/scripts/modernizr-2.6.2.custom.js"></script> + <script type="text/javascript" src="/scripts/ckanext_ga_reports.js?1"></script> + <script type="text/javascript" src="/scripts/vendor/jquery.sparkline.modified.js"></script> + <script type="text/javascript" src="/scripts/rickshaw_ie7_shim.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="breadcrumbs"> + <li><a href="/data/site-usage">Site Analytics</a></li> + <py:if test="c.publisher"> + <li><a href="/data/site-usage/publisher">Publishers</a></li> + <li py:if="c.publisher"><a href="/data/site-usage/publisher/${c.publisher.name}">${c.publisher.title}</a></li> + </py:if> + <py:if test="not c.publisher"> + <li><a href="${request.url}">Usage By Dataset</a></li> + </py:if> </py:match> <div py:match="content"> - <h1>Analytics for ${c.publisher.title}</h1> - <h2>Top 20 most viewed datasets of ${c.month_desc}</h2> - <p><em>Note: this data does not include API calls</em></p> + <py:with vars="download_link=h.url_for(controller='ckanext.ga_report.controller:GaDatasetReport',action='dataset_csv',id=c.publisher_name or 'all',month=c.month or 'all')"> + <a class="btn button btn-primary btn-sm pull-right" href="${download_link}"><i class="icon-download"></i> Download as CSV</a> + </py:with> + <h1>Site Usage</h1> - <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"> - <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"> - <option value='${val}' py:attrs="{'selected': 'selected' if c.month == val else None}">${desc}</option> - </py:for> - </select> - <input class="btn button" type='submit' value="Update"/> + <div class="row" style="background: #fff;"> + <div class="col-md-4"> + <div class="whitebox"> + <strong>Graph Legend</strong> + <div id="graph-legend-container"> + <div style="display: none;" id="legend_none">(No graph is loaded)</div> </div> - </form> + </div> + </div> + <div class="col-md-8"> + <div class="whitebox"> + <strong py:if="c.publisher">Datasets From <a href="${h.url_for(controller='ckanext.dgu.controllers.publisher:PublisherController',action='read',id=c.publisher.name)}">${c.publisher.title}</a></strong> + <strong py:if="not c.publisher">All Datasets</strong> + <py:if test="c.graph_data"> + ${rickshaw_graph(c.graph_data,'dataset-downloads',debug=True)} + </py:if> + </div> + </div> + </div> + <hr/> + <py:if test="c.month"> + <h4>Statistics for ${h.month_option_title(c.month,c.months,c.day)}:</h4> + </py:if> + <py:if test="not c.month"> + <h2>Statistics for all months</h2> + </py:if> + <form style="margin-bottom:10px;" class="form-inline" action="${h.url_for(controller='ckanext.ga_report.controller:GaDatasetReport',action='read')}" method="get"> + <div class="controls"> - <table class="table table-condensed table-bordered table-striped"> - <tr> - <th>Dataset</th> - <th>Views</th> - <th>Visits</th> - </tr> - <py:for each="package, views, visits in c.top_packages"> - <tr> - <td>${h.link_to(package.title or package.name, h.url_for(controller='package', action='read', id=package.name))} - </td> - <td>${views}</td> - <td>${visits}</td> - </tr> - </py:for> - </table> + ${month_selector(c.month, c.months, c.day)} + <select name="publisher"> + <option value='' py:attrs="{'selected': 'selected' if not c.publisher else None}">All publishers</option> + <py:for each="val,desc in c.publishers"> + <option value='${val}' py:attrs="{'selected': 'selected' if c.publisher_name == val else None}">${desc}</option> + </py:for> + </select> + <input class="btn button btn-primary btn-xs" type='submit' value="Update"/> + </div> + </form> + <div class="alert alert-info" py:if="not c.top_packages">No page views in this period.</div> + <py:if test="c.top_packages"> + <table class="ga-reports-table table table-condensed table-bordered"> + <tr> + <th>Dataset</th> + <th>Views</th> + <th>Downloads</th> + </tr> + <py:for each="package, views, visits,downloads in c.top_packages"> + <tr> + <td> + ${h.link_to(package.title or package.name, h.url_for(controller='package', action='read', id=package.name))} + </td> + <td class="td-numeric">${views}</td> + <td class="td-numeric">${downloads}</td> + </tr> + </py:for> + </table> + </py:if> + + ${ga_footer()} </div>