From 6772fa2264eb0efa50272fc0c2e632cf9f00810a Mon Sep 17 00:00:00 2001 From: BeezyT <timo@ezdesign.de> Date: Thu, 5 May 2011 08:56:37 +0000 Subject: [PATCH] #2373 inline documentation for reports and metrics git-svn-id: http://dev.piwik.org/svn/trunk@4634 59fd770c-687e-43c8-a1e3-f5a4ff64c105 --- core/View.php | 29 +- core/ViewDataTable.php | 208 +++++++---- core/ViewDataTable/Cloud.php | 19 +- core/ViewDataTable/GenerateGraphHTML.php | 28 +- core/ViewDataTable/HtmlTable.php | 35 +- core/ViewDataTable/HtmlTable/Goals.php | 51 ++- lang/ar.php | 6 - lang/bg.php | 6 - lang/cs.php | 6 - lang/da.php | 6 - lang/de.php | 6 - lang/el.php | 6 - lang/en.php | 69 +++- lang/es.php | 6 - lang/eu.php | 4 - lang/fi.php | 6 - lang/fr.php | 6 - lang/gl.php | 6 - lang/he.php | 6 - lang/hu.php | 6 - lang/id.php | 6 - lang/is.php | 6 - lang/it.php | 6 - lang/ja.php | 6 - lang/ka.php | 6 - lang/lt.php | 6 - lang/nb.php | 6 - lang/nl.php | 6 - lang/nn.php | 6 - lang/pl.php | 4 - lang/pt-br.php | 6 - lang/pt.php | 6 - lang/ru.php | 6 - lang/sk.php | 6 - lang/sl.php | 6 - lang/sq.php | 6 - lang/sr.php | 6 - lang/sv.php | 6 - lang/th.php | 6 - lang/tr.php | 3 - lang/uk.php | 6 - lang/zh-cn.php | 6 - lang/zh-tw.php | 6 - plugins/API/API.php | 76 ++-- plugins/Actions/Actions.php | 118 +++--- plugins/Actions/Controller.php | 116 +++++- plugins/CoreHome/templates/cloud.tpl | 35 +- plugins/CoreHome/templates/datatable.css | 70 ++++ plugins/CoreHome/templates/datatable.js | 139 +++++++ plugins/CoreHome/templates/datatable.tpl | 15 +- .../CoreHome/templates/datatable_actions.tpl | 15 +- plugins/CoreHome/templates/graph.tpl | 3 + plugins/CustomVariables/Controller.php | 21 +- plugins/CustomVariables/CustomVariables.php | 25 +- plugins/Goals/Controller.php | 20 +- plugins/Goals/Goals.php | 45 +-- .../Goals/templates/table_by_dimension.tpl | 3 +- plugins/LanguagesManager/API.php | 42 +-- plugins/Live/Controller.php | 2 + plugins/Live/templates/visitorLog.tpl | 4 +- plugins/Provider/Provider.php | 13 +- plugins/Referers/Controller.php | 81 ++-- plugins/Referers/Referers.php | 61 +-- plugins/UserCountry/UserCountry.php | 14 +- plugins/UserSettings/UserSettings.php | 112 +++--- plugins/VisitFrequency/Controller.php | 22 +- plugins/VisitFrequency/VisitFrequency.php | 18 +- plugins/VisitTime/VisitTime.php | 12 +- plugins/VisitorInterest/VisitorInterest.php | 20 +- plugins/VisitsSummary/API.php | 24 +- plugins/VisitsSummary/Controller.php | 36 +- plugins/VisitsSummary/VisitsSummary.php | 16 +- ...GetReportMetadata__API.getMetadata_day.xml | 15 +- ...rtMetadata__API.getProcessedReport_day.xml | 15 +- ...tReportMetadata__API.getReportMetadata.xml | 349 +++++++++++++++++- ...data_year__API.getProcessedReport_year.xml | 13 + ...rtMetadata_year__API.getReportMetadata.xml | 349 +++++++++++++++++- ...agesManager.getTranslationsForLanguage.xml | 24 -- ...ormalAPI__API.getProcessedReport_range.xml | 17 +- 79 files changed, 1864 insertions(+), 744 deletions(-) diff --git a/core/View.php b/core/View.php index be9439b647..059613f39e 100644 --- a/core/View.php +++ b/core/View.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik * @package Piwik */ @@ -73,7 +73,7 @@ class Piwik_View implements Piwik_iView /** * Renders the current view. - * + * * @return string Generated template */ public function render() @@ -111,7 +111,7 @@ class Piwik_View implements Piwik_iView $this->userAlias = $user['alias']; } catch(Exception $e) { - // can fail, for example at installation (no plugin loaded yet) + // can fail, for example at installation (no plugin loaded yet) } $this->totalTimeGeneration = Zend_Registry::get('timer')->getTime(); @@ -176,7 +176,7 @@ class Piwik_View implements Piwik_iView $registered = true; } - // Create the renderer object + // Create the renderer object $renderer = HTML_QuickForm2_Renderer::factory('smarty'); $renderer->setOption('group_errors', true); @@ -211,7 +211,7 @@ class Piwik_View implements Piwik_iView } /** - * Clear compiled Smarty templates + * Clear compiled Smarty templates */ static public function clearCompiledTemplates() { @@ -233,6 +233,21 @@ class Piwik_View implements Piwik_iView $this->smarty->caching = $caching; } */ + + /** + * Render the singe report template + */ + static public function singleReport($title, $reportHtml, $fetch = false) + { + $view = new Piwik_View('CoreHome/templates/single_report.tpl'); + $view->title = $title; + $view->report = $reportHtml; + + if ($fetch) { + return $view->render(); + } + echo $view->render(); + } /** * View factory method @@ -292,7 +307,7 @@ class Piwik_View implements Piwik_iView } // Specified template not found - // We allow for no specified template + // We allow for no specified template if(!empty($templateName) && !file_exists($templateFile)) { diff --git a/core/ViewDataTable.php b/core/ViewDataTable.php index 82691739ff..9eb3949f45 100644 --- a/core/ViewDataTable.php +++ b/core/ViewDataTable.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik * @package Piwik */ @@ -14,7 +14,7 @@ * This class is used to load (from the API) and customize the output of a given DataTable. * The main() method will create an object Piwik_iView * You can customize the dataTable using the disable* methods. - * + * * Example: * In the Controller of the plugin VisitorInterest * <pre> @@ -26,11 +26,11 @@ * $view->disableSort(); * $view->disableExcludeLowPopulation(); * $view->disableOffsetInformation(); - * + * * return $this->renderView($view, $fetch); - * } + * } * </pre> - * + * * @see factory() for all the available output (cloud tags, html table, pie chart, vertical bar chart) * @package Piwik * @subpackage Piwik_ViewDataTable @@ -80,18 +80,18 @@ abstract class Piwik_ViewDataTable * * @var Piwik_DataTable */ - protected $dataTable = null; + protected $dataTable = null; /** * List of filters to apply after the data has been loaded from the API - * + * * @var array */ protected $queuedFilters = array(); /** - * List of filter to apply just before the 'Generic' filters + * List of filter to apply just before the 'Generic' filters * These filters should delete rows from the table * @var array */ @@ -124,7 +124,7 @@ abstract class Piwik_ViewDataTable /** * This view should be an implementation of the Interface Piwik_iView * The $view object should be created in the main() method. - * + * * @var Piwik_iView */ protected $view = null; @@ -136,9 +136,25 @@ abstract class Piwik_ViewDataTable */ protected $columnsTranslations = array(); + /** + * Documentation for the metrics used in the current report. + * Received from the Plugin API, used for inline help. + * + * @var array + */ + protected $metricsDocumentation = false; + + /** + * Documentation for the report. + * Received from the Plugin API, used for inline help. + * + * @var array + */ + protected $documentation = false; + /** * Array of columns set to display - * + * * @var array */ protected $columnsToDisplay = array(); @@ -171,16 +187,16 @@ abstract class Piwik_ViewDataTable * If there is a viewDataTable parameter in the URL, a ViewDataTable of this 'viewDataTable' type will be returned. * If defaultType is specified and if there is no 'viewDataTable' in the URL, a ViewDataTable of this $defaultType will be returned. * If force is set to true, a ViewDataTable of the $defaultType will be returned in all cases. - * - * @param string defaultType Any of these: table, cloud, graphPie, graphVerticalBar, graphEvolution, sparkline, generateDataChart* + * + * @param string defaultType Any of these: table, cloud, graphPie, graphVerticalBar, graphEvolution, sparkline, generateDataChart* * @param bool force If set to true, returns a ViewDataTable of the $defaultType - * @return Piwik_ViewDataTable + * @return Piwik_ViewDataTable */ static public function factory( $defaultType = null, $force = false) { if(is_null($defaultType)) { - $defaultType = 'table'; + $defaultType = 'table'; } if($force === true) @@ -199,19 +215,19 @@ abstract class Piwik_ViewDataTable case 'graphPie': return new Piwik_ViewDataTable_GenerateGraphHTML_ChartPie(); - break; + break; case 'graphVerticalBar': return new Piwik_ViewDataTable_GenerateGraphHTML_ChartVerticalBar(); - break; + break; case 'graphEvolution': return new Piwik_ViewDataTable_GenerateGraphHTML_ChartEvolution(); - break; + break; case 'sparkline': return new Piwik_ViewDataTable_Sparkline(); - break; + break; case 'generateDataChartVerticalBar': return new Piwik_ViewDataTable_GenerateGraphData_ChartVerticalBar(); @@ -241,14 +257,14 @@ abstract class Piwik_ViewDataTable } /** - * Inits the object given the $currentControllerName, $currentControllerAction of + * Inits the object given the $currentControllerName, $currentControllerAction of * the calling controller action, eg. 'Referers' 'getLongListOfKeywords'. - * The initialization also requires the $apiMethodToRequestDataTable of the API method + * The initialization also requires the $apiMethodToRequestDataTable of the API method * to call in order to get the DataTable, eg. 'Referers.getKeywords'. * The optional $controllerActionCalledWhenRequestSubTable defines the method name of the API to call when there is a idSubtable. * This value would be used by the javascript code building the GET request to the API. - * - * Example: + * + * Example: * For the keywords listing, a click on the row loads the subTable of the Search Engines for this row. * In this case $controllerActionCalledWhenRequestSubTable = 'getSearchEnginesFromKeywordId'. * The GET request will hit 'Referers.getSearchEnginesFromKeywordId'. @@ -259,8 +275,8 @@ abstract class Piwik_ViewDataTable * @param string $controllerActionCalledWhenRequestSubTable eg. 'getSearchEnginesFromKeywordId' */ public function init( $currentControllerName, - $currentControllerAction, - $apiMethodToRequestDataTable, + $currentControllerAction, + $apiMethodToRequestDataTable, $controllerActionCalledWhenRequestSubTable = null) { $this->currentControllerName = $currentControllerName; @@ -293,10 +309,10 @@ abstract class Piwik_ViewDataTable /** * Forces the View to use a given template. - * Usually the template to use is set in the specific ViewDataTable_* + * Usually the template to use is set in the specific ViewDataTable_* * eg. 'CoreHome/templates/cloud.tpl' * But some users may want to force this template to some other value - * + * * @param string $tpl eg .'MyPlugin/templates/templateToUse.tpl' */ public function setTemplate( $tpl ) @@ -315,7 +331,7 @@ abstract class Piwik_ViewDataTable { if(is_null($this->view)) { - throw new Exception('The $this->view object has not been created. + throw new Exception('The $this->view object has not been created. It should be created in the main() method of the Piwik_ViewDataTable_* subclass you are using.'); } return $this->view; @@ -399,7 +415,7 @@ abstract class Piwik_ViewDataTable { return false; } - // First, filters that delete rows + // First, filters that delete rows foreach($this->queuedFiltersPriority as $filter) { $filterName = $filter[0]; @@ -413,10 +429,10 @@ abstract class Piwik_ViewDataTable $requestString = $this->getRequestString(); $request = Piwik_API_Request::getRequestArrayFromString($requestString); - if(!empty($this->variablesDefault['enable_sort']) + if(!empty($this->variablesDefault['enable_sort']) && $this->variablesDefault['enable_sort'] === 'false') { - $request['filter_sort_column'] = $request['filter_sort_order'] = ''; + $request['filter_sort_column'] = $request['filter_sort_order'] = ''; } $genericFilter = new Piwik_API_DataTableGenericFilter($request); $genericFilter->filter($this->dataTable); @@ -450,7 +466,7 @@ abstract class Piwik_ViewDataTable 'filter_sort_order', 'filter_excludelowpop', 'filter_excludelowpop_value', - 'filter_column', + 'filter_column', 'filter_pattern', 'disable_queued_filters', ); @@ -479,13 +495,13 @@ abstract class Piwik_ViewDataTable /** * For convenience, the client code can call methods that are defined in a specific children class * without testing the children class type, which would trigger an error with a different children class. - * + * * Example: * ViewDataTable/Html.php defines a setColumnsToDisplay(). The client code calls this methods even if - * the ViewDataTable object is a ViewDataTable_Cloud instance (he doesn't know because of the factory()). - * But ViewDataTable_Cloud doesn't define the setColumnsToDisplay() method. + * the ViewDataTable object is a ViewDataTable_Cloud instance (he doesn't know because of the factory()). + * But ViewDataTable_Cloud doesn't define the setColumnsToDisplay() method. * Because we don't want to force users to test for the object type we simply catch these - * calls when they are not defined in the child and do nothing. + * calls when they are not defined in the child and do nothing. * * @param string $function * @param array $args @@ -496,10 +512,10 @@ abstract class Piwik_ViewDataTable /** * Returns a unique ID for this ViewDataTable. - * This unique ID is used in the Javascript code: - * Any ajax loaded data is loaded within a DIV that has id=$unique_id + * This unique ID is used in the Javascript code: + * Any ajax loaded data is loaded within a DIV that has id=$unique_id * The jquery code then replaces the existing html div id=$unique_id in the code with this data. - * + * * @see datatable.js * @return string */ @@ -508,7 +524,7 @@ abstract class Piwik_ViewDataTable // if we request a subDataTable the $this->currentControllerAction DIV ID is already there in the page // we make the DIV ID really unique by appending the ID of the subtable requested if( $this->idSubtable != 0 // parent DIV has a idSubtable = 0 but the html DIV must have the name of the module.action - && $this->idSubtable !== false // case there is no idSubtable + && $this->idSubtable !== false // case there is no idSubtable ) { // see also datatable.js (the ID has to match with the html ID created to be replaced by the result of the ajax call) @@ -565,7 +581,7 @@ abstract class Piwik_ViewDataTable * - from the generic filters that are applied by default @see Piwik_API_DataTableGenericFilter.php::getGenericFiltersInformation() * - from the values already available in the GET array * - from the values set using methods from this class (eg. setSearchPattern(), setLimit(), etc.) - * + * * @return array eg. array('show_offset_information' => 0, 'show_... */ protected function getJavascriptVariablesToSet() @@ -578,7 +594,7 @@ abstract class Piwik_ViewDataTable { foreach($filter as $filterVariableName => $filterInfo) { - // if there is a default value for this filter variable we set it + // if there is a default value for this filter variable we set it // so that it is propagated to the javascript if(isset($filterInfo[1])) { @@ -607,7 +623,7 @@ abstract class Piwik_ViewDataTable $javascriptVariablesToSet[$name] = $requestValue; } - // at this point there are some filters values we may have not set, + // at this point there are some filters values we may have not set, // case of the filter without default values and parameters set directly in this class // for example setExcludeLowPopulation // we go through all the $this->variablesDefault array and set the variables not set yet @@ -621,7 +637,7 @@ abstract class Piwik_ViewDataTable if($this->dataTable instanceof Piwik_DataTable) { - // we override the filter_sort_column with the column used for sorting, + // we override the filter_sort_column with the column used for sorting, // which can be different from the one specified (eg. if the column doesn't exist) $javascriptVariablesToSet['filter_sort_column'] = $this->dataTable->getSortedByColumnName(); // datatable can return "2" but we want to write "nb_visits" in the js @@ -656,8 +672,8 @@ abstract class Piwik_ViewDataTable } } - $deleteFromJavascriptVariables = array( - 'filter_excludelowpop', + $deleteFromJavascriptVariables = array( + 'filter_excludelowpop', 'filter_excludelowpop_value', ); foreach($deleteFromJavascriptVariables as $name) @@ -690,7 +706,7 @@ abstract class Piwik_ViewDataTable /** * Returns the default value for a given parameter. * For example, these default values can be set using the disable* methods. - * + * * @param string $nameVar * @return mixed */ @@ -712,7 +728,7 @@ abstract class Piwik_ViewDataTable } /** - * The queued filters (replace column names, enhance column with percentage signs, add logo metadata information, etc.) + * The queued filters (replace column names, enhance column with percentage signs, add logo metadata information, etc.) * will not be applied to this datatable. They can be manually applied by calling applyQueuedFilters on the datatable. */ public function disableQueuedFilters() @@ -723,7 +739,7 @@ abstract class Piwik_ViewDataTable /** * The "X-Y of Z" and the "< Previous / Next >"-Buttons won't be displayed under this table */ - public function disableOffsetInformationAndPaginationControls() + public function disableOffsetInformationAndPaginationControls() { $this->viewProperties['show_offset_information'] = false; $this->viewProperties['show_pagination_control'] = false; @@ -830,7 +846,7 @@ abstract class Piwik_ViewDataTable /** * Sets the value to use for the Exclude low population filter. - * + * * @param int|float If a row value is less than this value, it will be removed from the dataTable * @param string The name of the column for which we compare the value to $minValue */ @@ -870,8 +886,8 @@ abstract class Piwik_ViewDataTable } /** - * Will display a message in the DataTable footer. - * + * Will display a message in the DataTable footer. + * * @param string $message Message */ public function setFooterMessage( $message ) @@ -880,7 +896,7 @@ abstract class Piwik_ViewDataTable } /** - * Sets the dataTable column to sort by. This sorting will be applied before applying the (offset, limit) filter. + * Sets the dataTable column to sort by. This sorting will be applied before applying the (offset, limit) filter. * * @param int|string $columnId eg. 'nb_visits' for some tables, or Piwik_Archive::INDEX_NB_VISITS for others * @param string $order desc or asc @@ -893,7 +909,7 @@ abstract class Piwik_ViewDataTable /** * Returns the column name on which the table will be sorted - * + * * @return string */ public function getSortedColumn() @@ -907,7 +923,7 @@ abstract class Piwik_ViewDataTable * @param string $columnName column name * @param string $columnTranslation column name translation */ - public function setColumnTranslation( $columnName, $columnTranslation, $columnDescription = false ) + public function setColumnTranslation( $columnName, $columnTranslation ) { if(empty($columnTranslation)) { @@ -915,7 +931,6 @@ abstract class Piwik_ViewDataTable } $this->columnsTranslations[$columnName] = $columnTranslation; - $this->columnsDescriptions[$columnName] = $columnDescription; } /** @@ -933,22 +948,85 @@ abstract class Piwik_ViewDataTable } /** - * Returns column description, or false + * Set the documentation of a metric used in the report. + * Please note, that the default way of doing this is by using + * getReportMetadata. Only use this method, if you have a good + * reason to do so. + * + * @param string $metricIdentifier The idenentifier string of + * the metric + * @param string $documentation The metric documentation as a + * translated string + */ + public function setMetricDocumentation($metricIdentifier, $documentation) { + $this->metricsDocumentation[$metricIdentifier] = $documentation; + } + + /** + * Returns metric documentation, or false * @param string $columnName column name */ - public function getColumnDescription( $columnName ) + public function getMetricDocumentation($columnName) { - if( !empty($this->columnsDescriptions[$columnName]) ) + if ($this->metricsDocumentation === false) + { + $this->loadDocumentation(); + } + + if (!empty($this->metricsDocumentation[$columnName])) { - return $this->columnsDescriptions[$columnName]; + return $this->metricsDocumentation[$columnName]; } + return false; } + + /** + * Set the documentation of the report. + * Please note, that the default way of doing this is by using + * getReportMetadata. Only use this method, if you have a good + * reason to do so. + * + * @param string $documentation The report documentation as a + * translated string + */ + public function setReportDocumentation($documentation) { + $this->documentation = $documentation; + } + + /** Returns report documentation, or false */ + public function getReportDocumentation() + { + if ($this->metricsDocumentation === false) + { + $this->loadDocumentation(); + } + + return $this->documentation; + } + + /** Load documentation from the API */ + private function loadDocumentation() { + $this->metricsDocumentation = array(); + + $report = Piwik_API_API::getInstance()->getMetadata(0, $this->currentControllerName, $this->currentControllerAction); + $report = $report[0]; + + if (isset($report['metricsDocumentation'])) + { + $this->metricsDocumentation = $report['metricsDocumentation']; + } + + if (isset($report['documentation'])) + { + $this->documentation = $report['documentation']; + } + } /** * Sets the columns that will be displayed in the HTML output * By default all columns are displayed ($columnsNames = array() will display all columns) - * + * * @param array $columnsNames Array of column names eg. array('nb_visits','nb_hits') */ public function setColumnsToDisplay( $columnsNames ) @@ -1010,12 +1088,12 @@ abstract class Piwik_ViewDataTable /** * Queues a Datatable filter, that will be applied once the datatable is loaded from the API. - * Useful when the controller needs to add columns, or decorate existing columns, when these filters don't - * necessarily make sense directly in the API. - * + * Useful when the controller needs to add columns, or decorate existing columns, when these filters don't + * necessarily make sense directly in the API. + * * @param string $filterName * @param mixed $parameters - * @param bool $runBeforeGenericFilters Set to true if the filter will delete rows from the table, + * @param bool $runBeforeGenericFilters Set to true if the filter will delete rows from the table, * and should therefore be ran before Sort, Limit, etc. * @return void */ diff --git a/core/ViewDataTable/Cloud.php b/core/ViewDataTable/Cloud.php index 7efc1dec65..04383f23b5 100644 --- a/core/ViewDataTable/Cloud.php +++ b/core/ViewDataTable/Cloud.php @@ -1,19 +1,19 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik * @package Piwik */ -/** - * Reads the requested DataTable from the API, and prepares the data to give +/** + * Reads the requested DataTable from the API, and prepares the data to give * to Piwik_Visualization_Cloud that will display the tag cloud (via the template cloud.tpl). - * + * * @package Piwik * @subpackage Piwik_ViewDataTable */ @@ -35,12 +35,12 @@ class Piwik_ViewDataTable_Cloud extends Piwik_ViewDataTable * @see Piwik_ViewDataTable::init() */ function init($currentControllerName, - $currentControllerAction, + $currentControllerAction, $apiMethodToRequestDataTable, $controllerActionCalledWhenRequestSubTable = null) { parent::init($currentControllerName, - $currentControllerAction, + $currentControllerAction, $apiMethodToRequestDataTable, $controllerActionCalledWhenRequestSubTable); $this->dataTableTemplate = 'CoreHome/templates/cloud.tpl'; @@ -99,7 +99,7 @@ class Piwik_ViewDataTable_Cloud extends Piwik_ViewDataTable { $logo = $row->getMetadata('logo'); } - $labelMetadata[$row->getColumn('label')] = array( + $labelMetadata[$row->getColumn('label')] = array( 'logo' => $logo, 'url' => $row->getMetadata('url'), ); @@ -108,7 +108,7 @@ class Piwik_ViewDataTable_Cloud extends Piwik_ViewDataTable foreach($labels as $i => $label) { $cloud->addWord($label, $values[$i]); - } + } $cloudValues = $cloud->render('array'); foreach($cloudValues as &$value) { @@ -120,6 +120,7 @@ class Piwik_ViewDataTable_Cloud extends Piwik_ViewDataTable } $view->javascriptVariablesToSet = $this->getJavascriptVariablesToSet(); $view->properties = $this->getViewProperties(); + $view->reportDocumentation = $this->getReportDocumentation(); return $view; } } diff --git a/core/ViewDataTable/GenerateGraphHTML.php b/core/ViewDataTable/GenerateGraphHTML.php index 0b2146eb2d..b8925e3c3b 100644 --- a/core/ViewDataTable/GenerateGraphHTML.php +++ b/core/ViewDataTable/GenerateGraphHTML.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik * @package Piwik */ @@ -13,13 +13,13 @@ /** * This class generates the HTML code to embed to flash graphs in the page. * It doesn't call the API but simply prints the html snippet. - * + * * @package Piwik * @subpackage Piwik_ViewDataTable */ abstract class Piwik_ViewDataTable_GenerateGraphHTML extends Piwik_ViewDataTable -{ - protected $width = '100%'; +{ + protected $width = '100%'; protected $height = 250; protected $graphType = 'standard'; @@ -27,12 +27,12 @@ abstract class Piwik_ViewDataTable_GenerateGraphHTML extends Piwik_ViewDataTable * @see Piwik_ViewDataTable::init() */ function init($currentControllerName, - $currentControllerAction, + $currentControllerAction, $apiMethodToRequestDataTable, $controllerActionCalledWhenRequestSubTable = null) { parent::init($currentControllerName, - $currentControllerAction, + $currentControllerAction, $apiMethodToRequestDataTable, $controllerActionCalledWhenRequestSubTable); $this->dataTableTemplate = 'CoreHome/templates/graph.tpl'; @@ -42,12 +42,12 @@ abstract class Piwik_ViewDataTable_GenerateGraphHTML extends Piwik_ViewDataTable $this->disableSearchBox(); $this->enableShowExportAsImageIcon(); - $this->parametersToModify = array( + $this->parametersToModify = array( 'viewDataTable' => $this->getViewDataTableIdToLoad(), // in the case this controller is being executed by another controller // eg. when being widgetized in an IFRAME // we need to put in the URL of the graph data the real module and action - 'module' => $currentControllerName, + 'module' => $currentControllerName, 'action' => $currentControllerAction, ); } @@ -68,7 +68,7 @@ abstract class Piwik_ViewDataTable_GenerateGraphHTML extends Piwik_ViewDataTable /** * We persist the parametersToModify values in the javascript footer. - * This is used by the "export links" that use the "date" attribute + * This is used by the "export links" that use the "date" attribute * from the json properties array in the datatable footer. */ protected function getJavascriptVariablesToSet() @@ -125,6 +125,8 @@ abstract class Piwik_ViewDataTable_GenerateGraphHTML extends Piwik_ViewDataTable $view->formEmbedId = "formEmbed".$this->uniqueIdViewDataTable; $view->javascriptVariablesToSet = $this->getJavascriptVariablesToSet(); $view->properties = $this->getViewProperties(); + $view->reportDocumentation = $this->getReportDocumentation(); + return $view; } @@ -135,16 +137,16 @@ abstract class Piwik_ViewDataTable_GenerateGraphHTML extends Piwik_ViewDataTable foreach($this->parametersToModify as $key => $val) { // We do not forward filter data to the graph controller. - // This would cause the graph to have filter_limit=5 set by default, + // This would cause the graph to have filter_limit=5 set by default, // which would break them (graphs need the full dataset to build the "Others" aggregate value) if(strpos($key, 'filter_') !== false) { continue; } - if (is_array($val)) + if (is_array($val)) { $val = implode(',', $val); - } + } $_GET[$key] = $val; } $content = Piwik_FrontController::getInstance()->fetchDispatch( $this->currentControllerName, $this->currentControllerAction, array()); diff --git a/core/ViewDataTable/HtmlTable.php b/core/ViewDataTable/HtmlTable.php index 522c46eaa0..c31a91ea63 100644 --- a/core/ViewDataTable/HtmlTable.php +++ b/core/ViewDataTable/HtmlTable.php @@ -1,20 +1,20 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik * @package Piwik */ /** * Outputs an AJAX Table for a given DataTable. - * + * * Reads the requested DataTable from the API. - * + * * @package Piwik * @subpackage Piwik_ViewDataTable */ @@ -23,13 +23,13 @@ class Piwik_ViewDataTable_HtmlTable extends Piwik_ViewDataTable /** * Set to true when the DataTable must be loaded along with all its children subtables * Useful when searching for a pattern in the DataTable Actions (we display the full hierarchy) - * + * * @var bool */ protected $recursiveDataTableLoad = false; /** - * PHP array conversion of the Piwik_DataTable + * PHP array conversion of the Piwik_DataTable * * @var array */ @@ -39,13 +39,13 @@ class Piwik_ViewDataTable_HtmlTable extends Piwik_ViewDataTable * @see Piwik_ViewDataTable::init() */ function init($currentControllerName, - $currentControllerAction, - $apiMethodToRequestDataTable, + $currentControllerAction, + $apiMethodToRequestDataTable, $controllerActionCalledWhenRequestSubTable = null) { parent::init($currentControllerName, - $currentControllerAction, - $apiMethodToRequestDataTable, + $currentControllerAction, + $apiMethodToRequestDataTable, $controllerActionCalledWhenRequestSubTable); $this->dataTableTemplate = 'CoreHome/templates/datatable.tpl'; $this->variablesDefault['enable_sort'] = '1'; @@ -97,14 +97,14 @@ class Piwik_ViewDataTable_HtmlTable extends Piwik_ViewDataTable else { $columns = $this->getColumnsToDisplay(); - $columnTranslations = $columnDescriptions = array(); + $columnTranslations = $columnDocumentation = array(); foreach($columns as $columnName) { $columnTranslations[$columnName] = $this->getColumnTranslation($columnName); - $columnDescriptions[$columnName] = $this->getColumnDescription($columnName); + $columnDocumentation[$columnName] = $this->getMetricDocumentation($columnName); } $nbColumns = count($columns); - // case no data in the array we use the number of columns set to be displayed + // case no data in the array we use the number of columns set to be displayed if($nbColumns == 0) { $nbColumns = count($this->columnsToDisplay); @@ -112,8 +112,9 @@ class Piwik_ViewDataTable_HtmlTable extends Piwik_ViewDataTable $view->arrayDataTable = $this->getPHPArrayFromDataTable(); $view->dataTableColumns = $columns; + $view->reportDocumentation = $this->getReportDocumentation(); $view->columnTranslations = $columnTranslations; - $view->columnDescriptions = $columnDescriptions; + $view->columnDocumentation = $columnDocumentation; $view->nbColumns = $nbColumns; $view->defaultWhenColumnValueNotDefined = '-'; } @@ -141,15 +142,15 @@ class Piwik_ViewDataTable_HtmlTable extends Piwik_ViewDataTable * @return array */ protected function getPHPArrayFromDataTable() - { + { $renderer = Piwik_DataTable_Renderer::factory('php'); $renderer->setTable($this->dataTable); $renderer->setSerialize( false ); - // we get the php array from the datatable but conserving the original datatable format, + // we get the php array from the datatable but conserving the original datatable format, // ie. rows 'columns', 'metadata' and 'idsubdatatable' $phpArray = $renderer->originalRender(); return $phpArray; - } + } /** diff --git a/core/ViewDataTable/HtmlTable/Goals.php b/core/ViewDataTable/HtmlTable/Goals.php index 1225044d90..62198ec8e8 100644 --- a/core/ViewDataTable/HtmlTable/Goals.php +++ b/core/ViewDataTable/HtmlTable/Goals.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik * @package Piwik */ @@ -14,7 +14,7 @@ * @package Piwik * @subpackage Piwik_ViewDataTable */ -class Piwik_ViewDataTable_HtmlTable_Goals extends Piwik_ViewDataTable_HtmlTable +class Piwik_ViewDataTable_HtmlTable_Goals extends Piwik_ViewDataTable_HtmlTable { protected function getViewDataTableId() { @@ -28,20 +28,28 @@ class Piwik_ViewDataTable_HtmlTable_Goals extends Piwik_ViewDataTable_HtmlTable $this->viewProperties['show_exclude_low_population'] = true; $this->viewProperties['show_goals'] = true; + if (Piwik_Common::getRequestVar('documentationForGoalsPage', 0, 'int') == 1) { + $this->setReportDocumentation(Piwik_Translate('Goals_ConversionByTypeReportDocumentation', + array('<br />', '<br />', '<a href="http://piwik.org/docs/tracking-goals-web-analytics/" target="_blank">', '</a>'))); + } + $this->setColumnsTranslations( array( 'goal_%s_conversion_rate' => '%s conversion rate', 'goal_%s_nb_conversions' => '%s conversions', 'goal_%s_revenue_per_visit' => '%s revenue per visit', - 'nb_conversions' => Piwik_Translate('Goals_ColumnConversions'), - 'conversion_rate' => Piwik_Translate('General_ColumnConversionRate'), + 'nb_conversions' => Piwik_Translate('Goals_ColumnConversions'), + 'conversion_rate' => Piwik_Translate('General_ColumnConversionRate'), 'revenue' => Piwik_Translate('Goals_ColumnRevenue'), 'revenue_per_visit' => Piwik_Translate('General_ColumnValuePerVisit'), )); - $this->setColumnsToDisplay( array( - 'label', - 'nb_visits', + $this->setMetricDocumentation('nb_visits', Piwik_Translate('Goals_ColumnVisits')); + $this->setMetricDocumentation('revenue_per_visit', Piwik_Translate('Goals_ColumnRevenuePerVisitDocumentation')); + + $this->setColumnsToDisplay( array( + 'label', + 'nb_visits', 'goal_%s_nb_conversions', 'goal_%s_conversion_rate', 'goal_%s_revenue_per_visit', @@ -89,6 +97,7 @@ class Piwik_ViewDataTable_HtmlTable_Goals extends Piwik_ViewDataTable_HtmlTable $name = Piwik_Translate($this->getColumnTranslation($columnName), $goal['name']); $columnNameGoal = str_replace('%s', $idgoal, $columnName); $this->setColumnTranslation($columnNameGoal, $name); + $this->setDynamicMetricDocumentation($columnName, $columnNameGoal, $goal['name']); if(strstr($columnNameGoal, '_rate') === false // For the goal table (when the flag icon is clicked), we only display the per Goal Conversion rate && $this->processOnlyIdGoal == Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW) @@ -115,6 +124,30 @@ class Piwik_ViewDataTable_HtmlTable_Goals extends Piwik_ViewDataTable_HtmlTable parent::setColumnsToDisplay($newColumnsNames); } + /** Find the appropriate metric documentation for a goal column */ + private function setDynamicMetricDocumentation($genericMetricName, $metricName, $goalName) + { + $langString = false; + switch ($genericMetricName) + { + case 'goal_%s_nb_conversions': + $langString = 'Goals_ColumnConversionsDocumentation'; + break; + case 'goal_%s_conversion_rate': + $langString = 'Goals_ColumnConversionRateDocumentation'; + break; + case 'goal_%s_revenue_per_visit': + $langString = 'Goals_ColumnRevenueDocumentation'; + break; + } + + if ($langString) + { + $doc = Piwik_Translate($langString, '"'.$goalName.'"'); + $this->setMetricDocumentation($metricName, $doc); + } + } + protected function getRequestString() { $requestString = parent::getRequestString(); @@ -123,7 +156,7 @@ class Piwik_ViewDataTable_HtmlTable_Goals extends Piwik_ViewDataTable_HtmlTable $requestString .= "&filter_only_display_idgoal=".$this->processOnlyIdGoal; } return $requestString . '&filter_update_columns_when_show_all_goals=1'; - } + } protected $columnsToRevenueFilter = array(); protected $columnsToConversionFilter = array(); diff --git a/lang/ar.php b/lang/ar.php index 0ae94e8473..dfdc93dde5 100644 --- a/lang/ar.php +++ b/lang/ar.php @@ -103,19 +103,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'متوسط الزمن على الموقع', 'General_ColumnVisitDuration' => 'مدة الزيارة (بالثواني)', 'General_ColumnBounceRate' => 'معدل الارتداد', - 'General_PageBounceRateDefinition' => 'نسبة الزيارات التي بدأت على هذه Ø§Ù„ØµÙØØ©ØŒ ثم ترك الموقع مباشرة.', 'General_ColumnExitRate' => 'معدل الخروج', - 'General_PageExitRateDefinition' => 'نسبة الزيارات على هذه Ø§Ù„ØµÙØØ© ثم ترك الموقع مباشرة.', 'General_ColumnPageviews' => 'المشاهدات', 'General_ColumnUniquePageviews' => 'المشاهدات Ø§Ù„ÙØ±ÙŠØ¯Ø©', 'General_ColumnBounces' => 'الارتدادات', - 'General_BouncesDefinition' => 'عدد الزيارات التي بدأت من هذه Ø§Ù„ØµÙØØ© ثم غادر الموقع مباشرة.', 'General_ColumnEntrances' => 'الدخول', - 'General_EntrancesDefinition' => 'عدد الزيارات التي بدأت من هذه Ø§Ù„ØµÙØØ©.', 'General_ColumnExits' => 'الخروج', - 'General_ExitsDefinition' => 'عدد الزيارات التي انتهت على هذه Ø§Ù„ØµÙØØ©.', 'General_ColumnAverageTimeOnPage' => 'متوسط الزمن على Ø§Ù„ØµÙØØ©', - 'General_AverageTimeOnPageDefinition' => 'متوسط الزمن الذي استغرقه الزوار على هذه Ø§Ù„ØµÙØØ©.', 'General_ColumnValuePerVisit' => 'القيمة لكل زيارة', 'General_ColumnVisitsWithConversions' => 'زيارات Ø¨ÙØ§Ø¦Ø¯Ø©', 'General_YearsDays' => '%1$s سنة %2$s أيام', diff --git a/lang/bg.php b/lang/bg.php index e80e9e0bcf..ab5f8d8b5b 100644 --- a/lang/bg.php +++ b/lang/bg.php @@ -102,19 +102,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'Средно време прекарано в Ñайта', 'General_ColumnVisitDuration' => 'ПродължителноÑÑ‚ на поÑещение (в Ñекунди)', 'General_ColumnBounceRate' => 'Процент', - 'General_PageBounceRateDefinition' => 'Процента поÑетители поÑетили тази Ñтраница и напуÑнали веднага Ñлед това.', 'General_ColumnExitRate' => 'Изходен процент', - 'General_PageExitRateDefinition' => 'Процентът на поÑещениÑта на тази Ñтраница Ñа напуÑнали Ñайта веднага.', 'General_ColumnPageviews' => 'ВходÑщи прегледи', 'General_ColumnUniquePageviews' => 'Уникални входÑщи прегледи', 'General_ColumnBounces' => 'Скокове', - 'General_BouncesDefinition' => 'БроÑÑ‚ поÑÐµÑ‰ÐµÐ½Ð¸Ñ Ð½Ð° тази Ñтраница и излезли веднага Ñлед това.', 'General_ColumnEntrances' => 'Входовете', - 'General_EntrancesDefinition' => 'БроÑÑ‚ на поÑещениÑта, които Ñа започнали на тази Ñтраница.', 'General_ColumnExits' => 'Изходи', - 'General_ExitsDefinition' => 'БроÑÑ‚ поÑетители, излезли от тази Ñтраница.', 'General_ColumnAverageTimeOnPage' => 'Средно време на Ñтраница', - 'General_AverageTimeOnPageDefinition' => 'СредниÑÑ‚ период прекарано време в Ñайта от поÑетителите', 'General_ColumnValuePerVisit' => 'СтойноÑÑ‚ на поÑещението', 'General_ColumnVisitsWithConversions' => 'ПоÑÐµÑ‰ÐµÐ½Ð¸Ñ Ñ ÐšÐ¾Ð½Ð²ÐµÑ€ÑиÑ', 'General_YearsDays' => '%1$s години %2$s дни', diff --git a/lang/cs.php b/lang/cs.php index de695271c3..1afc8e1659 100644 --- a/lang/cs.php +++ b/lang/cs.php @@ -78,19 +78,13 @@ $translations = array( 'General_VisitDuration' => 'PrůmÄ›rna doba trvánà návÅ¡tÄ›v (v sekundách)', 'General_ColumnAvgTimeOnSite' => 'PrůmÄ›rnÄ› Äasu na stránkách', 'General_ColumnBounceRate' => 'Odchozà frekvence', - 'General_PageBounceRateDefinition' => 'Procento návÅ¡tÄ›vnÃků, kteřà zaÄali návÅ¡tÄ›vu na této stránce, ihned opustili toto sÃdlo', 'General_ColumnExitRate' => 'Frekvence odchodů', - 'General_PageExitRateDefinition' => 'Procento návÅ¡tÄ›vnÃků, kteřà po této stránce opustili toto sÃdlo', 'General_ColumnPageviews' => 'Zobrazenà stránek', 'General_ColumnUniquePageviews' => 'JedineÄná zobrazenà stránek', 'General_ColumnBounces' => 'Ihned odchozÃ', - 'General_BouncesDefinition' => 'PoÄet návÅ¡tÄ›v, které skonÄily po prohlédnutà této stránky', 'General_ColumnEntrances' => 'Vstupy', - 'General_EntrancesDefinition' => 'PoÄet návÅ¡tÄ›v, které zaÄaly na této stránce', 'General_ColumnExits' => 'Odchody', - 'General_ExitsDefinition' => 'PoÄet návÅ¡tÄ›v, které skonÄily na této stránce', 'General_ColumnAverageTimeOnPage' => 'PřůmÄ›rnÄ› Äasu na stránce', - 'General_AverageTimeOnPageDefinition' => 'PrůmÄ›rná doba, kterou návÅ¡tÄ›vnÃci strávili na této stránce', 'General_ColumnValuePerVisit' => 'Hodnota za návÅ¡tÄ›vu', 'General_ColumnVisitsWithConversions' => 'NávÅ¡tÄ›vy s pÅ™echodem', 'General_Seconds' => '%s sekund', diff --git a/lang/da.php b/lang/da.php index df1b063451..63375ba295 100644 --- a/lang/da.php +++ b/lang/da.php @@ -90,19 +90,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'Gennemsnitstid pÃ¥ hjemmeside', 'General_ColumnVisitDuration' => 'Besøgsvarighed (i sekunder)', 'General_ColumnBounceRate' => 'Afvisnings %', - 'General_PageBounceRateDefinition' => 'Besøg i %, der startede pÃ¥ siden og forlod hjemmesiden med det samme.', 'General_ColumnExitRate' => 'Udgangs %', - 'General_PageExitRateDefinition' => 'Procentdel af besøg pÃ¥ siden, der forlod hjemmesiden med det samme.', 'General_ColumnPageviews' => 'Sidevisninger', 'General_ColumnUniquePageviews' => 'Unikke sidevisninger', 'General_ColumnBounces' => 'Afvisning', - 'General_BouncesDefinition' => ' Antal besøg, der startede pÃ¥ siden og forlod hjemmesiden med det samme.', 'General_ColumnEntrances' => 'Indgange', - 'General_EntrancesDefinition' => ' Antal besøg, der startede pÃ¥ siden.', 'General_ColumnExits' => 'Udgange', - 'General_ExitsDefinition' => ' Antal besøg, der sluttede pÃ¥ siden.', 'General_ColumnAverageTimeOnPage' => 'Gns. tid pÃ¥ siden', - 'General_AverageTimeOnPageDefinition' => ' Den gennemsnitlige tid, besøgende har brugt pÃ¥ siden.', 'General_ColumnValuePerVisit' => 'Værdi pr. besøg', 'General_ColumnVisitsWithConversions' => 'Besøg med konverteringer', 'General_YearsDays' => '%1$s Ã¥r %2$s dage', diff --git a/lang/de.php b/lang/de.php index 4dd96cffb9..21de2d2800 100644 --- a/lang/de.php +++ b/lang/de.php @@ -102,19 +102,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'Durchschnittszeit auf der Webseite', 'General_ColumnVisitDuration' => 'Dauer des Besuchs (in Sekunden)', 'General_ColumnBounceRate' => 'Absprungsrate', - 'General_PageBounceRateDefinition' => 'Der Anteil der Besuche, die auf dieser Seite begannen, die Webseite aber direkt wieder verlassen haben.', 'General_ColumnExitRate' => 'Ausstiegsrate', - 'General_PageExitRateDefinition' => 'Der Anteil der Besuche auf dieser Seite, die die Webseite direkt wieder verlassen haben.', 'General_ColumnPageviews' => 'Seitenansichten', 'General_ColumnUniquePageviews' => 'Einmalige Seitenansichten', 'General_ColumnBounces' => 'Absprünge', - 'General_BouncesDefinition' => 'Anzahl der Besuche, die auf dieser Seite begannen, die Webseite aber direkt wieder verließen.', 'General_ColumnEntrances' => 'Eingänge', - 'General_EntrancesDefinition' => 'Anzahl der Besuche, die auf dieser Seite begannen.', 'General_ColumnExits' => 'Ausstiege', - 'General_ExitsDefinition' => 'Anzahl der Besuche, die auf dieser Seite endeten.', 'General_ColumnAverageTimeOnPage' => 'Durchschn. Zeit pro Seite', - 'General_AverageTimeOnPageDefinition' => 'Die durchschnittliche Zeit, die die Besucher auf dieser Seite verbrachten.', 'General_ColumnValuePerVisit' => 'Wert pro Besuch', 'General_ColumnVisitsWithConversions' => 'Besuche mit Konversionen', 'General_YearsDays' => '%1$s Jahre %2$s Tage', diff --git a/lang/el.php b/lang/el.php index 1a0291803b..1589044b81 100644 --- a/lang/el.php +++ b/lang/el.php @@ -102,19 +102,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'ΜÎσος χÏόνος στην ιστοσελίδα', 'General_ColumnVisitDuration' => 'ΔιάÏκεια επίσκεψης (σε δευτεÏόλεπτα)', 'General_ColumnBounceRate' => 'Ρυθμός αναπήδησης', - 'General_PageBounceRateDefinition' => 'Το ποσοστό των επισκÎψεων που ξεκίνησαν σε αυτή τη σελίδα και Îφυγαν από την ιστοσελίδα αμÎσως.', 'General_ColumnExitRate' => 'Βαθμός εξόδου', - 'General_PageExitRateDefinition' => 'Το ποσοστό των επισκÎψεων σε αυτή τη σελίδα που Îφυγαν από την ιστοσελίδα αμÎσως.', 'General_ColumnPageviews' => 'Î ÏοβολÎÏ‚ σελίδων', 'General_ColumnUniquePageviews' => 'ΜοναδικÎÏ‚ Ï€ÏοβολÎÏ‚ σελίδων', 'General_ColumnBounces' => 'Αναπηδήσεις', - 'General_BouncesDefinition' => 'ΑÏιθμός επισκεωεων που ξεκίνσηαν σε αυτή τη σελίδα και Îφυγαν από την ιστοσελίδα αμÎσως.', 'General_ColumnEntrances' => 'Είσοδοι', - 'General_EntrancesDefinition' => 'ΑÏιθμός επισκÎψεων που ξεκίνησαν σε αυτή τη σελίδα.', 'General_ColumnExits' => 'Έξοδοι', - 'General_ExitsDefinition' => 'ΑÏιθμός επισκÎωεων που τελείωσαν σε αυτή τη σελίδα.', 'General_ColumnAverageTimeOnPage' => 'ΜÎσος χÏόνος στη σελίδα', - 'General_AverageTimeOnPageDefinition' => 'Ο μÎσος χÏόνος που ξοδεÏουν οι επισκÎπτες σε αυτή τη σελίδα.', 'General_ColumnValuePerVisit' => 'Τιμή ανά Επίσκεψη', 'General_ColumnVisitsWithConversions' => 'ΕπισκÎψει με ΜετατÏοπÎÏ‚', 'General_YearsDays' => '%1$s Îτη %2$s ημÎÏες', diff --git a/lang/en.php b/lang/en.php index 8e8658c086..a866c666e9 100644 --- a/lang/en.php +++ b/lang/en.php @@ -90,33 +90,43 @@ $translations = array( 'General_YourChangesHaveBeenSaved' => 'Your changes have been saved.', 'General_ErrorRequest' => 'Oops… problem during the request, please try again.', 'General_ColumnNbUniqVisitors' => 'Unique visitors', + 'General_ColumnNbUniqVisitorsDocumentation' => 'The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.', 'General_ColumnNbVisits' => 'Visits', + 'General_ColumnNbVisitsDocumentation' => 'If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.', 'General_ColumnPercentageVisits' => '% Visits', 'General_ColumnNbActions' => 'Actions', + 'General_ColumnNbActionsDocumentation' => 'The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.', 'General_NbActions' => 'Number of Actions', 'General_ColumnMaxActions' => 'Maximum actions in one visit', 'General_ColumnSumVisitLength' => 'Total time spent by visitors (in seconds)', 'General_ColumnLabel' => 'Label', 'General_ColumnConversionRate' => 'Conversion Rate', + 'General_ColumnConversionRateDocumentation' => 'The percentage of visits that triggered a goal conversion.', 'General_ColumnActionsPerVisit' => 'Actions per Visit', + 'General_ColumnActionsPerVisitDocumentation' => 'The average number of actions (page views, downloads or outlinks) that were performed during the visits.', 'General_VisitDuration' => 'Avg. Visit Duration (in seconds)', 'General_ColumnAvgTimeOnSite' => 'Avg. Time on Website', + 'General_ColumnAvgTimeOnSiteDocumentation' => 'The average duration of a visit.', 'General_ColumnVisitDuration' => 'Visit Duration (in seconds)', 'General_ColumnBounceRate' => 'Bounce Rate', - 'General_PageBounceRateDefinition' => 'The percentage of visits that started on this page, and left the website straight away.', + 'General_ColumnBounceRateDocumentation' => 'The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.', + 'General_ColumnBounceRateForPageDocumentation' => 'Percentage of visits that started and ended on this page.', + 'General_ColumnPageBounceRateDocumentation' => 'The percentage of visits that started on this page and left the website straight away.', 'General_ColumnExitRate' => 'Exit rate', - 'General_PageExitRateDefinition' => 'The percentage of visits on this page that left the website straight away.', + 'General_ColumnExitRateDocumentation' => 'The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)', 'General_ColumnPageviews' => 'Pageviews', + 'General_ColumnPageviewsDocumentation' => 'The number of times this page was visited.', 'General_ColumnUniquePageviews' => 'Unique Pageviews', + 'General_ColumnUniquePageviewsDocumentation' => 'The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.', 'General_ColumnBounces' => 'Bounces', - 'General_BouncesDefinition' => 'Number of visits that started on this page and left the website straight away.', + 'General_ColumnBouncesDocumentation' => 'Number of visits that started and ended on this page. This means that the visitor left the website after viewing only this page.', 'General_ColumnEntrances' => 'Entrances', - 'General_EntrancesDefinition' => 'Number of visits that started on this page.', + 'General_ColumnEntrancesDocumentation' => 'Number of visits that started on this page.', 'General_ColumnExits' => 'Exits', - 'General_ExitsDefinition' => 'Number of visits that ended on this page.', + 'General_ColumnExitsDocumentation' => 'Number of visits that ended on this page.', 'General_ColumnAverageTimeOnPage' => 'Avg. time on page', - 'General_AverageTimeOnPageDefinition' => 'The average amount of time visitors spent on this page.', - 'General_ColumnValuePerVisit' => 'Value per Visit', + 'General_ColumnAverageTimeOnPageDocumentation' => 'The average amount of time visitors spent on this page (only the page, not the entire website).', + 'General_ColumnValuePerVisit' => 'Revenue per Visit', 'General_ColumnVisitsWithConversions' => 'Visits with Conversions', 'General_YearsDays' => "%1\$s years %2\$s days", 'General_DaysHours' => "%1\$s days %2\$s hours", @@ -244,6 +254,9 @@ $translations = array( 'General_Language' => 'Language', 'General_PleaseUpdatePiwik' => 'Please update your Piwik', 'General_RequestTimedOut' => 'A data request to %s timed out. Please try again.', + 'General_UsePlusMinusIconsDocumentation' => 'Use the plus and minus icons on the left to navigate.', + 'General_BrokenDownReportDocumentation' => 'It is broken down into various reports, which are displayed in sparklines at the bottom of the page. You can enlarge the graphs by clicking on the report you\'d like to see.', + 'General_ChangeTagCloudView' => 'Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.', 'Actions_PluginDescription' => 'Reports about the page views, the outlinks and downloads. Outlinks and Downloads tracking is automatic!', 'Actions_Actions' => 'Actions', 'Actions_SubmenuPages' => 'Pages', @@ -252,8 +265,15 @@ $translations = array( 'Actions_SubmenuPageTitles' => 'Page titles', 'Actions_SubmenuOutlinks' => 'Outlinks', 'Actions_SubmenuDownloads' => 'Downloads', + 'Actions_PagesReportDocumentation' => 'This report contains information about the page URLs that have been visited. %s The table is organized hierarchically, the URLs are displayed as a folder structure.', + 'Actions_PageTitlesReportDocumentation' => 'This report contains information about the titles of the pages that have been visited. %s The page title is the HTML %s Tag that most browsers show in their window title.', + 'Actions_OutlinksReportDocumentation' => 'This report shows a hierarchical list of outlink URLs that were clicked by your visitors.', + 'Actions_OutlinkDocumentation' => 'An outlink is a link that leads the visitor away from your website (to another domain).', + 'Actions_DownloadsReportDocumentation' => 'In this report, you can see which files your visitors have downloaded. %s What Piwik counts as a download is the click on a download link. Whether the download was completed or not isn\'t known to Piwik.', 'Actions_ColumnClicks' => 'Clicks', + 'Actions_ColumnClicksDocumentation' => 'The number of times this link was clicked.', 'Actions_ColumnUniqueClicks' => 'Unique Clicks', + 'Actions_ColumnUniqueClicksDocumentation' => 'The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once.', 'Actions_ColumnDownloads' => 'Downloads', 'Actions_ColumnUniqueDownloads' => 'Unique Downloads', 'Actions_ColumnPageName' => 'Page Name', @@ -264,6 +284,8 @@ $translations = array( 'Actions_ColumnEntryPageTitle' => 'Entry Page title', 'Actions_ColumnExitPageURL' => 'Exit Page URL', 'Actions_ColumnExitPageTitle' => 'Exit Page Title', + 'Actions_EntryPagesReportDocumentation' => 'This report contains information about the entry pages that were used during the specified period. An entry page is the first page that a user views during his visit. %s The entry URLs are displayed as a folder structure.', + 'Actions_ExitPagesReportDocumentation' => 'This report contains information about the exit pages that occurred during the specified period. An exit page is the last page that a user views during his visit. %s The exit URLs are displayed as a folder structure.', 'AnonymizeIP_PluginDescription' => 'Anonymize the last byte of visitors IP addresses to comply with your local privacy laws/guidelines.', 'API_PluginDescription' => 'All the data in Piwik is available through simple APIs. This plugin is the web service entry point, that you can call to get your Web Analytics data in xml, json, php, csv, etc.', 'API_QuickDocumentationTitle' => 'API quick documentation', @@ -420,6 +442,7 @@ $translations = array( 'CustomVariables_CustomVariables' => 'Custom Variables', 'CustomVariables_ColumnCustomVariableName' => 'Custom Variable name', 'CustomVariables_ColumnCustomVariableValue' => 'Custom Variable value', + 'CustomVariables_CustomVariablesReportDocumentation' => 'This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. %s For more information about Custom Variables in general, read the %sCustom Variables documentation on piwik.org%s', 'Dashboard_PluginDescription' => 'Your Web Analytics Dashboard. You can customize Your Dashboard: add new widgets, change the order of your widgets. Each user can access his own custom Dashboard.', 'Dashboard_Dashboard' => 'Dashboard', 'Dashboard_AddWidget' => 'Add a widget...', @@ -476,13 +499,21 @@ $translations = array( 'Goals_Goals' => 'Goals', 'Goals_Overview' => 'Overview', 'Goals_GoalsOverview' => 'Goals overview', + 'Goals_GoalsOverviewDocumentation' => 'This is an overview of your goal conversions. Initially, the graph shows the sum of all conversions. %s Below the graph, you can see conversion reports for each of your goals. The sparklines can be enlarged by clicking on them.', + 'Goals_SingleGoalOverviewDocumentation' => 'This is an overview of the conversions for a single goal. %s The sparklines below the graph can be enlarged by clicking on them.', 'Goals_GoalsManagement' => 'Goals management', 'Goals_ConversionsOverviewBy' => 'Conversions overview by type of visit', 'Goals_GoalConversionsBy' => 'Goal %s conversions by type of visit', 'Goals_ViewGoalsBy' => 'View goals by %s', 'Goals_PluginDescription' => 'Create Goals and see reports about your goal conversions: evolution over time, revenue per visit, conversions per referrer, per keyword, etc.', + 'Goals_ConversionByTypeReportDocumentation' => 'This report provides detailed information about the goal performance (conversions, conversion rates and revenue per visit) for each of the categories available in the left panel. %s Please click on one of the categories to view the report. %s For more information, read the %sTracking Goals documentation on piwik.org%s', 'Goals_ColumnConversions' => 'Conversions', + 'Goals_ColumnConversionsDocumentation' => 'The number of visits that triggered the goal %s.', 'Goals_ColumnRevenue' => 'Revenue', + 'Goals_ColumnRevenueDocumentation' => 'The total revenue generated by %s conversions divided by the number of visits.', + 'Goals_ColumnConversionRateDocumentation' => 'The percentage of visits that triggered the goal %s.', + 'Goals_ColumnRevenuePerVisitDocumentation' => 'The total revenue generated by all goal conversions divided by the number of visits.', + 'Goals_ColumnVisits' => 'The total number of visits, regardless of whether a goal was triggered or not.', 'Goals_GoalX' => 'Goal %s', 'Goals_GoalConversion' => 'Goal conversion', 'Goals_OverallRevenue' => '%s overall revenue', @@ -646,6 +677,7 @@ $translations = array( 'Live_Action' => 'Action', 'Live_VisitorsInRealTime' => 'Visitors in Real Time', 'Live_VisitorLog' => 'Visitor Log', + 'Live_VisitorLogDocumentation' => 'This table shows the latest visits within the selected date range.%s If the date range includes today, you can see your visitors real time! %s The data displayed here is always live, regardless of whether and how often you are using the archiving cron job.', 'Live_Time' => 'Time', 'Live_Referrer_URL' => 'Referrer URL', 'Live_LastMinutes' => 'Last %s minutes', @@ -708,16 +740,28 @@ Note: this token will expire in 24 hrs.", 'Provider_WidgetProviders' => 'Providers', 'Provider_ColumnProvider' => 'Provider', 'Provider_SubmenuLocationsProvider' => 'Locations & Provider', + 'Provider_ProviderReportDocumentation' => 'This report shows which Internet Service Providers your visitors used to access the website. You can click on a provider name for more details. %s If Piwik can\'t determine a visitor\'s provider, it is listed as IP.', 'Referers_PluginDescription' => 'Reports the Referrers data: Search Engines, Keywords, Websites, Campaign Tracking, Direct Entry.', 'Referers_Referers' => 'Referrers', + 'Referers_EvolutionDocumentation' => 'This is an overview of the referrers that led visitors to your website.', + 'Referers_EvolutionDocumentationMoreInfo' => 'For more information about the different refferrer types, see the documentation of the %s table.', 'Referers_SearchEngines' => 'Search Engines', + 'Referers_SearchEnginesReportDocumentation' => 'This report shows which search engines referred users to your website. %s By clicking on a row in the table, you can see what users were searching for using a specific search engine.', 'Referers_Keywords' => 'Keywords', + 'Referers_KeywordsReportDocumentation' => 'This report shows which keywords users were searching for before they were referred to your website. %s By clicking on a row in the table, you can see the distribution of search engines that were queried for the keyword.', 'Referers_DirectEntry' => 'Direct Entry', 'Referers_Websites' => 'Websites', + 'Referers_WebsitesReportDocumentation' => 'In this table, you can see which websites referred visitors to your site. %s By clicking on a row in the table, you can see which URLs the links to your website were on.', 'Referers_Campaigns' => 'Campaigns', + 'Referers_CampaignsReportDocumentation' => 'This report shows which campaigns led visitors to your website. %s For more information about tracking campaigns, read the %scampaigns documentation on piwik.org%s', 'Referers_MetricsFromRefererTypeGraphLegend' => "%1\$s (from %2\$s)", 'Referers_Evolution' => 'Evolution over the period', 'Referers_Type' => 'Referrer Type', + 'Referers_TypeReportDocumentation' => 'This table contains information about the distribution of the referrer types.', + 'Referers_DirectEntryDocumentation' => 'A visitor has entered the URL in his browser and started browsing on your website - he entered the website directly.', + 'Referers_SearchEnginesDocumentation' => 'A visitor was referred to your website by a search engine. %s See the %s report for more datils.', + 'Referers_WebsitesDocumentation' => 'The visitor followed a link on antoher website that led to your site. %s See the %s report for more details.', + 'Referers_CampaignsDocumentation' => 'Visitors that came to your website as the result of a campaign. %s See the %s report for more details.', 'Referers_ColumnRefererType' => 'Referrer Type', 'Referers_ColumnSearchEngine' => 'Search Engine', 'Referers_ColumnWebsite' => 'Website', @@ -1123,6 +1167,8 @@ Note: this token will expire in 24 hrs.", 'UserSettings_Browsers' => 'Browsers', 'UserSettings_Plugins' => 'Plugins', 'UserSettings_Configurations' => 'Configurations', + 'UserSettings_WidgetGlobalVisitorsDocumentation' => 'This report shows the most common overall configurations that your visitors had. A configuration is the combination of an operating system, a browser type and a screen resolution.', + 'UserSettings_WidgetPluginsDocumentation' => 'This report shows which browser plugins your visitors had enabled. This information might be important for choosing the right way to deliver your content.', 'UserSettings_OperatingSystems' => 'Operating systems', 'UserSettings_Resolutions' => 'Resolutions', 'UserSettings_WideScreen' => 'Wide Screen', @@ -1136,10 +1182,12 @@ Note: this token will expire in 24 hrs.", 'UserSettings_ColumnTypeOfScreen' => 'Type of screen', 'UserSettings_WidgetResolutions' => 'Screen resolutions', 'UserSettings_WidgetBrowsers' => 'Visitor browsers', + 'UserSettings_WidgetBrowsersDocumentation' => 'This report contains information about what kind of browser your visitors were using. Each browser version is listed separately.', 'UserSettings_WidgetPlugins' => 'List of Plugins', 'UserSettings_PluginDetectionDoesNotWorkInIE' => 'Note: Plugins detection doesn\'t work in Internet Explorer. This report is only based on non-IE browsers.', 'UserSettings_WidgetWidescreen' => 'Normal / Widescreen', 'UserSettings_WidgetBrowserFamilies' => 'Browsers by family', + 'UserSettings_WidgetBrowserFamiliesDocumentation' => 'This chart shows your visitors\' browsers broken down into browser families. %s The most important information for web developers is what kind of rendering engine their visitors are using. The labels contain the names of the engines followed by the most common browser using that engine in brackets.', 'UserSettings_WidgetOperatingSystems' => 'Operating systems', 'UserSettings_WidgetGlobalVisitors' => 'Global visitors configuration', 'UserSettings_SubmenuSettings' => 'Settings', @@ -1197,6 +1245,8 @@ Note: this token will expire in 24 hrs.", 'VisitFrequency_PluginDescription' => 'Reports various statistics about the Returning Visitor versus the First time visitor.', 'VisitFrequency_Evolution' => 'Evolution over the period', 'VisitFrequency_ColumnReturningVisits' => 'Returning Visits', + 'VisitFrequency_ReturningVisitsDocumentation' => 'This is an overview of the returning visits.', + 'VisitFrequency_ReturningVisitDocumentation' => 'A returning visit is (as opposed to a new visit) made by someone who has visited the website at least once before.', 'VisitFrequency_ColumnActionsByReturningVisits' => 'Actions by Returning Visits', 'VisitFrequency_ColumnAverageVisitDurationForReturningVisitors' => 'Avg. Visit Duration for Returning Visitors (in seconds)', 'VisitFrequency_ColumnBounceRateForReturningVisits' => 'Bounce rate for Returning Visits', @@ -1227,7 +1277,9 @@ Note: this token will expire in 24 hrs.", 'VisitorInterest_ColumnVisitDuration' => 'Visit duration', 'VisitorInterest_ColumnPagesPerVisit' => 'Pages per visit', 'VisitorInterest_WidgetLengths' => 'Length of Visits', + 'VisitorInterest_WidgetLengthsDocumentation' => 'In this report, you can see how many visits had a certain total duration. Initially, the report is shown as a tag cloud, more common durations are displayed in a larger font.', 'VisitorInterest_WidgetPages' => 'Pages per visit', + 'VisitorInterest_WidgetPagesDocumentation' => 'In this report, you can see how many visits involved a certain number of pageviews. Initially, the report is shown as a tag cloud, more common numbers of pages are displayed in a larger font.', 'VisitorInterest_Engagement' => 'Engagement', 'VisitorInterest_PlusXMin' => '%s min', 'VisitorInterest_BetweenXYMinutes' => "%1\$s-%2\$s min", @@ -1236,6 +1288,7 @@ Note: this token will expire in 24 hrs.", 'VisitorInterest_BetweenXYSeconds' => "%1\$s-%2\$ss", 'VisitsSummary_PluginDescription' => 'Reports the general Analytics numbers: visits, unique visitors, number of actions, Bounce Rate, etc.', 'VisitsSummary_VisitsSummary' => 'Visits Summary', + 'VisitsSummary_VisitsSummaryDocumentation' => 'This is an overview of the visit evolution.', 'VisitsSummary_NbVisits' => '%s visits', 'VisitsSummary_NbUniqueVisitors' => '%s unique visitors', 'VisitsSummary_NbActions' => '%s actions', @@ -1258,7 +1311,9 @@ Note: this token will expire in 24 hrs.", 'VisitTime_ColumnServerTime' => 'Server time', 'VisitTime_ColumnLocalTime' => 'Local time', 'VisitTime_WidgetLocalTime' => 'Visits by local time', + 'VisitTime_WidgetLocalTimeDocumentation' => 'This graph shows what time it was in the %s visitors\' time zones %s during their visits.', 'VisitTime_WidgetServerTime' => 'Visits by server time', + 'VisitTime_WidgetServerTimeDocumentation' => 'This graph shows what time it was in the %s server\'s time zone %s during the visits.', 'VisitTime_SubmenuTimes' => 'Times', 'VisitTime_NHour' => '%sh', 'Widgetize_PluginDescription' => 'The plugin makes it very easy to export any Piwik Widget in your Blog, Website or on Igoogle and Netvibes!', diff --git a/lang/es.php b/lang/es.php index 4aec1b485f..24bd641778 100644 --- a/lang/es.php +++ b/lang/es.php @@ -79,19 +79,13 @@ $translations = array( 'General_VisitDuration' => 'Promedio de duración de las visitas (en segundos)', 'General_ColumnAvgTimeOnSite' => 'Promedio de tiempo en el sitio', 'General_ColumnBounceRate' => 'Porcentaje de rebote', - 'General_PageBounceRateDefinition' => 'El porcentaje de visitas que comenzó en esta página y dejaron el sitio web de inmediato.', 'General_ColumnExitRate' => 'Porcentaje de salida', - 'General_PageExitRateDefinition' => 'El porcentaje de visitas en esta página que dejaron el sitio web de inmediato.', 'General_ColumnPageviews' => 'Páginas vistas', 'General_ColumnUniquePageviews' => 'Páginas vistas únicas', 'General_ColumnBounces' => 'Rebotes', - 'General_BouncesDefinition' => 'Número de visitas que comenzaron en esta página y dejaron el sitio web de inmediato.', 'General_ColumnEntrances' => 'Entradas', - 'General_EntrancesDefinition' => 'Número de visitas que comenzaron en esta página.', 'General_ColumnExits' => 'Salidas', - 'General_ExitsDefinition' => 'Número de visitas que finalizaron en esta página.', 'General_ColumnAverageTimeOnPage' => 'Tiempo promedio en la página', - 'General_AverageTimeOnPageDefinition' => 'El tiempo promedio que los visitantes gastan en esta página', 'General_ColumnValuePerVisit' => 'Valor por visita', 'General_ColumnVisitsWithConversions' => 'Visitas con conversiones', 'General_YearsDays' => '%1$s años %2$s dÃas', diff --git a/lang/eu.php b/lang/eu.php index 027558bf9c..6238306b86 100644 --- a/lang/eu.php +++ b/lang/eu.php @@ -81,13 +81,9 @@ $translations = array( 'General_ColumnPageviews' => 'Orri-bistaratzeak', 'General_ColumnUniquePageviews' => 'Orri-bistaratze desberdinak', 'General_ColumnBounces' => 'Erreboteak', - 'General_BouncesDefinition' => 'Orrialde honetan hasi eta webgunea zuzenean utzi duten bisita kopurua.', 'General_ColumnEntrances' => 'Sarrerak', - 'General_EntrancesDefinition' => 'Orrialde honetan hasi diren bisita kopurua.', 'General_ColumnExits' => 'Irteerak', - 'General_ExitsDefinition' => 'Orrialde honetan bukatu duten bisita kopurua.', 'General_ColumnAverageTimeOnPage' => 'B.b.ko denbora orrialdean', - 'General_AverageTimeOnPageDefinition' => 'Batez beste bisitariek orrialde honetan igarotako denbora.', 'General_ColumnValuePerVisit' => 'Balioa bisitako', 'General_ColumnVisitsWithConversions' => 'Bihurketak dituzten bisitak', 'General_YearsDays' => '%1$s urte %2$s egun', diff --git a/lang/fi.php b/lang/fi.php index 44eb71a8f8..1544068320 100644 --- a/lang/fi.php +++ b/lang/fi.php @@ -79,19 +79,13 @@ $translations = array( 'General_VisitDuration' => 'Keskimääräinen vierailun kesto (s)', 'General_ColumnAvgTimeOnSite' => 'Keskimääräinen aika sivulla', 'General_ColumnBounceRate' => 'Lähtemissuhde', - 'General_PageBounceRateDefinition' => 'Suhteellinen osuus käynneistä, joilla ladattiin vain tämä sivu.', 'General_ColumnExitRate' => 'Poistumisprosentti', - 'General_PageExitRateDefinition' => 'Osuus käynneistä jotka poistuivat sivuilta suoraan.', 'General_ColumnPageviews' => 'Sivukatseluita', 'General_ColumnUniquePageviews' => 'Yksilöllisiä sivukatseluita', 'General_ColumnBounces' => 'Poistumiset', - 'General_BouncesDefinition' => 'Vain tämän sivun ladanneiden lukumäärä.', 'General_ColumnEntrances' => 'Saapumiset', - 'General_EntrancesDefinition' => 'Käynnit jotka alkoivat tältä sivulta', 'General_ColumnExits' => 'Lähdöt', - 'General_ExitsDefinition' => 'Käynnit jotka päättyivät tälle sivulle', 'General_ColumnAverageTimeOnPage' => 'Keskimääräinen aika sivulla', - 'General_AverageTimeOnPageDefinition' => 'Keskimäärinen aika, jonka kävijät viettävät tällä sivulla.', 'General_ColumnValuePerVisit' => 'Käynnin arvo', 'General_ColumnVisitsWithConversions' => 'Käyntejä, joissa keskusteluja', 'General_YearsDays' => '%1$s vuotta %2$s päivää', diff --git a/lang/fr.php b/lang/fr.php index 44de2a4720..e8bd35370e 100644 --- a/lang/fr.php +++ b/lang/fr.php @@ -102,19 +102,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'Temps moyen sur le site', 'General_ColumnVisitDuration' => 'Durée de la visite (en secondes)', 'General_ColumnBounceRate' => 'Taux de rebond', - 'General_PageBounceRateDefinition' => 'Pourcentage de visites qui ont commencé sur cette page et se sont terminées juste après.', 'General_ColumnExitRate' => 'Taux de sortie', - 'General_PageExitRateDefinition' => 'Pourcentage de visites sur cette page qui ont quitté le site juste après.', 'General_ColumnPageviews' => 'Vues', 'General_ColumnUniquePageviews' => 'Vues uniques', 'General_ColumnBounces' => 'Rebonds', - 'General_BouncesDefinition' => 'Nombre de visites qui ont commencé sur cette page et se sont terminées juste après.', 'General_ColumnEntrances' => 'Entrées', - 'General_EntrancesDefinition' => 'Nombre de visites qui ont commencé sur cette page', 'General_ColumnExits' => 'Sorties', - 'General_ExitsDefinition' => 'Nombre de visites qui ont terminé sur cette page', 'General_ColumnAverageTimeOnPage' => 'Temps moyen sur la page', - 'General_AverageTimeOnPageDefinition' => 'Le temps moyen passé par les visiteurs sur cette page', 'General_ColumnValuePerVisit' => 'Valeur par Visite', 'General_ColumnVisitsWithConversions' => 'Visites avec Conversions', 'General_YearsDays' => '%1$s années %2$s jours', diff --git a/lang/gl.php b/lang/gl.php index aa3c80b7d2..5c1da1a8c3 100644 --- a/lang/gl.php +++ b/lang/gl.php @@ -91,19 +91,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'Tempo Medio na Web', 'General_ColumnVisitDuration' => 'Duración Visita (en segs)', 'General_ColumnBounceRate' => 'Ratio de Rebotes', - 'General_PageBounceRateDefinition' => 'Porcentaxe de abandonos da web según a cargan con esta web como inicio.', 'General_ColumnExitRate' => 'Tasa de SaÃdas', - 'General_PageExitRateDefinition' => 'Porcentaxe de abandonos da web según a cargan', 'General_ColumnPageviews' => 'Páxinas Vistas', 'General_ColumnUniquePageviews' => 'Páxinas Únicas', 'General_ColumnBounces' => 'Rebotes', - 'General_BouncesDefinition' => 'Cantidad de abandonos da web según a cargan con esta web como inicio.', 'General_ColumnEntrances' => 'Entradas', - 'General_EntrancesDefinition' => 'Numero de vistas con a web como páxina de incio', 'General_ColumnExits' => 'SaÃdas', - 'General_ExitsDefinition' => 'Número de Abandonos nesta Web', 'General_ColumnAverageTimeOnPage' => 'Tempo medio na pax.', - 'General_AverageTimeOnPageDefinition' => 'Media do tempo pasado polos visitantes na web', 'General_ColumnValuePerVisit' => 'Valor por Visita', 'General_ColumnVisitsWithConversions' => 'Visitas con Conversións', 'General_YearsDays' => '%1$s anos %2$s dÃas', diff --git a/lang/he.php b/lang/he.php index cf254133ef..b0d4c52aaa 100644 --- a/lang/he.php +++ b/lang/he.php @@ -101,19 +101,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'משך שהייה ממוצע ב×תר', 'General_ColumnVisitDuration' => 'משך ביקור (×‘×©× ×™×•×ª)', 'General_ColumnBounceRate' => 'שיעור קפיצה', - 'General_PageBounceRateDefinition' => '×חוז ×”×ž×‘×§×¨×™× ×©×”×ª×—×™×œ×• בעמוד ×–×” ועזבו ×ת ×”×תר מיד ל×חר מכן.', 'General_ColumnExitRate' => 'שיעור יצי××”', - 'General_PageExitRateDefinition' => '×חוז ×”×ž×‘×§×¨×™× ×‘×¢×ž×•×“ ×–×” ועזבו ×ת ×”×תר מיד ל×חר מכן.', 'General_ColumnPageviews' => 'צפיות', 'General_ColumnUniquePageviews' => 'צפיות יחודייות', 'General_ColumnBounces' => 'קפיצות', - 'General_BouncesDefinition' => 'מספר ×”×ž×‘×§×¨×™× ×©×”×ª×—×™×œ×• בעמוד ×–×” ועזבו ×ת ×”×תר מיד ל×חר מכן.', 'General_ColumnEntrances' => '×›× ×™×¡×•×ª', - 'General_EntrancesDefinition' => 'מספר ×”×ž×‘×§×¨×™× ×©×”×ª×—×™×œ×• בעמוד ×–×”.', 'General_ColumnExits' => 'יצי×ות', - 'General_ExitsDefinition' => 'מספר ×‘×™×§×•×¨×™× ×©×¤×¡×§×• בעמוד ×–×”.', 'General_ColumnAverageTimeOnPage' => 'זמן ממוצע בעמוד', - 'General_AverageTimeOnPageDefinition' => 'משך הזמן הממוצע ×ותו ×ž×©×§×™×¢×™× ×”×ž×‘×§×¨×™× ×‘×¢×ž×•×“ ×–×”.', 'General_ColumnValuePerVisit' => 'תפוקה בכל ביקור', 'General_ColumnVisitsWithConversions' => '×‘×™×§×•×¨×™× ×¢× ×”×ž×¨×•×ª', 'General_YearsDays' => '%1$s ×©× ×™× ×•-%2$s ימי×', diff --git a/lang/hu.php b/lang/hu.php index fd7da12369..b5d6fcf75a 100644 --- a/lang/hu.php +++ b/lang/hu.php @@ -79,19 +79,13 @@ $translations = array( 'General_VisitDuration' => 'Ãtlagos látogatás idÅ‘tartama (másodpercben)', 'General_ColumnAvgTimeOnSite' => 'ÃtlagidÅ‘ az oldalon', 'General_ColumnBounceRate' => 'Visszafordulási arány', - 'General_PageBounceRateDefinition' => 'Azon látogatások aránya, melyek ezen a weblapon kezdÅ‘dtek, de itt is végzÅ‘dtek, mivel a látogató ezt követÅ‘en el is hagyta a weboldalt.', 'General_ColumnExitRate' => 'Elhagyási arány', - 'General_PageExitRateDefinition' => 'Azon látogatások aránya, melyek ezen a weblapon végzÅ‘dtek.', 'General_ColumnPageviews' => 'Lapmegtekintések', 'General_ColumnUniquePageviews' => 'Egyedi lapmegtekintések', 'General_ColumnBounces' => 'Visszafordulások', - 'General_BouncesDefinition' => 'Azon látogatások száma, melyek ezen a weblapon kezdÅ‘dtek, de itt is végzÅ‘dtek, mivel a látogató ezt követÅ‘en el is hagyta a weboldalt.', 'General_ColumnEntrances' => 'Belépések', - 'General_EntrancesDefinition' => 'Azon látogatások száma, melyek ezen a weblapon kezdÅ‘dtek.', 'General_ColumnExits' => 'Kilépések', - 'General_ExitsDefinition' => 'Azon látogatások száma, melyek ezen a weblapon végzÅ‘dtek.', 'General_ColumnAverageTimeOnPage' => 'Weblapon töltött átlagos idÅ‘', - 'General_AverageTimeOnPageDefinition' => 'A látogatók által ezen a weblapon töltött idÅ‘ átlaga.', 'General_ColumnValuePerVisit' => 'Látogatásonkénti érték', 'General_ColumnVisitsWithConversions' => 'Látogatások konverzióval', 'General_YearsDays' => '%1$s év %2$s nap', diff --git a/lang/id.php b/lang/id.php index b4d763ee4d..01efb4b55b 100644 --- a/lang/id.php +++ b/lang/id.php @@ -78,19 +78,13 @@ $translations = array( 'General_VisitDuration' => 'Rata-rata Waktu Kunjungan (dalam detik)', 'General_ColumnAvgTimeOnSite' => 'Rata-Rata Waktu dalam Situs', 'General_ColumnBounceRate' => 'Taraf pantulan', - 'General_PageBounceRateDefinition' => 'Persentase kunjungan yang dimulai dari halaman ini, dan meninggalkan situs secara langsung.', 'General_ColumnExitRate' => 'Taraf keluar', - 'General_PageExitRateDefinition' => 'Persentase kunjungan pada halaman ini yang meninggalkan situs secara langsung.', 'General_ColumnPageviews' => 'Jumlah tampilan halaman', 'General_ColumnUniquePageviews' => 'Jumlah tampilan halaman yang unik', 'General_ColumnBounces' => 'Pantulan', - 'General_BouncesDefinition' => 'Jumlah kunjungan yang dimulai dari halaman ini dan meninggalkan situs secara langsung.', 'General_ColumnEntrances' => 'Pintu masuk', - 'General_EntrancesDefinition' => 'Jumlah kunjungan yang dimulai dari halaman ini.', 'General_ColumnExits' => 'Pintu keluar', - 'General_ExitsDefinition' => 'Jumlah kunjungan yang berakhir pada halaman ini.', 'General_ColumnAverageTimeOnPage' => 'Rata-rata waktu pada halaman', - 'General_AverageTimeOnPageDefinition' => 'Rata-rata waktu yang dihabiskan pengunjung pada halaman ini.', 'General_ColumnValuePerVisit' => 'Nilai per Kunjungan', 'General_ColumnVisitsWithConversions' => 'Kunjungan dengan Konversi', 'General_YearsDays' => '%1$s tahun %2$s hari', diff --git a/lang/is.php b/lang/is.php index 028baceb2d..e998dd06ef 100644 --- a/lang/is.php +++ b/lang/is.php @@ -78,19 +78,13 @@ $translations = array( 'General_VisitDuration' => 'Meðallengd heimsókna(à sekúndum)', 'General_ColumnAvgTimeOnSite' => 'MeðaltÃma eytt á vef', 'General_ColumnBounceRate' => 'SkopptÃðni', - 'General_PageBounceRateDefinition' => 'Prósentuhlutfall heimsókna sem byrjuðu á þessari sÃðu, og yfirgáfu vefinn strax.', 'General_ColumnExitRate' => 'ÚtgöngutÃðni', - 'General_PageExitRateDefinition' => 'Prósentuhlutfall heimsókna á þessa sÃðu sem komu inn á sÃðuna og yfirgáfu vefinn strax.', 'General_ColumnPageviews' => 'SÃðuflettingar', 'General_ColumnUniquePageviews' => 'Einstakar sÃðuflettingar', 'General_ColumnBounces' => 'Skopp', - 'General_BouncesDefinition' => 'Fjöldi heimsókna sem byrjuðu á þessari sÃðu og yfirgáfu vefinn strax.', 'General_ColumnEntrances' => 'Innkomur', - 'General_EntrancesDefinition' => 'Fjöldi heimsókna sem byrjuðu á þessari sÃðu.', 'General_ColumnExits' => 'Útgöngur', - 'General_ExitsDefinition' => 'Fjöldi heimsókna sem sem enda á þessari sÃðu.', 'General_ColumnAverageTimeOnPage' => 'MeðaltÃmi eytt á sÃðu', - 'General_AverageTimeOnPageDefinition' => 'MeðaltÃmi sem gestir eyða á þessari sÃðu.', 'General_ColumnValuePerVisit' => 'Virði per heimsókn', 'General_ColumnVisitsWithConversions' => 'Heimsóknir með viðskiptum', 'General_YearsDays' => '%1$s ár %2$s dagar', diff --git a/lang/it.php b/lang/it.php index ba212da7da..f435e49c07 100644 --- a/lang/it.php +++ b/lang/it.php @@ -97,19 +97,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'Durata media', 'General_ColumnVisitDuration' => 'Durata delle visite (in secondi)', 'General_ColumnBounceRate' => '% di Rimbalzo', - 'General_PageBounceRateDefinition' => 'Percentuale delle visite iniziate con questa pagina e che hanno abbandonato il sito subito dopo.', 'General_ColumnExitRate' => 'Uscite rate', - 'General_PageExitRateDefinition' => 'Percentuale delle visite a questa pagina e che hanno abbandonato il sito subito dopo.', 'General_ColumnPageviews' => 'Visualizzazioni', 'General_ColumnUniquePageviews' => 'Visualizzazioni uniche', 'General_ColumnBounces' => 'Rifiuti', - 'General_BouncesDefinition' => 'Numero delle visite iniziate con questa pagina e che hanno abbandonato il sito subito dopo.', 'General_ColumnEntrances' => 'Entrate', - 'General_EntrancesDefinition' => 'Numero delle visite che sono partite da questa pagina.', 'General_ColumnExits' => 'Uscite', - 'General_ExitsDefinition' => 'Numero delle visite che sono finite in questa pagina.', 'General_ColumnAverageTimeOnPage' => 'Tempo medio sulla pagina', - 'General_AverageTimeOnPageDefinition' => 'Tempo medio speso dai visitatori su questa pagina.', 'General_ColumnValuePerVisit' => 'Valore per visita', 'General_ColumnVisitsWithConversions' => 'Visite per Conversione', 'General_YearsDays' => '%1$s anni %2$s giorni', diff --git a/lang/ja.php b/lang/ja.php index ed9073f7a4..c16df65e86 100644 --- a/lang/ja.php +++ b/lang/ja.php @@ -80,19 +80,13 @@ $translations = array( 'General_VisitDuration' => 'ビジットã®å¹³å‡ç¶™ç¶šæ™‚間(秒å˜ä½ï¼‰', 'General_ColumnAvgTimeOnSite' => 'å¹³å‡ã‚¦ã‚§ãƒ–サイト滞在時間', 'General_ColumnBounceRate' => 'ãƒã‚¦ãƒ³ã‚¹çއ', - 'General_PageBounceRateDefinition' => 'ã“ã®ãƒšãƒ¼ã‚¸ã‹ã‚‰ãƒ–ラウズを開始ã—ã€ã™ãã«ã‚¦ã‚§ãƒ–サイトã‹ã‚‰é›¢ã‚ŒãŸãƒ“ジットã®ãƒ‘ーセンテージã§ã™ã€‚', 'General_ColumnExitRate' => '退出率', - 'General_PageExitRateDefinition' => 'ã“ã®ãƒšãƒ¼ã‚¸ã‹ã‚‰ã™ãã«ã‚¦ã‚§ãƒ–サイトを離れãŸãƒ“ジットã®ãƒ‘ーセンテージã§ã™ã€‚', 'General_ColumnPageviews' => 'ページビュー', 'General_ColumnUniquePageviews' => 'ユニークページビュー', 'General_ColumnBounces' => 'ãƒã‚¦ãƒ³ã‚¹', - 'General_BouncesDefinition' => 'ã“ã®ãƒšãƒ¼ã‚¸ã‹ã‚‰ãƒ–ラウズを開始ã—ã€ã™ãã«ã‚¦ã‚§ãƒ–サイトã‹ã‚‰é›¢ã‚ŒãŸãƒ“ジット数ã§ã™ã€‚', 'General_ColumnEntrances' => 'å…¥å£ï¼ˆãƒ–ラウズ開始)', - 'General_EntrancesDefinition' => 'ã“ã®ãƒšãƒ¼ã‚¸ã§ãƒ–ラウズを開始ã—ãŸãƒ“ジット数ã§ã™ã€‚', 'General_ColumnExits' => '出å£ï¼ˆãƒ–ラウズ終了)', - 'General_ExitsDefinition' => 'ã“ã®ãƒšãƒ¼ã‚¸ã§ãƒ–ラウズを終了ã—ãŸãƒ“ジット数ã§ã™ã€‚', 'General_ColumnAverageTimeOnPage' => 'å¹³å‡ãƒšãƒ¼ã‚¸æ»žåœ¨æ™‚é–“', - 'General_AverageTimeOnPageDefinition' => 'ã“ã®ãƒšãƒ¼ã‚¸ã«ãƒ“ã‚¸ã‚¿ãƒ¼ãŒæ»žåœ¨ã—ãŸå¹³å‡æ™‚é–“ã§ã™ã€‚', 'General_ColumnValuePerVisit' => 'ビジットå˜ä½ã®ä¾¡å€¤', 'General_ColumnVisitsWithConversions' => 'コンãƒãƒ¼ã‚¸ãƒ§ãƒ³ä»˜ãビジット', 'General_YearsDays' => '%1$s å¹´ %2$s æ—¥', diff --git a/lang/ka.php b/lang/ka.php index 9ce55e9770..33c4d6ba8e 100644 --- a/lang/ka.php +++ b/lang/ka.php @@ -79,19 +79,13 @@ $translations = array( 'General_VisitDuration' => 'ვიზიტის სáƒáƒ¨áƒ£áƒáƒšáƒ ხáƒáƒœáƒ’რძლივáƒáƒ‘რ(წáƒáƒ›áƒ”ბში)', 'General_ColumnAvgTimeOnSite' => 'ვებ სáƒáƒ˜áƒ¢áƒ–ე გáƒáƒ¢áƒáƒ ებული დრáƒáƒ˜áƒ¡ სáƒáƒ¨áƒ£áƒáƒšáƒ ხáƒáƒœáƒ’რძლივáƒáƒ‘áƒ', 'General_ColumnBounceRate' => '"უსáƒáƒ გებლრვიზიტების" მáƒáƒ©áƒ•ენებელი', - 'General_PageBounceRateDefinition' => 'პრáƒáƒªáƒ”ნტული ნáƒáƒ¬áƒ˜áƒšáƒ˜ ვიზიტებისáƒ, რáƒáƒ›áƒšáƒ”ბიც დáƒáƒ˜áƒ¬áƒ§áƒ áƒáƒ› გვერდზე დრსხვáƒáƒ’áƒáƒœ გáƒáƒ“áƒáƒ¡áƒ•ლის გáƒáƒ ეშე გáƒáƒ•იდრვებ სáƒáƒ˜áƒ¢áƒ˜áƒ“áƒáƒœ.', 'General_ColumnExitRate' => 'გáƒáƒ¡áƒ•ლის მáƒáƒ©áƒ•ენებელი', - 'General_PageExitRateDefinition' => 'პრáƒáƒªáƒ”ნტული ნáƒáƒ¬áƒ˜áƒšáƒ˜ áƒáƒ› გვერდის ვიზიტებისáƒ, რáƒáƒ›áƒšáƒ”ბიც სხვáƒáƒ’áƒáƒœ გáƒáƒ“áƒáƒ¡áƒ•ლის გáƒáƒ ეშე გáƒáƒ•იდნენ ვებ სáƒáƒ˜áƒ¢áƒ˜áƒ“áƒáƒœ.', 'General_ColumnPageviews' => 'გვერდის ნáƒáƒ®áƒ•ები', 'General_ColumnUniquePageviews' => 'უნიკáƒáƒšáƒ£áƒ ი გვერდის ნáƒáƒ®áƒ•ები', 'General_ColumnBounces' => 'უსáƒáƒ გებლრვიზიტები', - 'General_BouncesDefinition' => 'რáƒáƒáƒ“ენáƒáƒ‘რვიზიტებისáƒ, რáƒáƒ›áƒšáƒ”ბიც დáƒáƒ˜áƒ¬áƒ§áƒ áƒáƒ› გვერდზე დრსხვáƒáƒ’áƒáƒœ გáƒáƒ“áƒáƒ¡áƒ•ლის გáƒáƒ ეშე გáƒáƒ•იდრვებ სáƒáƒ˜áƒ¢áƒ˜áƒ“áƒáƒœ.', 'General_ColumnEntrances' => 'შესვლები', - 'General_EntrancesDefinition' => 'რáƒáƒáƒ“ენáƒáƒ‘რვიზიტებისáƒ, რáƒáƒ›áƒšáƒ”ბიც დáƒáƒ˜áƒ¬áƒ§áƒ áƒáƒ› გვერდზე.', 'General_ColumnExits' => 'გáƒáƒ¡áƒ•ლები', - 'General_ExitsDefinition' => 'რáƒáƒáƒ“ენáƒáƒ‘რვიზიტებისáƒ, რáƒáƒ›áƒšáƒ”ბიც დáƒáƒ¡áƒ ულდრáƒáƒ› გვერდზე.', 'General_ColumnAverageTimeOnPage' => 'სáƒáƒ¨. დრრგვერდზე', - 'General_AverageTimeOnPageDefinition' => 'ვიზიტáƒáƒ ების მიერáƒáƒ› გვერდზე გáƒáƒ¢áƒáƒ ებული დრáƒáƒ¡ სáƒáƒ¨áƒ£áƒáƒšáƒ ხáƒáƒœáƒ’რძლივáƒáƒ‘áƒ.', 'General_ColumnValuePerVisit' => 'მნიშვნელáƒáƒ‘რვიზიტზე', 'General_ColumnVisitsWithConversions' => 'გáƒáƒ“მáƒáƒ¡áƒ•ლები რეკლáƒáƒ›áƒ”ბიდáƒáƒœ', 'General_YearsDays' => '%1$s წელი %2$s დღე', diff --git a/lang/lt.php b/lang/lt.php index acc056dcb2..c5d4e7b8a7 100644 --- a/lang/lt.php +++ b/lang/lt.php @@ -78,19 +78,13 @@ $translations = array( 'General_VisitDuration' => 'VidutinÄ— apsilankymo trukmÄ— (sek.)', 'General_ColumnAvgTimeOnSite' => 'Vidutinis laikas svetainÄ—je', 'General_ColumnBounceRate' => 'Å oklumo reitingas', - 'General_PageBounceRateDefinition' => 'ProcentinÄ— iÅ¡raiÅ¡ka apsilankymų, kurie prasidÄ—jo Å¡iame puslapyje ir iÅ¡ karto baigÄ—si.', 'General_ColumnExitRate' => 'PasiÅ¡alinimo reitingas', - 'General_PageExitRateDefinition' => 'ProcentinÄ— iÅ¡raiÅ¡ka apsilankymų Å¡iame puslapyje, kurių metu lankytojas iÅ¡ karto pasiÅ¡alino.', 'General_ColumnPageviews' => 'Puslapio peržiÅ«ros', 'General_ColumnUniquePageviews' => 'Unikalios puslapio peržiÅ«ros', 'General_ColumnBounces' => 'Å oklumas', - 'General_BouncesDefinition' => 'KiekinÄ— iÅ¡raiÅ¡ka apsilankymų, kurie prasidÄ—jo Å¡iame puslapyje ir iÅ¡ karto baigÄ—si.', 'General_ColumnEntrances' => 'Užėjimai', - 'General_EntrancesDefinition' => 'KiekinÄ— iÅ¡raiÅ¡ka apsilankymų , kurie prasidÄ—jo Å¡iame puslapyje.', 'General_ColumnExits' => 'Išėjimai', - 'General_ExitsDefinition' => 'KiekinÄ— iÅ¡raiÅ¡ka apsilankymų, kurie baigÄ—si Å¡iame puslapyje.', 'General_ColumnAverageTimeOnPage' => 'Vidutinis laikas puslapyje', - 'General_AverageTimeOnPageDefinition' => 'Vidutinis lankytojų praleistas laikas puslapyje.', 'General_ColumnValuePerVisit' => 'Apsilankymo vertÄ—', 'General_ColumnVisitsWithConversions' => 'Apsilankymai su konversija', 'General_YearsDays' => '%1$s metai %2$s dienos', diff --git a/lang/nb.php b/lang/nb.php index bd7e4e8cf5..d46757b1c1 100644 --- a/lang/nb.php +++ b/lang/nb.php @@ -99,19 +99,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'Gj. tid pÃ¥ nettstedet', 'General_ColumnVisitDuration' => 'Besøksvarighet (i sekunder)', 'General_ColumnBounceRate' => 'Sprettfrekvens', - 'General_PageBounceRateDefinition' => 'Prosentandelen av besøk som startet pÃ¥ denne siden og forlot nettstedet med en gang.', 'General_ColumnExitRate' => 'Utgangsfrekvens', - 'General_PageExitRateDefinition' => 'Prosentandelen av besøk pÃ¥ denne siden som forlot nettstedet med en gang.', 'General_ColumnPageviews' => 'Sidevisninger', 'General_ColumnUniquePageviews' => 'Unike sidevisninger', 'General_ColumnBounces' => 'Sprett', - 'General_BouncesDefinition' => 'Antall besøk som startet pÃ¥ denne siden og forlot nettstedet med en gang.', 'General_ColumnEntrances' => 'Innganger', - 'General_EntrancesDefinition' => 'Antall besøk som startet pÃ¥ denne siden.', 'General_ColumnExits' => 'Utganger', - 'General_ExitsDefinition' => 'Antall besøk som sluttet pÃ¥ denne siden.', 'General_ColumnAverageTimeOnPage' => 'Gj. tid pÃ¥ side', - 'General_AverageTimeOnPageDefinition' => 'Den gjennomsnittlige tiden besøkende tilbringer pÃ¥ denne siden.', 'General_ColumnValuePerVisit' => 'Verdi per besøk', 'General_ColumnVisitsWithConversions' => 'Besøk med konvertering', 'General_YearsDays' => '%1$s Ã¥r %2$s dager', diff --git a/lang/nl.php b/lang/nl.php index b3390ecddf..5ccc2e7509 100644 --- a/lang/nl.php +++ b/lang/nl.php @@ -92,19 +92,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'Gem. tijd op de site', 'General_ColumnVisitDuration' => 'Duur van bezoek (in seconden)', 'General_ColumnBounceRate' => 'Bounce Rate', - 'General_PageBounceRateDefinition' => 'Het percentage bezoeken dat startte op deze pagina en dan meteen weer vertrok.', 'General_ColumnExitRate' => 'Exit ratio', - 'General_PageExitRateDefinition' => 'Het percentage bezoeken op deze pagina dat daarna meteen de website verliet.', 'General_ColumnPageviews' => 'Paginaweergaves', 'General_ColumnUniquePageviews' => 'Unieke paginaweergaves', 'General_ColumnBounces' => 'Bounces', - 'General_BouncesDefinition' => 'Aantal bezoeken dat begon op deze pagina en de website meteen verliet.', 'General_ColumnEntrances' => 'Binnenkomsten', - 'General_EntrancesDefinition' => 'Aantal bezoeken dat begon op deze pagina.', 'General_ColumnExits' => 'Vertrekken', - 'General_ExitsDefinition' => 'Aantal bezoeken dat eindigde op deze pagina.', 'General_ColumnAverageTimeOnPage' => 'Gem. tijd op pagina', - 'General_AverageTimeOnPageDefinition' => 'De gemiddelde tijd dat bezoekers op deze pagina bleven.', 'General_ColumnValuePerVisit' => 'Waarde per bezoek', 'General_ColumnVisitsWithConversions' => 'Bezoekers met conversies', 'General_YearsDays' => '%1$s jaren %2$s dagen', diff --git a/lang/nn.php b/lang/nn.php index 262bec0d0c..b462b2f95b 100644 --- a/lang/nn.php +++ b/lang/nn.php @@ -71,18 +71,12 @@ $translations = array( 'General_VisitDuration' => 'Gjen. vitjingslengde (i sekund)', 'General_ColumnAvgTimeOnSite' => 'Gjen. tid pÃ¥ nettstaden', 'General_ColumnBounceRate' => 'Hopprate', - 'General_PageBounceRateDefinition' => 'Prosentandel vitjarar som starta pÃ¥ denne sida, men forsvann med ein gong.', - 'General_PageExitRateDefinition' => 'Prosent av vitjarar som forlét nettstaden med ein gong.', 'General_ColumnPageviews' => 'Sidevisingar', 'General_ColumnUniquePageviews' => 'Unike sidevisingar', 'General_ColumnBounces' => 'Hopp', - 'General_BouncesDefinition' => 'Talet pÃ¥ vitjingar som starta pÃ¥ denne sida men har forlate nettstaden med ein gong.', 'General_ColumnEntrances' => 'Inngangar', - 'General_EntrancesDefinition' => 'Talet pÃ¥ vitjingar som starta pÃ¥ denne sida.', 'General_ColumnExits' => 'Utgangar', - 'General_ExitsDefinition' => 'Talet pÃ¥ vitjingar som slutta pÃ¥ denne sida.', 'General_ColumnAverageTimeOnPage' => 'Gjen. tid pÃ¥ sida', - 'General_AverageTimeOnPageDefinition' => 'Den gjennomsnittlege tida vitjarar brukar pÃ¥ denne siden.', 'General_ColumnValuePerVisit' => 'Verdi per vising', 'General_ColumnVisitsWithConversions' => 'Vitjingar med overgang', 'General_MinutesSeconds' => '%1$s min %2$ss', diff --git a/lang/pl.php b/lang/pl.php index 6880ee7223..9a7a154635 100644 --- a/lang/pl.php +++ b/lang/pl.php @@ -74,17 +74,13 @@ $translations = array( 'General_VisitDuration' => 'Åšrednia dÅ‚ugość wizyt (w sekundach)', 'General_ColumnAvgTimeOnSite' => 'Åšredni czas spÄ™dzony na stronie', 'General_ColumnBounceRate' => 'Współczynnik odrzuceÅ„', - 'General_PageBounceRateDefinition' => 'Procent wizyt które zaczęły siÄ™ na tej stronie, a po lewej od razu.', 'General_ColumnExitRate' => 'Współczynnik wyjść', 'General_ColumnPageviews' => 'WyÅ›wietlenia', 'General_ColumnUniquePageviews' => 'Unikalnych wyÅ›wietleÅ„', 'General_ColumnBounces' => 'Odrzucenia', 'General_ColumnEntrances' => 'Wejść', - 'General_EntrancesDefinition' => 'Liczba wizyt, które rozpoczęły siÄ™ na tej stronie.', 'General_ColumnExits' => 'Wyjść', - 'General_ExitsDefinition' => 'Liczba wizyt, które zakoÅ„czyÅ‚y siÄ™ na tej stronie.', 'General_ColumnAverageTimeOnPage' => 'Åšredni czas na stronie', - 'General_AverageTimeOnPageDefinition' => 'Åšredni czas spÄ™dzony przez odwiedzajÄ…cych na tej stronie.', 'General_ColumnValuePerVisit' => 'Wartość wizyty', 'General_ColumnVisitsWithConversions' => 'Wizyty z konwersjami', 'General_YearsDays' => '%1$s lat %2$s dni', diff --git a/lang/pt-br.php b/lang/pt-br.php index 75ffefba5b..80a6ac718e 100644 --- a/lang/pt-br.php +++ b/lang/pt-br.php @@ -76,19 +76,13 @@ $translations = array( 'General_VisitDuration' => 'Média da duração das visitas (em segundos)', 'General_ColumnAvgTimeOnSite' => 'Tempo médio no site', 'General_ColumnBounceRate' => 'Taxa de saÃda', - 'General_PageBounceRateDefinition' => 'A porcentagem de visitas que entraram na página, e deixaram imediatamente', 'General_ColumnExitRate' => 'Taxa de saÃda', - 'General_PageExitRateDefinition' => 'A porcentagem de visitas que entraram na página, e deixaram imediatamente', 'General_ColumnPageviews' => 'Exibições da página', 'General_ColumnUniquePageviews' => 'Exbições únicas da página', 'General_ColumnBounces' => 'SaÃdas', - 'General_BouncesDefinition' => 'A porcentagem de visitas que entraram na página, e deixaram imediatamente', 'General_ColumnEntrances' => 'Entradas', - 'General_EntrancesDefinition' => 'Número de visitas que começaram nessa página', 'General_ColumnExits' => 'SaÃdas', - 'General_ExitsDefinition' => 'Número de visitas que terminaram nessa página', 'General_ColumnAverageTimeOnPage' => 'Média de tempo na página', - 'General_AverageTimeOnPageDefinition' => 'Quantidade média de tempo que visitantes gastam nessa página', 'General_ColumnValuePerVisit' => 'Valor por visita', 'General_ColumnVisitsWithConversions' => 'Visitas com conversões', 'General_YearsDays' => '%1$s anos %2$s dias', diff --git a/lang/pt.php b/lang/pt.php index 71e8942896..6b49c92bcd 100644 --- a/lang/pt.php +++ b/lang/pt.php @@ -78,19 +78,13 @@ $translations = array( 'General_VisitDuration' => 'Duração Média de Visitas (em segundos)', 'General_ColumnAvgTimeOnSite' => 'Tempo Médio na página', 'General_ColumnBounceRate' => 'Taxa de Ressalto', - 'General_PageBounceRateDefinition' => 'A percentagem de visitantes que começaram nesta página, e saÃram do website imediatamente.', 'General_ColumnExitRate' => 'Taxa de saÃda', - 'General_PageExitRateDefinition' => 'A percentagem de visitantes nesta página que saÃram do website imediatamente.', 'General_ColumnPageviews' => 'Páginas vistas', 'General_ColumnUniquePageviews' => 'Páginas vistas únicas', 'General_ColumnBounces' => 'Ressaltos', - 'General_BouncesDefinition' => 'Número de visitas que começaram nesta página e saÃram do website imediatamente.', 'General_ColumnEntrances' => 'Entradas', - 'General_EntrancesDefinition' => 'Número de visitas que começaram nesta página.', 'General_ColumnExits' => 'SaÃdas', - 'General_ExitsDefinition' => 'Número de visitas que acabaram nesta página.', 'General_ColumnAverageTimeOnPage' => 'Tempo médio na página', - 'General_AverageTimeOnPageDefinition' => 'O tempo médio gasto pelos visitantes nesta página.', 'General_ColumnValuePerVisit' => 'Valor por Visita', 'General_ColumnVisitsWithConversions' => 'Visitas com Conversões', 'General_YearsDays' => '%1$s anos %2$s dias', diff --git a/lang/ru.php b/lang/ru.php index 54c7208818..17f1d7bf06 100644 --- a/lang/ru.php +++ b/lang/ru.php @@ -97,19 +97,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'Средн. Ð²Ñ€ÐµÐ¼Ñ Ð½Ð° Ñайте', 'General_ColumnVisitDuration' => 'ПродолжительноÑть поÑÐµÑ‰ÐµÐ½Ð¸Ñ (Ñек)', 'General_ColumnBounceRate' => 'Процент отÑкоков', - 'General_PageBounceRateDefinition' => 'Ð”Ð¾Ð»Ñ Ð¿Ð¾Ñещений, начавшихÑÑ Ñ Ð¿Ñ€Ð¾Ñмотра Ñтой Ñтраницы, поÑле чего поÑетитель ушел Ñ Ñайта.', 'General_ColumnExitRate' => 'Процент выходов', - 'General_PageExitRateDefinition' => 'Ð”Ð¾Ð»Ñ Ð¿Ð¾Ñетителей, ушедших поÑле проÑмотра Ñтой Ñтраницы.', 'General_ColumnPageviews' => 'ПроÑмотры Ñтраниц', 'General_ColumnUniquePageviews' => 'Уникальные проÑмотры Ñтраниц', 'General_ColumnBounces' => 'ОтÑкоки', - 'General_BouncesDefinition' => 'КоличеÑтво поÑещений, начавшихÑÑ Ñ Ð¿Ñ€Ð¾Ñмотра Ñтой Ñтраницы, поÑле чего поÑетитель ушел Ñ Ñайта.', 'General_ColumnEntrances' => 'Входы на Ñайт', - 'General_EntrancesDefinition' => 'КоличеÑтво поÑетителей, которые начали Ñ Ñтой Ñтраницы.', 'General_ColumnExits' => 'Выходы из Ñайта', - 'General_ExitsDefinition' => 'КоличеÑтво поÑетителей, которые закончили на Ñтой Ñтранице.', 'General_ColumnAverageTimeOnPage' => 'Среднее Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾Ñмотра Ñтраницы', - 'General_AverageTimeOnPageDefinition' => 'Среднее Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð½Ð¾Ðµ поÑетителÑми при проÑмотре Ñтой Ñтраницы.', 'General_ColumnValuePerVisit' => 'СтоимоÑть визита', 'General_ColumnVisitsWithConversions' => 'Повторные поÑещениÑ', 'General_YearsDays' => '%1$s г. %2$s дн.', diff --git a/lang/sk.php b/lang/sk.php index 7040fe71e8..4bfebf8263 100644 --- a/lang/sk.php +++ b/lang/sk.php @@ -78,19 +78,13 @@ $translations = array( 'General_VisitDuration' => 'Priem. dĺžka návÅ¡tevy (v sekundách)', 'General_ColumnAvgTimeOnSite' => 'Priem. doba na stránke', 'General_ColumnBounceRate' => 'Miera návratov', - 'General_PageBounceRateDefinition' => 'Percento návÅ¡tev, ktoré zaÄalo na tejto stránke, a odiÅ¡lo zo stránky.', 'General_ColumnExitRate' => 'Miera odchodov', - 'General_PageExitRateDefinition' => 'Percento návÅ¡tev na tejto stránke, ktoré opustili webové stránky ihneÄ.', 'General_ColumnPageviews' => 'Zobrazené stránky', 'General_ColumnUniquePageviews' => 'Unikátne zobrazenia stránok', 'General_ColumnBounces' => 'Odchody', - 'General_BouncesDefinition' => 'PoÄet návÅ¡tev, ktoré zaÄal na tejto stránke a opustili webové stránky ihneÄ.', 'General_ColumnEntrances' => 'Vstupná stránka', - 'General_EntrancesDefinition' => 'PoÄet návÅ¡tev, ktoré zaÄal na tejto stránke.', 'General_ColumnExits' => 'Odchody', - 'General_ExitsDefinition' => 'PoÄet návÅ¡tev, ktore skonÄil na tejto stránke.', 'General_ColumnAverageTimeOnPage' => 'Priem. doba na stránke', - 'General_AverageTimeOnPageDefinition' => 'Priemerná doba, ktorú návÅ¡tevnÃci strávili na tejto stránke.', 'General_ColumnValuePerVisit' => 'Hodnota na návÅ¡tevu', 'General_ColumnVisitsWithConversions' => 'NávÅ¡tevy s konverziou', 'General_YearsDays' => '%1$s rokov %2$s dnÃ', diff --git a/lang/sl.php b/lang/sl.php index 5c724ab7ae..a39c93d980 100644 --- a/lang/sl.php +++ b/lang/sl.php @@ -92,19 +92,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'Povpr. ÄŒas na Spletni Strani', 'General_ColumnVisitDuration' => 'Trajanje Obiska (v sekundah)', 'General_ColumnBounceRate' => 'Odbojno Razmerje', - 'General_PageBounceRateDefinition' => 'Procent obiskovalcev, ki so se priÄeli na tej strani, ter jo nemudoma zapustili.', 'General_ColumnExitRate' => 'Izhodno Razmerje', - 'General_PageExitRateDefinition' => 'Procent obiskovalcev, na tej strani, ki so jo nemudoma zapustili.', 'General_ColumnPageviews' => 'Ogledov strani', 'General_ColumnUniquePageviews' => 'Edinstvenih Ogledov Strani', 'General_ColumnBounces' => 'Odbojev', - 'General_BouncesDefinition' => 'Å tevilo obiskov, ki so priÅ¡li na spletno stran ter jo nemudoma zapustili.', 'General_ColumnEntrances' => 'Vhodov', - 'General_EntrancesDefinition' => 'Å tevilo obiskov, ki se je priÄelo na tej strani.', 'General_ColumnExits' => 'Izhodov', - 'General_ExitsDefinition' => 'Å tevilo obiskov, ki so se zakljuÄili na tej strani.', 'General_ColumnAverageTimeOnPage' => 'Povpr. Äas na strani', - 'General_AverageTimeOnPageDefinition' => 'PovpreÄen Äas, ki so ga obiskovalci porabili na tej spletni strani.', 'General_ColumnValuePerVisit' => 'Vrednost na Obisk', 'General_Seconds' => '%ss', 'General_Save' => 'Shrani', diff --git a/lang/sq.php b/lang/sq.php index 8815eb63f7..c01ec51150 100644 --- a/lang/sq.php +++ b/lang/sq.php @@ -103,19 +103,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'Kohë Mesatare te Site-i Web', 'General_ColumnVisitDuration' => 'Kohëzgjatje Vizite (në sekonda)', 'General_ColumnBounceRate' => 'Mesatare Kthimesh', - 'General_PageBounceRateDefinition' => 'Përqindja e vizitave që filluan në këtë faqe, dhe u larguan nga site-i web menjëherë.', 'General_ColumnExitRate' => 'Mesatare Largimesh', - 'General_PageExitRateDefinition' => 'Përqindja e vizitave në këtë faqe që u larguan nga site-i web menjëherë.', 'General_ColumnPageviews' => 'Shikime faqesh', 'General_ColumnUniquePageviews' => 'Shikime Unike faqesh', 'General_ColumnBounces' => 'Kthime', - 'General_BouncesDefinition' => 'Numër vizitash që filluan në këtë faqe dhe u larguan nga site-i web menjëherë.', 'General_ColumnEntrances' => 'Hyrje', - 'General_EntrancesDefinition' => 'Numër vizitash që filluan nga kjo faqe.', 'General_ColumnExits' => 'Dalje', - 'General_ExitsDefinition' => 'Numër vizitash që përfunduan në këtë faqe.', 'General_ColumnAverageTimeOnPage' => 'Kohë mesatarisht në faqe', - 'General_AverageTimeOnPageDefinition' => 'Mesatare e kohës që vizitorët ndejtën në këtë faqe.', 'General_ColumnValuePerVisit' => 'Vlerë për Vizitë', 'General_ColumnVisitsWithConversions' => 'Vizita me Shndërrime', 'General_YearsDays' => '%1$s vite %2$s ditë', diff --git a/lang/sr.php b/lang/sr.php index 9553960d5d..2613bf3a1a 100644 --- a/lang/sr.php +++ b/lang/sr.php @@ -92,19 +92,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'ProseÄno vreme provedeno na sajtu', 'General_ColumnVisitDuration' => 'Dužina posete (u sekundama)', 'General_ColumnBounceRate' => 'Stopa odbijanja', - 'General_PageBounceRateDefinition' => 'Procenat poseta koje su poÄele na ovoj strani i napustile sajt istog trena', 'General_ColumnExitRate' => 'Stepen izlaza', - 'General_PageExitRateDefinition' => 'Procenat poseta ove strane koje su inicirale napuÅ¡tanje sajta', 'General_ColumnPageviews' => 'Pregledane stranice', 'General_ColumnUniquePageviews' => 'Jedinstven broj pregledanih stranica', 'General_ColumnBounces' => 'Odbijanja', - 'General_BouncesDefinition' => 'Broj poseta koje su poÄele na ovoj strani i napustile sajt istog trena', 'General_ColumnEntrances' => 'Ulazi', - 'General_EntrancesDefinition' => 'Broj poseta koje su poÄele baÅ¡ na ovoj strani', 'General_ColumnExits' => 'Izlazi', - 'General_ExitsDefinition' => 'Broj poseta koje su okonÄane na ovoj strani', 'General_ColumnAverageTimeOnPage' => 'ProseÄno vreme na strani', - 'General_AverageTimeOnPageDefinition' => 'ProseÄno vreme koje su posetioci proveli na ovoj strani', 'General_ColumnValuePerVisit' => 'Vrednost po poseti', 'General_ColumnVisitsWithConversions' => 'Posete sa konverzijom', 'General_YearsDays' => '%1$s godine %2$s dani', diff --git a/lang/sv.php b/lang/sv.php index 2c2e9a6244..7881f8303f 100644 --- a/lang/sv.php +++ b/lang/sv.php @@ -103,19 +103,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'Genomsnittlig tid pÃ¥ webbplatsen', 'General_ColumnVisitDuration' => 'Besökstid (i sekunder)', 'General_ColumnBounceRate' => 'Avvisningsfrekvens', - 'General_PageBounceRateDefinition' => 'Procentandelen besök som startade pÃ¥ den här sidan och lämnade webbplatsen direkt.', 'General_ColumnExitRate' => 'Utflödet', - 'General_PageExitRateDefinition' => 'Procentandelen besök pÃ¥ denna sida som lämnade webbplatsen direkt.', 'General_ColumnPageviews' => 'Sidvisningar', 'General_ColumnUniquePageviews' => 'Unika sidvisningar', 'General_ColumnBounces' => 'Avvisningar', - 'General_BouncesDefinition' => 'Antalet besök som startade pÃ¥ denna sidan och lämnade webbplatsen direkt.', 'General_ColumnEntrances' => 'Entréer', - 'General_EntrancesDefinition' => 'Antalet besök som startade pÃ¥ denna sidan.', 'General_ColumnExits' => 'UtgÃ¥ngar', - 'General_ExitsDefinition' => 'Antalet besök som slutade pÃ¥ denna sidan.', 'General_ColumnAverageTimeOnPage' => 'Genomsnittlig tid pÃ¥ sidan', - 'General_AverageTimeOnPageDefinition' => 'Genomsnittlig tid som besökarna spenderade pÃ¥ denna sidan.', 'General_ColumnValuePerVisit' => 'Värde per besök', 'General_ColumnVisitsWithConversions' => 'Besökare med konverteringar', 'General_YearsDays' => '%1$s Ã¥r %2$s dagar', diff --git a/lang/th.php b/lang/th.php index 6a85a60c96..b82c8e1ad5 100644 --- a/lang/th.php +++ b/lang/th.php @@ -97,19 +97,13 @@ $translations = array( 'General_ColumnAvgTimeOnSite' => 'เวลาเฉลี่ยบนไซต์', 'General_ColumnVisitDuration' => 'ระยะเวลาเข้าเยี่ยมชม (เป็นวินาที)', 'General_ColumnBounceRate' => 'à¸à¸±à¸•ราà¸à¸²à¸£à¸•ีà¸à¸¥à¸±à¸š', - 'General_PageBounceRateDefinition' => 'เปà¸à¸£à¹Œà¹€à¸‹à¹‡à¸™à¸•์ขà¸à¸‡à¸à¸²à¸£à¹€à¸‚้าชมที่เริ่มต้นในหน้านี้à¹à¸¥à¸°à¹€à¸§à¹‡à¸šà¹„ซต์ที่ใช้งาน', 'General_ColumnExitRate' => 'à¸à¸±à¸•ราà¸à¸²à¸£à¸à¸à¸à¸ˆà¸²à¸à¸«à¸™à¹‰à¸²à¹€à¸§à¹‡à¸š', - 'General_PageExitRateDefinition' => 'เปà¸à¸£à¹Œà¹€à¸‹à¹‡à¸™à¸•์à¸à¸²à¸£à¹€à¸‚้าชมในหน้าเว็บไซต์ที่ตรงต่à¸à¹„ปนี้', 'General_ColumnPageviews' => 'เพจวิว', 'General_ColumnUniquePageviews' => 'เข้าชมไม่ซ้ำà¸à¸±à¸™', 'General_ColumnBounces' => 'ตีà¸à¸¥à¸±à¸š', - 'General_BouncesDefinition' => 'จำนวนà¸à¸²à¸£à¹€à¸‚้าชมที่เริ่มทำงานบนหน้านี้ à¹à¸¥à¸°à¸›à¸¥à¹ˆà¸à¸¢à¹ƒà¸«à¹‰à¹€à¸§à¹‡à¸šà¹„ซต์ตรงเà¸à¹‡à¸š', 'General_ColumnEntrances' => 'Entrances', - 'General_EntrancesDefinition' => 'จำนวนà¸à¸²à¸£à¹€à¸‚้าชมที่เริ่มต้นบนหน้านี้', 'General_ColumnExits' => 'à¸à¸à¸à¸ˆà¸²à¸à¸«à¸™à¹‰à¸²à¹€à¸§à¹‡à¸š', - 'General_ExitsDefinition' => 'จำนวนขà¸à¸‡à¸à¸²à¸£à¹€à¸‚้าชมสิ้นสุดลงเมื่à¸à¸à¸¢à¸¹à¹ˆà¸«à¸™à¹‰à¸²à¸™à¸µà¹‰', 'General_ColumnAverageTimeOnPage' => 'เวลาเฉลี่ยบนเว็บเพจ', - 'General_AverageTimeOnPageDefinition' => 'โดยเฉลี่ยที่ผู้เข้าชมเวลาที่ใช้ในหน้านี้', 'General_ColumnValuePerVisit' => 'ค่าต่à¸à¸œà¸¹à¹‰à¸Šà¸¡', 'General_ColumnVisitsWithConversions' => 'ผู้เข้าชมà¸à¸±à¸šà¸à¸²à¸£à¹€à¸›à¸¥à¸‡à¸‚้à¸à¸¡à¸¹à¸¥', 'General_YearsDays' => '%1$s ปี %2$s วัน', diff --git a/lang/tr.php b/lang/tr.php index 9c4d42ea65..cec8c8b81e 100644 --- a/lang/tr.php +++ b/lang/tr.php @@ -83,11 +83,8 @@ $translations = array( 'General_ColumnUniquePageviews' => 'Tekil sayfa gösterimleri', 'General_ColumnBounces' => 'Sıçramalar', 'General_ColumnEntrances' => 'GiriÅŸler', - 'General_EntrancesDefinition' => 'Bu sayfada baÅŸlatılan ziyaretçi sayısı.', 'General_ColumnExits' => 'Çıkışlar', - 'General_ExitsDefinition' => 'Bu sayfada sonlandırılan ziyaretçi sayısı.', 'General_ColumnAverageTimeOnPage' => 'Sayfada geçirilen ort. süre', - 'General_AverageTimeOnPageDefinition' => 'Ziyaretçiler bu sayfada ortalama süre geçirdi.', 'General_ColumnValuePerVisit' => 'Ziyaret başına deÄŸer', 'General_ColumnVisitsWithConversions' => 'Sitenize gelen ve (alışveriÅŸ, mail listesine kayıt gibi) aktiviteler gösteren ziyaretçileri gör.', 'General_YearsDays' => '%1$s yıl %2$s gün', diff --git a/lang/uk.php b/lang/uk.php index b453173dcc..dfef688801 100644 --- a/lang/uk.php +++ b/lang/uk.php @@ -80,19 +80,13 @@ $translations = array( 'General_VisitDuration' => 'Ð¡ÐµÑ€ÐµÐ´Ð½Ñ Ñ‚Ñ€Ð¸Ð²Ð°Ð»Ñ–Ñть Ð²Ñ–Ð´Ð²Ñ–Ð´ÑƒÐ²Ð°Ð½Ð½Ñ (в Ñекундах)', 'General_ColumnAvgTimeOnSite' => 'Середній Ñ‡Ð°Ñ Ð½Ð° Ñайті', 'General_ColumnBounceRate' => 'ЧаÑтота відмов', - 'General_PageBounceRateDefinition' => 'ВідÑоток відвідувань що розпочалиÑÑ Ð· цієї Ñторінки, та відразу залишили Ñайт.', 'General_ColumnExitRate' => 'ЧаÑтота виходів', - 'General_PageExitRateDefinition' => 'ВідÑоток відвідувань на цій Ñторінці, що відразу залишили Ñайт.', 'General_ColumnPageviews' => 'ПереглÑдів Ñторінок', 'General_ColumnUniquePageviews' => 'Унікальних переглÑдів Ñторінок', 'General_ColumnBounces' => 'Відмови', - 'General_BouncesDefinition' => 'КількіÑть відвідувань що розпочалиÑÑ Ð· ціжї Ñторінки та залишили веб-Ñайт відразу.', 'General_ColumnEntrances' => 'Заходи', - 'General_EntrancesDefinition' => 'КількіÑть візитів що розпочалиÑÑ Ð· цієї Ñторінки.', 'General_ColumnExits' => 'Виходи', - 'General_ExitsDefinition' => 'КількіÑть візитів що завершилиÑÑ Ð½Ð° даній Ñторінці.', 'General_ColumnAverageTimeOnPage' => 'Середній Ñ‡Ð°Ñ Ð½Ð° Ñтор.', - 'General_AverageTimeOnPageDefinition' => 'Ð¡ÐµÑ€ÐµÐ´Ð½Ñ ÐºÑ–Ð»ÑŒÐºÑ–Ñть чаÑу проведена кориÑтоувачем на даній Ñторінці.', 'General_ColumnValuePerVisit' => 'ЦінніÑть на відвідуваннÑ', 'General_ColumnVisitsWithConversions' => 'Ð’Ñ–Ð´Ð²Ñ–Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð· конвертаціÑми', 'General_YearsDays' => '%1$s років %2$s днів', diff --git a/lang/zh-cn.php b/lang/zh-cn.php index f36c562d02..9536285d6c 100644 --- a/lang/zh-cn.php +++ b/lang/zh-cn.php @@ -77,19 +77,13 @@ $translations = array( 'General_VisitDuration' => 'å¹³å‡è®¿é—®æ—¶é—´ï¼ˆä»¥ç§’为å•ä½ï¼‰', 'General_ColumnAvgTimeOnSite' => 'å¹³å‡ç½‘ç«™åœç•™æ—¶é—´', 'General_ColumnBounceRate' => '跳出率', - 'General_PageBounceRateDefinition' => '这代表访客进入æ¤é¡µé¢ï¼Œä¸”由相åŒé¡µé¢ç¦»å¼€ç½‘站的比例。', 'General_ColumnExitRate' => '退出率', - 'General_PageExitRateDefinition' => 'ç”±æ¤é¡µé¢ç¦»å¼€ç½‘站的访客比例。', 'General_ColumnPageviews' => 'æµè§ˆé‡', 'General_ColumnUniquePageviews' => 'ç»å¯¹ä¸é‡å¤æµè§ˆé‡', 'General_ColumnBounces' => '跳出', - 'General_BouncesDefinition' => '进入æ¤é¡µé¢å¹¶é©¬ä¸Šç¦»å¼€çš„访客数é‡ã€‚', 'General_ColumnEntrances' => '主è¦ç›®æ ‡ç½‘页', - 'General_EntrancesDefinition' => 'ç”±æ¤é¡µé¢è¿›å…¥çš„访客數。', 'General_ColumnExits' => '主è¦é€€å‡ºç½‘页', - 'General_ExitsDefinition' => 'ç”±æ¤é¡µé¢ç¦»å¼€çš„访客數。', 'General_ColumnAverageTimeOnPage' => 'å¹³å‡ç½‘ç«™åœç•™æ—¶é—´', - 'General_AverageTimeOnPageDefinition' => '访客平å‡èŠ±è´¹çš„æ—¶é—´ã€‚', 'General_ColumnValuePerVisit' => 'æ¯æ¬¡è®¿é—®ä»·å€¼', 'General_ColumnVisitsWithConversions' => '访问转æ¢', 'General_YearsDays' => '%1$s å¹´ %2$s 天', diff --git a/lang/zh-tw.php b/lang/zh-tw.php index 1bb2b1ae71..9e82369b7b 100644 --- a/lang/zh-tw.php +++ b/lang/zh-tw.php @@ -78,19 +78,13 @@ $translations = array( 'General_VisitDuration' => 'å¹³å‡è¨ªå•時間(以秒為單ä½ï¼‰', 'General_ColumnAvgTimeOnSite' => 'å¹³å‡ç¶²ç«™åœç•™æ™‚é–“', 'General_ColumnBounceRate' => '跳出率', - 'General_PageBounceRateDefinition' => '這代表訪客進入æ¤é é¢ï¼Œä¸”由相åŒé é¢é›¢é–‹ç¶²ç«™çš„æ¯”例。', 'General_ColumnExitRate' => '退出率', - 'General_PageExitRateDefinition' => 'ç”±æ¤é é¢é›¢é–‹ç¶²ç«™çš„訪客比例。', 'General_ColumnPageviews' => 'ç€è¦½é‡', 'General_ColumnUniquePageviews' => 'ç¨ç«‹éžé‡è¿”訪客ç€è¦½æ•¸', 'General_ColumnBounces' => '跳出', - 'General_BouncesDefinition' => '進入æ¤é é¢ä¸¦é¦¬ä¸Šé›¢é–‹çš„訪客數é‡ã€‚', 'General_ColumnEntrances' => '主è¦åˆ°é”ç¶²é ', - 'General_EntrancesDefinition' => 'ç”±æ¤é é¢é€²å…¥çš„訪客數', 'General_ColumnExits' => '主è¦é›¢é–‹ç¶²é ', - 'General_ExitsDefinition' => 'ç”±æ¤é é¢é›¢é–‹çš„訪客數。', 'General_ColumnAverageTimeOnPage' => 'å¹³å‡ç¶²ç«™åœç•™æ™‚é–“', - 'General_AverageTimeOnPageDefinition' => '訪客平å‡èŠ±è²»çš„æ™‚é–“ã€‚', 'General_ColumnValuePerVisit' => 'æ¯æ¬¡é€ 訪價值', 'General_ColumnVisitsWithConversions' => 'é€ è¨ªè½‰æ›', 'General_YearsDays' => '%1$s å¹´ %2$s 天', diff --git a/plugins/API/API.php b/plugins/API/API.php index 8e9c73411a..b46f1328a0 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -2,11 +2,11 @@ /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_API */ @@ -46,22 +46,22 @@ class Piwik_API extends Piwik_Plugin { /** * This API is the <a href='http://piwik.org/docs/analytics-api/metadata/' target='_blank'>Metadata API</a>: it gives information about all other available APIs methods, as well as providing - * human readable and more complete outputs than normal API methods. - * - * Some of the information that is returned by the Metadata API: + * human readable and more complete outputs than normal API methods. + * + * Some of the information that is returned by the Metadata API: * <ul> - * <li>the dynamically generated list of all API methods via "getReportMetadata"</li> + * <li>the dynamically generated list of all API methods via "getReportMetadata"</li> * <li>the list of metrics that will be returned by each method, along with their human readable name, via "getDefaultMetrics" and "getDefaultProcessedMetrics"</li> * <li>the list of segments metadata supported by all functions that have a 'segment' parameter</li> - * <li>the (truly magic) method "getProcessedReport" will return a human readable version of any other report, and include the processed metrics such as - * conversion rate, time on site, etc. which are not directly available in other methods. + * <li>the (truly magic) method "getProcessedReport" will return a human readable version of any other report, and include the processed metrics such as + * conversion rate, time on site, etc. which are not directly available in other methods. * </ul> * The Metadata API is for example used by the Piwik Mobile App to automatically display all Piwik reports, with translated report & columns names and nicely formatted values. * More information on the <a href='http://piwik.org/docs/analytics-api/metadata/' target='_blank'>Metadata API documentation page</a> - * + * * @package Piwik_API */ -class Piwik_API_API +class Piwik_API_API { static private $instance = null; @@ -77,7 +77,7 @@ class Piwik_API_API return self::$instance; } - public function getDefaultMetrics() + public function getDefaultMetrics() { $translations = array( // Standard metrics @@ -107,6 +107,23 @@ class Piwik_API_API return array_map('Piwik_Translate', $translations); } + public function getDefaultMetricsDocumentation() + { + $documentation = array( + 'nb_visits' => 'General_ColumnNbVisitsDocumentation', + 'nb_uniq_visitors' => 'General_ColumnNbUniqVisitorsDocumentation', + 'nb_actions' => 'General_ColumnNbActionsDocumentation', + 'nb_actions_per_visit' => 'General_ColumnActionsPerVisitDocumentation', + 'avg_time_on_site' => 'General_ColumnAvgTimeOnSiteDocumentation', + 'bounce_rate' => 'General_ColumnBounceRateDocumentation', + 'conversion_rate' => 'General_ColumnConversionRateDocumentation', + 'avg_time_on_page' => 'General_ColumnAverageTimeOnPageDocumentation', + 'nb_hits' => 'General_ColumnPageviewsDocumentation', + 'exit_rate' => 'General_ColumnExitRateDocumentation' + ); + return array_map('Piwik_Translate', $documentation); + } + public function getSegmentsMetadata($idSites = array(), $_hideImplementationData = true) { $segments = array(); @@ -184,7 +201,7 @@ class Piwik_API_API 'acceptedValues' => '0, 1', 'sqlSegment' => 'visit_goal_converted', ); - foreach ($segments as &$segment) + foreach ($segments as &$segment) { $segment['name'] = Piwik_Translate($segment['name']); $segment['category'] = Piwik_Translate($segment['category']); @@ -213,7 +230,7 @@ class Piwik_API_API return $compare; } /** - * Loads reports metadata, then return the requested one, + * Loads reports metadata, then return the requested one, * matching optional API parameters. */ public function getMetadata($idSite, $apiModule, $apiAction, $apiParameters = array(), $language = false, $period = false) @@ -230,7 +247,7 @@ class Piwik_API_API { // See ArchiveProcessing/Period.php - unique visitors are not processed for period != day if($period != 'day' - && !($apiModule == 'VisitsSummary' + && !($apiModule == 'VisitsSummary' && $apiAction == 'get')) { unset($report['metrics']['nb_uniq_visitors']); @@ -258,12 +275,12 @@ class Piwik_API_API /** * Triggers a hook to ask plugins for available Reports. - * Returns metadata information about each report (category, name, dimension, metrics, etc.) + * Returns metadata information about each report (category, name, dimension, metrics, etc.) * * @param string $idSites Comma separated list of website Ids * @return array */ - public function getReportMetadata($idSites = '') + public function getReportMetadata($idSites = '') { $idSites = Piwik_Site::getIdSitesFromIdSitesString($idSites); @@ -276,6 +293,9 @@ class Piwik_API_API if (!isset($availableReport['processedMetrics'])) { $availableReport['processedMetrics'] = $this->getDefaultProcessedMetrics(); } + if (!isset($availableReport['metricsDocumentation'])) { + $availableReport['metricsDocumentation'] = $this->getDefaultMetricsDocumentation(); + } } // Some plugins need to add custom metrics after all plugins hooked in @@ -319,7 +339,7 @@ class Piwik_API_API unset($availableReport['metricsGoal']['conversion_rate']); } - // Processing a uniqueId for each report, + // Processing a uniqueId for each report, // can be used by UIs as a key to match a given report $uniqueId = $availableReport['module'] . '_' . $availableReport['action']; if(!empty($availableReport['parameters'])) @@ -403,9 +423,9 @@ class Piwik_API_API 'website' => $website->getName(), 'prettyDate' => $period->getLocalizedLongString(), // 'prettySegment' => $segment->getPrettyString(), - 'metadata' => $reportMetadata, - 'columns' => $columns, - 'reportData' => $newReport, + 'metadata' => $reportMetadata, + 'columns' => $columns, + 'reportData' => $newReport, 'reportMetadata' => $rowsMetadata, ); if($showTimer) @@ -444,7 +464,7 @@ class Piwik_API_API 'value' => Piwik_Translate('General_Value'), ); return array( - $newReport, + $newReport, $columns, $rowsMetadata = array() ); @@ -470,7 +490,7 @@ class Piwik_API_API } } } - // Display the global Goal metrics + // Display the global Goal metrics if(isset($reportMetadata['metricsGoal'])) { $metricsGoalDisplay = array('revenue'); @@ -513,7 +533,7 @@ class Piwik_API_API { $newRow[$columnId] = Piwik::getPrettyValue($idSite, $columnId, $value, $htmlAllowed = false, $timeAsSentence = false); } - // We try and only keep metadata + // We try and only keep metadata // - if the column value is not an array (eg. metrics per goal) // - if the column name doesn't contain _ (which is by standard, a metric column) elseif(!is_array($value) @@ -526,16 +546,16 @@ class Piwik_API_API $newReport[] = $newRow; } return array( - $newReport, - $columns, + $newReport, + $columns, $rowsMetadata ); } /** - * API metadata are sorted by category/name, + * API metadata are sorted by category/name, * with a little tweak to replicate the standard Piwik category ordering - * + * * @param string $a * @param string $b * @return int @@ -554,7 +574,7 @@ class Piwik_API_API Piwik_Translate('UserSettings_VisitorSettings'), ); } - return ($category = strcmp(array_search($a['category'], $order), array_search($b['category'], $order))) == 0 + return ($category = strcmp(array_search($a['category'], $order), array_search($b['category'], $order))) == 0 ? (@$a['order'] < @$b['order'] ? -1 : 1) : $category; } diff --git a/plugins/Actions/Actions.php b/plugins/Actions/Actions.php index 1362b38488..a15907a375 100644 --- a/plugins/Actions/Actions.php +++ b/plugins/Actions/Actions.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_Actions */ @@ -94,8 +94,8 @@ class Piwik_Actions extends Piwik_Plugin function getIdActionFromString($string, $sqlField) { // Field is visit_*_idaction_url or visit_*_idaction_name - $actionType = strpos($sqlField, '_name') === false - ? Piwik_Tracker_Action::TYPE_ACTION_URL + $actionType = strpos($sqlField, '_name') === false + ? Piwik_Tracker_Action::TYPE_ACTION_URL : Piwik_Tracker_Action::TYPE_ACTION_NAME; $sql = Piwik_Tracker_Action::getSqlSelectActionId(); @@ -112,13 +112,22 @@ class Piwik_Actions extends Piwik_Plugin $metrics = array( 'nb_visits' => Piwik_Translate('General_ColumnUniquePageviews'), 'nb_hits' => Piwik_Translate('General_ColumnPageviews'), - 'entry_nb_visits' => Piwik_Translate('General_ColumnEntrances'), + 'entry_nb_visits' => Piwik_Translate('General_ColumnEntrances'), 'avg_time_on_page' => Piwik_Translate('General_ColumnAverageTimeOnPage'), 'bounce_rate' => Piwik_Translate('General_ColumnBounceRate'), - 'exit_nb_visits' => Piwik_Translate('General_ColumnExits'), - 'exit_rate' => Piwik_Translate('General_ColumnExitRate'), - // 'entry_bounce_count' => Piwik_Translate('General_ColumnBounces'), + 'exit_nb_visits' => Piwik_Translate('General_ColumnExits'), + 'exit_rate' => Piwik_Translate('General_ColumnExitRate'), + // 'entry_bounce_count' => Piwik_Translate('General_ColumnBounces'), ); + + $documentation = array( + 'nb_hits' => 'General_ColumnPageviewsDocumentation', + 'nb_visits' => 'General_ColumnUniquePageviewsDocumentation', + 'bounce_rate' => 'General_ColumnPageBounceRateDocumentation', + 'avg_time_on_page' => 'General_ColumnAverageTimeOnPageDocumentation', + 'exit_rate' => 'General_ColumnExitRateDocumentation' + ); + $documentation = array_map('Piwik_Translate', $documentation); // Page views URLs and Page titles have the full set of metrics $reports[] = array( @@ -128,6 +137,9 @@ class Piwik_Actions extends Piwik_Plugin 'action' => 'getPageUrls', 'dimension' => Piwik_Translate('Actions_ColumnPageURL'), 'metrics' => $metrics, + 'metricsDocumentation' => $documentation, + 'documentation' => Piwik_Translate('Actions_PagesReportDocumentation', '<br />') + .'<br />'.Piwik_Translate('General_UsePlusMinusIconsDocumentation'), 'processedMetrics' => false, 'order' => 1, ); @@ -139,6 +151,8 @@ class Piwik_Actions extends Piwik_Plugin 'action' => 'getPageTitles', 'dimension' => Piwik_Translate('Actions_ColumnPageName'), 'metrics' => $metrics, + 'metricsDocumentation' => $documentation, + 'documentation' => Piwik_Translate('Actions_PageTitlesReportDocumentation', array('<br />', htmlentities('<title>'))), 'processedMetrics' => false, 'order' => 3, ); @@ -147,6 +161,12 @@ class Piwik_Actions extends Piwik_Plugin $metrics = array( 'nb_hits' => Piwik_Translate('General_ColumnPageviews'), 'nb_visits', ); + + $documentation = array( + 'nb_hits' => Piwik_Translate('Actions_ColumnClicksDocumentation'), + 'nb_visits' => Piwik_Translate('Actions_ColumnUniqueClicksDocumentation') + ); + $reports[] = array( 'category' => Piwik_Translate('Actions_Actions'), 'name' => Piwik_Translate('Actions_SubmenuOutlinks'), @@ -154,6 +174,10 @@ class Piwik_Actions extends Piwik_Plugin 'action' => 'getOutlinks', 'dimension' => Piwik_Translate('Actions_ColumnClickedURL'), 'metrics' => $metrics, + 'metricsDocumentation' => $documentation, + 'documentation' => Piwik_Translate('Actions_OutlinksReportDocumentation').' ' + .Piwik_Translate('Actions_OutlinkDocumentation').'<br />' + .Piwik_Translate('General_UsePlusMinusIconsDocumentation'), 'processedMetrics' => false, 'order' => 5, ); @@ -164,6 +188,8 @@ class Piwik_Actions extends Piwik_Plugin 'action' => 'getDownloads', 'dimension' => Piwik_Translate('Actions_ColumnDownloadURL'), 'metrics' => $metrics, + 'metricsDocumentation' => $documentation, + 'documentation' => Piwik_Translate('Actions_DownloadsReportDocumentation', '<br />'), 'processedMetrics' => false, 'order' => 7, ); @@ -181,24 +207,24 @@ class Piwik_Actions extends Piwik_Plugin function addMenus() { - Piwik_AddMenu('Actions_Actions', '', array('module' => 'Actions', 'action' => 'getPageUrls'), true, 15); - Piwik_AddMenu('Actions_Actions', 'Actions_SubmenuPages', array('module' => 'Actions', 'action' => 'getPageUrls'), true, 1); - Piwik_AddMenu('Actions_Actions', 'Actions_SubmenuPagesEntry', array('module' => 'Actions', 'action' => 'getEntryPageUrls'), true, 2); - Piwik_AddMenu('Actions_Actions', 'Actions_SubmenuPagesExit', array('module' => 'Actions', 'action' => 'getExitPageUrls'), true, 3); - Piwik_AddMenu('Actions_Actions', 'Actions_SubmenuPageTitles', array('module' => 'Actions', 'action' => 'getPageTitles'), true, 4); - Piwik_AddMenu('Actions_Actions', 'Actions_SubmenuOutlinks', array('module' => 'Actions', 'action' => 'getOutlinks'), true, 5); - Piwik_AddMenu('Actions_Actions', 'Actions_SubmenuDownloads', array('module' => 'Actions', 'action' => 'getDownloads'), true, 6); + Piwik_AddMenu('Actions_Actions', '', array('module' => 'Actions', 'action' => 'indexPageUrls'), true, 15); + Piwik_AddMenu('Actions_Actions', 'Actions_SubmenuPages', array('module' => 'Actions', 'action' => 'indexPageUrls'), true, 1); + Piwik_AddMenu('Actions_Actions', 'Actions_SubmenuPagesEntry', array('module' => 'Actions', 'action' => 'indexEntryPageUrls'), true, 2); + Piwik_AddMenu('Actions_Actions', 'Actions_SubmenuPagesExit', array('module' => 'Actions', 'action' => 'indexExitPageUrls'), true, 3); + Piwik_AddMenu('Actions_Actions', 'Actions_SubmenuPageTitles', array('module' => 'Actions', 'action' => 'indexPageTitles'), true, 4); + Piwik_AddMenu('Actions_Actions', 'Actions_SubmenuOutlinks', array('module' => 'Actions', 'action' => 'indexOutlinks'), true, 5); + Piwik_AddMenu('Actions_Actions', 'Actions_SubmenuDownloads', array('module' => 'Actions', 'action' => 'indexDownloads'), true, 6); } static protected $invalidSummedColumnNameToRenamedNameForPeriodArchive = array( - Piwik_Archive::INDEX_NB_UNIQ_VISITORS => Piwik_Archive::INDEX_SUM_DAILY_NB_UNIQ_VISITORS, - Piwik_Archive::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS => Piwik_Archive::INDEX_PAGE_ENTRY_SUM_DAILY_NB_UNIQ_VISITORS, + Piwik_Archive::INDEX_NB_UNIQ_VISITORS => Piwik_Archive::INDEX_SUM_DAILY_NB_UNIQ_VISITORS, + Piwik_Archive::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS => Piwik_Archive::INDEX_PAGE_ENTRY_SUM_DAILY_NB_UNIQ_VISITORS, Piwik_Archive::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS => Piwik_Archive::INDEX_PAGE_EXIT_SUM_DAILY_NB_UNIQ_VISITORS, ); protected static $invalidSummedColumnNameToDeleteFromDayArchive = array( Piwik_Archive::INDEX_NB_UNIQ_VISITORS, - Piwik_Archive::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS, + Piwik_Archive::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS, Piwik_Archive::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS, ); @@ -206,7 +232,7 @@ class Piwik_Actions extends Piwik_Plugin { // for BC, we read the old style delimiter first (see #1067) $actionDelimiter = Zend_Registry::get('config')->General->action_category_delimiter; - if(empty($actionDelimiter)) + if(empty($actionDelimiter)) { self::$actionUrlCategoryDelimiter = Zend_Registry::get('config')->General->action_url_category_delimiter; self::$actionTitleCategoryDelimiter = Zend_Registry::get('config')->General->action_title_category_delimiter; @@ -241,11 +267,11 @@ class Piwik_Actions extends Piwik_Plugin /** * Compute all the actions along with their hierarchies. - * - * For each action we process the "interest statistics" : + * + * For each action we process the "interest statistics" : * visits, unique visitors, bouce count, sum visit length. - * - * + * + * */ public function archiveDay( $notification ) { @@ -264,11 +290,11 @@ class Piwik_Actions extends Piwik_Plugin // This row is used in the case where an action is know as an exit_action // but this action was not properly recorded when it was hit in the first place // so we add this fake row information to make sure there is a nb_hits, etc. column for every action - $this->defaultRow = new Piwik_DataTable_Row(array( - Piwik_DataTable_Row::COLUMNS => array( + $this->defaultRow = new Piwik_DataTable_Row(array( + Piwik_DataTable_Row::COLUMNS => array( Piwik_Archive::INDEX_NB_VISITS => 1, Piwik_Archive::INDEX_NB_UNIQ_VISITORS => 1, - Piwik_Archive::INDEX_PAGE_NB_HITS => 1, + Piwik_Archive::INDEX_PAGE_NB_HITS => 1, ))); /* @@ -279,10 +305,10 @@ class Piwik_Actions extends Piwik_Plugin $sqlJoinVisitTable = $sqlSegmentWhere = ''; if(!$segment->isEmpty()) { - $sqlJoinVisitTable = "LEFT JOIN ".Piwik_Common::prefixTable('log_visit')." as log_visit ON (log_visit.idvisit = log_link_visit_action.idvisit)"; + $sqlJoinVisitTable = "LEFT JOIN ".Piwik_Common::prefixTable('log_visit')." as log_visit ON (log_visit.idvisit = log_link_visit_action.idvisit)"; $sqlSegmentWhere = ' AND '.$segmentSql['sql']; } - $sqlBind = $segmentSql['bind']; + $sqlBind = $segmentSql['bind']; /* * Page URLs and Page names, general stats @@ -290,9 +316,9 @@ class Piwik_Actions extends Piwik_Plugin $queryString = "SELECT name, type, idaction, - count(distinct log_link_visit_action.idvisit) as `". Piwik_Archive::INDEX_NB_VISITS ."`, + count(distinct log_link_visit_action.idvisit) as `". Piwik_Archive::INDEX_NB_VISITS ."`, count(distinct log_link_visit_action.idvisitor) as `". Piwik_Archive::INDEX_NB_UNIQ_VISITORS ."`, - count(*) as `". Piwik_Archive::INDEX_PAGE_NB_HITS ."` + count(*) as `". Piwik_Archive::INDEX_PAGE_NB_HITS ."` FROM ".Piwik_Common::prefixTable('log_link_visit_action')." as log_link_visit_action LEFT JOIN ".Piwik_Common::prefixTable('log_action')." as log_action ON (log_link_visit_action.%s = idaction) $sqlJoinVisitTable @@ -311,12 +337,12 @@ class Piwik_Actions extends Piwik_Plugin * Entry actions for Page URLs and Page names */ $queryString = "SELECT %s as idaction, - count(distinct idvisitor) as `". Piwik_Archive::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS ."`, + count(distinct idvisitor) as `". Piwik_Archive::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS ."`, count(*) as `". Piwik_Archive::INDEX_PAGE_ENTRY_NB_VISITS ."`, sum(visit_total_actions) as `". Piwik_Archive::INDEX_PAGE_ENTRY_NB_ACTIONS ."`, - sum(visit_total_time) as `". Piwik_Archive::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH ."`, + sum(visit_total_time) as `". Piwik_Archive::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH ."`, sum(case visit_total_actions when 1 then 1 else 0 end) as `". Piwik_Archive::INDEX_PAGE_ENTRY_BOUNCE_COUNT ."` - FROM ".Piwik_Common::prefixTable('log_visit')." + FROM ".Piwik_Common::prefixTable('log_visit')." WHERE visit_last_action_time >= ? AND visit_last_action_time <= ? AND idsite = ? @@ -332,7 +358,7 @@ class Piwik_Actions extends Piwik_Plugin $queryString = "SELECT %s as idaction, count(distinct idvisitor) as `". Piwik_Archive::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS ."`, count(*) as `". Piwik_Archive::INDEX_PAGE_EXIT_NB_VISITS ."` - FROM ".Piwik_Common::prefixTable('log_visit')." + FROM ".Piwik_Common::prefixTable('log_visit')." WHERE visit_last_action_time >= ? AND visit_last_action_time <= ? AND idsite = ? @@ -471,11 +497,11 @@ class Piwik_Actions extends Piwik_Plugin } } - if($type == Piwik_Tracker_Action::TYPE_ACTION_NAME) + if($type == Piwik_Tracker_Action::TYPE_ACTION_NAME) { $categoryDelimiter = self::$actionTitleCategoryDelimiter; - } - else + } + else { $categoryDelimiter = self::$actionUrlCategoryDelimiter; } @@ -506,13 +532,13 @@ class Piwik_Actions extends Piwik_Plugin $lastPageName = end($split); // we are careful to prefix the page URL / name with some value - // so that if a page has the same name as a category - // we don't merge both entries + // so that if a page has the same name as a category + // we don't merge both entries if($type != Piwik_Tracker_Action::TYPE_ACTION_NAME ) { $lastPageName = '/' . $lastPageName; } - else + else { $lastPageName = ' ' . $lastPageName; } @@ -530,13 +556,13 @@ class Piwik_Actions extends Piwik_Plugin while( $row = $query->fetch() ) { // Only the first query will contain the name and type of actions, for performance reasons - if(isset($row['name']) + if(isset($row['name']) && isset($row['type'])) { $actionName = $row['name']; $actionType = $row['type']; // in some unknown case, the type field is NULL, as reported in #1082 - we ignore this page view - if(empty($actionType)) + if(empty($actionType)) { self::$cacheParsedAction[$row['idaction']] = false; continue; @@ -572,8 +598,8 @@ class Piwik_Actions extends Piwik_Plugin foreach($row as $name => $value) { // in some edge cases, we have twice the same action name with 2 different idaction - // this happens when 2 visitors visit the same new page at the same time, there is a SELECT and an INSERT for each new page, - // and in between the two the other visitor comes. + // this happens when 2 visitors visit the same new page at the same time, there is a SELECT and an INSERT for each new page, + // and in between the two the other visitor comes. // here we handle the case where there is already a row for this action name, if this is the case we add the value if(($alreadyValue = $currentTable->getColumn($name)) !== false) { @@ -608,7 +634,7 @@ class Piwik_Actions extends Piwik_Plugin /** * Given a page name and type, builds a recursive datatable where * each level of the tree is a category, based on the page name split by a delimiter (slash / by default) - * + * * @param string $actionName * @param int $actionType * @return Piwik_DataTable @@ -646,7 +672,7 @@ class Piwik_Actions extends Piwik_Plugin { $currentTable = new Piwik_DataTable_Row(array( Piwik_DataTable_Row::COLUMNS => $defaultColumnsNewRow, - )); + )); } else { diff --git a/plugins/Actions/Controller.php b/plugins/Actions/Controller.php index ec5defa454..2d29f56d05 100644 --- a/plugins/Actions/Controller.php +++ b/plugins/Actions/Controller.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_Actions */ @@ -15,14 +15,14 @@ * * @package Piwik_Actions */ -class Piwik_Actions_Controller extends Piwik_Controller +class Piwik_Actions_Controller extends Piwik_Controller { const ACTIONS_REPORT_ROWS_DISPLAY = 100; protected function getPageUrlsView($currentAction, $controllerActionSubtable) { $view = Piwik_ViewDataTable::factory(); - $view->init( $this->pluginName, + $view->init( $this->pluginName, $currentAction, 'Actions.getPageUrls', $controllerActionSubtable ); @@ -30,6 +30,18 @@ class Piwik_Actions_Controller extends Piwik_Controller return $view; } + + /** + * PAGES + */ + + public function indexPageUrls($fetch = false) + { + return Piwik_View::singleReport( + Piwik_Translate('Actions_SubmenuPages'), + $this->getPageUrls(true), $fetch); + } + public function getPageUrls($fetch = false) { $view = $this->getPageUrlsView(__FUNCTION__, 'getPageUrlsSubDataTable'); @@ -50,9 +62,20 @@ class Piwik_Actions_Controller extends Piwik_Controller { $view->setColumnsToDisplay( array('label','nb_hits','nb_visits', 'bounce_rate', 'avg_time_on_page', 'exit_rate') ); } - - public function getEntryPageUrls($fetch = false) + + + /** + * ENTRY PAGES + */ + + public function indexEntryPageUrls($fetch = false) { + return Piwik_View::singleReport( + Piwik_Translate('Actions_SubmenuPagesEntry'), + $this->getEntryPageUrls(true), $fetch); + } + + public function getEntryPageUrls($fetch = false) { $view = $this->getPageUrlsView(__FUNCTION__, 'getEntryPageUrlsSubDataTable'); $this->configureViewEntryPageUrls($view); $this->configureViewActions($view); @@ -71,12 +94,30 @@ class Piwik_Actions_Controller extends Piwik_Controller { $view->setSortedColumn('entry_nb_visits'); $view->setColumnsToDisplay( array('label','entry_nb_visits', 'entry_bounce_count', 'bounce_rate') ); - $view->setColumnTranslation('entry_bounce_count', Piwik_Translate('General_ColumnBounces'), Piwik_Translate('General_BouncesDefinition')); - $view->setColumnTranslation('entry_nb_visits', Piwik_Translate('General_ColumnEntrances'), Piwik_Translate('General_EntrancesDefinition')); + $view->setColumnTranslation('entry_bounce_count', Piwik_Translate('General_ColumnBounces')); + $view->setColumnTranslation('entry_nb_visits', Piwik_Translate('General_ColumnEntrances')); // remove pages that are not entry pages $view->queueFilter('ColumnCallbackDeleteRow', array('entry_nb_visits', 'strlen'), $priorityFilter = true); + + $view->setMetricDocumentation('entry_nb_visits', Piwik_Translate('General_ColumnEntrancesDocumentation')); + $view->setMetricDocumentation('entry_bounce_count', Piwik_Translate('General_ColumnBouncesDocumentation')); + $view->setMetricDocumentation('bounce_rate', Piwik_Translate('General_ColumnBounceRateForPageDocumentation')); + $view->setReportDocumentation(Piwik_Translate('Actions_EntryPagesReportDocumentation', '<br />').' ' + .Piwik_Translate('General_UsePlusMinusIconsDocumentation')); } + + + /** + * EXIT PAGES + */ + public function indexExitPageUrls($fetch = false) + { + return Piwik_View::singleReport( + Piwik_Translate('Actions_SubmenuPagesExit'), + $this->getExitPageUrls(true), $fetch); + } + public function getExitPageUrls($fetch = false) { $view = $this->getPageUrlsView(__FUNCTION__, 'getExitPageUrlsSubDataTable'); @@ -97,9 +138,27 @@ class Piwik_Actions_Controller extends Piwik_Controller { $view->setSortedColumn('exit_nb_visits'); $view->setColumnsToDisplay( array('label', 'exit_nb_visits', 'nb_visits', 'exit_rate') ); - $view->setColumnTranslation('exit_nb_visits', Piwik_Translate('General_ColumnExits'), Piwik_Translate('General_ExitsDefinition')); + $view->setColumnTranslation('exit_nb_visits', Piwik_Translate('General_ColumnExits')); // remove pages that are not exit pages $view->queueFilter('ColumnCallbackDeleteRow', array('exit_nb_visits', 'strlen'), $priorityFilter = true); + + $view->setMetricDocumentation('exit_nb_visits', Piwik_Translate('General_ColumnExitsDocumentation')); + $view->setMetricDocumentation('nb_visits', Piwik_Translate('General_ColumnUniquePageviewsDocumentation')); + $view->setMetricDocumentation('exit_rate', Piwik_Translate('General_ColumnExitRateDocumentation')); + $view->setReportDocumentation(Piwik_Translate('Actions_ExitPagesReportDocumentation', '<br />').' ' + .Piwik_Translate('General_UsePlusMinusIconsDocumentation')); + } + + + /** + * PAGE TITLES + */ + + public function indexPageTitles($fetch = false) + { + return Piwik_View::singleReport( + Piwik_Translate('Actions_SubmenuPageTitles'), + $this->getPageTitles(true), $fetch); } public function getPageTitles($fetch = false) @@ -128,10 +187,21 @@ class Piwik_Actions_Controller extends Piwik_Controller } + /** + * DOWNLOADS + */ + + public function indexDownloads($fetch = false) + { + return Piwik_View::singleReport( + Piwik_Translate('Actions_SubmenuDownloads'), + $this->getDownloads(true), $fetch); + } + public function getDownloads($fetch = false) { $view = Piwik_ViewDataTable::factory(); - $view->init( $this->pluginName, + $view->init( $this->pluginName, __FUNCTION__, 'Actions.getDownloads', 'getDownloadsSubDataTable' ); @@ -143,18 +213,30 @@ class Piwik_Actions_Controller extends Piwik_Controller public function getDownloadsSubDataTable($fetch = false) { $view = Piwik_ViewDataTable::factory(); - $view->init( $this->pluginName, + $view->init( $this->pluginName, __FUNCTION__, 'Actions.getDownloads', 'getDownloadsSubDataTable'); $this->configureViewDownloads($view); return $this->renderView($view, $fetch); } + + + /** + * OUTLINKS + */ + public function indexOutlinks($fetch = false) + { + return Piwik_View::singleReport( + Piwik_Translate('Actions_SubmenuOutlinks'), + $this->getOutlinks(true), $fetch); + } + public function getOutlinks($fetch = false) { $view = Piwik_ViewDataTable::factory(); - $view->init( $this->pluginName, + $view->init( $this->pluginName, __FUNCTION__, 'Actions.getOutlinks', 'getOutlinksSubDataTable' ); @@ -165,7 +247,7 @@ class Piwik_Actions_Controller extends Piwik_Controller public function getOutlinksSubDataTable($fetch = false) { $view = Piwik_ViewDataTable::factory(); - $view->init( $this->pluginName, + $view->init( $this->pluginName, __FUNCTION__, 'Actions.getOutlinks', 'getOutlinksSubDataTable'); @@ -180,9 +262,9 @@ class Piwik_Actions_Controller extends Piwik_Controller { $view->setColumnTranslation('nb_hits', Piwik_Translate('General_ColumnPageviews')); $view->setColumnTranslation('nb_visits', Piwik_Translate('General_ColumnUniquePageviews')); - $view->setColumnTranslation('avg_time_on_page', Piwik_Translate('General_ColumnAverageTimeOnPage'), Piwik_Translate('General_AverageTimeOnPageDefinition')); - $view->setColumnTranslation('bounce_rate', Piwik_Translate('General_ColumnBounceRate'), Piwik_Translate('General_PageBounceRateDefinition')); - $view->setColumnTranslation('exit_rate', Piwik_Translate('General_ColumnExitRate'), Piwik_Translate('General_PageExitRateDefinition')); + $view->setColumnTranslation('avg_time_on_page', Piwik_Translate('General_ColumnAverageTimeOnPage')); + $view->setColumnTranslation('bounce_rate', Piwik_Translate('General_ColumnBounceRate')); + $view->setColumnTranslation('exit_rate', Piwik_Translate('General_ColumnExitRate')); $view->queueFilter('ColumnCallbackReplace', array('avg_time_on_page', array('Piwik', 'getPrettyTimeFromSeconds'))); if(Piwik_Common::getRequestVar('enable_filter_excludelowpop', '0', 'string' ) != '0') @@ -230,7 +312,7 @@ class Piwik_Actions_Controller extends Piwik_Controller } /* - * Common to all Actions reports, how to use the custom Actions Datatable html + * Common to all Actions reports, how to use the custom Actions Datatable html */ protected function configureGenericViewActions($view) { diff --git a/plugins/CoreHome/templates/cloud.tpl b/plugins/CoreHome/templates/cloud.tpl index 8466da11b9..dc9d630183 100644 --- a/plugins/CoreHome/templates/cloud.tpl +++ b/plugins/CoreHome/templates/cloud.tpl @@ -1,18 +1,21 @@ <div id="{$properties.uniqueId}"> -<div class="tagCloud"> -{if count($cloudValues) == 0} - <div class="pk-emptyDataTable">{'General_NoDataForTagCloud'|translate}</div> -{else} - {foreach from=$cloudValues key=word item=value} - <span title="{$value.word} ({$value.value} {$columnTranslation})" class="word size{$value.size} {* we strike tags with 0 hits *} {if $value.value == 0}valueIsZero{/if}"> - {if false !== $labelMetadata[$value.word].url}<a href="{$labelMetadata[$value.word].url}" target="_blank">{/if} - {if false !== $labelMetadata[$value.word].logo}<img src="{$labelMetadata[$value.word].logo}" width="{$value.logoWidth}" />{else} - {$value.wordTruncated}{/if}{if false !== $labelMetadata[$value.word].url}</a>{/if}</span> - {/foreach} -{/if} -</div> -{if $properties.show_footer} - {include file="CoreHome/templates/datatable_footer.tpl"} -{/if} -{include file="CoreHome/templates/datatable_js.tpl"} + {if !empty($reportDocumentation) && $javascriptVariablesToSet.viewDataTable != 'tableGoals'} + <div class="reportDocumentation"><p>{$reportDocumentation}</p></div> + {/if} + <div class="tagCloud"> + {if count($cloudValues) == 0} + <div class="pk-emptyDataTable">{'General_NoDataForTagCloud'|translate}</div> + {else} + {foreach from=$cloudValues key=word item=value} + <span title="{$value.word} ({$value.value} {$columnTranslation})" class="word size{$value.size} {* we strike tags with 0 hits *} {if $value.value == 0}valueIsZero{/if}"> + {if false !== $labelMetadata[$value.word].url}<a href="{$labelMetadata[$value.word].url}" target="_blank">{/if} + {if false !== $labelMetadata[$value.word].logo}<img src="{$labelMetadata[$value.word].logo}" width="{$value.logoWidth}" />{else} + {$value.wordTruncated}{/if}{if false !== $labelMetadata[$value.word].url}</a>{/if}</span> + {/foreach} + {/if} + </div> + {if $properties.show_footer} + {include file="CoreHome/templates/datatable_footer.tpl"} + {/if} + {include file="CoreHome/templates/datatable_js.tpl"} </div> diff --git a/plugins/CoreHome/templates/datatable.css b/plugins/CoreHome/templates/datatable.css index b01dd26c2b..74f872e9ac 100644 --- a/plugins/CoreHome/templates/datatable.css +++ b/plugins/CoreHome/templates/datatable.css @@ -467,3 +467,73 @@ tr td.label img.plusMinus { text-align: center; font-style: italic; } + + +/* Documentation */ + +table.dataTable th .columnDocumentation { + display: none; + width: 165px; + text-align: left; + background: #f7f7f7; + color: #444; + font-size: 11px; + font-weight: normal; + border: 1px solid #e4e5e4; + padding: 5px 10px 6px 10px; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + z-index: 125; + position: absolute; + -moz-box-shadow: 0 0 4px #e4e5e4; + -webkit-box-shadow: 0 0 4px #e4e5e4; + box-shadow: 0 0 4px #e4e5e4; + cursor: default; +} + +table.dataTable th .columnDocumentationTitle { + background: url(../../../themes/default/images/help.png) no-repeat; + line-height: 14px; + padding: 2px 0 3px 21px; + font-weight: bold; +} + +.reportDocumentation { + display: none; + margin: 10px 0; + background: #f7f7f7; + font-size: 12px; + font-weight: normal; + border: 1px solid #e4e5e4; + margin: 0 0 10px 0; + padding: 0; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; +} + +.reportDocumentation p { + padding: 5px 10px 6px 10px; + margin: 0; + color: #444; + font-size: 12px; + } + + .reportDocumentationIcon { + display: block; + width: 16px; + height: 16px; + margin: 10px 0; + background: url(../../../themes/default/images/help.png) no-repeat; +} + +h2 .reportDocumentationIcon { + position: absolute; + margin: 4px 0 0 0; + display: none; +} + +h2 .reportDocumentationIcon.hidden { + background: none; +} \ No newline at end of file diff --git a/plugins/CoreHome/templates/datatable.js b/plugins/CoreHome/templates/datatable.js index f95125c832..440effdf27 100644 --- a/plugins/CoreHome/templates/datatable.js +++ b/plugins/CoreHome/templates/datatable.js @@ -219,6 +219,8 @@ dataTable.prototype = self.handleExportBox(domElem); self.applyCosmetics(domElem); self.handleSubDataTable(domElem); + self.handleColumnDocumentation(domElem); + self.handleReportDocumentation(domElem); }, // if sorting the columns is enabled, when clicking on a column, @@ -749,7 +751,139 @@ dataTable.prototype = $(this).next().toggle(); } ); + }, + + // tooltip for column documentation + handleColumnDocumentation: function(domElem) + { + if ($('#dashboard').size() > 0) { + // don't display column documentation in dashboard + // it causes trouble in full screen view + return; + } + + var self = this; + + $('th:has(.columnDocumentation)', domElem).each(function() + { + var th = $(this); + var tooltip = th.find('.columnDocumentation'); + + tooltip.next().hover(function() + { + var left = (-1 * tooltip.outerWidth() / 2) + th.width() / 2; + var top = -1 * (tooltip.outerHeight() + 10); + + if (th.next().size() == 0) + { + left = (-1 * tooltip.outerWidth()) + th.width() + + parseInt(th.css('padding-right'), 10); + } + + tooltip.css({ + marginLeft: left, + marginTop: top + }); + + tooltip.stop(true, true).fadeIn(250); + }, + function() + { + $(this).prev().stop(true, true).fadeOut(400); + }); + }); + }, + + // documentation for report + handleReportDocumentation: function(domElem) + { + if ($('#dashboard').size() > 0) { + // don't display report documentation in dashboard + return; + } + + domElem = $(domElem); + var doc = domElem.find('.reportDocumentation'); + + var h2 = false; + if (domElem.prev().is('h2')) + { + h2 = domElem.prev(); + } + else if (this.param.viewDataTable == 'tableGoals') + { + h2 = $('#titleGoalsByDimension'); + } + + if (doc.size() == 0) + { + if (h2 && h2.size() > 0) + { + h2.find('a.reportDocumentationIcon').addClass('hidden'); + } + return; + } + + var icon = $('<a href="#"></a>'); + var docShown = false; + + icon.click(function() + { + if (docShown) + { + doc.stop(true, true).fadeOut(250); + } + else + { + var widthOrientation = domElem.find('table, object').eq(0); + if (widthOrientation.size() > 0) + { + var width = Math.min(widthOrientation.width(), doc.parent().innerWidth()); + doc.css('width', (width - 2) + 'px'); + } + doc.stop(true, true).fadeIn(250); + } + docShown = !docShown; + return false; + }); + + icon.addClass('reportDocumentationIcon'); + if (h2 && h2.size() > 0) + { + // handle previously added icon + var existingIcon = h2.find('a.reportDocumentationIcon'); + if (existingIcon.size() > 0) + { + existingIcon.replaceWith(icon); + } + else + { + // add icon + h2.append(' '); + h2.append(icon); + + h2.hover(function() + { + $(this).find('a.reportDocumentationIcon').show(); + }, + function() + { + $(this).find('a.reportDocumentationIcon').hide(); + }) + .click( + function() + { + $(this).find('a.reportDocumentationIcon').click(); + }) + .css('cursor', 'pointer'); + } + } + else + { + domElem.prepend(icon); + } } + }; @@ -786,6 +920,8 @@ actionDataTable.prototype = handleSearchBox: dataTable.prototype.handleSearchBox, handleExportBox: dataTable.prototype.handleExportBox, handleSort: dataTable.prototype.handleSort, + handleColumnDocumentation: dataTable.prototype.handleColumnDocumentation, + handleReportDocumentation: dataTable.prototype.handleReportDocumentation, onClickSort: dataTable.prototype.onClickSort, truncate: dataTable.prototype.truncate, handleOffsetInformation: dataTable.prototype.handleOffsetInformation, @@ -834,6 +970,9 @@ actionDataTable.prototype = self.handleSearchBox(domElem, self.dataTableLoaded ); self.handleLowPopulationLink(domElem, self.dataTableLoaded ); } + + self.handleColumnDocumentation(domElem); + self.handleReportDocumentation(domElem); }, //see dataTable::applyCosmetics diff --git a/plugins/CoreHome/templates/datatable.tpl b/plugins/CoreHome/templates/datatable.tpl index 1f98b4f02e..0a7a20be61 100644 --- a/plugins/CoreHome/templates/datatable.tpl +++ b/plugins/CoreHome/templates/datatable.tpl @@ -1,4 +1,7 @@ <div id="{$properties.uniqueId}"> + {if !empty($reportDocumentation)} + <div class="reportDocumentation"><p>{$reportDocumentation}</p></div> + {/if} <div class="{if isset($javascriptVariablesToSet.idSubtable)&& $javascriptVariablesToSet.idSubtable!=0}sub{/if}{if $javascriptVariablesToSet.viewDataTable=='tableAllColumns'}dataTableAllColumnsWrapper{elseif $javascriptVariablesToSet.viewDataTable=='tableGoals'}dataTableAllColumnsWrapper{else}dataTableWrapper{/if}"> {if isset($arrayDataTable.result) and $arrayDataTable.result == 'error'} {$arrayDataTable.message} @@ -11,7 +14,17 @@ <thead> <tr> {foreach from=$dataTableColumns item=column name=head} - <th class="sortable {if $smarty.foreach.head.first}first{elseif $smarty.foreach.head.last}last{/if}" id="{$column}"><div id="thDIV">{$columnTranslations[$column]|escape:'html'|replace:"&nbsp;":" "}</div></th> + <th class="sortable {if $smarty.foreach.head.first}first{elseif $smarty.foreach.head.last}last{/if}" id="{$column}"> + {if !empty($columnDocumentation[$column])} + <div class="columnDocumentation"> + <div class="columnDocumentationTitle"> + {$columnTranslations[$column]|escape:'html'|replace:"&nbsp;":" "} + </div> + {$columnDocumentation[$column]|escape:'html'} + </div> + {/if} + <div id="thDIV">{$columnTranslations[$column]|escape:'html'|replace:"&nbsp;":" "}</div> + </th> {/foreach} </tr> </thead> diff --git a/plugins/CoreHome/templates/datatable_actions.tpl b/plugins/CoreHome/templates/datatable_actions.tpl index 3c6b4a0832..220f83f8c2 100644 --- a/plugins/CoreHome/templates/datatable_actions.tpl +++ b/plugins/CoreHome/templates/datatable_actions.tpl @@ -1,4 +1,7 @@ <div id="{$properties.uniqueId}"> + {if !empty($reportDocumentation)} + <div class="reportDocumentation"><p>{$reportDocumentation}</p></div> + {/if} <div class="dataTableActionsWrapper"> {if isset($arrayDataTable.result) and $arrayDataTable.result == 'error'} {$arrayDataTable.message} @@ -10,7 +13,17 @@ <thead> <tr> {foreach from=$dataTableColumns item=column name=head} - <th class="sortable {if $smarty.foreach.head.first}first{elseif $smarty.foreach.head.last}last{/if}" id="{$column}"><div id="thDIV">{if !empty($columnDescriptions[$column])}<label title='{$columnDescriptions[$column]|escape:'html'}'>{/if}{$columnTranslations[$column]|escape:'html'}{if !empty($columnDescriptions[$column])}</label>{/if}</div></td> + <th class="sortable {if $smarty.foreach.head.first}first{elseif $smarty.foreach.head.last}last{/if}" id="{$column}"> + {if !empty($columnDocumentation[$column])} + <div class="columnDocumentation"> + <div class="columnDocumentationTitle"> + {$columnTranslations[$column]|escape:'html'|replace:"&nbsp;":" "} + </div> + {$columnDocumentation[$column]|escape:'html'} + </div> + {/if} + <div id="thDIV">{$columnTranslations[$column]|escape:'html'}</div> + </td> {/foreach} </tr> </thead> diff --git a/plugins/CoreHome/templates/graph.tpl b/plugins/CoreHome/templates/graph.tpl index be558e5a52..8dade1f3f4 100644 --- a/plugins/CoreHome/templates/graph.tpl +++ b/plugins/CoreHome/templates/graph.tpl @@ -1,4 +1,7 @@ <div id="{$properties.uniqueId}"> + {if !empty($reportDocumentation)} + <div class="reportDocumentation"><p>{$reportDocumentation}</p></div> + {/if} <div class="{if $graphType=='evolution'}dataTableGraphEvolutionWrapper{else}dataTableGraphWrapper{/if}"> {if $flashParameters.isDataAvailable || !$flashParameters.includeData} diff --git a/plugins/CustomVariables/Controller.php b/plugins/CustomVariables/Controller.php index 9bc14c40be..c12b7df640 100644 --- a/plugins/CustomVariables/Controller.php +++ b/plugins/CustomVariables/Controller.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_CustomVariables */ @@ -14,11 +14,16 @@ * * @package Piwik_CustomVariables */ -class Piwik_CustomVariables_Controller extends Piwik_Controller -{ - /** - * CustomVariables - */ +class Piwik_CustomVariables_Controller extends Piwik_Controller +{ + + function index($fetch = false) + { + return Piwik_View::singleReport( + Piwik_Translate('CustomVariables_CustomVariables'), + $this->getCustomVariables(true), $fetch); + } + function getCustomVariables($fetch = false) { $view = Piwik_ViewDataTable::factory(); @@ -30,7 +35,7 @@ class Piwik_CustomVariables_Controller extends Piwik_Controller $view->setColumnsToDisplay( array('label','nb_visits') ); $view->setColumnTranslation('label', Piwik_Translate('CustomVariables_ColumnCustomVariableName')); $view->setSortedColumn( 'nb_visits' ); - $view->setLimit( 10 ); + $view->setLimit( 10 ); $view->setFooterMessage( 'Help: <a target="_blank" href="http://piwik.org/docs/custom-variables/">Tracking Custom Variables in Piwik</a>'); return $this->renderView($view, $fetch); } diff --git a/plugins/CustomVariables/CustomVariables.php b/plugins/CustomVariables/CustomVariables.php index 389f5ce0ba..80c0e07501 100644 --- a/plugins/CustomVariables/CustomVariables.php +++ b/plugins/CustomVariables/CustomVariables.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_CustomVariables */ @@ -14,7 +14,7 @@ * @package Piwik_CustomVariables */ class Piwik_CustomVariables extends Piwik_Plugin -{ +{ public $archiveProcessing; protected $columnToSortByBeforeTruncation; protected $maximumRowsInDataTableLevelZero; @@ -44,7 +44,7 @@ class Piwik_CustomVariables extends Piwik_Plugin 'API.getSegmentsMetadata' => 'getSegmentsMetadata', ); return $hooks; - } + } function addWidgets() { @@ -53,10 +53,10 @@ class Piwik_CustomVariables extends Piwik_Plugin function addMenus() { - Piwik_AddMenu('General_Visitors', 'CustomVariables_CustomVariables', array('module' => 'CustomVariables', 'action' => 'getCustomVariables'), $display = true, $order = 50); + Piwik_AddMenu('General_Visitors', 'CustomVariables_CustomVariables', array('module' => 'CustomVariables', 'action' => 'index'), $display = true, $order = 50); } - public function getReportMetadata($notification) + public function getReportMetadata($notification) { $reports = &$notification->getNotificationObject(); $reports = array_merge($reports, array( @@ -66,6 +66,7 @@ class Piwik_CustomVariables extends Piwik_Plugin 'module' => 'CustomVariables', 'action' => 'getCustomVariables', 'dimension' => Piwik_Translate('CustomVariables_ColumnCustomVariableName'), + 'documentation' => Piwik_Translate('CustomVariables_CustomVariablesReportDocumentation', array('<br />', '<a href="http://piwik.org/docs/custom-variables/" target="_blank">', '</a>')), 'order' => 10 ), )); @@ -119,7 +120,7 @@ class Piwik_CustomVariables extends Piwik_Plugin /** * Hooks on daily archive to trigger various log processing - * + * * @param Piwik_Event_Notification $notification * @return void */ @@ -128,7 +129,7 @@ class Piwik_CustomVariables extends Piwik_Plugin $this->interestByCustomVariables = $this->interestByCustomVariablesAndValue = array(); /** - * @var Piwik_ArchiveProcessing_Day + * @var Piwik_ArchiveProcessing_Day */ $this->archiveProcessing = $notification->getNotificationObject(); @@ -148,7 +149,7 @@ class Piwik_CustomVariables extends Piwik_Plugin { for($i = 1; $i <= Piwik_Tracker::MAX_CUSTOM_VARIABLES; $i++ ) { - $keyField = "custom_var_k".$i; + $keyField = "custom_var_k".$i; $valueField = "custom_var_v".$i; $dimensions = array($keyField, $valueField); $where = "$keyField != '' AND $valueField != ''"; @@ -159,14 +160,14 @@ class Piwik_CustomVariables extends Piwik_Plugin { if(!isset($this->interestByCustomVariables[$row[$keyField]])) $this->interestByCustomVariables[$row[$keyField]]= $archiveProcessing->getNewInterestRow(); if(!isset($this->interestByCustomVariablesAndValue[$row[$keyField]][$row[$valueField]])) $this->interestByCustomVariablesAndValue[$row[$keyField]][$row[$valueField]] = $archiveProcessing->getNewInterestRow(); - $archiveProcessing->updateInterestStats( $row, $this->interestByCustomVariables[$row[$keyField]]); - $archiveProcessing->updateInterestStats( $row, $this->interestByCustomVariablesAndValue[$row[$keyField]][$row[$valueField]]); + $archiveProcessing->updateInterestStats( $row, $this->interestByCustomVariables[$row[$keyField]]); + $archiveProcessing->updateInterestStats( $row, $this->interestByCustomVariablesAndValue[$row[$keyField]][$row[$valueField]]); } // Custom Vars names and values metrics for Goals $query = $archiveProcessing->queryConversionsByDimension($dimensions, $where); - if($query !== false) + if($query !== false) { while($row = $query->fetch() ) { diff --git a/plugins/Goals/Controller.php b/plugins/Goals/Controller.php index fe11b265d6..96ed86b34d 100644 --- a/plugins/Goals/Controller.php +++ b/plugins/Goals/Controller.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_Goals */ @@ -14,7 +14,7 @@ * * @package Piwik_Goals */ -class Piwik_Goals_Controller extends Piwik_Controller +class Piwik_Goals_Controller extends Piwik_Controller { const CONVERSION_RATE_PRECISION = 1; @@ -113,7 +113,7 @@ class Piwik_Goals_Controller extends Piwik_Controller $this->setGeneralVariablesView($view); $view->graphEvolution = $this->getEvolutionGraph(true, array('nb_conversions')); - $view->nameGraphEvolution = 'GoalsgetEvolutionGraph'; + $view->nameGraphEvolution = 'GoalsgetEvolutionGraph'; // sparkline for the historical data of the above values $view->urlSparklineConversions = $this->getUrlSparkline('getEvolutionGraph', array('columns' => array('nb_conversions'))); @@ -150,7 +150,7 @@ class Piwik_Goals_Controller extends Piwik_Controller public function getLastConversionRateGraph( $fetch = false ) { $view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, 'Goals.getConversionRate'); - return $this->renderView($view, $fetch); + return $this->renderView($view, $fetch); } public function getLastRevenueGraph( $fetch = false ) @@ -206,12 +206,16 @@ class Piwik_Goals_Controller extends Piwik_Controller $view->setColumnTranslation($columnName, $columnTranslation); } $view->setColumnsToDisplay($columns); + + $langString = $idGoal ? 'Goals_SingleGoalOverviewDocumentation' : 'Goals_GoalsOverviewDocumentation'; + $view->setReportDocumentation(Piwik_Translate($langString, '<br />')); + return $this->renderView($view, $fetch); } protected function getTopDimensions($idGoal) - { + { $columnNbConversions = 'goal_'.$idGoal.'_nb_conversions'; $columnConversionRate = 'goal_'.$idGoal.'_conversion_rate'; @@ -259,7 +263,7 @@ class Piwik_Goals_Controller extends Piwik_Controller $nbConversions = $dataRow->getColumn('nb_conversions'); $nbVisitsConverted = $dataRow->getColumn('nb_visits_converted'); // Backward compatibilty before 1.3, this value was not processed - if(empty($nbVisitsConverted)) + if(empty($nbVisitsConverted)) { $nbVisitsConverted = $nbConversions; } @@ -313,7 +317,7 @@ class Piwik_Goals_Controller extends Piwik_Controller { $convertedNewVisits = Piwik_Goals_API::getInstance()->getConversions($idSite, $period, $date, $segment=false, $idGoal); } - // all new visits = all visits - all returning visits + // all new visits = all visits - all returning visits $request = new Piwik_API_Request("method=VisitFrequency.getVisitsReturning&idSite=$idSite&period=$period&date=$date&format=original"); $nbVisitsReturning = $request->process(); $request = new Piwik_API_Request("method=VisitsSummary.getVisits&idSite=$idSite&period=$period&date=$date&format=original"); diff --git a/plugins/Goals/Goals.php b/plugins/Goals/Goals.php index bb891048ee..9c22f01404 100644 --- a/plugins/Goals/Goals.php +++ b/plugins/Goals/Goals.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_Goals */ @@ -15,7 +15,7 @@ * @package Piwik_Goals */ class Piwik_Goals extends Piwik_Plugin -{ +{ const ROUNDING_PRECISION = 2; public function getInformation() @@ -57,26 +57,26 @@ class Piwik_Goals extends Piwik_Plugin /** * Returns the Metadata for the Goals plugin API. - * The API returns general Goal metrics: conv, conv rate and revenue globally + * The API returns general Goal metrics: conv, conv rate and revenue globally * and for each goal. - * + * * Also, this will update metadata of all other reports that have Goal segmentation */ - public function getReportMetadata($notification) + public function getReportMetadata($notification) { $idSites = $notification->getNotificationInfo(); $reports = &$notification->getNotificationObject(); // Processed in AddColumnsProcessedMetricsGoal // These metrics will also be available for some reports, for each goal - // Example: Conversion rate for Goal 2 for the keyword 'piwik' + // Example: Conversion rate for Goal 2 for the keyword 'piwik' $goalProcessedMetrics = array( 'revenue_per_visit' => Piwik_Translate('General_ColumnValuePerVisit'), ); $goalMetrics = array( - 'nb_conversions' => Piwik_Translate('Goals_ColumnConversions'), - 'conversion_rate' => Piwik_Translate('General_ColumnConversionRate'), + 'nb_conversions' => Piwik_Translate('Goals_ColumnConversions'), + 'conversion_rate' => Piwik_Translate('General_ColumnConversionRate'), 'revenue' => Piwik_Translate('Goals_ColumnRevenue') ); @@ -88,10 +88,10 @@ class Piwik_Goals extends Piwik_Plugin 'action' => 'get', 'metrics' => $goalMetrics, 'processedMetrics' => array(), - 'order' => 1 + 'order' => 1 ); - /* + /* * Add the metricsGoal and processedMetricsGoal entry * to all reports that have Goal segmentation */ @@ -117,9 +117,9 @@ class Piwik_Goals extends Piwik_Plugin if(count($idSites) == 1) { $goals = Piwik_Goals_API::getInstance()->getGoals(reset($idSites)); - foreach($goals as $goal) + foreach($goals as $goal) { - // Add the general Goal metrics: ie. total Goal conversions, + // Add the general Goal metrics: ie. total Goal conversions, // Goal conv rate or Goal total revenue. // This API call requires a custom parameter $reports[] = array( @@ -129,6 +129,9 @@ class Piwik_Goals extends Piwik_Plugin 'action' => 'get', 'parameters' => array('idGoal' => $goal['idgoal']), 'metrics' => $goalMetrics, + 'metricsDocumentation' => array( + 'nb_conversions' => 'blub' + ), 'processedMetrics' => false, 'order' => 10 + $goal['idgoal'] ); @@ -160,7 +163,7 @@ class Piwik_Goals extends Piwik_Plugin { $cssFiles = &$notification->getNotificationObject(); $cssFiles[] = "plugins/Goals/templates/goals.css"; - } + } function fetchGoalsFromDb($notification) { @@ -177,7 +180,7 @@ class Piwik_Goals extends Piwik_Plugin $goals = Piwik_Tracker_GoalManager::getGoalDefinitions(Piwik_Common::getRequestVar('idSite', null, 'int')); if(count($goals) > 0) { - foreach($goals as $goal) + foreach($goals as $goal) { Piwik_AddWidget('Goals_Goals', Piwik_Common::sanitizeInputValue($goal['name']), 'Goals', 'widgetGoalReport', array('idGoal' => $goal['idgoal'])); } @@ -196,7 +199,7 @@ class Piwik_Goals extends Piwik_Plugin { Piwik_AddMenu('Goals_Goals', '', array('module' => 'Goals', 'action' => 'index'), true, 25); Piwik_AddMenu('Goals_Goals', 'Goals_Overview', array('module' => 'Goals', 'action' => 'index'), true, 1); - foreach($goals as $goal) + foreach($goals as $goal) { Piwik_AddMenu('Goals_Goals', str_replace('%', '%%', Piwik_TranslationWriter::clean($goal['name'])), array('module' => 'Goals', 'action' => 'goalReport', 'idGoal' => $goal['idgoal'])); } @@ -205,7 +208,7 @@ class Piwik_Goals extends Piwik_Plugin /** * @param string $recordName 'nb_conversions' - * @param int $idGoal idGoal to return the metrics for, or false to return overall + * @param int $idGoal idGoal to return the metrics for, or false to return overall * @param int $visitorReturning 0 for new visitors, 1 for returning visitors, false for all * @return unknown */ @@ -225,9 +228,9 @@ class Piwik_Goals extends Piwik_Plugin } /** - * Hooks on Period archiving. + * Hooks on Period archiving. * Sums up Goal conversions stats, and processes overall conversion rate - * + * * @param Piwik_Event_Notification $notification * @return void */ @@ -268,7 +271,7 @@ class Piwik_Goals extends Piwik_Plugin /** * Hooks on the Daily archiving. - * Will process Goal stats overall and for each Goal. + * Will process Goal stats overall and for each Goal. * Also processes the New VS Returning visitors conversion stats. * * @param Piwik_Event_Notification $notification @@ -277,7 +280,7 @@ class Piwik_Goals extends Piwik_Plugin function archiveDay( $notification ) { /** - * @var Piwik_ArchiveProcessing_Day + * @var Piwik_ArchiveProcessing_Day */ $archiveProcessing = $notification->getNotificationObject(); diff --git a/plugins/Goals/templates/table_by_dimension.tpl b/plugins/Goals/templates/table_by_dimension.tpl index 267fd65ac6..a6a91bf7fd 100644 --- a/plugins/Goals/templates/table_by_dimension.tpl +++ b/plugins/Goals/templates/table_by_dimension.tpl @@ -45,7 +45,8 @@ $(document).ready( function() { 'module': module, 'action': action, 'viewDataTable': 'tableGoals', - 'filter_only_display_idgoal': idGoal.length ? idGoal : 0 // 0 is Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal::GOALS_FULL_TABLE + 'filter_only_display_idgoal': idGoal.length ? idGoal : 0, // 0 is Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal::GOALS_FULL_TABLE + 'documentationForGoalsPage': 1 }; var onWidgetLoadedCallback = function (response) { if(widgetUniqueId != self.expectedWidgetUniqueId) { diff --git a/plugins/LanguagesManager/API.php b/plugins/LanguagesManager/API.php index 7cb98af7d1..be90209482 100644 --- a/plugins/LanguagesManager/API.php +++ b/plugins/LanguagesManager/API.php @@ -1,34 +1,34 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_LanguagesManager - * + * */ /** * The LanguagesManager API lets you access existing Piwik translations, and change Users languages preferences. - * - * "getTranslationsForLanguage" will return all translation strings for a given language, - * so you can leverage Piwik translations in your application (and automatically benefit from the <a href='http://piwik.org/translations/' target='_blank'>40+ translations</a>!). - * This is mostly useful to developers who integrate Piwik API results in their own application. - * - * You can also request the default language to load for a user via "getLanguageForUser", - * or update it via "setLanguageForUser". - * + * + * "getTranslationsForLanguage" will return all translation strings for a given language, + * so you can leverage Piwik translations in your application (and automatically benefit from the <a href='http://piwik.org/translations/' target='_blank'>40+ translations</a>!). + * This is mostly useful to developers who integrate Piwik API results in their own application. + * + * You can also request the default language to load for a user via "getLanguageForUser", + * or update it via "setLanguageForUser". + * * @package Piwik_LanguagesManager */ -class Piwik_LanguagesManager_API +class Piwik_LanguagesManager_API { static private $instance = null; /** - * @return Piwik_LanguagesManager_API + * @return Piwik_LanguagesManager_API */ static public function getInstance() { @@ -72,7 +72,7 @@ class Piwik_LanguagesManager_API $languageNames = array(); if($languages) { - foreach($languages as $language) + foreach($languages as $language) { $languageNames[] = substr($language, $pathLength, -strlen('.php')); } @@ -92,13 +92,13 @@ class Piwik_LanguagesManager_API $englishTranslation = $translations; $filenames = $this->getAvailableLanguages(); $languagesInfo = array(); - foreach($filenames as $filename) + foreach($filenames as $filename) { require PIWIK_INCLUDE_PATH . "/lang/$filename.php"; $translationStringsDone = array_intersect_key($englishTranslation, array_filter($translations, 'strlen')); $percentageComplete = count($translationStringsDone) / count($englishTranslation); - $percentageComplete = round(100 * $percentageComplete, 0); - $languageInfo = array( 'code' => $filename, + $percentageComplete = round(100 * $percentageComplete, 0); + $languageInfo = array( 'code' => $filename, 'name' => $translations['General_OriginalLanguageName'], 'english_name' => $translations['General_EnglishLanguageName'], 'translators' => $translations['General_TranslatorName'], @@ -114,7 +114,7 @@ class Piwik_LanguagesManager_API * Return array of available languages * * @return array Arry of array, each containing its ISO language code and name of the language - */ + */ public function getAvailableLanguageNames() { if(!is_null($this->availableLanguageNames)) @@ -124,11 +124,11 @@ class Piwik_LanguagesManager_API $filenames = $this->getAvailableLanguages(); $languagesInfo = array(); - foreach($filenames as $filename) + foreach($filenames as $filename) { require PIWIK_INCLUDE_PATH . "/lang/$filename.php"; - $languagesInfo[] = array( - 'code' => $filename, + $languagesInfo[] = array( + 'code' => $filename, 'name' => $translations['General_OriginalLanguageName'], 'english_name' => $translations['General_EnglishLanguageName'] ); diff --git a/plugins/Live/Controller.php b/plugins/Live/Controller.php index ce3f809db2..006d1badc2 100644 --- a/plugins/Live/Controller.php +++ b/plugins/Live/Controller.php @@ -78,6 +78,8 @@ class Piwik_Live_Controller extends Piwik_Controller // disable the RSS feed $view->disableShowExportAsRssFeed(); + $view->setReportDocumentation(Piwik_Translate('Live_VisitorLogDocumentation', '<br />')); + $view->setCustomParameter('pageUrlNotDefined', Zend_Registry::get('config')->General->action_default_url_when_not_defined); return $this->renderView($view, $fetch); } diff --git a/plugins/Live/templates/visitorLog.tpl b/plugins/Live/templates/visitorLog.tpl index d07fa15c48..03686c2874 100644 --- a/plugins/Live/templates/visitorLog.tpl +++ b/plugins/Live/templates/visitorLog.tpl @@ -2,7 +2,9 @@ <a graphid="VisitsSummarygetEvolutionGraph" name="evolutionGraph"></a> <h2>{'Live_VisitorLog'|translate}</h2> <div id="{$properties.uniqueId}" class="visitorLog"> - +{if !empty($reportDocumentation)} + <div class="reportDocumentation"><p>{$reportDocumentation}</p></div> +{/if} {assign var=maxIdVisit value=0} {if isset($arrayDataTable.result) and $arrayDataTable.result == 'error'} {$arrayDataTable.message} diff --git a/plugins/Provider/Provider.php b/plugins/Provider/Provider.php index 20fc7b0cc6..f3ac20a419 100644 --- a/plugins/Provider/Provider.php +++ b/plugins/Provider/Provider.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_Provider */ @@ -52,6 +52,7 @@ class Piwik_Provider extends Piwik_Plugin 'module' => 'Provider', 'action' => 'getProvider', 'dimension' => Piwik_Translate('Provider_ColumnProvider'), + 'documentation' => Piwik_Translate('Provider_ProviderReportDocumentation', '<br />'), 'order' => 50 ); } @@ -101,7 +102,7 @@ class Piwik_Provider extends Piwik_Plugin function addMenu() { - Piwik_RenameMenuEntry( 'General_Visitors', 'UserCountry_SubmenuLocations', + Piwik_RenameMenuEntry( 'General_Visitors', 'UserCountry_SubmenuLocations', 'General_Visitors', 'Provider_SubmenuLocationsProvider'); } @@ -170,9 +171,9 @@ class Piwik_Provider extends Piwik_Plugin /** * Returns the hostname extension (site.co.jp in fvae.VARG.ceaga.site.co.jp) * given the full hostname looked up from the IP - * + * * @param string $hostname - * + * * @return string */ private function getCleanHostname($hostname) @@ -215,7 +216,7 @@ class Piwik_Provider extends Piwik_Plugin /** * Returns the hostname given the internal representation of the * IP address - * + * * @param string $ip Internal representation of IP address in binary-safe string * @return string hostname (or human-readable IP address) */ diff --git a/plugins/Referers/Controller.php b/plugins/Referers/Controller.php index aa8376880d..7c13845c0c 100644 --- a/plugins/Referers/Controller.php +++ b/plugins/Referers/Controller.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_Referers */ @@ -14,7 +14,7 @@ * * @package Piwik_Referers */ -class Piwik_Referers_Controller extends Piwik_Controller +class Piwik_Referers_Controller extends Piwik_Controller { function index() { @@ -29,12 +29,12 @@ class Piwik_Referers_Controller extends Piwik_Controller $view->numberDistinctWebsitesUrls = $this->getNumberOfDistinctWebsitesUrls(true); $view->numberDistinctCampaigns = $this->getNumberOfDistinctCampaigns(true); - // building the referers summary report + // building the referers summary report $view->dataTableRefererType = $this->getRefererType(true); $nameValues = $this->getReferersVisitorsByType(); foreach($nameValues as $name => $value) - { + { $view->$name = $value; } // sparkline for the historical data of the above values @@ -63,8 +63,8 @@ class Piwik_Referers_Controller extends Piwik_Controller function getRefererType( $fetch = false) { $view = Piwik_ViewDataTable::factory('tableAllColumns'); - $view->init( $this->pluginName, - __FUNCTION__, + $view->init( $this->pluginName, + __FUNCTION__, 'Referers.getRefererType' ); $view->disableSearchBox(); @@ -79,8 +79,8 @@ class Piwik_Referers_Controller extends Piwik_Controller function getKeywords( $fetch = false) { $view = Piwik_ViewDataTable::factory(); - $view->init( $this->pluginName, __FUNCTION__, - 'Referers.getKeywords', + $view->init( $this->pluginName, __FUNCTION__, + 'Referers.getKeywords', 'getSearchEnginesFromKeywordId' ); $view->disableExcludeLowPopulation(); @@ -94,7 +94,7 @@ class Piwik_Referers_Controller extends Piwik_Controller function getSearchEnginesFromKeywordId( $fetch = false ) { $view = Piwik_ViewDataTable::factory(); - $view->init( $this->pluginName, __FUNCTION__, + $view->init( $this->pluginName, __FUNCTION__, 'Referers.getSearchEnginesFromKeywordId' ); $view->disableSearchBox(); @@ -108,8 +108,8 @@ class Piwik_Referers_Controller extends Piwik_Controller function getSearchEngines( $fetch = false) { $view = Piwik_ViewDataTable::factory(); - $view->init( $this->pluginName, __FUNCTION__, - 'Referers.getSearchEngines', + $view->init( $this->pluginName, __FUNCTION__, + 'Referers.getSearchEngines', 'getKeywordsFromSearchEngineId' ); $view->disableSearchBox(); @@ -124,7 +124,7 @@ class Piwik_Referers_Controller extends Piwik_Controller function getKeywordsFromSearchEngineId( $fetch = false ) { $view = Piwik_ViewDataTable::factory(); - $view->init( $this->pluginName, __FUNCTION__, + $view->init( $this->pluginName, __FUNCTION__, 'Referers.getKeywordsFromSearchEngineId' ); $view->disableSearchBox(); @@ -134,10 +134,17 @@ class Piwik_Referers_Controller extends Piwik_Controller return $this->renderView($view, $fetch); } + function indexWebsites($fetch = false) + { + return Piwik_View::singleReport( + Piwik_Translate('Referers_Websites'), + $this->getWebsites(true), $fetch); + } + function getWebsites( $fetch = false) { $view = Piwik_ViewDataTable::factory(); - $view->init( $this->pluginName, __FUNCTION__, + $view->init( $this->pluginName, __FUNCTION__, 'Referers.getWebsites', 'getUrlsFromWebsiteId' ); @@ -150,10 +157,17 @@ class Piwik_Referers_Controller extends Piwik_Controller return $this->renderView($view, $fetch); } + function indexCampaigns($fetch = false) + { + return Piwik_View::singleReport( + Piwik_Translate('Referers_Campaigns'), + $this->getCampaigns(true), $fetch); + } + function getCampaigns( $fetch = false) { $view = Piwik_ViewDataTable::factory(); - $view->init( $this->pluginName, __FUNCTION__, + $view->init( $this->pluginName, __FUNCTION__, 'Referers.getCampaigns', 'getKeywordsFromCampaignId' ); @@ -169,7 +183,7 @@ class Piwik_Referers_Controller extends Piwik_Controller function getKeywordsFromCampaignId( $fetch = false) { $view = Piwik_ViewDataTable::factory(); - $view->init( $this->pluginName, __FUNCTION__, + $view->init( $this->pluginName, __FUNCTION__, 'Referers.getKeywordsFromCampaignId' ); @@ -184,7 +198,7 @@ class Piwik_Referers_Controller extends Piwik_Controller function getUrlsFromWebsiteId( $fetch = false) { $view = Piwik_ViewDataTable::factory(); - $view->init( $this->pluginName, __FUNCTION__, + $view->init( $this->pluginName, __FUNCTION__, 'Referers.getUrlsFromWebsiteId' ); $view->disableSearchBox(); @@ -197,7 +211,7 @@ class Piwik_Referers_Controller extends Piwik_Controller protected function getReferersVisitorsByType() { // we disable the queued filters because here we want to get the visits coming from search engines - // if the filters were applied we would have to look up for a label looking like "Search Engines" + // if the filters were applied we would have to look up for a label looking like "Search Engines" // which is not good when we have translations $requestString = "method=Referers.getRefererType &format=original @@ -252,14 +266,17 @@ class Piwik_Referers_Controller extends Piwik_Controller $columnTranslation = $view->getColumnTranslation($columnName); $referrerTypeTranslation = $this->referrerTypeToLabel[$typeReferer]; $view->setColumnTranslation( - $columnName, - Piwik_Translate('Referers_MetricsFromRefererTypeGraphLegend', - array( Piwik_Translate($columnTranslation), + $columnName, + Piwik_Translate('Referers_MetricsFromRefererTypeGraphLegend', + array( Piwik_Translate($columnTranslation), Piwik_Translate($referrerTypeTranslation) ) ) ); } + $view->setReportDocumentation(Piwik_Translate('Referers_EvolutionDocumentation').'<br />' + .Piwik_Translate('General_BrokenDownReportDocumentation').'<br />' + .Piwik_Translate('Referers_EvolutionDocumentationMoreInfo', '"'.Piwik_Translate('Referers_DetailsByRefererType').'"')); return $this->renderView($view, $fetch); } @@ -322,7 +339,7 @@ class Piwik_Referers_Controller extends Piwik_Controller .'&idSite='.$this->idSite ; - $topPageUrlRequest = $requestUrl + $topPageUrlRequest = $requestUrl .'&method=Actions.getPageUrls' .'&filter_limit=50' .'&format=original'; @@ -340,7 +357,7 @@ class Piwik_Referers_Controller extends Piwik_Controller $url = $topPageUrl; // HTML - $api = Piwik_Url::getCurrentUrlWithoutFileName() + $api = Piwik_Url::getCurrentUrlWithoutFileName() .'?module=API&method=Referers.getKeywordsForPageUrl' .'&format=php' .'&filter_limit=10' @@ -348,7 +365,7 @@ class Piwik_Referers_Controller extends Piwik_Controller $api .= $requestUrl; $code = ' -// This function will call the API to get best keyword for current URL. +// This function will call the API to get best keyword for current URL. // Then it writes the list of best keywords in a HTML list function DisplayTopKeywords($url = "") { @@ -359,9 +376,9 @@ function DisplayTopKeywords($url = "") $api = "'.$api.'&url=" . urlencode($url); $keywords = @unserialize(file_get_contents($api)); if($keywords === false || isset($keywords["result"])) { - // DEBUG ONLY: uncomment for troubleshooting an empty output (the URL output reveals the token_auth) - // echo "Error while fetching the <a href=\'$api\'>Top Keywords from Piwik</a>"; - return; + // DEBUG ONLY: uncomment for troubleshooting an empty output (the URL output reveals the token_auth) + // echo "Error while fetching the <a href=\'$api\'>Top Keywords from Piwik</a>"; + return; } // Display the list in HTML @@ -376,13 +393,13 @@ function DisplayTopKeywords($url = "") '; $jsonRequest = str_replace('format=php', 'format=json', $api); - echo "<p>This widget is designed to work in your website directly. + echo "<p>This widget is designed to work in your website directly. This widget makes it easy to use Piwik to <i>automatically display the list of Top Keywords</i>, for each of your website Page URLs.</p> <p> <b>Example API URL</b> - For example if you would like to get the top 10 keywords, used last week, to land on the page <a target='_blank' href='$topPageUrl'>$topPageUrl</a>, - in format JSON: you would dynamically fetch the data using <a target='_blank' href='$jsonRequest&url=".urlencode($topPageUrl)."'>this API request URL</a>. Make sure you encode the 'url' parameter in the URL.</p> + in format JSON: you would dynamically fetch the data using <a target='_blank' href='$jsonRequest&url=".urlencode($topPageUrl)."'>this API request URL</a>. Make sure you encode the 'url' parameter in the URL.</p> - <p><b>PHP Function ready to use!</b> - If you use PHP on your website, we have prepared a small code snippet that you can copy paste in your Website PHP files. You can then simply call the function <code>DisplayTopKeywords();</code> anywhere in your template, at the bottom of the content or in your blog sidebar. + <p><b>PHP Function ready to use!</b> - If you use PHP on your website, we have prepared a small code snippet that you can copy paste in your Website PHP files. You can then simply call the function <code>DisplayTopKeywords();</code> anywhere in your template, at the bottom of the content or in your blog sidebar. If you run this code in your page $topPageUrl, it would output the following:"; echo "<div style='width:400px;margin-left:20px;padding:10px;border:1px solid black;'>"; @@ -395,9 +412,9 @@ function DisplayTopKeywords($url = "") "; echo " - <p><b>Notes</b>: You can for example edit the code to to make the Top search keywords link to your Website search result pages. + <p><b>Notes</b>: You can for example edit the code to to make the Top search keywords link to your Website search result pages. <br/>On medium to large traffic websites, we recommend to cache this data, as to minimize the performance impact of calling the Piwik API on each page view. - </p> + </p> "; } diff --git a/plugins/Referers/Referers.php b/plugins/Referers/Referers.php index 1fc22a94eb..092e774a2b 100644 --- a/plugins/Referers/Referers.php +++ b/plugins/Referers/Referers.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_Referers */ @@ -19,7 +19,7 @@ require_once PIWIK_INCLUDE_PATH . '/plugins/Referers/functions.php'; * @package Piwik_Referers */ class Piwik_Referers extends Piwik_Plugin -{ +{ public $archiveProcessing; protected $columnToSortByBeforeTruncation; protected $maximumRowsInDataTableLevelZero; @@ -49,9 +49,9 @@ class Piwik_Referers extends Piwik_Plugin 'API.getSegmentsMetadata' => 'getSegmentsMetadata', ); return $hooks; - } + } - public function getReportMetadata($notification) + public function getReportMetadata($notification) { $reports = &$notification->getNotificationObject(); $reports = array_merge($reports, array( @@ -61,6 +61,14 @@ class Piwik_Referers extends Piwik_Plugin 'module' => 'Referers', 'action' => 'getRefererType', 'dimension' => Piwik_Translate('Referers_ColumnRefererType'), + 'documentation' => Piwik_Translate('Referers_TypeReportDocumentation').'<br />' + .'<b>'.Piwik_Translate('Referers_DirectEntry').':</b> '.Piwik_Translate('Referers_DirectEntryDocumentation').'<br />' + .'<b>'.Piwik_Translate('Referers_SearchEngines').':</b> '.Piwik_Translate('Referers_SearchEnginesDocumentation', + array('<br />', '"'.Piwik_Translate('Referers_SubmenuSearchEngines').'"')).'<br />' + .'<b>'.Piwik_Translate('Referers_Websites').':</b> '.Piwik_Translate('Referers_WebsitesDocumentation', + array('<br />', '"'.Piwik_Translate('Referers_SubmenuWebsites').'"')).'<br />' + .'<b>'.Piwik_Translate('Referers_Campaigns').':</b> '.Piwik_Translate('Referers_CampaignsDocumentation', + array('<br />', '"'.Piwik_Translate('Referers_SubmenuCampaigns').'"')), 'order' => 1, ), array( @@ -69,6 +77,7 @@ class Piwik_Referers extends Piwik_Plugin 'module' => 'Referers', 'action' => 'getKeywords', 'dimension' => Piwik_Translate('Referers_ColumnKeyword'), + 'documentation' => Piwik_Translate('Referers_KeywordsReportDocumentation', '<br />'), 'order' => 3, ), array( @@ -77,7 +86,8 @@ class Piwik_Referers extends Piwik_Plugin 'module' => 'Referers', 'action' => 'getWebsites', 'dimension' => Piwik_Translate('Referers_ColumnWebsite'), - 'order' => 5, + 'documentation' => Piwik_Translate('Referers_WebsitesReportDocumentation', '<br />'), + 'order' => 5 ), array( 'category' => Piwik_Translate('Referers_Referers'), @@ -85,6 +95,7 @@ class Piwik_Referers extends Piwik_Plugin 'module' => 'Referers', 'action' => 'getSearchEngines', 'dimension' => Piwik_Translate('Referers_ColumnSearchEngine'), + 'documentation' => Piwik_Translate('Referers_SearchEnginesReportDocumentation', '<br />'), 'order' => 7, ), array( @@ -93,6 +104,8 @@ class Piwik_Referers extends Piwik_Plugin 'module' => 'Referers', 'action' => 'getCampaigns', 'dimension' => Piwik_Translate('Referers_ColumnCampaign'), + 'documentation' => Piwik_Translate('Referers_CampaignsReportDocumentation', + array('<br />', '<a href="http://piwik.org/docs/tracking-campaigns/" target="_blank">', '</a>')), 'order' => 9, ), )); @@ -160,13 +173,13 @@ class Piwik_Referers extends Piwik_Plugin Piwik_AddMenu('Referers_Referers', '', array('module' => 'Referers', 'action' => 'index'), true, 20); Piwik_AddMenu('Referers_Referers', 'Referers_SubmenuOverview', array('module' => 'Referers', 'action' => 'index'), true, 1); Piwik_AddMenu('Referers_Referers', 'Referers_SubmenuSearchEngines', array('module' => 'Referers', 'action' => 'getSearchEnginesAndKeywords'), true, 2); - Piwik_AddMenu('Referers_Referers', 'Referers_SubmenuWebsites', array('module' => 'Referers', 'action' => 'getWebsites'), true, 3); - Piwik_AddMenu('Referers_Referers', 'Referers_SubmenuCampaigns', array('module' => 'Referers', 'action' => 'getCampaigns'), true, 4); + Piwik_AddMenu('Referers_Referers', 'Referers_SubmenuWebsites', array('module' => 'Referers', 'action' => 'indexWebsites'), true, 3); + Piwik_AddMenu('Referers_Referers', 'Referers_SubmenuCampaigns', array('module' => 'Referers', 'action' => 'indexCampaigns'), true, 4); } /** * Adds Goal dimensions, so that the dimensions are displayed in the UI Goal Overview page - * + * * @param Piwik_Event_Notification $notification * @return void */ @@ -210,9 +223,9 @@ class Piwik_Referers extends Piwik_Plugin } /** - * Period archiving: sums up daily stats and sums report tables, + * Period archiving: sums up daily stats and sums report tables, * making sure that tables are still truncated. - * + * * @param Piwik_Event_Notification $notification * @return void */ @@ -222,7 +235,7 @@ class Piwik_Referers extends Piwik_Plugin if(!$archiveProcessing->shouldProcessReportsForPlugin($this->getPluginName())) return; - $dataTableToSum = array( + $dataTableToSum = array( 'Referers_type', 'Referers_keywordBySearchEngine', 'Referers_searchEngineByKeyword', @@ -232,23 +245,23 @@ class Piwik_Referers extends Piwik_Plugin $nameToCount = $archiveProcessing->archiveDataTable($dataTableToSum, null, $this->maximumRowsInDataTableLevelZero, $this->maximumRowsInSubDataTable, $this->columnToSortByBeforeTruncation); $mappingFromArchiveName = array( - 'Referers_distinctSearchEngines' => + 'Referers_distinctSearchEngines' => array( 'typeCountToUse' => 'level0', 'nameTableToUse' => 'Referers_keywordBySearchEngine', ), - 'Referers_distinctKeywords' => + 'Referers_distinctKeywords' => array( 'typeCountToUse' => 'level0', 'nameTableToUse' => 'Referers_searchEngineByKeyword', ), - 'Referers_distinctCampaigns' => + 'Referers_distinctCampaigns' => array( 'typeCountToUse' => 'level0', 'nameTableToUse' => 'Referers_keywordByCampaign', ), - 'Referers_distinctWebsites' => + 'Referers_distinctWebsites' => array( 'typeCountToUse' => 'level0', 'nameTableToUse' => 'Referers_urlByWebsite', ), - 'Referers_distinctWebsitesUrls' => + 'Referers_distinctWebsitesUrls' => array( 'typeCountToUse' => 'recursive', 'nameTableToUse' => 'Referers_urlByWebsite', ), @@ -275,14 +288,14 @@ class Piwik_Referers extends Piwik_Plugin /** * Hooks on daily archive to trigger various log processing - * + * * @param Piwik_Event_Notification $notification * @return void */ public function archiveDay( $notification ) { /** - * @var Piwik_ArchiveProcessing_Day + * @var Piwik_ArchiveProcessing_Day */ $this->archiveProcessing = $notification->getNotificationObject(); if(!$this->archiveProcessing->shouldProcessReportsForPlugin($this->getPluginName())) return; @@ -309,9 +322,9 @@ class Piwik_Referers extends Piwik_Plugin } /** - * Daily archive: processes all Referers reports, eg. Visits by Keyword, + * Daily archive: processes all Referers reports, eg. Visits by Keyword, * Visits by websites, etc. - * + * * @param Piwik_ArchiveProcessing $archiveProcessing * @return void */ @@ -328,7 +341,7 @@ class Piwik_Referers extends Piwik_Plugin $this->interestByWebsiteAndUrl = $this->interestByCampaignAndKeyword = $this->interestByCampaign = - $this->interestByType = + $this->interestByType = $this->distinctUrls = array(); while($row = $query->fetch() ) { @@ -395,7 +408,7 @@ class Piwik_Referers extends Piwik_Plugin /** * Daily Goal archiving: processes reports of Goal conversions by Keyword, * Goal conversions by Referer Websites, etc. - * + * * @param Piwik_ArchiveProcessing $archiveProcessing * @return void */ @@ -458,7 +471,7 @@ class Piwik_Referers extends Piwik_Plugin /** * Records the daily stats (numeric or datatable blob) into the archive tables. - * + * * @param Piwik_ArchiveProcessing $archiveProcessing * @return void */ diff --git a/plugins/UserCountry/UserCountry.php b/plugins/UserCountry/UserCountry.php index 8e436b7fcf..fc72df6e6d 100644 --- a/plugins/UserCountry/UserCountry.php +++ b/plugins/UserCountry/UserCountry.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_UserCountry */ @@ -15,7 +15,7 @@ * @package Piwik_UserCountry */ class Piwik_UserCountry extends Piwik_Plugin -{ +{ public function getInformation() { $info = array( @@ -39,7 +39,7 @@ class Piwik_UserCountry extends Piwik_Plugin 'API.getSegmentsMetadata' => 'getSegmentsMetadata', ); return $hooks; - } + } function addWidgets() { @@ -74,7 +74,7 @@ class Piwik_UserCountry extends Piwik_Plugin ); } - public function getReportMetadata($notification) + public function getReportMetadata($notification) { $reports = &$notification->getNotificationObject(); $reports[] = array( @@ -119,13 +119,13 @@ class Piwik_UserCountry extends Piwik_Plugin if(!$archiveProcessing->shouldProcessReportsForPlugin($this->getPluginName())) return; - $dataTableToSum = array( + $dataTableToSum = array( 'UserCountry_country', 'UserCountry_continent', ); $nameToCount = $archiveProcessing->archiveDataTable($dataTableToSum); - $archiveProcessing->insertNumericRecord('UserCountry_distinctCountries', + $archiveProcessing->insertNumericRecord('UserCountry_distinctCountries', $nameToCount['UserCountry_country']['level0']); } diff --git a/plugins/UserSettings/UserSettings.php b/plugins/UserSettings/UserSettings.php index ecf4995954..6a92f41f1d 100644 --- a/plugins/UserSettings/UserSettings.php +++ b/plugins/UserSettings/UserSettings.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_UserSettings */ @@ -15,7 +15,7 @@ * @package Piwik_UserSettings */ class Piwik_UserSettings extends Piwik_Plugin -{ +{ public function getInformation() { return array( @@ -38,79 +38,79 @@ class Piwik_UserSettings extends Piwik_Plugin ); /* - * Defines API reports. + * Defines API reports. * Also used to define Widgets. - * - * @array Category, Report Name, API Module, API action, Translated column name, + * + * @array Category, Report Name, API Module, API action, Translated column name, * $segment, $sqlSegment, $acceptedValues, $sqlFilter */ protected $reportMetadata = array( - array( 'UserSettings_VisitorSettings', - 'UserSettings_WidgetResolutions', - 'UserSettings', - 'getResolution', + array( 'UserSettings_VisitorSettings', + 'UserSettings_WidgetResolutions', + 'UserSettings', + 'getResolution', 'UserSettings_ColumnResolution', 'resolution', 'config_resolution', '1280x1024, 800x600, etc.', ), - array( 'UserSettings_VisitorSettings', - 'UserSettings_WidgetBrowsers', - 'UserSettings', - 'getBrowser', + array( 'UserSettings_VisitorSettings', + 'UserSettings_WidgetBrowsers', + 'UserSettings', + 'getBrowser', 'UserSettings_ColumnBrowser', 'browserName', 'config_browser_name', 'FF, IE, CH, SF, OP, etc.',), // Only used as a Segment, not as a widget - array( false, - false, - 'UserSettings', - 'getBrowser', + array( false, + false, + 'UserSettings', + 'getBrowser', 'UserSettings_ColumnBrowserVersion', 'browserVersion', 'config_browser_version', '1.0, 8.0, etc.',), - array( 'UserSettings_VisitorSettings', - 'UserSettings_WidgetBrowserFamilies', - 'UserSettings', - 'getBrowserType', + array( 'UserSettings_VisitorSettings', + 'UserSettings_WidgetBrowserFamilies', + 'UserSettings', + 'getBrowserType', 'UserSettings_ColumnBrowserFamily'), - array( 'UserSettings_VisitorSettings', - 'UserSettings_WidgetPlugins', - 'UserSettings', - 'getPlugin', + array( 'UserSettings_VisitorSettings', + 'UserSettings_WidgetPlugins', + 'UserSettings', + 'getPlugin', 'UserSettings_ColumnPlugin', ), - array( 'UserSettings_VisitorSettings', - 'UserSettings_WidgetWidescreen', - 'UserSettings', - 'getWideScreen', + array( 'UserSettings_VisitorSettings', + 'UserSettings_WidgetWidescreen', + 'UserSettings', + 'getWideScreen', 'UserSettings_ColumnTypeOfScreen'), - array( 'UserSettings_VisitorSettings', - 'UserSettings_WidgetOperatingSystems', - 'UserSettings', - 'getOS', + array( 'UserSettings_VisitorSettings', + 'UserSettings_WidgetOperatingSystems', + 'UserSettings', + 'getOS', 'UserSettings_ColumnOperatingSystem', 'operatingSystem', 'config_os', 'WXP, WI7, MAC, LIN, AND, IPD, etc.'), - array( 'UserSettings_VisitorSettings', - 'UserSettings_WidgetGlobalVisitors', - 'UserSettings', - 'getConfiguration', + array( 'UserSettings_VisitorSettings', + 'UserSettings_WidgetGlobalVisitors', + 'UserSettings', + 'getConfiguration', 'UserSettings_ColumnConfiguration'), ); /* - * List of hooks + * List of hooks */ function getListHooksRegistered() { @@ -130,7 +130,7 @@ class Piwik_UserSettings extends Piwik_Plugin * * @param Piwik_Event_Notification $notification */ - public function getReportMetadata($notification) + public function getReportMetadata($notification) { $reports = &$notification->getNotificationObject(); @@ -146,9 +146,15 @@ class Piwik_UserSettings extends Piwik_Plugin 'module' => $apiModule, 'action' => $apiAction, 'dimension' => Piwik_Translate($columnName), - 'order' => $i++, + 'order' => $i++ ); + $translation = $name.'Documentation'; + $translated = Piwik_Translate($translation, '<br />'); + if ($translated != $translation) { + $report['documentation'] = $translated; + } + // getPlugin returns only a subset of metrics if($apiAction == 'getPlugin') { @@ -194,7 +200,7 @@ class Piwik_UserSettings extends Piwik_Plugin */ function addWidgets() { - // in this case, Widgets have same names as API reports + // in this case, Widgets have same names as API reports foreach($this->reportMetadata as $report) { list( $category, $name, $controllerName, $controllerAction ) = $report; @@ -213,9 +219,9 @@ class Piwik_UserSettings extends Piwik_Plugin /** * Daily archive of User Settings report. Processes reports for Visits by Resolution, - * by Browser, Browser family, etc. Some reports are built from the logs, some reports + * by Browser, Browser family, etc. Some reports are built from the logs, some reports * are superset of an existing report (eg. Browser family is built from the Browser report) - * + * * @param Piwik_Event_Notification $notification * @return void */ @@ -290,7 +296,7 @@ class Piwik_UserSettings extends Piwik_Plugin $maximumRowsInDataTable = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_standard; - $dataTableToSum = array( + $dataTableToSum = array( 'UserSettings_configuration', 'UserSettings_os', 'UserSettings_browser', @@ -305,8 +311,8 @@ class Piwik_UserSettings extends Piwik_Plugin /** * Returns the report Visits by Screen type given the Resolution table - * - * @param Piwik_DataTable $tableResolution + * + * @param Piwik_DataTable $tableResolution * @return Piwik_DataTable */ protected function getTableWideScreen(Piwik_DataTable $tableResolution) @@ -332,12 +338,12 @@ class Piwik_UserSettings extends Piwik_Plugin /** * Returns the report Visits by Browser family given the Browser report - * - * @param Piwik_DataTable $tableBrowser + * + * @param Piwik_DataTable $tableBrowser * @return Piwik_DataTable */ protected function getTableBrowserByType(Piwik_DataTable $tableBrowser) - { + { $nameToRow = array(); foreach($tableBrowser->getRows() as $row) { @@ -363,9 +369,9 @@ class Piwik_UserSettings extends Piwik_Plugin */ protected function getDataTablePlugin() { - $toSelect = "sum(case config_pdf when 1 then 1 else 0 end) as pdf, - sum(case config_flash when 1 then 1 else 0 end) as flash, - sum(case config_java when 1 then 1 else 0 end) as java, + $toSelect = "sum(case config_pdf when 1 then 1 else 0 end) as pdf, + sum(case config_flash when 1 then 1 else 0 end) as flash, + sum(case config_java when 1 then 1 else 0 end) as java, sum(case config_director when 1 then 1 else 0 end) as director, sum(case config_quicktime when 1 then 1 else 0 end) as quicktime, sum(case config_realplayer when 1 then 1 else 0 end) as realplayer, diff --git a/plugins/VisitFrequency/Controller.php b/plugins/VisitFrequency/Controller.php index bdbe735928..dc5a8a71a4 100644 --- a/plugins/VisitFrequency/Controller.php +++ b/plugins/VisitFrequency/Controller.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_VisitFrequency */ @@ -14,7 +14,7 @@ * * @package Piwik_VisitFrequency */ -class Piwik_VisitFrequency_Controller extends Piwik_Controller +class Piwik_VisitFrequency_Controller extends Piwik_Controller { function index() { @@ -27,7 +27,7 @@ class Piwik_VisitFrequency_Controller extends Piwik_Controller public function getSparklines() { $view = Piwik_View::factory('sparklines'); - $this->setSparklinesAndNumbers($view); + $this->setSparklinesAndNumbers($view); echo $view->render(); } @@ -40,14 +40,20 @@ class Piwik_VisitFrequency_Controller extends Piwik_Controller } $columns = !is_array($columns) ? array($columns) : $columns; $view->setColumnsToDisplay($columns); - $view->setColumnsTranslations(array( + $view->setColumnsTranslations(array( 'nb_visits_returning' => Piwik_Translate('VisitFrequency_ColumnReturningVisits'), - 'nb_actions_returning' => Piwik_Translate('VisitFrequency_ColumnActionsByReturningVisits'), + 'nb_actions_returning' => Piwik_Translate('VisitFrequency_ColumnActionsByReturningVisits'), 'avg_time_on_site_returning' => Piwik_Translate('VisitFrequency_ColumnAverageVisitDurationForReturningVisitors'), 'bounce_rate_returning' => Piwik_Translate('VisitFrequency_ColumnBounceRateForReturningVisits'), 'nb_actions_per_visit_returning' => Piwik_Translate('VisitFrequency_ColumnAvgActionsPerReturningVisit'), )); - + + $doc = Piwik_Translate('VisitFrequency_ReturningVisitsDocumentation').'<br />' + . Piwik_Translate('General_BrokenDownReportDocumentation').'<br />' + . Piwik_Translate('VisitFrequency_ReturningVisitDocumentation'); + + $view->setReportDocumentation($doc); + return $this->renderView($view, $fetch); } @@ -72,7 +78,7 @@ class Piwik_VisitFrequency_Controller extends Piwik_Controller } protected function getSummary() - { + { $requestString = "method=VisitFrequency.get&format=original"; $request = new Piwik_API_Request($requestString); return $request->process(); diff --git a/plugins/VisitFrequency/VisitFrequency.php b/plugins/VisitFrequency/VisitFrequency.php index f13cd62738..13edc7205f 100644 --- a/plugins/VisitFrequency/VisitFrequency.php +++ b/plugins/VisitFrequency/VisitFrequency.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_VisitFrequency */ @@ -15,7 +15,7 @@ * @package Piwik_VisitFrequency */ class Piwik_VisitFrequency extends Piwik_Plugin -{ +{ public function getInformation() { $info = array( @@ -39,7 +39,7 @@ class Piwik_VisitFrequency extends Piwik_Plugin return $hooks; } - public function getReportMetadata($notification) + public function getReportMetadata($notification) { $reports = &$notification->getNotificationObject(); $reports[] = array( @@ -49,7 +49,7 @@ class Piwik_VisitFrequency extends Piwik_Plugin 'action' => 'get', 'metrics' => array( 'nb_visits_returning' => Piwik_Translate('VisitFrequency_ColumnReturningVisits'), - 'nb_actions_returning' => Piwik_Translate('VisitFrequency_ColumnActionsByReturningVisits'), + 'nb_actions_returning' => Piwik_Translate('VisitFrequency_ColumnActionsByReturningVisits'), 'avg_time_on_site_returning' => Piwik_Translate('VisitFrequency_ColumnAverageVisitDurationForReturningVisitors'), 'bounce_rate_returning' => Piwik_Translate('VisitFrequency_ColumnBounceRateForReturningVisits'), 'nb_actions_per_visit_returning' => Piwik_Translate('VisitFrequency_ColumnAvgActionsPerReturningVisit'), @@ -82,7 +82,7 @@ class Piwik_VisitFrequency extends Piwik_Plugin if(!$archiveProcessing->shouldProcessReportsForPlugin($this->getPluginName())) return; - $numericToSum = array( + $numericToSum = array( 'nb_visits_returning', 'nb_actions_returning', 'sum_visit_length_returning', @@ -101,10 +101,10 @@ class Piwik_VisitFrequency extends Piwik_Plugin if(!$archiveProcessing->shouldProcessReportsForPlugin($this->getPluginName())) return; $query = "SELECT count(distinct idvisitor) as nb_uniq_visitors_returning, - count(*) as nb_visits_returning, + count(*) as nb_visits_returning, sum(visit_total_actions) as nb_actions_returning, - max(visit_total_actions) as max_actions_returning, - sum(visit_total_time) as sum_visit_length_returning, + max(visit_total_actions) as max_actions_returning, + sum(visit_total_time) as sum_visit_length_returning, sum(case visit_total_actions when 1 then 1 else 0 end) as bounce_count_returning, sum(case visit_goal_converted when 1 then 1 else 0 end) as nb_visits_converted_returning FROM ".Piwik_Common::prefixTable('log_visit')." diff --git a/plugins/VisitTime/VisitTime.php b/plugins/VisitTime/VisitTime.php index c47a03463d..0986b500f1 100644 --- a/plugins/VisitTime/VisitTime.php +++ b/plugins/VisitTime/VisitTime.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_VisitTime */ @@ -15,7 +15,7 @@ * @package Piwik_VisitTime */ class Piwik_VisitTime extends Piwik_Plugin -{ +{ public function getInformation() { $info = array( @@ -41,7 +41,7 @@ class Piwik_VisitTime extends Piwik_Plugin return $hooks; } - public function getReportMetadata($notification) + public function getReportMetadata($notification) { $reports = &$notification->getNotificationObject(); $reports[] = array( @@ -50,6 +50,7 @@ class Piwik_VisitTime extends Piwik_Plugin 'module' => 'VisitTime', 'action' => 'getVisitInformationPerLocalTime', 'dimension' => Piwik_Translate('VisitTime_ColumnLocalTime'), + 'documentation' => Piwik_Translate('VisitTime_WidgetLocalTimeDocumentation', array('<b>', '</b>')), 'order' => 20 ); @@ -59,6 +60,7 @@ class Piwik_VisitTime extends Piwik_Plugin 'module' => 'VisitTime', 'action' => 'getVisitInformationPerServerTime', 'dimension' => Piwik_Translate('VisitTime_ColumnServerTime'), + 'documentation' => Piwik_Translate('VisitTime_WidgetServerTimeDocumentation', array('<b>', '</b>')), 'order' => 15, ); } @@ -112,7 +114,7 @@ class Piwik_VisitTime extends Piwik_Plugin if(!$archiveProcessing->shouldProcessReportsForPlugin($this->getPluginName())) return; - $dataTableToSum = array( + $dataTableToSum = array( 'VisitTime_localTime', 'VisitTime_serverTime', ); diff --git a/plugins/VisitorInterest/VisitorInterest.php b/plugins/VisitorInterest/VisitorInterest.php index 06e57ee31b..2f43546a02 100644 --- a/plugins/VisitorInterest/VisitorInterest.php +++ b/plugins/VisitorInterest/VisitorInterest.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_VisitorInterest */ @@ -15,7 +15,7 @@ * @package Piwik_VisitorInterest */ class Piwik_VisitorInterest extends Piwik_Plugin -{ +{ public function getInformation() { $info = array( @@ -40,7 +40,7 @@ class Piwik_VisitorInterest extends Piwik_Plugin return $hooks; } - public function getReportMetadata($notification) + public function getReportMetadata($notification) { $reports = &$notification->getNotificationObject(); $reports[] = array( @@ -52,6 +52,8 @@ class Piwik_VisitorInterest extends Piwik_Plugin 'metrics' => array( 'nb_visits' ), 'processedMetrics' => false, 'constantRowsCount' => true, + 'documentation' => Piwik_Translate('VisitorInterest_WidgetLengthsDocumentation') + .'<br />'.Piwik_Translate('General_ChangeTagCloudView'), 'order' => 15 ); @@ -64,6 +66,8 @@ class Piwik_VisitorInterest extends Piwik_Plugin 'metrics' => array( 'nb_visits' ), 'processedMetrics' => false, 'constantRowsCount' => true, + 'documentation' => Piwik_Translate('VisitorInterest_WidgetPagesDocumentation') + .'<br />'.Piwik_Translate('General_ChangeTagCloudView'), 'order' => 20 ); } @@ -76,7 +80,7 @@ class Piwik_VisitorInterest extends Piwik_Plugin function addMenu() { - Piwik_RenameMenuEntry('General_Visitors', 'VisitFrequency_SubmenuFrequency', + Piwik_RenameMenuEntry('General_Visitors', 'VisitFrequency_SubmenuFrequency', 'General_Visitors', 'VisitorInterest_Engagement' ); } @@ -116,7 +120,7 @@ class Piwik_VisitorInterest extends Piwik_Plugin if(!$archiveProcessing->shouldProcessReportsForPlugin($this->getPluginName())) return; - $dataTableToSum = array( + $dataTableToSum = array( 'VisitorInterest_timeGap', 'VisitorInterest_pageGap', ); @@ -159,7 +163,7 @@ class Piwik_VisitorInterest extends Piwik_Plugin $gapName = "'".$minGap.$plusEncoded."'"; $select[] = "sum(case when visit_total_actions > $minGap then 1 else 0 end) as $gapName "; } - } + } $toSelect = implode(" , ", $select); return $this->archiveProcessing->getSimpleDataTableFromSelect($toSelect, Piwik_Archive::INDEX_NB_VISITS); @@ -184,7 +188,7 @@ class Piwik_VisitorInterest extends Piwik_Plugin $gapName = "'$minGap'"; $select[] = "sum(case when visit_total_time > $minGap then 1 else 0 end) as $gapName "; } - } + } $toSelect = implode(" , ", $select); $table = $this->archiveProcessing->getSimpleDataTableFromSelect($toSelect, Piwik_Archive::INDEX_NB_VISITS); diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php index 7c252c900f..8a3adaf82c 100644 --- a/plugins/VisitsSummary/API.php +++ b/plugins/VisitsSummary/API.php @@ -1,22 +1,22 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_VisitsSummary */ /** - * VisitsSummary API lets you access the core web analytics metrics (visits, unique visitors, + * VisitsSummary API lets you access the core web analytics metrics (visits, unique visitors, * count of actions (page views & downloads & clicks on outlinks), time on site, bounces and converted visits. - * + * * @package Piwik_VisitsSummary */ -class Piwik_VisitsSummary_API +class Piwik_VisitsSummary_API { static private $instance = null; static public function getInstance() @@ -56,10 +56,10 @@ class Piwik_VisitsSummary_API else { $bounceRateRequested = $actionsPerVisitRequested = $averageVisitDurationRequested = true; - $columns = array( + $columns = array( 'nb_visits', - 'nb_uniq_visitors', - 'nb_actions', + 'nb_uniq_visitors', + 'nb_actions', 'nb_visits_converted', 'bounce_count', 'sum_visit_length', @@ -89,11 +89,11 @@ class Piwik_VisitsSummary_API $dataTable->filter('ColumnCallbackAddColumnQuotient', array('avg_time_on_site', 'sum_visit_length', 'nb_visits', 0)); } - // If only a computed metrics was requested, we delete other metrics - // that we selected only to process this one metric + // If only a computed metrics was requested, we delete other metrics + // that we selected only to process this one metric if($countColumnsRequested == 1 && ($bounceRateRequested || $actionsPerVisitRequested || $averageVisitDurationRequested) - ) + ) { $dataTable->deleteColumns($columns); } @@ -105,7 +105,7 @@ class Piwik_VisitsSummary_API Piwik::checkUserHasViewAccess( $idSite ); $archive = Piwik_Archive::build($idSite, $period, $date, $segment ); $dataTable = $archive->getNumeric($toFetch); - return $dataTable; + return $dataTable; } public function getVisits( $idSite, $period, $date, $segment = false ) diff --git a/plugins/VisitsSummary/Controller.php b/plugins/VisitsSummary/Controller.php index f3a757c85a..c11a2e930f 100644 --- a/plugins/VisitsSummary/Controller.php +++ b/plugins/VisitsSummary/Controller.php @@ -1,11 +1,11 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_VisitsSummary */ @@ -14,14 +14,14 @@ * * @package Piwik_VisitsSummary */ -class Piwik_VisitsSummary_Controller extends Piwik_Controller +class Piwik_VisitsSummary_Controller extends Piwik_Controller { public function index() { $view = Piwik_View::factory('index'); $this->setPeriodVariablesView($view); $view->graphEvolutionVisitsSummary = $this->getEvolutionGraph( true, array('nb_visits') ); - $this->setSparklinesAndNumbers($view); + $this->setSparklinesAndNumbers($view); echo $view->render(); } @@ -29,7 +29,7 @@ class Piwik_VisitsSummary_Controller extends Piwik_Controller { $view = Piwik_View::factory('sparklines'); $this->setPeriodVariablesView($view); - $this->setSparklinesAndNumbers($view); + $this->setSparklinesAndNumbers($view); echo $view->render(); } @@ -42,6 +42,24 @@ class Piwik_VisitsSummary_Controller extends Piwik_Controller } $columns = !is_array($columns) ? array($columns) : $columns; $view->setColumnsToDisplay($columns); + + $doc = Piwik_Translate('VisitsSummary_VisitsSummaryDocumentation').'<br />' + . Piwik_Translate('General_BrokenDownReportDocumentation').'<br /><br />' + + . '<b>'.Piwik_Translate('General_ColumnNbVisits').':</b> ' + . Piwik_Translate('General_ColumnNbVisitsDocumentation').'<br />' + + . '<b>'.Piwik_Translate('General_ColumnNbUniqVisitors').':</b> ' + . Piwik_Translate('General_ColumnNbUniqVisitorsDocumentation').'<br />' + + . '<b>'.Piwik_Translate('General_ColumnNbActions').':</b> ' + . Piwik_Translate('General_ColumnNbActionsDocumentation').'<br />' + + . '<b>'.Piwik_Translate('General_ColumnActionsPerVisit').':</b> ' + . Piwik_Translate('General_ColumnActionsPerVisitDocumentation'); + + $view->setReportDocumentation($doc); + return $this->renderView($view, $fetch); } @@ -49,9 +67,9 @@ class Piwik_VisitsSummary_Controller extends Piwik_Controller { $requestString = "method=VisitsSummary.get". "&format=original". - // we disable filters for example "search for pattern", in the case this method is called - // by a method that already calls the API with some generic filters applied - "&disable_generic_filters=1"; + // we disable filters for example "search for pattern", in the case this method is called + // by a method that already calls the API with some generic filters applied + "&disable_generic_filters=1"; $request = new Piwik_API_Request($requestString); return $request->process(); } @@ -60,7 +78,7 @@ class Piwik_VisitsSummary_Controller extends Piwik_Controller { $requestString = "method=VisitsSummary.getVisits". "&format=original". - "&disable_generic_filters=1"; + "&disable_generic_filters=1"; $request = new Piwik_API_Request($requestString); return $request->process(); } diff --git a/plugins/VisitsSummary/VisitsSummary.php b/plugins/VisitsSummary/VisitsSummary.php index 9b4cd8939d..20303a27da 100644 --- a/plugins/VisitsSummary/VisitsSummary.php +++ b/plugins/VisitsSummary/VisitsSummary.php @@ -1,21 +1,21 @@ <?php /** * Piwik - Open source web analytics - * + * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @version $Id$ - * + * * @category Piwik_Plugins * @package Piwik_VisitsSummary */ /** - * Note: This plugin does not hook on Daily and Period Archiving like other Plugins because it reports the + * Note: This plugin does not hook on Daily and Period Archiving like other Plugins because it reports the * very core metrics (visits, actions, visit duration, etc.) which are processed in the Core - * Piwik_ArchiveProcessing_Day class directly. + * Piwik_ArchiveProcessing_Day class directly. * These metrics can be used by other Plugins so they need to be processed up front. - * + * * @package Piwik_VisitsSummary */ class Piwik_VisitsSummary extends Piwik_Plugin @@ -40,7 +40,7 @@ class Piwik_VisitsSummary extends Piwik_Plugin ); } - public function getReportMetadata($notification) + public function getReportMetadata($notification) { $reports = &$notification->getNotificationObject(); $reports[] = array( @@ -49,9 +49,9 @@ class Piwik_VisitsSummary extends Piwik_Plugin 'module' => 'VisitsSummary', 'action' => 'get', 'metrics' => array( - 'nb_uniq_visitors', + 'nb_uniq_visitors', 'nb_visits', - 'nb_actions', + 'nb_actions', 'nb_actions_per_visit', 'bounce_rate', 'avg_time_on_site' => Piwik_Translate('General_VisitDuration'), diff --git a/tests/integration/expected/test_apiGetReportMetadata__API.getMetadata_day.xml b/tests/integration/expected/test_apiGetReportMetadata__API.getMetadata_day.xml index b26dfe54ef..8700e34aa9 100644 --- a/tests/integration/expected/test_apiGetReportMetadata__API.getMetadata_day.xml +++ b/tests/integration/expected/test_apiGetReportMetadata__API.getMetadata_day.xml @@ -18,13 +18,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>UserCountry_getCountry</uniqueId> diff --git a/tests/integration/expected/test_apiGetReportMetadata__API.getProcessedReport_day.xml b/tests/integration/expected/test_apiGetReportMetadata__API.getProcessedReport_day.xml index 43e8cc475c..0ac0489070 100644 --- a/tests/integration/expected/test_apiGetReportMetadata__API.getProcessedReport_day.xml +++ b/tests/integration/expected/test_apiGetReportMetadata__API.getProcessedReport_day.xml @@ -20,13 +20,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>UserCountry_getCountry</uniqueId> diff --git a/tests/integration/expected/test_apiGetReportMetadata__API.getReportMetadata.xml b/tests/integration/expected/test_apiGetReportMetadata__API.getReportMetadata.xml index 8f1a8bc9f2..c70cc7e985 100644 --- a/tests/integration/expected/test_apiGetReportMetadata__API.getReportMetadata.xml +++ b/tests/integration/expected/test_apiGetReportMetadata__API.getReportMetadata.xml @@ -15,6 +15,19 @@ <max_actions>Maximum actions in one visit</max_actions> </metrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>VisitsSummary_get</uniqueId> </row> @@ -24,6 +37,7 @@ <module>VisitTime</module> <action>getVisitInformationPerServerTime</action> <dimension>Server time</dimension> + <documentation>This graph shows what time it was in the <b> server's time zone </b> during the visits.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -36,13 +50,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>VisitTime_getVisitInformationPerServerTime</uniqueId> @@ -54,6 +81,7 @@ <module>VisitTime</module> <action>getVisitInformationPerLocalTime</action> <dimension>Local time</dimension> + <documentation>This graph shows what time it was in the <b> visitors' time zones </b> during their visits.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -67,6 +95,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>VisitTime_getVisitInformationPerLocalTime</uniqueId> </row> @@ -86,6 +127,15 @@ <exit_rate>Exit rate</exit_rate> </metrics> + <metricsDocumentation> + <nb_hits>The number of times this page was visited.</nb_hits> + <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> + <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> + <documentation>This report contains information about the page URLs that have been visited. <br /> The table is organized hierarchically, the URLs are displayed as a folder structure.<br />Use the plus and minus icons on the left to navigate.</documentation> <uniqueId>Actions_getPageUrls</uniqueId> </row> @@ -105,6 +155,15 @@ <exit_rate>Exit rate</exit_rate> </metrics> + <metricsDocumentation> + <nb_hits>The number of times this page was visited.</nb_hits> + <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> + <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> + <documentation>This report contains information about the titles of the pages that have been visited. <br /> The page title is the HTML <title> Tag that most browsers show in their window title.</documentation> <uniqueId>Actions_getPageTitles</uniqueId> </row> @@ -119,6 +178,12 @@ <nb_visits>Visits</nb_visits> </metrics> + <metricsDocumentation> + <nb_hits>The number of times this link was clicked.</nb_hits> + <nb_visits>The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once.</nb_visits> + + </metricsDocumentation> + <documentation>This report shows a hierarchical list of outlink URLs that were clicked by your visitors. An outlink is a link that leads the visitor away from your website (to another domain).<br />Use the plus and minus icons on the left to navigate.</documentation> <uniqueId>Actions_getOutlinks</uniqueId> </row> @@ -133,6 +198,12 @@ <nb_visits>Visits</nb_visits> </metrics> + <metricsDocumentation> + <nb_hits>The number of times this link was clicked.</nb_hits> + <nb_visits>The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once.</nb_visits> + + </metricsDocumentation> + <documentation>In this report, you can see which files your visitors have downloaded. <br /> What Piwik counts as a download is the click on a download link. Whether the download was completed or not isn't known to Piwik.</documentation> <uniqueId>Actions_getDownloads</uniqueId> </row> @@ -142,6 +213,7 @@ <module>Referers</module> <action>getRefererType</action> <dimension>Referrer Type</dimension> + <documentation>This table contains information about the distribution of the referrer types.<br /><b>Direct Entry:</b> A visitor has entered the URL in his browser and started browsing on your website - he entered the website directly.<br /><b>Search Engines:</b> A visitor was referred to your website by a search engine. <br /> See the "Search Engines & Keywords" report for more datils.<br /><b>Websites:</b> The visitor followed a link on antoher website that led to your site. <br /> See the "Websites" report for more details.<br /><b>Campaigns:</b> Visitors that came to your website as the result of a campaign. <br /> See the "Campaigns" report for more details.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -154,13 +226,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>Referers_getRefererType</uniqueId> @@ -172,6 +257,7 @@ <module>Referers</module> <action>getKeywords</action> <dimension>Keyword</dimension> + <documentation>This report shows which keywords users were searching for before they were referred to your website. <br /> By clicking on a row in the table, you can see the distribution of search engines that were queried for the keyword.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -184,13 +270,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>Referers_getKeywords</uniqueId> @@ -202,6 +301,7 @@ <module>Referers</module> <action>getWebsites</action> <dimension>Website</dimension> + <documentation>In this table, you can see which websites referred visitors to your site. <br /> By clicking on a row in the table, you can see which URLs the links to your website were on.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -214,13 +314,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>Referers_getWebsites</uniqueId> @@ -232,6 +345,7 @@ <module>Referers</module> <action>getSearchEngines</action> <dimension>Search Engine</dimension> + <documentation>This report shows which search engines referred users to your website. <br /> By clicking on a row in the table, you can see what users were searching for using a specific search engine.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -244,13 +358,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>Referers_getSearchEngines</uniqueId> @@ -262,6 +389,7 @@ <module>Referers</module> <action>getCampaigns</action> <dimension>Campaign</dimension> + <documentation>This report shows which campaigns led visitors to your website. <br /> For more information about tracking campaigns, read the <a href="http://piwik.org/docs/tracking-campaigns/" target="_blank">campaigns documentation on piwik.org</a></documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -274,13 +402,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>Referers_getCampaigns</uniqueId> @@ -318,13 +459,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>UserCountry_getCountry</uniqueId> @@ -348,13 +502,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>UserCountry_getContinent</uniqueId> @@ -366,6 +533,7 @@ <module>CustomVariables</module> <action>getCustomVariables</action> <dimension>Custom Variable name</dimension> + <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. <br /> For more information about Custom Variables in general, read the <a href="http://piwik.org/docs/custom-variables/" target="_blank">Custom Variables documentation on piwik.org</a></documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -378,13 +546,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>CustomVariables_getCustomVariables</uniqueId> @@ -401,6 +582,20 @@ </metrics> <constantRowsCount>1</constantRowsCount> + <documentation>In this report, you can see how many visits had a certain total duration. Initially, the report is shown as a tag cloud, more common durations are displayed in a larger font.<br />Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>VisitorInterest_getNumberOfVisitsPerVisitDuration</uniqueId> </row> @@ -415,6 +610,20 @@ </metrics> <constantRowsCount>1</constantRowsCount> + <documentation>In this report, you can see how many visits involved a certain number of pageviews. Initially, the report is shown as a tag cloud, more common numbers of pages are displayed in a larger font.<br />Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>VisitorInterest_getNumberOfVisitsPerPage</uniqueId> </row> @@ -431,6 +640,19 @@ <nb_actions_per_visit_returning>Avg. Actions per Returning visit</nb_actions_per_visit_returning> </metrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>VisitFrequency_get</uniqueId> </row> @@ -440,6 +662,7 @@ <module>Provider</module> <action>getProvider</action> <dimension>Provider</dimension> + <documentation>This report shows which Internet Service Providers your visitors used to access the website. You can click on a provider name for more details. <br /> If Piwik can't determine a visitor's provider, it is listed as IP.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -453,6 +676,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>Provider_getProvider</uniqueId> </row> @@ -475,6 +711,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>UserSettings_getResolution</uniqueId> </row> @@ -484,6 +733,7 @@ <module>UserSettings</module> <action>getBrowser</action> <dimension>Browser</dimension> + <documentation>This report contains information about what kind of browser your visitors were using. Each browser version is listed separately.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -497,6 +747,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>UserSettings_getBrowser</uniqueId> </row> @@ -506,6 +769,7 @@ <module>UserSettings</module> <action>getBrowserType</action> <dimension>Browser family</dimension> + <documentation>This chart shows your visitors' browsers broken down into browser families. <br /> The most important information for web developers is what kind of rendering engine their visitors are using. The labels contain the names of the engines followed by the most common browser using that engine in brackets.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -519,6 +783,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>UserSettings_getBrowserType</uniqueId> </row> @@ -528,12 +805,26 @@ <module>UserSettings</module> <action>getPlugin</action> <dimension>Plugin</dimension> + <documentation>This report shows which browser plugins your visitors had enabled. This information might be important for choosing the right way to deliver your content.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_visits_percentage>% Visits</nb_visits_percentage> </metrics> <constantRowsCount>1</constantRowsCount> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>UserSettings_getPlugin</uniqueId> </row> @@ -556,6 +847,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>UserSettings_getWideScreen</uniqueId> </row> @@ -578,6 +882,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>UserSettings_getOS</uniqueId> </row> @@ -587,6 +904,7 @@ <module>UserSettings</module> <action>getConfiguration</action> <dimension>Configuration</dimension> + <documentation>This report shows the most common overall configurations that your visitors had. A configuration is the combination of an operating system, a browser type and a screen resolution.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -600,6 +918,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>UserSettings_getConfiguration</uniqueId> </row> diff --git a/tests/integration/expected/test_apiGetReportMetadata_year__API.getProcessedReport_year.xml b/tests/integration/expected/test_apiGetReportMetadata_year__API.getProcessedReport_year.xml index b3167cf4bf..f516272c39 100644 --- a/tests/integration/expected/test_apiGetReportMetadata_year__API.getProcessedReport_year.xml +++ b/tests/integration/expected/test_apiGetReportMetadata_year__API.getProcessedReport_year.xml @@ -19,6 +19,19 @@ <bounce_rate>Taux de rebond</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenu</revenue> diff --git a/tests/integration/expected/test_apiGetReportMetadata_year__API.getReportMetadata.xml b/tests/integration/expected/test_apiGetReportMetadata_year__API.getReportMetadata.xml index 8f1a8bc9f2..c70cc7e985 100644 --- a/tests/integration/expected/test_apiGetReportMetadata_year__API.getReportMetadata.xml +++ b/tests/integration/expected/test_apiGetReportMetadata_year__API.getReportMetadata.xml @@ -15,6 +15,19 @@ <max_actions>Maximum actions in one visit</max_actions> </metrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>VisitsSummary_get</uniqueId> </row> @@ -24,6 +37,7 @@ <module>VisitTime</module> <action>getVisitInformationPerServerTime</action> <dimension>Server time</dimension> + <documentation>This graph shows what time it was in the <b> server's time zone </b> during the visits.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -36,13 +50,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>VisitTime_getVisitInformationPerServerTime</uniqueId> @@ -54,6 +81,7 @@ <module>VisitTime</module> <action>getVisitInformationPerLocalTime</action> <dimension>Local time</dimension> + <documentation>This graph shows what time it was in the <b> visitors' time zones </b> during their visits.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -67,6 +95,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>VisitTime_getVisitInformationPerLocalTime</uniqueId> </row> @@ -86,6 +127,15 @@ <exit_rate>Exit rate</exit_rate> </metrics> + <metricsDocumentation> + <nb_hits>The number of times this page was visited.</nb_hits> + <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> + <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> + <documentation>This report contains information about the page URLs that have been visited. <br /> The table is organized hierarchically, the URLs are displayed as a folder structure.<br />Use the plus and minus icons on the left to navigate.</documentation> <uniqueId>Actions_getPageUrls</uniqueId> </row> @@ -105,6 +155,15 @@ <exit_rate>Exit rate</exit_rate> </metrics> + <metricsDocumentation> + <nb_hits>The number of times this page was visited.</nb_hits> + <nb_visits>The number of visits that included this page. If a page was viewed multiple times during one visit, it is only counted once.</nb_visits> + <bounce_rate>The percentage of visits that started on this page and left the website straight away.</bounce_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> + <documentation>This report contains information about the titles of the pages that have been visited. <br /> The page title is the HTML <title> Tag that most browsers show in their window title.</documentation> <uniqueId>Actions_getPageTitles</uniqueId> </row> @@ -119,6 +178,12 @@ <nb_visits>Visits</nb_visits> </metrics> + <metricsDocumentation> + <nb_hits>The number of times this link was clicked.</nb_hits> + <nb_visits>The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once.</nb_visits> + + </metricsDocumentation> + <documentation>This report shows a hierarchical list of outlink URLs that were clicked by your visitors. An outlink is a link that leads the visitor away from your website (to another domain).<br />Use the plus and minus icons on the left to navigate.</documentation> <uniqueId>Actions_getOutlinks</uniqueId> </row> @@ -133,6 +198,12 @@ <nb_visits>Visits</nb_visits> </metrics> + <metricsDocumentation> + <nb_hits>The number of times this link was clicked.</nb_hits> + <nb_visits>The number of visits that involved a click on this link. If a link was clicked multiple times during one visit, it is only counted once.</nb_visits> + + </metricsDocumentation> + <documentation>In this report, you can see which files your visitors have downloaded. <br /> What Piwik counts as a download is the click on a download link. Whether the download was completed or not isn't known to Piwik.</documentation> <uniqueId>Actions_getDownloads</uniqueId> </row> @@ -142,6 +213,7 @@ <module>Referers</module> <action>getRefererType</action> <dimension>Referrer Type</dimension> + <documentation>This table contains information about the distribution of the referrer types.<br /><b>Direct Entry:</b> A visitor has entered the URL in his browser and started browsing on your website - he entered the website directly.<br /><b>Search Engines:</b> A visitor was referred to your website by a search engine. <br /> See the "Search Engines & Keywords" report for more datils.<br /><b>Websites:</b> The visitor followed a link on antoher website that led to your site. <br /> See the "Websites" report for more details.<br /><b>Campaigns:</b> Visitors that came to your website as the result of a campaign. <br /> See the "Campaigns" report for more details.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -154,13 +226,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>Referers_getRefererType</uniqueId> @@ -172,6 +257,7 @@ <module>Referers</module> <action>getKeywords</action> <dimension>Keyword</dimension> + <documentation>This report shows which keywords users were searching for before they were referred to your website. <br /> By clicking on a row in the table, you can see the distribution of search engines that were queried for the keyword.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -184,13 +270,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>Referers_getKeywords</uniqueId> @@ -202,6 +301,7 @@ <module>Referers</module> <action>getWebsites</action> <dimension>Website</dimension> + <documentation>In this table, you can see which websites referred visitors to your site. <br /> By clicking on a row in the table, you can see which URLs the links to your website were on.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -214,13 +314,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>Referers_getWebsites</uniqueId> @@ -232,6 +345,7 @@ <module>Referers</module> <action>getSearchEngines</action> <dimension>Search Engine</dimension> + <documentation>This report shows which search engines referred users to your website. <br /> By clicking on a row in the table, you can see what users were searching for using a specific search engine.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -244,13 +358,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>Referers_getSearchEngines</uniqueId> @@ -262,6 +389,7 @@ <module>Referers</module> <action>getCampaigns</action> <dimension>Campaign</dimension> + <documentation>This report shows which campaigns led visitors to your website. <br /> For more information about tracking campaigns, read the <a href="http://piwik.org/docs/tracking-campaigns/" target="_blank">campaigns documentation on piwik.org</a></documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -274,13 +402,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>Referers_getCampaigns</uniqueId> @@ -318,13 +459,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>UserCountry_getCountry</uniqueId> @@ -348,13 +502,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>UserCountry_getContinent</uniqueId> @@ -366,6 +533,7 @@ <module>CustomVariables</module> <action>getCustomVariables</action> <dimension>Custom Variable name</dimension> + <documentation>This report contains information about your Custom Variables. Click on a variable name to see the distribution of the values. <br /> For more information about Custom Variables in general, read the <a href="http://piwik.org/docs/custom-variables/" target="_blank">Custom Variables documentation on piwik.org</a></documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -378,13 +546,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>CustomVariables_getCustomVariables</uniqueId> @@ -401,6 +582,20 @@ </metrics> <constantRowsCount>1</constantRowsCount> + <documentation>In this report, you can see how many visits had a certain total duration. Initially, the report is shown as a tag cloud, more common durations are displayed in a larger font.<br />Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>VisitorInterest_getNumberOfVisitsPerVisitDuration</uniqueId> </row> @@ -415,6 +610,20 @@ </metrics> <constantRowsCount>1</constantRowsCount> + <documentation>In this report, you can see how many visits involved a certain number of pageviews. Initially, the report is shown as a tag cloud, more common numbers of pages are displayed in a larger font.<br />Please note, that you can view the report in other ways than as a tag cloud. Use the controls at the bottom of the report to do so.</documentation> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>VisitorInterest_getNumberOfVisitsPerPage</uniqueId> </row> @@ -431,6 +640,19 @@ <nb_actions_per_visit_returning>Avg. Actions per Returning visit</nb_actions_per_visit_returning> </metrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>VisitFrequency_get</uniqueId> </row> @@ -440,6 +662,7 @@ <module>Provider</module> <action>getProvider</action> <dimension>Provider</dimension> + <documentation>This report shows which Internet Service Providers your visitors used to access the website. You can click on a provider name for more details. <br /> If Piwik can't determine a visitor's provider, it is listed as IP.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -453,6 +676,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>Provider_getProvider</uniqueId> </row> @@ -475,6 +711,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>UserSettings_getResolution</uniqueId> </row> @@ -484,6 +733,7 @@ <module>UserSettings</module> <action>getBrowser</action> <dimension>Browser</dimension> + <documentation>This report contains information about what kind of browser your visitors were using. Each browser version is listed separately.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -497,6 +747,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>UserSettings_getBrowser</uniqueId> </row> @@ -506,6 +769,7 @@ <module>UserSettings</module> <action>getBrowserType</action> <dimension>Browser family</dimension> + <documentation>This chart shows your visitors' browsers broken down into browser families. <br /> The most important information for web developers is what kind of rendering engine their visitors are using. The labels contain the names of the engines followed by the most common browser using that engine in brackets.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -519,6 +783,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>UserSettings_getBrowserType</uniqueId> </row> @@ -528,12 +805,26 @@ <module>UserSettings</module> <action>getPlugin</action> <dimension>Plugin</dimension> + <documentation>This report shows which browser plugins your visitors had enabled. This information might be important for choosing the right way to deliver your content.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_visits_percentage>% Visits</nb_visits_percentage> </metrics> <constantRowsCount>1</constantRowsCount> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>UserSettings_getPlugin</uniqueId> </row> @@ -556,6 +847,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>UserSettings_getWideScreen</uniqueId> </row> @@ -578,6 +882,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>UserSettings_getOS</uniqueId> </row> @@ -587,6 +904,7 @@ <module>UserSettings</module> <action>getConfiguration</action> <dimension>Configuration</dimension> + <documentation>This report shows the most common overall configurations that your visitors had. A configuration is the combination of an operating system, a browser type and a screen resolution.</documentation> <metrics> <nb_visits>Visits</nb_visits> <nb_uniq_visitors>Unique visitors</nb_uniq_visitors> @@ -600,6 +918,19 @@ <conversion_rate>Conversion Rate</conversion_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <uniqueId>UserSettings_getConfiguration</uniqueId> </row> diff --git a/tests/integration/expected/test_apiGetReportMetadata_year__LanguagesManager.getTranslationsForLanguage.xml b/tests/integration/expected/test_apiGetReportMetadata_year__LanguagesManager.getTranslationsForLanguage.xml index 563a5e1db8..14cc74e7f5 100644 --- a/tests/integration/expected/test_apiGetReportMetadata_year__LanguagesManager.getTranslationsForLanguage.xml +++ b/tests/integration/expected/test_apiGetReportMetadata_year__LanguagesManager.getTranslationsForLanguage.xml @@ -408,18 +408,10 @@ <label>General_ColumnBounceRate</label> <value>Taux de rebond</value> </row> - <row> - <label>General_PageBounceRateDefinition</label> - <value>Pourcentage de visites qui ont commencé sur cette page et se sont terminées juste après.</value> - </row> <row> <label>General_ColumnExitRate</label> <value>Taux de sortie</value> </row> - <row> - <label>General_PageExitRateDefinition</label> - <value>Pourcentage de visites sur cette page qui ont quitté le site juste après.</value> - </row> <row> <label>General_ColumnPageviews</label> <value>Vues</value> @@ -432,34 +424,18 @@ <label>General_ColumnBounces</label> <value>Rebonds</value> </row> - <row> - <label>General_BouncesDefinition</label> - <value>Nombre de visites qui ont commencé sur cette page et se sont terminées juste après.</value> - </row> <row> <label>General_ColumnEntrances</label> <value>Entrées</value> </row> - <row> - <label>General_EntrancesDefinition</label> - <value>Nombre de visites qui ont commencé sur cette page</value> - </row> <row> <label>General_ColumnExits</label> <value>Sorties</value> </row> - <row> - <label>General_ExitsDefinition</label> - <value>Nombre de visites qui ont terminé sur cette page</value> - </row> <row> <label>General_ColumnAverageTimeOnPage</label> <value>Temps moyen sur la page</value> </row> - <row> - <label>General_AverageTimeOnPageDefinition</label> - <value>Le temps moyen passé par les visiteurs sur cette page</value> - </row> <row> <label>General_ColumnValuePerVisit</label> <value>Valeur par Visite</value> diff --git a/tests/integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__API.getProcessedReport_range.xml b/tests/integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__API.getProcessedReport_range.xml index 1b2e89a5fb..ca5197dbde 100644 --- a/tests/integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__API.getProcessedReport_range.xml +++ b/tests/integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__API.getProcessedReport_range.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" ?> <result> <website>Piwik test</website> - <prettyDate>24 Apr 11 - 30 Apr 11</prettyDate> + <prettyDate>29 Apr 11 - 5 May 11</prettyDate> <metadata> <category>Visitors</category> <name>Country</name> @@ -19,13 +19,26 @@ <bounce_rate>Bounce Rate</bounce_rate> </processedMetrics> + <metricsDocumentation> + <nb_visits>If a visitor comes to your website for the first time or if he visits a page more than 30 minutes after his last page view, this will be recorded as a new visit.</nb_visits> + <nb_uniq_visitors>The number of unduplicated visitors coming to your website. Every user is only counted once, even if he visits the website multiple times a day.</nb_uniq_visitors> + <nb_actions>The number of actions performed by your visitors. Actions can be page views, downloads or outlinks.</nb_actions> + <nb_actions_per_visit>The average number of actions (page views, downloads or outlinks) that were performed during the visits.</nb_actions_per_visit> + <avg_time_on_site>The average duration of a visit.</avg_time_on_site> + <bounce_rate>The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page.</bounce_rate> + <conversion_rate>The percentage of visits that triggered a goal conversion.</conversion_rate> + <avg_time_on_page>The average amount of time visitors spent on this page (only the page, not the entire website).</avg_time_on_page> + <nb_hits>The number of times this page was visited.</nb_hits> + <exit_rate>The percentage of visits that left the website after viewing this page (unique pageviews devided by exists)</exit_rate> + + </metricsDocumentation> <metricsGoal> <nb_conversions>Conversions</nb_conversions> <revenue>Revenue</revenue> </metricsGoal> <processedMetricsGoal> - <revenue_per_visit>Value per Visit</revenue_per_visit> + <revenue_per_visit>Revenue per Visit</revenue_per_visit> </processedMetricsGoal> <uniqueId>UserCountry_getCountry</uniqueId> -- GitLab