├── .gitignore
├── .gitmodules
├── LICENSE
├── README.md
├── app
├── README.md
├── composer.json
├── composer.lock
├── config
│ └── app.php
├── helpers
│ ├── Cache.php
│ ├── CacheMiddleware.php
│ ├── Content
│ │ ├── ApiReferenceGuide.php
│ │ ├── Category
│ │ │ ├── ApiReferenceCategory.php
│ │ │ ├── Category.php
│ │ │ ├── CategoryList.php
│ │ │ ├── ChangelogCategory.php
│ │ │ ├── DesignCategory.php
│ │ │ ├── DevelopCategory.php
│ │ │ ├── DevelopInDepthCategory.php
│ │ │ ├── IntegrateCategory.php
│ │ │ ├── SupportCategory.php
│ │ │ └── TracTicketArchiveCategory.php
│ │ ├── EmptySubCategory.php
│ │ ├── Guide.php
│ │ ├── MenuItem.php
│ │ ├── PhpDoc.php
│ │ ├── RemoteLink.php
│ │ └── UnlinkedCategory.php
│ ├── DocumentNotExistException.php
│ ├── Environment.php
│ ├── Git.php
│ ├── Markdown
│ │ ├── Document.php
│ │ ├── ExtractSectionsPostprocessor.php
│ │ ├── FrontYamlParser.php
│ │ ├── IncludeFilePostprocessor.php
│ │ ├── MarkdownParserFactory.php
│ │ ├── MarkdownParserInterface.php
│ │ ├── MichelfMarkdown.php
│ │ ├── ProcessImages.php
│ │ ├── ProcessLinks.php
│ │ ├── ReplaceBrand.php
│ │ └── TitleIdPreprocessor.php
│ ├── MatomoVersionMiddleware.php
│ ├── Redirects.php
│ ├── SearchIndex.php
│ ├── Twig.php
│ └── Url.php
├── public
│ ├── .htaccess
│ ├── css
│ │ ├── app.css
│ │ ├── bootstrap.min.css
│ │ ├── documentation.css
│ │ ├── font-awesome.min.css
│ │ ├── highlight.obsidian.css
│ │ ├── jquery-ui.min.css
│ │ └── sidebar.css
│ ├── favicon.png
│ ├── fonts
│ │ ├── FontAwesome.otf
│ │ ├── fontawesome-webfont.eot
│ │ ├── fontawesome-webfont.svg
│ │ ├── fontawesome-webfont.ttf
│ │ ├── fontawesome-webfont.woff
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.svg
│ │ ├── glyphicons-halflings-regular.ttf
│ │ └── glyphicons-halflings-regular.woff
│ ├── google7711085550d735a3.html
│ ├── googlef808bef11519e880.html
│ ├── img
│ │ ├── 2.x
│ │ │ ├── dashboard_after_test_data.png
│ │ │ ├── disabled_my_plugin.png
│ │ │ ├── getting_started_users_manager_anonymous.png
│ │ │ ├── marketplace-plugin.png
│ │ │ ├── menu-admin.png
│ │ │ ├── menu-reporting.png
│ │ │ ├── menu-top.png
│ │ │ ├── menu-user.png
│ │ │ ├── myplugin_correct_browser_header.png
│ │ │ ├── myplugin_incorrect_browser_header.png
│ │ │ ├── myplugin_index_embed.png
│ │ │ ├── myplugin_index_embed_2.png
│ │ │ ├── myplugin_index_noembed.png
│ │ │ ├── myplugin_settings_page.png
│ │ │ ├── myplugin_visitors_menu_item.png
│ │ │ ├── report-visualizations.png
│ │ │ ├── reporting_menu.png
│ │ │ └── visitor_generator_form.png
│ │ ├── 3.x
│ │ │ ├── dashboard_after_test_data.png
│ │ │ ├── disabled_my_plugin.png
│ │ │ ├── getting_started_users_manager_anonymous.png
│ │ │ ├── github_webhook.png
│ │ │ ├── marketplace-plugin.png
│ │ │ ├── menu-admin.png
│ │ │ ├── menu-reporting.png
│ │ │ ├── menu-top.png
│ │ │ ├── menu-user.png
│ │ │ ├── myplugin_correct_browser_header.png
│ │ │ ├── myplugin_incorrect_browser_header.png
│ │ │ ├── myplugin_index_embed.png
│ │ │ ├── myplugin_index_embed_2.png
│ │ │ ├── myplugin_index_noembed.png
│ │ │ ├── myplugin_settings_page.png
│ │ │ ├── myplugin_visitors_menu_item.png
│ │ │ ├── report-visualizations.png
│ │ │ ├── reporting_menu.png
│ │ │ ├── visitor_generator_form.png
│ │ │ └── visitorlog.png
│ │ ├── 4.x
│ │ │ ├── dashboard_after_test_data.png
│ │ │ ├── disabled_my_plugin.png
│ │ │ ├── getting_started_users_manager_anonymous.png
│ │ │ ├── github_webhook.png
│ │ │ ├── marketplace-plugin.png
│ │ │ ├── menu-admin.png
│ │ │ ├── menu-reporting.png
│ │ │ ├── menu-top.png
│ │ │ ├── menu-user.png
│ │ │ ├── myplugin_correct_browser_header.png
│ │ │ ├── myplugin_incorrect_browser_header.png
│ │ │ ├── myplugin_index_embed.png
│ │ │ ├── myplugin_index_embed_2.png
│ │ │ ├── myplugin_index_noembed.png
│ │ │ ├── myplugin_settings_page.png
│ │ │ ├── myplugin_visitors_menu_item.png
│ │ │ ├── plugin_notifications.png
│ │ │ ├── report-visualizations.png
│ │ │ ├── reporting_menu.png
│ │ │ ├── visitor_generator_form.png
│ │ │ └── visitorlog.png
│ │ ├── 5.x
│ │ │ ├── dashboard_after_test_data.png
│ │ │ ├── disabled_my_plugin.png
│ │ │ ├── getting_started_users_manager_anonymous.png
│ │ │ ├── github_webhook.png
│ │ │ ├── marketplace-plugin.png
│ │ │ ├── matomo-entity-diagram.png
│ │ │ ├── menu-admin.png
│ │ │ ├── menu-reporting.png
│ │ │ ├── menu-top.png
│ │ │ ├── menu-user.png
│ │ │ ├── myplugin_correct_browser_header.png
│ │ │ ├── myplugin_incorrect_browser_header.png
│ │ │ ├── myplugin_index_embed.png
│ │ │ ├── myplugin_index_embed_2.png
│ │ │ ├── myplugin_index_noembed.png
│ │ │ ├── myplugin_settings_page.png
│ │ │ ├── myplugin_visitors_menu_item.png
│ │ │ ├── plugin_notifications.png
│ │ │ ├── report-visualizations.png
│ │ │ ├── reporting_menu.png
│ │ │ ├── visitor_generator_form.png
│ │ │ └── visitorlog.png
│ │ └── logo.png
│ ├── index.php
│ └── js
│ │ ├── app.js
│ │ ├── bootstrap.min.js
│ │ ├── highlight.8.2.min.js
│ │ ├── html5shiv.3.7.0.js
│ │ ├── jquery-ui.min.js
│ │ ├── jquery.js
│ │ └── respond.min.1.3.0.js
├── routes
│ └── page.php
├── templates
│ ├── 404.twig
│ ├── base.twig
│ ├── guide.twig
│ ├── home.twig
│ └── left-menu.twig
├── tests
│ └── Markdown
│ │ ├── FakeMarkdownParser.php
│ │ └── TitleIdPreprocessorTest.php
└── tmp
│ ├── .gitkeep
│ └── logs
│ └── .gitkeep
├── docs
├── 2.x
│ ├── angularjs-getting-started.md
│ ├── api-reference-introduction.md
│ ├── apis.md
│ ├── archive-data.md
│ ├── archiving.md
│ ├── content-tracking.md
│ ├── controllers.md
│ ├── custom-reports-extended.md
│ ├── custom-reports.md
│ ├── data-model.md
│ ├── design-introduction.md
│ ├── develop-getting-started.md
│ ├── develop-introduction.md
│ ├── develop-migration.md
│ ├── develop-plugin-analytics.md
│ ├── develop-plugin-basics.md
│ ├── develop-plugin-tagmanager.md
│ ├── develop-security.md
│ ├── develop-utils.md
│ ├── dimensions.md
│ ├── events.md
│ ├── expose-api-methods.md
│ ├── extending-database.md
│ ├── generated
│ │ ├── Classes.md
│ │ ├── Classnames.md
│ │ ├── Hooks.md
│ │ ├── Index.md
│ │ ├── Interfaces.md
│ │ ├── Namespaces.md
│ │ ├── PROJECT_VERSION
│ │ ├── Piwik
│ │ │ ├── API
│ │ │ │ └── Request.md
│ │ │ ├── Access.md
│ │ │ ├── Archive.md
│ │ │ ├── ArchiveProcessor.md
│ │ │ ├── ArchiveProcessor
│ │ │ │ └── Parameters.md
│ │ │ ├── Auth.md
│ │ │ ├── AuthResult.md
│ │ │ ├── Columns
│ │ │ │ └── Dimension.md
│ │ │ ├── Common.md
│ │ │ ├── Config.md
│ │ │ ├── Console.md
│ │ │ ├── DataAccess
│ │ │ │ └── LogAggregator.md
│ │ │ ├── DataTable.md
│ │ │ ├── DataTable
│ │ │ │ ├── BaseFilter.md
│ │ │ │ ├── Filter
│ │ │ │ │ ├── AddColumnsProcessedMetrics.md
│ │ │ │ │ ├── AddColumnsProcessedMetricsGoal.md
│ │ │ │ │ ├── AddSegmentByLabel.md
│ │ │ │ │ ├── AddSegmentByLabelMapping.md
│ │ │ │ │ ├── AddSegmentBySegmentValue.md
│ │ │ │ │ ├── AddSegmentValue.md
│ │ │ │ │ ├── AddSummaryRow.md
│ │ │ │ │ ├── BeautifyRangeLabels.md
│ │ │ │ │ ├── BeautifyTimeRangeLabels.md
│ │ │ │ │ ├── CalculateEvolutionFilter.md
│ │ │ │ │ ├── ColumnCallbackAddColumn.md
│ │ │ │ │ ├── ColumnCallbackAddColumnPercentage.md
│ │ │ │ │ ├── ColumnCallbackAddColumnQuotient.md
│ │ │ │ │ ├── ColumnCallbackAddMetadata.md
│ │ │ │ │ ├── ColumnCallbackDeleteMetadata.md
│ │ │ │ │ ├── ColumnCallbackDeleteRow.md
│ │ │ │ │ ├── ColumnCallbackReplace.md
│ │ │ │ │ ├── ColumnDelete.md
│ │ │ │ │ ├── ExcludeLowPopulation.md
│ │ │ │ │ ├── GroupBy.md
│ │ │ │ │ ├── Limit.md
│ │ │ │ │ ├── MetadataCallbackAddMetadata.md
│ │ │ │ │ ├── MetadataCallbackReplace.md
│ │ │ │ │ ├── Pattern.md
│ │ │ │ │ ├── PatternRecursive.md
│ │ │ │ │ ├── PrependSegment.md
│ │ │ │ │ ├── PrependValueToMetadata.md
│ │ │ │ │ ├── ReplaceColumnNames.md
│ │ │ │ │ ├── ReplaceSummaryRowLabel.md
│ │ │ │ │ ├── Sort.md
│ │ │ │ │ └── Truncate.md
│ │ │ │ ├── Map.md
│ │ │ │ ├── Row.md
│ │ │ │ └── Simple.md
│ │ │ ├── Date.md
│ │ │ ├── Db.md
│ │ │ ├── DbHelper.md
│ │ │ ├── Filesystem.md
│ │ │ ├── FrontController.md
│ │ │ ├── Http.md
│ │ │ ├── IP.md
│ │ │ ├── Intl
│ │ │ │ └── Data
│ │ │ │ │ └── Provider
│ │ │ │ │ ├── CurrencyDataProvider.md
│ │ │ │ │ ├── LanguageDataProvider.md
│ │ │ │ │ └── RegionDataProvider.md
│ │ │ ├── Log.md
│ │ │ ├── Mail.md
│ │ │ ├── Measurable
│ │ │ │ └── Measurable.md
│ │ │ ├── Menu
│ │ │ │ ├── MenuAbstract.md
│ │ │ │ ├── MenuAdmin.md
│ │ │ │ ├── MenuReporting.md
│ │ │ │ ├── MenuTop.md
│ │ │ │ └── MenuUser.md
│ │ │ ├── Metrics.md
│ │ │ ├── Metrics
│ │ │ │ ├── Formatter.md
│ │ │ │ └── Formatter
│ │ │ │ │ └── Html.md
│ │ │ ├── NoAccessException.md
│ │ │ ├── Nonce.md
│ │ │ ├── Notification.md
│ │ │ ├── Notification
│ │ │ │ └── Manager.md
│ │ │ ├── Option.md
│ │ │ ├── Period.md
│ │ │ ├── Period
│ │ │ │ └── Range.md
│ │ │ ├── Piwik.md
│ │ │ ├── Plugin.md
│ │ │ ├── Plugin
│ │ │ │ ├── API.md
│ │ │ │ ├── Archiver.md
│ │ │ │ ├── Controller.md
│ │ │ │ ├── ControllerAdmin.md
│ │ │ │ ├── Dimension
│ │ │ │ │ ├── ActionDimension.md
│ │ │ │ │ ├── ConversionDimension.md
│ │ │ │ │ └── VisitDimension.md
│ │ │ │ ├── Manager.md
│ │ │ │ ├── Menu.md
│ │ │ │ ├── Metric.md
│ │ │ │ ├── ProcessedMetric.md
│ │ │ │ ├── Report.md
│ │ │ │ ├── Segment.md
│ │ │ │ ├── Settings.md
│ │ │ │ ├── Tasks.md
│ │ │ │ ├── ViewDataTable.md
│ │ │ │ ├── Visualization.md
│ │ │ │ └── Widgets.md
│ │ │ ├── Plugins
│ │ │ │ ├── CoreHome
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ ├── AverageTimeOnSite.md
│ │ │ │ │ │ └── EvolutionMetric.md
│ │ │ │ ├── CoreVisualizations
│ │ │ │ │ └── Metrics
│ │ │ │ │ │ └── Formatter
│ │ │ │ │ │ └── Numeric.md
│ │ │ │ ├── Diagnostics
│ │ │ │ │ ├── Diagnostic
│ │ │ │ │ │ ├── Diagnostic.md
│ │ │ │ │ │ ├── DiagnosticResult.md
│ │ │ │ │ │ └── DiagnosticResultItem.md
│ │ │ │ │ └── DiagnosticService.md
│ │ │ │ ├── Login
│ │ │ │ │ └── SessionInitializer.md
│ │ │ │ ├── MobileMessaging
│ │ │ │ │ └── SMSProvider.md
│ │ │ │ └── UsersManager
│ │ │ │ │ └── UserPreferences.md
│ │ │ ├── RankingQuery.md
│ │ │ ├── Registry.md
│ │ │ ├── ScheduledTask.md
│ │ │ ├── Scheduler
│ │ │ │ ├── Schedule
│ │ │ │ │ ├── Daily.md
│ │ │ │ │ ├── Hourly.md
│ │ │ │ │ ├── Monthly.md
│ │ │ │ │ ├── Schedule.md
│ │ │ │ │ └── Weekly.md
│ │ │ │ ├── Scheduler.md
│ │ │ │ └── Task.md
│ │ │ ├── Segment.md
│ │ │ ├── Settings
│ │ │ │ ├── Setting.md
│ │ │ │ ├── Storage.md
│ │ │ │ ├── Storage
│ │ │ │ │ └── StaticStorage.md
│ │ │ │ ├── SystemSetting.md
│ │ │ │ └── UserSetting.md
│ │ │ ├── SettingsPiwik.md
│ │ │ ├── SettingsServer.md
│ │ │ ├── Singleton.md
│ │ │ ├── Site.md
│ │ │ ├── TaskScheduler.md
│ │ │ ├── Translation
│ │ │ │ └── Translator.md
│ │ │ ├── Updates.md
│ │ │ ├── Url.md
│ │ │ ├── UrlHelper.md
│ │ │ ├── Version.md
│ │ │ ├── View.md
│ │ │ ├── View
│ │ │ │ ├── UIControl.md
│ │ │ │ └── ViewInterface.md
│ │ │ ├── ViewDataTable
│ │ │ │ ├── Config.md
│ │ │ │ ├── Factory.md
│ │ │ │ └── RequestConfig.md
│ │ │ └── WidgetsList.md
│ │ ├── PiwikTracker.md
│ │ ├── SAMI_VERSION
│ │ └── renderer.index
│ ├── getting-started-part-1.md
│ ├── getting-started-part-3.md
│ ├── how-piwik-works.md
│ ├── http-request-handling.md
│ ├── in-depth-reporting-api.md
│ ├── in-depth-tests.md
│ ├── in-depth-understanding-piwik.md
│ ├── in-depth-utils.md
│ ├── in-depth-web-interface.md
│ ├── integrate-introduction.md
│ ├── javascript-extended.md
│ ├── log-data.md
│ ├── logging.md
│ ├── menus.md
│ ├── pages.md
│ ├── permissions.md
│ ├── persistence-and-the-mysql-backend.md
│ ├── piwik-configuration.md
│ ├── piwik-in-depth-introduction.md
│ ├── piwik-on-the-command-line.md
│ ├── piwiks-extensibility-points.md
│ ├── piwiks-ini-configuration.md
│ ├── piwiks-reporting-api.md
│ ├── plugin-settings.md
│ ├── querying-the-reporting-api.md
│ ├── reporting-api-clients.md
│ ├── reporting-api-introduction.md
│ ├── reporting-api-metadata.md
│ ├── reporting-api-segmentation.md
│ ├── reporting-api-tutorial.md
│ ├── reporting-api.md
│ ├── reporting-introduction.md
│ ├── reports.md
│ ├── scheduled-tasks.md
│ ├── security-in-piwik.md
│ ├── tagmanager
│ │ ├── introduction.md
│ │ └── javascript-api-reference.md
│ ├── tests-php.md
│ ├── tests-system.md
│ ├── tests-travis-extended.md
│ ├── tests-travis.md
│ ├── tests-ui.md
│ ├── tests.md
│ ├── themable-plugins.md
│ ├── theming.md
│ ├── tracking-api-clients.md
│ ├── tracking-api.md
│ ├── tracking-introduction.md
│ ├── tracking-javascript-guide.md
│ ├── tracking-javascript.md
│ ├── translations.md
│ ├── views.md
│ ├── visualizing-report-data.md
│ ├── widgets.md
│ └── working-with-piwiks-ui.md
├── 3.x
│ ├── ab-tests.md
│ ├── ab-tests
│ │ ├── apps.md
│ │ ├── browser.md
│ │ ├── campaign.md
│ │ └── server.md
│ ├── angularjs-getting-started.md
│ ├── api-reference-introduction.md
│ ├── apis.md
│ ├── archive-data.md
│ ├── archiving.md
│ ├── content-tracking.md
│ ├── controllers.md
│ ├── custom-reports-extended.md
│ ├── custom-reports.md
│ ├── data-model.md
│ ├── database-schema.md
│ ├── design-introduction.md
│ ├── develop-getting-started.md
│ ├── develop-introduction.md
│ ├── develop-migration.md
│ ├── develop-plugin-analytics.md
│ ├── develop-plugin-basics.md
│ ├── develop-plugin-tagmanager.md
│ ├── develop-plugin-wordpress.md
│ ├── develop-security.md
│ ├── develop-utils.md
│ ├── dimensions.md
│ ├── enrich-js-tracker.md
│ ├── events.md
│ ├── expose-api-methods.md
│ ├── extending-database.md
│ ├── form-analytics.md
│ ├── form-analytics
│ │ ├── faq.md
│ │ ├── reference.md
│ │ └── setup.md
│ ├── gdpr.md
│ ├── generated
│ │ ├── Classes.md
│ │ ├── Classnames.md
│ │ ├── Hooks.md
│ │ ├── Index.md
│ │ ├── Interfaces.md
│ │ ├── Namespaces.md
│ │ ├── PROJECT_VERSION
│ │ ├── Piwik
│ │ │ ├── API
│ │ │ │ └── Request.md
│ │ │ ├── Access.md
│ │ │ ├── Archive.md
│ │ │ ├── ArchiveProcessor.md
│ │ │ ├── ArchiveProcessor
│ │ │ │ └── Parameters.md
│ │ │ ├── Auth.md
│ │ │ ├── Auth
│ │ │ │ └── Password.md
│ │ │ ├── AuthResult.md
│ │ │ ├── Category
│ │ │ │ └── Subcategory.md
│ │ │ ├── Columns
│ │ │ │ ├── ComputedMetricFactory.md
│ │ │ │ ├── Dimension.md
│ │ │ │ ├── DimensionMetricFactory.md
│ │ │ │ ├── Discriminator.md
│ │ │ │ ├── Join.md
│ │ │ │ ├── Join
│ │ │ │ │ ├── ActionNameJoin.md
│ │ │ │ │ ├── GoalNameJoin.md
│ │ │ │ │ └── SiteNameJoin.md
│ │ │ │ ├── MetricsList.md
│ │ │ │ └── Updater.md
│ │ │ ├── Common.md
│ │ │ ├── Config.md
│ │ │ ├── DataAccess
│ │ │ │ └── LogAggregator.md
│ │ │ ├── DataTable.md
│ │ │ ├── DataTable
│ │ │ │ ├── BaseFilter.md
│ │ │ │ ├── Filter
│ │ │ │ │ ├── AddColumnsProcessedMetrics.md
│ │ │ │ │ ├── AddColumnsProcessedMetricsGoal.md
│ │ │ │ │ ├── AddSegmentByLabel.md
│ │ │ │ │ ├── AddSegmentByLabelMapping.md
│ │ │ │ │ ├── AddSegmentByRangeLabel.md
│ │ │ │ │ ├── AddSegmentBySegmentValue.md
│ │ │ │ │ ├── AddSegmentValue.md
│ │ │ │ │ ├── AddSummaryRow.md
│ │ │ │ │ ├── BeautifyRangeLabels.md
│ │ │ │ │ ├── BeautifyTimeRangeLabels.md
│ │ │ │ │ ├── CalculateEvolutionFilter.md
│ │ │ │ │ ├── ColumnCallbackAddColumn.md
│ │ │ │ │ ├── ColumnCallbackAddColumnPercentage.md
│ │ │ │ │ ├── ColumnCallbackAddColumnQuotient.md
│ │ │ │ │ ├── ColumnCallbackAddMetadata.md
│ │ │ │ │ ├── ColumnCallbackDeleteMetadata.md
│ │ │ │ │ ├── ColumnCallbackDeleteRow.md
│ │ │ │ │ ├── ColumnCallbackReplace.md
│ │ │ │ │ ├── ColumnDelete.md
│ │ │ │ │ ├── ExcludeLowPopulation.md
│ │ │ │ │ ├── GroupBy.md
│ │ │ │ │ ├── Limit.md
│ │ │ │ │ ├── MetadataCallbackAddMetadata.md
│ │ │ │ │ ├── MetadataCallbackReplace.md
│ │ │ │ │ ├── Pattern.md
│ │ │ │ │ ├── PatternRecursive.md
│ │ │ │ │ ├── PrependSegment.md
│ │ │ │ │ ├── PrependValueToMetadata.md
│ │ │ │ │ ├── RemoveSubtables.md
│ │ │ │ │ ├── ReplaceColumnNames.md
│ │ │ │ │ ├── ReplaceSummaryRowLabel.md
│ │ │ │ │ ├── Sort.md
│ │ │ │ │ └── Truncate.md
│ │ │ │ ├── Map.md
│ │ │ │ ├── Row.md
│ │ │ │ └── Simple.md
│ │ │ ├── Date.md
│ │ │ ├── Db.md
│ │ │ ├── DbHelper.md
│ │ │ ├── Filesystem.md
│ │ │ ├── FrontController.md
│ │ │ ├── Http.md
│ │ │ ├── IP.md
│ │ │ ├── Intl
│ │ │ │ └── Data
│ │ │ │ │ └── Provider
│ │ │ │ │ ├── CurrencyDataProvider.md
│ │ │ │ │ ├── LanguageDataProvider.md
│ │ │ │ │ └── RegionDataProvider.md
│ │ │ ├── Log.md
│ │ │ ├── Mail.md
│ │ │ ├── Measurable
│ │ │ │ └── Measurable.md
│ │ │ ├── Menu
│ │ │ │ ├── MenuAbstract.md
│ │ │ │ ├── MenuAdmin.md
│ │ │ │ └── MenuTop.md
│ │ │ ├── Metrics.md
│ │ │ ├── Metrics
│ │ │ │ ├── Formatter.md
│ │ │ │ └── Formatter
│ │ │ │ │ └── Html.md
│ │ │ ├── NoAccessException.md
│ │ │ ├── Nonce.md
│ │ │ ├── Notification.md
│ │ │ ├── Notification
│ │ │ │ └── Manager.md
│ │ │ ├── Option.md
│ │ │ ├── Period.md
│ │ │ ├── Period
│ │ │ │ └── Range.md
│ │ │ ├── Piwik.md
│ │ │ ├── Plugin.md
│ │ │ ├── Plugin
│ │ │ │ ├── API.md
│ │ │ │ ├── AggregatedMetric.md
│ │ │ │ ├── Archiver.md
│ │ │ │ ├── Controller.md
│ │ │ │ ├── ControllerAdmin.md
│ │ │ │ ├── Dimension
│ │ │ │ │ ├── ActionDimension.md
│ │ │ │ │ ├── ConversionDimension.md
│ │ │ │ │ └── VisitDimension.md
│ │ │ │ ├── Manager.md
│ │ │ │ ├── Menu.md
│ │ │ │ ├── Metric.md
│ │ │ │ ├── ProcessedMetric.md
│ │ │ │ ├── Report.md
│ │ │ │ ├── ReportsProvider.md
│ │ │ │ ├── Segment.md
│ │ │ │ ├── SettingsProvider.md
│ │ │ │ ├── Tasks.md
│ │ │ │ ├── ViewDataTable.md
│ │ │ │ └── Visualization.md
│ │ │ ├── Plugins
│ │ │ │ ├── Actions
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ ├── AveragePageGenerationTime.md
│ │ │ │ │ │ ├── AverageTimeOnPage.md
│ │ │ │ │ │ ├── BounceRate.md
│ │ │ │ │ │ └── ExitRate.md
│ │ │ │ ├── Contents
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ └── InteractionRate.md
│ │ │ │ ├── CoreHome
│ │ │ │ │ ├── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ │ ├── ActionsPerVisit.md
│ │ │ │ │ │ │ ├── AverageTimeOnSite.md
│ │ │ │ │ │ │ ├── BounceRate.md
│ │ │ │ │ │ │ ├── CallableProcessedMetric.md
│ │ │ │ │ │ │ ├── ConversionRate.md
│ │ │ │ │ │ │ ├── EvolutionMetric.md
│ │ │ │ │ │ │ └── VisitsPercent.md
│ │ │ │ │ └── SystemSummary
│ │ │ │ │ │ └── Item.md
│ │ │ │ ├── CoreVisualizations
│ │ │ │ │ ├── Metrics
│ │ │ │ │ │ └── Formatter
│ │ │ │ │ │ │ └── Numeric.md
│ │ │ │ │ └── Visualizations
│ │ │ │ │ │ ├── Cloud
│ │ │ │ │ │ └── Config.md
│ │ │ │ │ │ ├── Graph
│ │ │ │ │ │ └── Config.md
│ │ │ │ │ │ ├── HtmlTable
│ │ │ │ │ │ └── Config.md
│ │ │ │ │ │ ├── JqplotGraph
│ │ │ │ │ │ ├── Config.md
│ │ │ │ │ │ └── Evolution
│ │ │ │ │ │ │ └── Config.md
│ │ │ │ │ │ └── Sparklines
│ │ │ │ │ │ └── Config.md
│ │ │ │ ├── CustomPiwikJs
│ │ │ │ │ └── TrackerUpdater.md
│ │ │ │ ├── CustomVariables
│ │ │ │ │ └── ProfileSummary
│ │ │ │ │ │ └── VisitScopeSummary.md
│ │ │ │ ├── DevicePlugins
│ │ │ │ │ └── DevicePlugins.md
│ │ │ │ ├── DevicesDetection
│ │ │ │ │ └── ProfileSummary
│ │ │ │ │ │ └── DevicesSummary.md
│ │ │ │ ├── Diagnostics
│ │ │ │ │ ├── Diagnostic
│ │ │ │ │ │ ├── Diagnostic.md
│ │ │ │ │ │ ├── DiagnosticResult.md
│ │ │ │ │ │ └── DiagnosticResultItem.md
│ │ │ │ │ └── DiagnosticService.md
│ │ │ │ ├── Ecommerce
│ │ │ │ │ └── ProfileSummary
│ │ │ │ │ │ └── EcommerceSummary.md
│ │ │ │ ├── Events
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ └── AverageEventValue.md
│ │ │ │ ├── Goals
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ ├── AverageOrderRevenue.md
│ │ │ │ │ │ ├── AveragePrice.md
│ │ │ │ │ │ ├── AverageQuantity.md
│ │ │ │ │ │ ├── GoalConversionRate.md
│ │ │ │ │ │ ├── GoalSpecific
│ │ │ │ │ │ ├── AverageOrderRevenue.md
│ │ │ │ │ │ ├── ConversionRate.md
│ │ │ │ │ │ ├── Conversions.md
│ │ │ │ │ │ ├── ItemsCount.md
│ │ │ │ │ │ ├── Revenue.md
│ │ │ │ │ │ └── RevenuePerVisit.md
│ │ │ │ │ │ ├── GoalSpecificProcessedMetric.md
│ │ │ │ │ │ ├── ProductConversionRate.md
│ │ │ │ │ │ └── RevenuePerVisit.md
│ │ │ │ ├── Live
│ │ │ │ │ ├── ProfileSummary
│ │ │ │ │ │ ├── ImportantVisits.md
│ │ │ │ │ │ ├── ProfileSummaryAbstract.md
│ │ │ │ │ │ └── Summary.md
│ │ │ │ │ ├── ProfileSummaryProvider.md
│ │ │ │ │ ├── Visitor.md
│ │ │ │ │ ├── VisitorDetailsAbstract.md
│ │ │ │ │ └── Visualizations
│ │ │ │ │ │ └── VisitorLog
│ │ │ │ │ │ └── Config.md
│ │ │ │ ├── Login
│ │ │ │ │ └── SessionInitializer.md
│ │ │ │ ├── MobileMessaging
│ │ │ │ │ └── SMSProvider.md
│ │ │ │ ├── MultiSites
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ └── EcommerceOnlyEvolutionMetric.md
│ │ │ │ ├── Tour
│ │ │ │ │ └── Engagement
│ │ │ │ │ │ └── Challenge.md
│ │ │ │ ├── TreemapVisualization
│ │ │ │ │ └── TreemapConfig.md
│ │ │ │ ├── UserCountry
│ │ │ │ │ └── ProfileSummary
│ │ │ │ │ │ └── LocationSummary.md
│ │ │ │ ├── UsersManager
│ │ │ │ │ └── UserPreferences.md
│ │ │ │ └── VisitFrequency
│ │ │ │ │ └── Columns
│ │ │ │ │ └── Metrics
│ │ │ │ │ └── ReturningMetric.md
│ │ │ ├── RankingQuery.md
│ │ │ ├── Registry.md
│ │ │ ├── Report
│ │ │ │ ├── ReportWidgetConfig.md
│ │ │ │ └── ReportWidgetFactory.md
│ │ │ ├── ScheduledTask.md
│ │ │ ├── Scheduler
│ │ │ │ ├── Schedule
│ │ │ │ │ ├── Daily.md
│ │ │ │ │ ├── Hourly.md
│ │ │ │ │ ├── Monthly.md
│ │ │ │ │ ├── Schedule.md
│ │ │ │ │ ├── SpecificTime.md
│ │ │ │ │ └── Weekly.md
│ │ │ │ ├── Scheduler.md
│ │ │ │ └── Task.md
│ │ │ ├── Segment.md
│ │ │ ├── Settings
│ │ │ │ ├── FieldConfig.md
│ │ │ │ ├── FieldConfig
│ │ │ │ │ ├── ArrayField.md
│ │ │ │ │ └── MultiPair.md
│ │ │ │ ├── Plugin
│ │ │ │ │ ├── SystemConfigSetting.md
│ │ │ │ │ └── SystemSetting.md
│ │ │ │ ├── Setting.md
│ │ │ │ └── Settings.md
│ │ │ ├── SettingsPiwik.md
│ │ │ ├── SettingsServer.md
│ │ │ ├── Singleton.md
│ │ │ ├── Site.md
│ │ │ ├── TaskScheduler.md
│ │ │ ├── Translation
│ │ │ │ └── Translator.md
│ │ │ ├── Updater.md
│ │ │ ├── Updater
│ │ │ │ ├── Migration.md
│ │ │ │ └── Migration
│ │ │ │ │ ├── Db.md
│ │ │ │ │ ├── Db
│ │ │ │ │ └── Factory.md
│ │ │ │ │ ├── Factory.md
│ │ │ │ │ └── Plugin
│ │ │ │ │ └── Factory.md
│ │ │ ├── Updates.md
│ │ │ ├── Url.md
│ │ │ ├── UrlHelper.md
│ │ │ ├── Version.md
│ │ │ ├── View.md
│ │ │ ├── View
│ │ │ │ ├── UIControl.md
│ │ │ │ └── ViewInterface.md
│ │ │ ├── ViewDataTable
│ │ │ │ ├── Config.md
│ │ │ │ ├── Factory.md
│ │ │ │ └── RequestConfig.md
│ │ │ └── Widget
│ │ │ │ ├── Widget.md
│ │ │ │ ├── WidgetConfig.md
│ │ │ │ ├── WidgetContainerConfig.md
│ │ │ │ └── WidgetsList.md
│ │ ├── PiwikTracker.md
│ │ ├── SAMI_VERSION
│ │ └── renderer.index
│ ├── getting-started-part-1.md
│ ├── getting-started-part-3.md
│ ├── heatmap-session-recording.md
│ ├── heatmap-session-recording
│ │ ├── faq.md
│ │ ├── reference.md
│ │ └── setup.md
│ ├── how-piwik-works.md
│ ├── http-request-handling.md
│ ├── in-depth-reporting-api.md
│ ├── in-depth-tests.md
│ ├── in-depth-understanding-piwik.md
│ ├── in-depth-utils.md
│ ├── in-depth-web-interface.md
│ ├── integrate-introduction.md
│ ├── javascript-extended.md
│ ├── log-data.md
│ ├── logging.md
│ ├── media-analytics.md
│ ├── media-analytics
│ │ ├── custom-player.md
│ │ ├── faq.md
│ │ ├── options.md
│ │ ├── reference.md
│ │ └── setup.md
│ ├── menus.md
│ ├── pages.md
│ ├── permissions.md
│ ├── piwik-configuration.md
│ ├── piwik-in-depth-introduction.md
│ ├── piwik-on-the-command-line.md
│ ├── piwiks-extensibility-points.md
│ ├── piwiks-ini-configuration.md
│ ├── piwiks-reporting-api.md
│ ├── plugin-settings.md
│ ├── querying-the-reporting-api.md
│ ├── reporting-api-clients.md
│ ├── reporting-api-introduction.md
│ ├── reporting-api-metadata.md
│ ├── reporting-api-segmentation.md
│ ├── reporting-api-tutorial.md
│ ├── reporting-api.md
│ ├── reporting-introduction.md
│ ├── reports.md
│ ├── scheduled-tasks.md
│ ├── security-in-piwik.md
│ ├── spa-tracking.md
│ ├── tagmanager
│ │ ├── custom-tag.md
│ │ ├── custom-trigger.md
│ │ ├── custom-variable.md
│ │ ├── datalayer.md
│ │ ├── debugging.md
│ │ ├── embedding.md
│ │ ├── faq.md
│ │ ├── integration-plugin.md
│ │ ├── introduction.md
│ │ ├── javascript-api-reference.md
│ │ ├── parameters.md
│ │ ├── settingup.md
│ │ └── testing.md
│ ├── tests-php.md
│ ├── tests-system.md
│ ├── tests-travis-extended.md
│ ├── tests-travis.md
│ ├── tests-ui.md
│ ├── tests.md
│ ├── themable-plugins.md
│ ├── theming.md
│ ├── tracking-api-clients.md
│ ├── tracking-api.md
│ ├── tracking-consent.md
│ ├── tracking-introduction.md
│ ├── tracking-javascript-guide.md
│ ├── tracking-javascript.md
│ ├── translations.md
│ ├── views.md
│ ├── visitor-log-and-profile.md
│ ├── visualizing-report-data.md
│ ├── widgets.md
│ ├── wordpress
│ │ ├── basics.md
│ │ ├── classes-reference.md
│ │ ├── data-access.md
│ │ ├── getting-started.md
│ │ ├── hooks-reference.md
│ │ ├── matomo-plugin.md
│ │ └── restapi-reference.md
│ └── working-with-piwiks-ui.md
├── 4.x
│ ├── ab-tests.md
│ ├── ab-tests
│ │ ├── apps.md
│ │ ├── browser.md
│ │ ├── campaign.md
│ │ └── server.md
│ ├── angularjs-getting-started.md
│ ├── api-reference-introduction.md
│ ├── apis.md
│ ├── archive-data.md
│ ├── archiving-behavior-specification.md
│ ├── archiving.md
│ ├── asset-pipeline.md
│ ├── authentication-in-depth.md
│ ├── caching-in-matomo.md
│ ├── content-tracking.md
│ ├── controllers.md
│ ├── crash-analytics.md
│ ├── crash-analytics
│ │ ├── faq.md
│ │ ├── options.md
│ │ ├── reference.md
│ │ ├── server.md
│ │ └── setup.md
│ ├── custom-reports-extended.md
│ ├── custom-reports.md
│ ├── data-model.md
│ ├── database-schema.md
│ ├── database.md
│ ├── datatable.md
│ ├── dependency-injection.md
│ ├── design-introduction.md
│ ├── design-ux.md
│ ├── develop-getting-started.md
│ ├── develop-introduction.md
│ ├── develop-migration.md
│ ├── develop-plugin-analytics.md
│ ├── develop-plugin-basics.md
│ ├── develop-plugin-tagmanager.md
│ ├── develop-plugin-wordpress.md
│ ├── develop-security.md
│ ├── develop-utils.md
│ ├── dimensions.md
│ ├── distributing-your-plugin.md
│ ├── enrich-js-tracker.md
│ ├── events.md
│ ├── expose-api-methods.md
│ ├── extending-database.md
│ ├── form-analytics.md
│ ├── form-analytics
│ │ ├── faq.md
│ │ ├── reference.md
│ │ └── setup.md
│ ├── gdpr.md
│ ├── generated
│ │ ├── Classes.md
│ │ ├── Classnames.md
│ │ ├── Hooks.md
│ │ ├── Index.md
│ │ ├── Interfaces.md
│ │ ├── MatomoTracker.md
│ │ ├── Namespaces.md
│ │ ├── PROJECT_VERSION
│ │ ├── Piwik
│ │ │ ├── API
│ │ │ │ └── Request.md
│ │ │ ├── Access.md
│ │ │ ├── Archive.md
│ │ │ ├── Archive
│ │ │ │ └── ArchiveInvalidator.md
│ │ │ ├── ArchiveProcessor.md
│ │ │ ├── ArchiveProcessor
│ │ │ │ └── Parameters.md
│ │ │ ├── Auth.md
│ │ │ ├── Auth
│ │ │ │ └── Password.md
│ │ │ ├── AuthResult.md
│ │ │ ├── Category
│ │ │ │ └── Subcategory.md
│ │ │ ├── Columns
│ │ │ │ ├── ComputedMetricFactory.md
│ │ │ │ ├── Dimension.md
│ │ │ │ ├── DimensionMetricFactory.md
│ │ │ │ ├── DimensionSegmentFactory.md
│ │ │ │ ├── Discriminator.md
│ │ │ │ ├── Join.md
│ │ │ │ ├── Join
│ │ │ │ │ ├── ActionNameJoin.md
│ │ │ │ │ ├── GoalNameJoin.md
│ │ │ │ │ └── SiteNameJoin.md
│ │ │ │ ├── MetricsList.md
│ │ │ │ └── Updater.md
│ │ │ ├── Common.md
│ │ │ ├── Config.md
│ │ │ ├── Console.md
│ │ │ ├── DataAccess
│ │ │ │ └── LogAggregator.md
│ │ │ ├── DataTable.md
│ │ │ ├── DataTable
│ │ │ │ ├── BaseFilter.md
│ │ │ │ ├── Filter
│ │ │ │ │ ├── AddColumnsProcessedMetrics.md
│ │ │ │ │ ├── AddColumnsProcessedMetricsGoal.md
│ │ │ │ │ ├── AddSegmentByLabel.md
│ │ │ │ │ ├── AddSegmentByLabelMapping.md
│ │ │ │ │ ├── AddSegmentByRangeLabel.md
│ │ │ │ │ ├── AddSegmentBySegmentValue.md
│ │ │ │ │ ├── AddSegmentValue.md
│ │ │ │ │ ├── AddSummaryRow.md
│ │ │ │ │ ├── BeautifyRangeLabels.md
│ │ │ │ │ ├── BeautifyTimeRangeLabels.md
│ │ │ │ │ ├── CalculateEvolutionFilter.md
│ │ │ │ │ ├── ColumnCallbackAddColumn.md
│ │ │ │ │ ├── ColumnCallbackAddColumnPercentage.md
│ │ │ │ │ ├── ColumnCallbackAddColumnQuotient.md
│ │ │ │ │ ├── ColumnCallbackAddMetadata.md
│ │ │ │ │ ├── ColumnCallbackDeleteMetadata.md
│ │ │ │ │ ├── ColumnCallbackDeleteRow.md
│ │ │ │ │ ├── ColumnCallbackReplace.md
│ │ │ │ │ ├── ColumnDelete.md
│ │ │ │ │ ├── ExcludeLowPopulation.md
│ │ │ │ │ ├── GroupBy.md
│ │ │ │ │ ├── Limit.md
│ │ │ │ │ ├── MetadataCallbackAddMetadata.md
│ │ │ │ │ ├── MetadataCallbackReplace.md
│ │ │ │ │ ├── Pattern.md
│ │ │ │ │ ├── PatternRecursive.md
│ │ │ │ │ ├── PrependSegment.md
│ │ │ │ │ ├── PrependValueToMetadata.md
│ │ │ │ │ ├── RemoveSubtables.md
│ │ │ │ │ ├── ReplaceColumnNames.md
│ │ │ │ │ ├── ReplaceSummaryRowLabel.md
│ │ │ │ │ ├── Sort.md
│ │ │ │ │ └── Truncate.md
│ │ │ │ ├── Map.md
│ │ │ │ ├── Row.md
│ │ │ │ └── Simple.md
│ │ │ ├── Date.md
│ │ │ ├── Db.md
│ │ │ ├── DbHelper.md
│ │ │ ├── Filesystem.md
│ │ │ ├── FrontController.md
│ │ │ ├── Http.md
│ │ │ ├── IP.md
│ │ │ ├── Intl
│ │ │ │ └── Data
│ │ │ │ │ └── Provider
│ │ │ │ │ ├── CurrencyDataProvider.md
│ │ │ │ │ ├── LanguageDataProvider.md
│ │ │ │ │ └── RegionDataProvider.md
│ │ │ ├── Log.md
│ │ │ ├── Mail.md
│ │ │ ├── Menu
│ │ │ │ ├── MenuAbstract.md
│ │ │ │ ├── MenuAdmin.md
│ │ │ │ └── MenuTop.md
│ │ │ ├── Metrics.md
│ │ │ ├── Metrics
│ │ │ │ ├── Formatter.md
│ │ │ │ └── Formatter
│ │ │ │ │ └── Html.md
│ │ │ ├── NoAccessException.md
│ │ │ ├── Nonce.md
│ │ │ ├── Notification.md
│ │ │ ├── Notification
│ │ │ │ └── Manager.md
│ │ │ ├── Option.md
│ │ │ ├── Period.md
│ │ │ ├── Period
│ │ │ │ └── Range.md
│ │ │ ├── Piwik.md
│ │ │ ├── Plugin.md
│ │ │ ├── Plugin
│ │ │ │ ├── API.md
│ │ │ │ ├── AggregatedMetric.md
│ │ │ │ ├── Archiver.md
│ │ │ │ ├── Controller.md
│ │ │ │ ├── ControllerAdmin.md
│ │ │ │ ├── Dimension
│ │ │ │ │ ├── ActionDimension.md
│ │ │ │ │ ├── ConversionDimension.md
│ │ │ │ │ └── VisitDimension.md
│ │ │ │ ├── Manager.md
│ │ │ │ ├── Menu.md
│ │ │ │ ├── Metric.md
│ │ │ │ ├── ProcessedMetric.md
│ │ │ │ ├── Report.md
│ │ │ │ ├── ReportsProvider.md
│ │ │ │ ├── Segment.md
│ │ │ │ ├── SettingsProvider.md
│ │ │ │ ├── Tasks.md
│ │ │ │ ├── ViewDataTable.md
│ │ │ │ └── Visualization.md
│ │ │ ├── Plugins
│ │ │ │ ├── Actions
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ ├── AveragePageGenerationTime.md
│ │ │ │ │ │ ├── AverageTimeOnPage.md
│ │ │ │ │ │ ├── BounceRate.md
│ │ │ │ │ │ └── ExitRate.md
│ │ │ │ ├── Bandwidth
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ ├── AvgBandwidth.md
│ │ │ │ │ │ ├── Base.md
│ │ │ │ │ │ ├── DownloadBandwidth.md
│ │ │ │ │ │ ├── HitsWithBandwidth.md
│ │ │ │ │ │ ├── MaxBandwidth.md
│ │ │ │ │ │ ├── MinBandwidth.md
│ │ │ │ │ │ ├── OverallBandwidth.md
│ │ │ │ │ │ ├── PageviewBandwidth.md
│ │ │ │ │ │ └── SumBandwidth.md
│ │ │ │ ├── Contents
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ └── InteractionRate.md
│ │ │ │ ├── CoreHome
│ │ │ │ │ ├── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ │ ├── ActionsPerVisit.md
│ │ │ │ │ │ │ ├── AverageTimeOnSite.md
│ │ │ │ │ │ │ ├── BounceRate.md
│ │ │ │ │ │ │ ├── CallableProcessedMetric.md
│ │ │ │ │ │ │ ├── ConversionRate.md
│ │ │ │ │ │ │ ├── EvolutionMetric.md
│ │ │ │ │ │ │ └── VisitsPercent.md
│ │ │ │ │ └── SystemSummary
│ │ │ │ │ │ └── Item.md
│ │ │ │ ├── CoreVisualizations
│ │ │ │ │ ├── Metrics
│ │ │ │ │ │ └── Formatter
│ │ │ │ │ │ │ └── Numeric.md
│ │ │ │ │ └── Visualizations
│ │ │ │ │ │ ├── Cloud
│ │ │ │ │ │ └── Config.md
│ │ │ │ │ │ ├── Graph
│ │ │ │ │ │ └── Config.md
│ │ │ │ │ │ ├── HtmlTable
│ │ │ │ │ │ └── Config.md
│ │ │ │ │ │ ├── JqplotGraph
│ │ │ │ │ │ ├── Config.md
│ │ │ │ │ │ └── Evolution
│ │ │ │ │ │ │ └── Config.md
│ │ │ │ │ │ └── Sparklines
│ │ │ │ │ │ └── Config.md
│ │ │ │ ├── CustomDimensions
│ │ │ │ │ ├── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ │ └── AverageTimeOnDimension.md
│ │ │ │ │ └── Dimension
│ │ │ │ │ │ └── Name.md
│ │ │ │ ├── CustomJsTracker
│ │ │ │ │ └── TrackerUpdater.md
│ │ │ │ ├── DevicePlugins
│ │ │ │ │ └── DevicePlugins.md
│ │ │ │ ├── Diagnostics
│ │ │ │ │ ├── Diagnostic
│ │ │ │ │ │ ├── Diagnostic.md
│ │ │ │ │ │ ├── DiagnosticResult.md
│ │ │ │ │ │ └── DiagnosticResultItem.md
│ │ │ │ │ └── DiagnosticService.md
│ │ │ │ ├── Events
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ └── AverageEventValue.md
│ │ │ │ ├── Goals
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ ├── AverageOrderRevenue.md
│ │ │ │ │ │ ├── AveragePrice.md
│ │ │ │ │ │ ├── AverageQuantity.md
│ │ │ │ │ │ ├── GoalConversionRate.md
│ │ │ │ │ │ ├── GoalSpecific
│ │ │ │ │ │ ├── AverageOrderRevenue.md
│ │ │ │ │ │ ├── ConversionEntryRate.md
│ │ │ │ │ │ ├── ConversionPageRate.md
│ │ │ │ │ │ ├── ConversionRate.md
│ │ │ │ │ │ ├── Conversions.md
│ │ │ │ │ │ ├── ConversionsAttrib.md
│ │ │ │ │ │ ├── ConversionsEntry.md
│ │ │ │ │ │ ├── ItemsCount.md
│ │ │ │ │ │ ├── Revenue.md
│ │ │ │ │ │ ├── RevenueAttrib.md
│ │ │ │ │ │ ├── RevenueEntry.md
│ │ │ │ │ │ ├── RevenuePerEntry.md
│ │ │ │ │ │ └── RevenuePerVisit.md
│ │ │ │ │ │ ├── GoalSpecificProcessedMetric.md
│ │ │ │ │ │ ├── ProductConversionRate.md
│ │ │ │ │ │ └── RevenuePerVisit.md
│ │ │ │ ├── Live
│ │ │ │ │ ├── ProfileSummary
│ │ │ │ │ │ └── ProfileSummaryAbstract.md
│ │ │ │ │ ├── ProfileSummaryProvider.md
│ │ │ │ │ ├── Visitor.md
│ │ │ │ │ ├── VisitorDetailsAbstract.md
│ │ │ │ │ └── Visualizations
│ │ │ │ │ │ └── VisitorLog
│ │ │ │ │ │ └── Config.md
│ │ │ │ ├── MobileMessaging
│ │ │ │ │ └── SMSProvider.md
│ │ │ │ ├── MultiSites
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ └── EcommerceOnlyEvolutionMetric.md
│ │ │ │ ├── PagePerformance
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ ├── AveragePageLoadTime.md
│ │ │ │ │ │ ├── AveragePerformanceMetric.md
│ │ │ │ │ │ ├── AverageTimeDomCompletion.md
│ │ │ │ │ │ ├── AverageTimeDomProcessing.md
│ │ │ │ │ │ ├── AverageTimeNetwork.md
│ │ │ │ │ │ ├── AverageTimeOnLoad.md
│ │ │ │ │ │ ├── AverageTimeServer.md
│ │ │ │ │ │ └── AverageTimeTransfer.md
│ │ │ │ ├── Referrers
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ └── VisitorsFromReferrerPercent.md
│ │ │ │ ├── TagManager
│ │ │ │ │ ├── MenuTagManager.md
│ │ │ │ │ └── Template
│ │ │ │ │ │ ├── BaseTemplate.md
│ │ │ │ │ │ ├── Tag
│ │ │ │ │ │ └── BaseTag.md
│ │ │ │ │ │ ├── Trigger
│ │ │ │ │ │ └── BaseTrigger.md
│ │ │ │ │ │ └── Variable
│ │ │ │ │ │ └── BaseVariable.md
│ │ │ │ ├── Tour
│ │ │ │ │ └── Engagement
│ │ │ │ │ │ └── Challenge.md
│ │ │ │ ├── TreemapVisualization
│ │ │ │ │ └── TreemapConfig.md
│ │ │ │ ├── UsersManager
│ │ │ │ │ └── UserPreferences.md
│ │ │ │ └── VisitFrequency
│ │ │ │ │ └── Columns
│ │ │ │ │ └── Metrics
│ │ │ │ │ └── ReturningMetric.md
│ │ │ ├── RankingQuery.md
│ │ │ ├── Report
│ │ │ │ ├── ReportWidgetConfig.md
│ │ │ │ └── ReportWidgetFactory.md
│ │ │ ├── Scheduler
│ │ │ │ ├── Schedule
│ │ │ │ │ ├── Daily.md
│ │ │ │ │ ├── Hourly.md
│ │ │ │ │ ├── Monthly.md
│ │ │ │ │ ├── Schedule.md
│ │ │ │ │ ├── SpecificTime.md
│ │ │ │ │ └── Weekly.md
│ │ │ │ ├── Scheduler.md
│ │ │ │ └── Task.md
│ │ │ ├── Segment.md
│ │ │ ├── Segment
│ │ │ │ └── SegmentsList.md
│ │ │ ├── Settings
│ │ │ │ ├── FieldConfig.md
│ │ │ │ ├── FieldConfig
│ │ │ │ │ ├── ArrayField.md
│ │ │ │ │ └── MultiPair.md
│ │ │ │ ├── Plugin
│ │ │ │ │ ├── SystemConfigSetting.md
│ │ │ │ │ └── SystemSetting.md
│ │ │ │ ├── Setting.md
│ │ │ │ └── Settings.md
│ │ │ ├── SettingsPiwik.md
│ │ │ ├── SettingsServer.md
│ │ │ ├── Singleton.md
│ │ │ ├── Site.md
│ │ │ ├── Translation
│ │ │ │ └── Translator.md
│ │ │ ├── Updater.md
│ │ │ ├── Updater
│ │ │ │ ├── Migration.md
│ │ │ │ └── Migration
│ │ │ │ │ ├── Config
│ │ │ │ │ └── Factory.md
│ │ │ │ │ ├── Custom.md
│ │ │ │ │ ├── Db.md
│ │ │ │ │ ├── Db
│ │ │ │ │ └── Factory.md
│ │ │ │ │ ├── Factory.md
│ │ │ │ │ └── Plugin
│ │ │ │ │ └── Factory.md
│ │ │ ├── Updates.md
│ │ │ ├── Url.md
│ │ │ ├── UrlHelper.md
│ │ │ ├── Version.md
│ │ │ ├── View.md
│ │ │ ├── View
│ │ │ │ ├── SecurityPolicy.md
│ │ │ │ ├── UIControl.md
│ │ │ │ └── ViewInterface.md
│ │ │ ├── ViewDataTable
│ │ │ │ ├── Config.md
│ │ │ │ ├── Factory.md
│ │ │ │ └── RequestConfig.md
│ │ │ └── Widget
│ │ │ │ ├── Widget.md
│ │ │ │ ├── WidgetConfig.md
│ │ │ │ ├── WidgetContainerConfig.md
│ │ │ │ └── WidgetsList.md
│ │ ├── SAMI_VERSION
│ │ └── renderer.index
│ ├── getting-started-part-1.md
│ ├── getting-started-part-3.md
│ ├── heatmap-session-recording.md
│ ├── heatmap-session-recording
│ │ ├── faq.md
│ │ ├── reference.md
│ │ └── setup.md
│ ├── how-piwik-works.md
│ ├── http-request-handling.md
│ ├── in-depth-opt-out.md
│ ├── in-depth-reporting-api.md
│ ├── in-depth-tests.md
│ ├── in-depth-tools.md
│ ├── in-depth-understanding-piwik.md
│ ├── in-depth-utils.md
│ ├── in-depth-vue.md
│ ├── in-depth-web-interface.md
│ ├── integrate-introduction.md
│ ├── javascript-extended.md
│ ├── log-data.md
│ ├── logging.md
│ ├── matomo-font.md
│ ├── media-analytics.md
│ ├── media-analytics
│ │ ├── custom-player.md
│ │ ├── faq.md
│ │ ├── options.md
│ │ ├── reference.md
│ │ └── setup.md
│ ├── menus.md
│ ├── multi-tenants.md
│ ├── notifications.md
│ ├── pages.md
│ ├── permissions.md
│ ├── piwik-configuration.md
│ ├── piwik-in-depth-introduction.md
│ ├── piwik-on-the-command-line.md
│ ├── piwiks-extensibility-points.md
│ ├── piwiks-ini-configuration.md
│ ├── piwiks-reporting-api.md
│ ├── plugin-directory-structure.md
│ ├── plugin-file.md
│ ├── plugin-settings.md
│ ├── providing-updates.md
│ ├── querying-the-reporting-api.md
│ ├── reporting-api-clients.md
│ ├── reporting-api-introduction.md
│ ├── reporting-api-metadata.md
│ ├── reporting-api-segmentation.md
│ ├── reporting-api-tutorial.md
│ ├── reporting-api.md
│ ├── reporting-introduction.md
│ ├── reports.md
│ ├── request-parameters.md
│ ├── scheduled-tasks.md
│ ├── security-in-piwik.md
│ ├── segments.md
│ ├── sending-emails.md
│ ├── spa-tracking.md
│ ├── system-check.md
│ ├── tagmanager
│ │ ├── custom-tag.md
│ │ ├── custom-trigger.md
│ │ ├── custom-variable.md
│ │ ├── datalayer.md
│ │ ├── debugging.md
│ │ ├── embedding.md
│ │ ├── faq.md
│ │ ├── in-depth.md
│ │ ├── integration-plugin.md
│ │ ├── introduction.md
│ │ ├── javascript-api-reference.md
│ │ ├── parameters.md
│ │ ├── settingup.md
│ │ └── testing.md
│ ├── tests-in-depth-faq.md
│ ├── tests-js-tracker.md
│ ├── tests-php.md
│ ├── tests-system.md
│ ├── tests-travis-extended.md
│ ├── tests-travis.md
│ ├── tests-troubleshooting.md
│ ├── tests-ui.md
│ ├── tests.md
│ ├── themable-plugins.md
│ ├── theming.md
│ ├── tracking-api-clients.md
│ ├── tracking-api.md
│ ├── tracking-consent.md
│ ├── tracking-introduction.md
│ ├── tracking-java.md
│ ├── tracking-javascript-guide.md
│ ├── tracking-javascript.md
│ ├── tracking-optout.md
│ ├── tracking-requests.md
│ ├── translations.md
│ ├── updates-aka-migrations.md
│ ├── user-in-depth.md
│ ├── views.md
│ ├── visitor-log-and-profile.md
│ ├── visualizing-report-data.md
│ ├── vue-getting-started.md
│ ├── vue-troubleshooting.md
│ ├── widgets.md
│ ├── wordpress
│ │ ├── basics.md
│ │ ├── classes-reference.md
│ │ ├── data-access.md
│ │ ├── getting-started.md
│ │ ├── hooks-reference.md
│ │ ├── matomo-plugin.md
│ │ └── restapi-reference.md
│ └── working-with-piwiks-ui.md
├── 5.x
│ ├── ab-tests.md
│ ├── ab-tests
│ │ ├── apps.md
│ │ ├── browser.md
│ │ ├── campaign.md
│ │ └── server.md
│ ├── api-reference-introduction.md
│ ├── apis.md
│ ├── archive-data.md
│ ├── archiving-behavior-specification.md
│ ├── archiving.md
│ ├── asset-pipeline.md
│ ├── authentication-in-depth.md
│ ├── caching-in-matomo.md
│ ├── content-tracking.md
│ ├── controllers.md
│ ├── crash-analytics.md
│ ├── crash-analytics
│ │ ├── faq.md
│ │ ├── options.md
│ │ ├── reference.md
│ │ ├── server.md
│ │ └── setup.md
│ ├── custom-reports-extended.md
│ ├── custom-reports.md
│ ├── data-model.md
│ ├── database-schema.md
│ ├── database.md
│ ├── datatable.md
│ ├── dependency-injection.md
│ ├── design-introduction.md
│ ├── design-ux.md
│ ├── develop-getting-started.md
│ ├── develop-introduction.md
│ ├── develop-migration.md
│ ├── develop-plugin-analytics.md
│ ├── develop-plugin-basics.md
│ ├── develop-plugin-tagmanager.md
│ ├── develop-plugin-wordpress.md
│ ├── develop-security.md
│ ├── develop-utils.md
│ ├── dimensions.md
│ ├── distributing-your-plugin.md
│ ├── enrich-js-tracker.md
│ ├── events.md
│ ├── expose-api-methods.md
│ ├── extending-database.md
│ ├── form-analytics.md
│ ├── form-analytics
│ │ ├── faq.md
│ │ ├── reference.md
│ │ └── setup.md
│ ├── gdpr.md
│ ├── generated
│ │ ├── Classes.md
│ │ ├── Classnames.md
│ │ ├── Hooks.md
│ │ ├── Index.md
│ │ ├── Interfaces.md
│ │ ├── MatomoTracker.md
│ │ ├── Namespaces.md
│ │ ├── PROJECT_VERSION
│ │ ├── Piwik
│ │ │ ├── API
│ │ │ │ └── Request.md
│ │ │ ├── Access.md
│ │ │ ├── Archive.md
│ │ │ ├── Archive
│ │ │ │ └── ArchiveInvalidator.md
│ │ │ ├── ArchiveProcessor.md
│ │ │ ├── ArchiveProcessor
│ │ │ │ ├── Parameters.md
│ │ │ │ └── Record.md
│ │ │ ├── Auth.md
│ │ │ ├── Auth
│ │ │ │ └── Password.md
│ │ │ ├── AuthResult.md
│ │ │ ├── Category
│ │ │ │ └── Subcategory.md
│ │ │ ├── Columns
│ │ │ │ ├── ComputedMetricFactory.md
│ │ │ │ ├── Dimension.md
│ │ │ │ ├── DimensionMetricFactory.md
│ │ │ │ ├── DimensionSegmentFactory.md
│ │ │ │ ├── Discriminator.md
│ │ │ │ ├── Join.md
│ │ │ │ ├── Join
│ │ │ │ │ ├── ActionNameJoin.md
│ │ │ │ │ ├── GoalNameJoin.md
│ │ │ │ │ └── SiteNameJoin.md
│ │ │ │ ├── MetricsList.md
│ │ │ │ └── Updater.md
│ │ │ ├── Common.md
│ │ │ ├── Config.md
│ │ │ ├── DI.md
│ │ │ ├── DataAccess
│ │ │ │ └── LogAggregator.md
│ │ │ ├── DataTable.md
│ │ │ ├── DataTable
│ │ │ │ ├── BaseFilter.md
│ │ │ │ ├── Filter
│ │ │ │ │ ├── AddColumnsProcessedMetrics.md
│ │ │ │ │ ├── AddColumnsProcessedMetricsGoal.md
│ │ │ │ │ ├── AddSegmentByLabel.md
│ │ │ │ │ ├── AddSegmentByLabelMapping.md
│ │ │ │ │ ├── AddSegmentByRangeLabel.md
│ │ │ │ │ ├── AddSegmentBySegmentValue.md
│ │ │ │ │ ├── AddSegmentValue.md
│ │ │ │ │ ├── AddSummaryRow.md
│ │ │ │ │ ├── BeautifyRangeLabels.md
│ │ │ │ │ ├── BeautifyTimeRangeLabels.md
│ │ │ │ │ ├── CalculateEvolutionFilter.md
│ │ │ │ │ ├── ColumnCallbackAddColumn.md
│ │ │ │ │ ├── ColumnCallbackAddColumnPercentage.md
│ │ │ │ │ ├── ColumnCallbackAddColumnQuotient.md
│ │ │ │ │ ├── ColumnCallbackAddMetadata.md
│ │ │ │ │ ├── ColumnCallbackDeleteMetadata.md
│ │ │ │ │ ├── ColumnCallbackDeleteRow.md
│ │ │ │ │ ├── ColumnCallbackReplace.md
│ │ │ │ │ ├── ColumnDelete.md
│ │ │ │ │ ├── ExcludeLowPopulation.md
│ │ │ │ │ ├── GroupBy.md
│ │ │ │ │ ├── Limit.md
│ │ │ │ │ ├── MetadataCallbackAddMetadata.md
│ │ │ │ │ ├── MetadataCallbackReplace.md
│ │ │ │ │ ├── Pattern.md
│ │ │ │ │ ├── PatternRecursive.md
│ │ │ │ │ ├── PrependSegment.md
│ │ │ │ │ ├── PrependValueToMetadata.md
│ │ │ │ │ ├── RemoveSubtables.md
│ │ │ │ │ ├── ReplaceColumnNames.md
│ │ │ │ │ ├── ReplaceSummaryRowLabel.md
│ │ │ │ │ ├── Sort.md
│ │ │ │ │ └── Truncate.md
│ │ │ │ ├── Map.md
│ │ │ │ ├── Row.md
│ │ │ │ └── Simple.md
│ │ │ ├── Date.md
│ │ │ ├── Db.md
│ │ │ ├── DbHelper.md
│ │ │ ├── Filesystem.md
│ │ │ ├── FrontController.md
│ │ │ ├── Http.md
│ │ │ ├── IP.md
│ │ │ ├── Intl
│ │ │ │ └── Data
│ │ │ │ │ └── Provider
│ │ │ │ │ ├── CurrencyDataProvider.md
│ │ │ │ │ ├── LanguageDataProvider.md
│ │ │ │ │ └── RegionDataProvider.md
│ │ │ ├── Log.md
│ │ │ ├── Mail.md
│ │ │ ├── Menu
│ │ │ │ ├── MenuAbstract.md
│ │ │ │ ├── MenuAdmin.md
│ │ │ │ └── MenuTop.md
│ │ │ ├── Metrics.md
│ │ │ ├── Metrics
│ │ │ │ ├── Formatter.md
│ │ │ │ └── Formatter
│ │ │ │ │ └── Html.md
│ │ │ ├── NoAccessException.md
│ │ │ ├── Nonce.md
│ │ │ ├── Notification.md
│ │ │ ├── Notification
│ │ │ │ └── Manager.md
│ │ │ ├── Option.md
│ │ │ ├── Period.md
│ │ │ ├── Period
│ │ │ │ └── Range.md
│ │ │ ├── Piwik.md
│ │ │ ├── Plugin.md
│ │ │ ├── Plugin
│ │ │ │ ├── API.md
│ │ │ │ ├── AggregatedMetric.md
│ │ │ │ ├── Archiver.md
│ │ │ │ ├── Controller.md
│ │ │ │ ├── ControllerAdmin.md
│ │ │ │ ├── Dimension
│ │ │ │ │ ├── ActionDimension.md
│ │ │ │ │ ├── ConversionDimension.md
│ │ │ │ │ └── VisitDimension.md
│ │ │ │ ├── Manager.md
│ │ │ │ ├── Menu.md
│ │ │ │ ├── Metric.md
│ │ │ │ ├── ProcessedMetric.md
│ │ │ │ ├── Report.md
│ │ │ │ ├── ReportsProvider.md
│ │ │ │ ├── Segment.md
│ │ │ │ ├── SettingsProvider.md
│ │ │ │ ├── Tasks.md
│ │ │ │ ├── ViewDataTable.md
│ │ │ │ └── Visualization.md
│ │ │ ├── Plugins
│ │ │ │ ├── Actions
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ ├── AveragePageGenerationTime.md
│ │ │ │ │ │ ├── AverageTimeOnPage.md
│ │ │ │ │ │ ├── BounceRate.md
│ │ │ │ │ │ └── ExitRate.md
│ │ │ │ ├── Bandwidth
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ ├── AvgBandwidth.md
│ │ │ │ │ │ ├── Base.md
│ │ │ │ │ │ ├── DownloadBandwidth.md
│ │ │ │ │ │ ├── HitsWithBandwidth.md
│ │ │ │ │ │ ├── MaxBandwidth.md
│ │ │ │ │ │ ├── MinBandwidth.md
│ │ │ │ │ │ ├── OverallBandwidth.md
│ │ │ │ │ │ ├── PageviewBandwidth.md
│ │ │ │ │ │ └── SumBandwidth.md
│ │ │ │ ├── Contents
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ └── InteractionRate.md
│ │ │ │ ├── CoreHome
│ │ │ │ │ ├── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ │ ├── ActionsPerVisit.md
│ │ │ │ │ │ │ ├── AverageTimeOnSite.md
│ │ │ │ │ │ │ ├── BounceRate.md
│ │ │ │ │ │ │ ├── CallableProcessedMetric.md
│ │ │ │ │ │ │ ├── ConversionRate.md
│ │ │ │ │ │ │ ├── EvolutionMetric.md
│ │ │ │ │ │ │ └── VisitsPercent.md
│ │ │ │ │ └── SystemSummary
│ │ │ │ │ │ └── Item.md
│ │ │ │ ├── CoreVisualizations
│ │ │ │ │ ├── Metrics
│ │ │ │ │ │ └── Formatter
│ │ │ │ │ │ │ └── Numeric.md
│ │ │ │ │ └── Visualizations
│ │ │ │ │ │ ├── Cloud
│ │ │ │ │ │ └── Config.md
│ │ │ │ │ │ ├── Graph
│ │ │ │ │ │ └── Config.md
│ │ │ │ │ │ ├── HtmlTable
│ │ │ │ │ │ └── Config.md
│ │ │ │ │ │ ├── JqplotGraph
│ │ │ │ │ │ ├── Config.md
│ │ │ │ │ │ └── Evolution
│ │ │ │ │ │ │ └── Config.md
│ │ │ │ │ │ └── Sparklines
│ │ │ │ │ │ └── Config.md
│ │ │ │ ├── CustomDimensions
│ │ │ │ │ ├── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ │ └── AverageTimeOnDimension.md
│ │ │ │ │ └── Dimension
│ │ │ │ │ │ └── Name.md
│ │ │ │ ├── CustomJsTracker
│ │ │ │ │ └── TrackerUpdater.md
│ │ │ │ ├── DevicePlugins
│ │ │ │ │ └── DevicePlugins.md
│ │ │ │ ├── Diagnostics
│ │ │ │ │ ├── Diagnostic
│ │ │ │ │ │ ├── Diagnostic.md
│ │ │ │ │ │ ├── DiagnosticResult.md
│ │ │ │ │ │ └── DiagnosticResultItem.md
│ │ │ │ │ └── DiagnosticService.md
│ │ │ │ ├── Events
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ └── AverageEventValue.md
│ │ │ │ ├── Goals
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ ├── AverageOrderRevenue.md
│ │ │ │ │ │ ├── AveragePrice.md
│ │ │ │ │ │ ├── AverageQuantity.md
│ │ │ │ │ │ ├── GoalConversionRate.md
│ │ │ │ │ │ ├── GoalSpecific
│ │ │ │ │ │ ├── AverageOrderRevenue.md
│ │ │ │ │ │ ├── ConversionEntryRate.md
│ │ │ │ │ │ ├── ConversionPageRate.md
│ │ │ │ │ │ ├── ConversionRate.md
│ │ │ │ │ │ ├── Conversions.md
│ │ │ │ │ │ ├── ConversionsAttrib.md
│ │ │ │ │ │ ├── ConversionsEntry.md
│ │ │ │ │ │ ├── ItemsCount.md
│ │ │ │ │ │ ├── Revenue.md
│ │ │ │ │ │ ├── RevenueAttrib.md
│ │ │ │ │ │ ├── RevenueEntry.md
│ │ │ │ │ │ ├── RevenuePerEntry.md
│ │ │ │ │ │ └── RevenuePerVisit.md
│ │ │ │ │ │ ├── GoalSpecificProcessedMetric.md
│ │ │ │ │ │ ├── ProductConversionRate.md
│ │ │ │ │ │ └── RevenuePerVisit.md
│ │ │ │ ├── Live
│ │ │ │ │ ├── ProfileSummary
│ │ │ │ │ │ └── ProfileSummaryAbstract.md
│ │ │ │ │ ├── ProfileSummaryProvider.md
│ │ │ │ │ ├── Visitor.md
│ │ │ │ │ ├── VisitorDetailsAbstract.md
│ │ │ │ │ └── Visualizations
│ │ │ │ │ │ └── VisitorLog
│ │ │ │ │ │ └── Config.md
│ │ │ │ ├── MobileMessaging
│ │ │ │ │ └── SMSProvider.md
│ │ │ │ ├── MultiSites
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ └── EcommerceOnlyEvolutionMetric.md
│ │ │ │ ├── PagePerformance
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ ├── AveragePageLoadTime.md
│ │ │ │ │ │ ├── AveragePerformanceMetric.md
│ │ │ │ │ │ ├── AverageTimeDomCompletion.md
│ │ │ │ │ │ ├── AverageTimeDomProcessing.md
│ │ │ │ │ │ ├── AverageTimeNetwork.md
│ │ │ │ │ │ ├── AverageTimeOnLoad.md
│ │ │ │ │ │ ├── AverageTimeServer.md
│ │ │ │ │ │ └── AverageTimeTransfer.md
│ │ │ │ ├── Referrers
│ │ │ │ │ └── Columns
│ │ │ │ │ │ └── Metrics
│ │ │ │ │ │ └── VisitorsFromReferrerPercent.md
│ │ │ │ ├── TagManager
│ │ │ │ │ ├── MenuTagManager.md
│ │ │ │ │ └── Template
│ │ │ │ │ │ ├── BaseTemplate.md
│ │ │ │ │ │ ├── Tag
│ │ │ │ │ │ └── BaseTag.md
│ │ │ │ │ │ ├── Trigger
│ │ │ │ │ │ └── BaseTrigger.md
│ │ │ │ │ │ └── Variable
│ │ │ │ │ │ └── BaseVariable.md
│ │ │ │ ├── Tour
│ │ │ │ │ └── Engagement
│ │ │ │ │ │ └── Challenge.md
│ │ │ │ ├── TreemapVisualization
│ │ │ │ │ └── TreemapConfig.md
│ │ │ │ ├── UsersManager
│ │ │ │ │ └── UserPreferences.md
│ │ │ │ └── VisitFrequency
│ │ │ │ │ └── Columns
│ │ │ │ │ └── Metrics
│ │ │ │ │ └── ReturningMetric.md
│ │ │ ├── RankingQuery.md
│ │ │ ├── Report
│ │ │ │ ├── ReportWidgetConfig.md
│ │ │ │ └── ReportWidgetFactory.md
│ │ │ ├── Request.md
│ │ │ ├── Scheduler
│ │ │ │ ├── Schedule
│ │ │ │ │ ├── Daily.md
│ │ │ │ │ ├── Hourly.md
│ │ │ │ │ ├── Monthly.md
│ │ │ │ │ ├── Schedule.md
│ │ │ │ │ ├── SpecificTime.md
│ │ │ │ │ └── Weekly.md
│ │ │ │ ├── Scheduler.md
│ │ │ │ └── Task.md
│ │ │ ├── Segment.md
│ │ │ ├── Segment
│ │ │ │ └── SegmentsList.md
│ │ │ ├── Settings
│ │ │ │ ├── FieldConfig.md
│ │ │ │ ├── FieldConfig
│ │ │ │ │ ├── ArrayField.md
│ │ │ │ │ └── MultiPair.md
│ │ │ │ ├── Plugin
│ │ │ │ │ ├── SystemConfigSetting.md
│ │ │ │ │ └── SystemSetting.md
│ │ │ │ ├── Setting.md
│ │ │ │ └── Settings.md
│ │ │ ├── SettingsPiwik.md
│ │ │ ├── SettingsServer.md
│ │ │ ├── Singleton.md
│ │ │ ├── Site.md
│ │ │ ├── SiteContentDetector.md
│ │ │ ├── Translation
│ │ │ │ └── Translator.md
│ │ │ ├── Updater.md
│ │ │ ├── Updater
│ │ │ │ ├── Migration.md
│ │ │ │ └── Migration
│ │ │ │ │ ├── Config
│ │ │ │ │ └── Factory.md
│ │ │ │ │ ├── Custom.md
│ │ │ │ │ ├── Db.md
│ │ │ │ │ ├── Db
│ │ │ │ │ └── Factory.md
│ │ │ │ │ ├── Factory.md
│ │ │ │ │ └── Plugin
│ │ │ │ │ └── Factory.md
│ │ │ ├── Updates.md
│ │ │ ├── Url.md
│ │ │ ├── UrlHelper.md
│ │ │ ├── Version.md
│ │ │ ├── View.md
│ │ │ ├── View
│ │ │ │ ├── SecurityPolicy.md
│ │ │ │ ├── UIControl.md
│ │ │ │ └── ViewInterface.md
│ │ │ ├── ViewDataTable
│ │ │ │ ├── Config.md
│ │ │ │ ├── Factory.md
│ │ │ │ └── RequestConfig.md
│ │ │ └── Widget
│ │ │ │ ├── Widget.md
│ │ │ │ ├── WidgetConfig.md
│ │ │ │ ├── WidgetContainerConfig.md
│ │ │ │ └── WidgetsList.md
│ │ ├── SAMI_VERSION
│ │ └── renderer.index
│ ├── getting-started-part-1.md
│ ├── getting-started-part-3.md
│ ├── heatmap-session-recording.md
│ ├── heatmap-session-recording
│ │ ├── faq.md
│ │ ├── reference.md
│ │ └── setup.md
│ ├── how-piwik-works.md
│ ├── http-request-handling.md
│ ├── in-depth-opt-out.md
│ ├── in-depth-reporting-api.md
│ ├── in-depth-tests.md
│ ├── in-depth-tools.md
│ ├── in-depth-understanding-piwik.md
│ ├── in-depth-utils.md
│ ├── in-depth-vue.md
│ ├── in-depth-web-interface.md
│ ├── integrate-introduction.md
│ ├── javascript-extended.md
│ ├── log-data.md
│ ├── logging.md
│ ├── matomo-font.md
│ ├── matomo-links.md
│ ├── media-analytics.md
│ ├── media-analytics
│ │ ├── custom-player.md
│ │ ├── faq.md
│ │ ├── options.md
│ │ ├── reference.md
│ │ └── setup.md
│ ├── menus.md
│ ├── multi-tenants.md
│ ├── notifications.md
│ ├── pages.md
│ ├── permissions.md
│ ├── piwik-configuration.md
│ ├── piwik-in-depth-introduction.md
│ ├── piwik-on-the-command-line.md
│ ├── piwiks-extensibility-points.md
│ ├── piwiks-ini-configuration.md
│ ├── piwiks-reporting-api.md
│ ├── plugin-directory-structure.md
│ ├── plugin-file.md
│ ├── plugin-settings.md
│ ├── providing-updates.md
│ ├── querying-the-reporting-api.md
│ ├── reporting-api-clients.md
│ ├── reporting-api-introduction.md
│ ├── reporting-api-metadata.md
│ ├── reporting-api-segmentation.md
│ ├── reporting-api-tutorial.md
│ ├── reporting-api.md
│ ├── reporting-introduction.md
│ ├── reports.md
│ ├── request-parameters.md
│ ├── scheduled-tasks.md
│ ├── security-in-piwik.md
│ ├── segments.md
│ ├── sending-emails.md
│ ├── spa-tracking.md
│ ├── system-check.md
│ ├── tagmanager
│ │ ├── custom-tag.md
│ │ ├── custom-trigger.md
│ │ ├── custom-variable.md
│ │ ├── datalayer.md
│ │ ├── debugging.md
│ │ ├── embedding.md
│ │ ├── faq.md
│ │ ├── in-depth.md
│ │ ├── integration-plugin.md
│ │ ├── introduction.md
│ │ ├── javascript-api-reference.md
│ │ ├── parameters.md
│ │ ├── settingup.md
│ │ └── testing.md
│ ├── tests-github.md
│ ├── tests-in-depth-faq.md
│ ├── tests-js-tracker.md
│ ├── tests-php.md
│ ├── tests-system.md
│ ├── tests-troubleshooting.md
│ ├── tests-ui.md
│ ├── tests.md
│ ├── themable-plugins.md
│ ├── theming.md
│ ├── tracking-api-clients.md
│ ├── tracking-api.md
│ ├── tracking-consent.md
│ ├── tracking-introduction.md
│ ├── tracking-java.md
│ ├── tracking-javascript-guide.md
│ ├── tracking-javascript.md
│ ├── tracking-optout.md
│ ├── tracking-requests.md
│ ├── translations.md
│ ├── updates-aka-migrations.md
│ ├── user-in-depth.md
│ ├── views.md
│ ├── visitor-log-and-profile.md
│ ├── visualizing-report-data.md
│ ├── vue-getting-started.md
│ ├── vue-troubleshooting.md
│ ├── widgets.md
│ ├── wordpress
│ │ ├── basics.md
│ │ ├── classes-reference.md
│ │ ├── data-access.md
│ │ ├── getting-started.md
│ │ ├── hooks-reference.md
│ │ ├── matomo-plugin.md
│ │ └── restapi-reference.md
│ └── working-with-piwiks-ui.md
├── coding-standards.md
├── composer-dependencies.md
├── contributing-to-piwik-core.md
├── contributing-to-piwik-plugins.md
├── core-components.md
├── core-faqs.md
├── core-team-workflow.md
├── debugging-core.md
├── git.md
├── github-actions.md
├── jstracker-core.md
├── maintaining-plugins.md
├── maintaining-translations.md
├── marketplace-http-api.md
├── migrate-matomo-3-to-4.md
├── migrate-matomo-4-to-5.md
├── migrate-piwik-2-to-3.md
├── our-mission.md
├── php.md
├── phpstorm.md
├── profiling-code.md
├── pull-request-reviews.md
├── release-management.md
├── reproducing-issues.md
├── support.md
├── trac-ticket-archive.md
└── using-github-issues.md
├── generate.sh
├── generateAndPush.sh
├── generator
├── ApiClasses
│ └── Filter.php
├── Hooks
│ ├── MyConstantVisitor.php
│ ├── MyHookVisitor.php
│ └── Parser.php
├── Linkparser
│ ├── ApiClassFormatter.php
│ ├── ApiReferenceFormatter.php
│ ├── DefaultFormatter.php
│ ├── ExternalConstantFormatter.php
│ ├── ExternalLinkFormatter.php
│ ├── ExternalMethodFormatter.php
│ ├── ExternalPropertyFormatter.php
│ ├── Formatter.php
│ ├── InlineLinkParser.php
│ ├── InternalConstantFormatter.php
│ ├── InternalMethodFormatter.php
│ ├── InternalPropertyFormatter.php
│ ├── Link.php
│ ├── LinkParser.php
│ ├── PhpInternalFormatter.php
│ └── Scope.php
├── README.md
├── bootstrap.php
├── composer.json
├── composer.lock
├── generate.php
├── template
│ ├── .gitignore
│ ├── CONTRIBUTING.md
│ ├── LICENSE
│ ├── README.md
│ ├── events.twig
│ ├── layout
│ │ └── base.twig
│ ├── macros.twig
│ ├── manifest.yml
│ ├── pages
│ │ ├── class.twig
│ │ ├── classes.twig
│ │ ├── classnames.twig
│ │ ├── index.twig
│ │ ├── interfaces.twig
│ │ └── namespaces.twig
│ └── test
│ │ ├── generate
│ │ ├── sami.php
│ │ └── source
│ │ └── Phine
│ │ └── Example
│ │ ├── AbstractExample.php
│ │ ├── Example.php
│ │ ├── ExampleInterface.php
│ │ └── Exception
│ │ └── ExampleException.php
└── test.lock
└── phpunit.xml.dist
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | /generator/vendor
3 | /generator/composer.phar
4 | /app/vendor
5 | /app/composer.phar
6 | /.idea
7 | /app/config/local.php
8 | /app/tmp/cache/*
9 | /app/tmp/logs/*
10 | /app/tmp/templates/*
11 | /docs/changelog.md
12 | /docs/changelog-*.md
13 | /docs/cache/
14 | /docs/*/cache/
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "piwik"]
2 | path = piwik
3 | url = git@github.com:matomo-org/matomo.git
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The content of this repository is Copyright - Matomo team.
2 |
3 | Do not copy, distribute, or re-publish the content.
4 |
5 | The Matomo developer guides are available at: https//developer.matomo.org/
6 |
--------------------------------------------------------------------------------
/app/README.md:
--------------------------------------------------------------------------------
1 | Website [developer.matomo.org](https://developer.matomo.org). Based on [Slim](https://www.slimframework.com/), [Markdown](https://daringfireball.net/projects/markdown/), [jQuery](https://jquery.com/) & [Bootstrap](https://getbootstrap.com).
2 |
3 | ## Install
4 |
5 | * Clone repository
6 | * `git submodule init`
7 | * `git submodule update`
8 | * `cd app && php composer.phar install`
9 |
--------------------------------------------------------------------------------
/app/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "autoload":{
3 | "psr-0":{
4 | "": ""
5 | }
6 | },
7 | "require": {
8 | "php": ">=8.1.0",
9 | "slim/slim": "4.*",
10 | "michelf/php-markdown": "2.0.0",
11 | "mnapoli/front-yaml": "^2.0",
12 | "slim/psr7": "^1.0",
13 | "slim/twig-view": "^3.0.0",
14 | "php-di/php-di": "^7.0",
15 | "ext-json": "*",
16 | "symfony/yaml": "^6.4.7"
17 | },
18 | "require-dev": {},
19 | "scripts": {
20 | "serve": [
21 | "php -S 0.0.0.0:8000 -t public"
22 | ]
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/config/app.php:
--------------------------------------------------------------------------------
1 | name;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/app/helpers/Content/Category/Category.php:
--------------------------------------------------------------------------------
1 | getName();
36 | }
37 |
38 | public function getMenuUrl()
39 | {
40 | return $this->getUrl();
41 | }
42 |
43 | public function getSubItems()
44 | {
45 | return [];
46 | }
47 |
48 | protected function guideUrl($name)
49 | {
50 | return '/guides/' . $name;
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/app/helpers/Content/Category/CategoryList.php:
--------------------------------------------------------------------------------
1 | name = $name;
20 | $this->subitems = $subitems;
21 | }
22 |
23 | public function getMenuTitle()
24 | {
25 | return $this->name;
26 | }
27 |
28 | public function getMenuUrl()
29 | {
30 | return null;
31 | }
32 |
33 | public function getSubItems()
34 | {
35 | return $this->subitems;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/app/helpers/Content/MenuItem.php:
--------------------------------------------------------------------------------
1 | url = $url;
19 | $this->title = $title;
20 | }
21 |
22 | public function getMenuTitle()
23 | {
24 | if (!is_null($this->title)) {
25 | return $this->title;
26 | }
27 |
28 | return parent::getMenuTitle();
29 | }
30 |
31 | public function linkToEdit()
32 | {
33 | return null;
34 | }
35 |
36 | public function getMenuUrl()
37 | {
38 | return '/api-reference/' . $this->url;
39 | }
40 |
41 | protected function getFilePath()
42 | {
43 | return Environment::getPathToGeneratedDocs() . '/' . $this->name . '.md';
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/app/helpers/Content/RemoteLink.php:
--------------------------------------------------------------------------------
1 | name = $name;
23 | $this->url = $url;
24 | }
25 |
26 | /**
27 | * @return string
28 | */
29 | public function getMenuTitle()
30 | {
31 | return ' ' . $this->name;
32 | }
33 |
34 | /**
35 | * @return string
36 | */
37 | public function getMenuUrl()
38 | {
39 | return $this->url;
40 | }
41 |
42 | /**
43 | * @return MenuItem[]
44 | */
45 | public function getSubItems()
46 | {
47 | return [];
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/app/helpers/Content/UnlinkedCategory.php:
--------------------------------------------------------------------------------
1 | htmlContent = $htmlContent;
33 | $this->metadata = $metadata;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/app/helpers/Markdown/FrontYamlParser.php:
--------------------------------------------------------------------------------
1 | wrapped = $wrapped;
25 | $this->parser = new Parser();
26 | }
27 |
28 | public function parse($markdown)
29 | {
30 | $parsed = $this->parser->parse($markdown, false);
31 |
32 | // Get the FrontYaml content
33 | $metadata = $parsed->getYAML();
34 | if (! is_array($metadata)) {
35 | $metadata = [];
36 | }
37 |
38 | // Get the Markdown with the FrontYaml removed
39 | $markdown = $parsed->getContent();
40 |
41 | $document = $this->wrapped->parse($markdown);
42 |
43 | $document->metadata = array_merge($document->metadata, $metadata);
44 |
45 | return $document;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/app/helpers/Markdown/MarkdownParserFactory.php:
--------------------------------------------------------------------------------
1 | wrapped = $wrapped;
19 | }
20 |
21 | public function parse($markdown)
22 | {
23 | $document = $this->wrapped->parse($markdown);
24 |
25 | $html = $document->htmlContent;
26 |
27 | $urlPrefix = Environment::buildUrlPrefix(Environment::getPiwikVersion());
28 | $html = preg_replace('/src="\/img\/(.+?)"/', 'src="/img' . $urlPrefix . '/${1}"', $html);
29 | $html = preg_replace('/src="(.+?)developer.matomo.org\/img\/(.+?)"/i', 'src="${1}' . DOCS_DOMAIN . '/img' . $urlPrefix . '/${2}"', $html);
30 | $html = preg_replace('/src="(.+?)developer.piwik.org\/img\/(.+?)"/i', 'src="${1}' . DOCS_DOMAIN . '/img' . $urlPrefix . '/${2}"', $html);
31 |
32 | $document->htmlContent = $html;
33 |
34 | return $document;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/app/helpers/Markdown/ReplaceBrand.php:
--------------------------------------------------------------------------------
1 | wrapped = $wrapped;
19 | }
20 |
21 | public function parse($markdown)
22 | {
23 | $document = $this->wrapped->parse($markdown);
24 |
25 | if (!empty($_SERVER['REQUEST_URI']) && strpos($_SERVER['REQUEST_URI'], '/changelog') === 0) {
26 | return $document;
27 | }
28 |
29 | $html = $document->htmlContent;
30 |
31 | $document->htmlContent = Environment::renamePiwikToMatomo($html);
32 |
33 | return $document;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/app/helpers/Twig.php:
--------------------------------------------------------------------------------
1 | addFilter(static::getCompleteUrlFilter());
17 | $environment->addFilter(static::getCompleteUrlForPiwikVersionFilter());
18 | }
19 |
20 | private static function getCompleteUrlFilter(): TwigFilter
21 | {
22 | return new TwigFilter('completeUrl', function ($value) {
23 | return Environment::completeUrl($value);
24 | });
25 | }
26 |
27 | private static function getCompleteUrlForPiwikVersionFilter(): TwigFilter
28 | {
29 | return new TwigFilter('completeUrlForPiwikVersion', function ($value, $piwikVersion) {
30 |
31 | $currentPiwikVersion = Environment::getPiwikVersion();
32 |
33 | // we now work in context of that piwik version
34 | Environment::setPiwikVersion($piwikVersion);
35 |
36 | $url = Environment::completeUrl($value);
37 |
38 | Environment::setPiwikVersion($currentPiwikVersion);
39 |
40 | return $url;
41 | });
42 | }
43 |
44 | }
--------------------------------------------------------------------------------
/app/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/favicon.png
--------------------------------------------------------------------------------
/app/public/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/app/public/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/app/public/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/app/public/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/app/public/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/app/public/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/app/public/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/app/public/google7711085550d735a3.html:
--------------------------------------------------------------------------------
1 | google-site-verification: google7711085550d735a3.html
--------------------------------------------------------------------------------
/app/public/googlef808bef11519e880.html:
--------------------------------------------------------------------------------
1 | google-site-verification: googlef808bef11519e880.html
--------------------------------------------------------------------------------
/app/public/img/2.x/dashboard_after_test_data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/dashboard_after_test_data.png
--------------------------------------------------------------------------------
/app/public/img/2.x/disabled_my_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/disabled_my_plugin.png
--------------------------------------------------------------------------------
/app/public/img/2.x/getting_started_users_manager_anonymous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/getting_started_users_manager_anonymous.png
--------------------------------------------------------------------------------
/app/public/img/2.x/marketplace-plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/marketplace-plugin.png
--------------------------------------------------------------------------------
/app/public/img/2.x/menu-admin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/menu-admin.png
--------------------------------------------------------------------------------
/app/public/img/2.x/menu-reporting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/menu-reporting.png
--------------------------------------------------------------------------------
/app/public/img/2.x/menu-top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/menu-top.png
--------------------------------------------------------------------------------
/app/public/img/2.x/menu-user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/menu-user.png
--------------------------------------------------------------------------------
/app/public/img/2.x/myplugin_correct_browser_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/myplugin_correct_browser_header.png
--------------------------------------------------------------------------------
/app/public/img/2.x/myplugin_incorrect_browser_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/myplugin_incorrect_browser_header.png
--------------------------------------------------------------------------------
/app/public/img/2.x/myplugin_index_embed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/myplugin_index_embed.png
--------------------------------------------------------------------------------
/app/public/img/2.x/myplugin_index_embed_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/myplugin_index_embed_2.png
--------------------------------------------------------------------------------
/app/public/img/2.x/myplugin_index_noembed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/myplugin_index_noembed.png
--------------------------------------------------------------------------------
/app/public/img/2.x/myplugin_settings_page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/myplugin_settings_page.png
--------------------------------------------------------------------------------
/app/public/img/2.x/myplugin_visitors_menu_item.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/myplugin_visitors_menu_item.png
--------------------------------------------------------------------------------
/app/public/img/2.x/report-visualizations.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/report-visualizations.png
--------------------------------------------------------------------------------
/app/public/img/2.x/reporting_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/reporting_menu.png
--------------------------------------------------------------------------------
/app/public/img/2.x/visitor_generator_form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/2.x/visitor_generator_form.png
--------------------------------------------------------------------------------
/app/public/img/3.x/dashboard_after_test_data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/dashboard_after_test_data.png
--------------------------------------------------------------------------------
/app/public/img/3.x/disabled_my_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/disabled_my_plugin.png
--------------------------------------------------------------------------------
/app/public/img/3.x/getting_started_users_manager_anonymous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/getting_started_users_manager_anonymous.png
--------------------------------------------------------------------------------
/app/public/img/3.x/github_webhook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/github_webhook.png
--------------------------------------------------------------------------------
/app/public/img/3.x/marketplace-plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/marketplace-plugin.png
--------------------------------------------------------------------------------
/app/public/img/3.x/menu-admin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/menu-admin.png
--------------------------------------------------------------------------------
/app/public/img/3.x/menu-reporting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/menu-reporting.png
--------------------------------------------------------------------------------
/app/public/img/3.x/menu-top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/menu-top.png
--------------------------------------------------------------------------------
/app/public/img/3.x/menu-user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/menu-user.png
--------------------------------------------------------------------------------
/app/public/img/3.x/myplugin_correct_browser_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/myplugin_correct_browser_header.png
--------------------------------------------------------------------------------
/app/public/img/3.x/myplugin_incorrect_browser_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/myplugin_incorrect_browser_header.png
--------------------------------------------------------------------------------
/app/public/img/3.x/myplugin_index_embed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/myplugin_index_embed.png
--------------------------------------------------------------------------------
/app/public/img/3.x/myplugin_index_embed_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/myplugin_index_embed_2.png
--------------------------------------------------------------------------------
/app/public/img/3.x/myplugin_index_noembed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/myplugin_index_noembed.png
--------------------------------------------------------------------------------
/app/public/img/3.x/myplugin_settings_page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/myplugin_settings_page.png
--------------------------------------------------------------------------------
/app/public/img/3.x/myplugin_visitors_menu_item.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/myplugin_visitors_menu_item.png
--------------------------------------------------------------------------------
/app/public/img/3.x/report-visualizations.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/report-visualizations.png
--------------------------------------------------------------------------------
/app/public/img/3.x/reporting_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/reporting_menu.png
--------------------------------------------------------------------------------
/app/public/img/3.x/visitor_generator_form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/visitor_generator_form.png
--------------------------------------------------------------------------------
/app/public/img/3.x/visitorlog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/3.x/visitorlog.png
--------------------------------------------------------------------------------
/app/public/img/4.x/dashboard_after_test_data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/dashboard_after_test_data.png
--------------------------------------------------------------------------------
/app/public/img/4.x/disabled_my_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/disabled_my_plugin.png
--------------------------------------------------------------------------------
/app/public/img/4.x/getting_started_users_manager_anonymous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/getting_started_users_manager_anonymous.png
--------------------------------------------------------------------------------
/app/public/img/4.x/github_webhook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/github_webhook.png
--------------------------------------------------------------------------------
/app/public/img/4.x/marketplace-plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/marketplace-plugin.png
--------------------------------------------------------------------------------
/app/public/img/4.x/menu-admin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/menu-admin.png
--------------------------------------------------------------------------------
/app/public/img/4.x/menu-reporting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/menu-reporting.png
--------------------------------------------------------------------------------
/app/public/img/4.x/menu-top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/menu-top.png
--------------------------------------------------------------------------------
/app/public/img/4.x/menu-user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/menu-user.png
--------------------------------------------------------------------------------
/app/public/img/4.x/myplugin_correct_browser_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/myplugin_correct_browser_header.png
--------------------------------------------------------------------------------
/app/public/img/4.x/myplugin_incorrect_browser_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/myplugin_incorrect_browser_header.png
--------------------------------------------------------------------------------
/app/public/img/4.x/myplugin_index_embed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/myplugin_index_embed.png
--------------------------------------------------------------------------------
/app/public/img/4.x/myplugin_index_embed_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/myplugin_index_embed_2.png
--------------------------------------------------------------------------------
/app/public/img/4.x/myplugin_index_noembed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/myplugin_index_noembed.png
--------------------------------------------------------------------------------
/app/public/img/4.x/myplugin_settings_page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/myplugin_settings_page.png
--------------------------------------------------------------------------------
/app/public/img/4.x/myplugin_visitors_menu_item.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/myplugin_visitors_menu_item.png
--------------------------------------------------------------------------------
/app/public/img/4.x/plugin_notifications.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/plugin_notifications.png
--------------------------------------------------------------------------------
/app/public/img/4.x/report-visualizations.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/report-visualizations.png
--------------------------------------------------------------------------------
/app/public/img/4.x/reporting_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/reporting_menu.png
--------------------------------------------------------------------------------
/app/public/img/4.x/visitor_generator_form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/visitor_generator_form.png
--------------------------------------------------------------------------------
/app/public/img/4.x/visitorlog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/4.x/visitorlog.png
--------------------------------------------------------------------------------
/app/public/img/5.x/dashboard_after_test_data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/dashboard_after_test_data.png
--------------------------------------------------------------------------------
/app/public/img/5.x/disabled_my_plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/disabled_my_plugin.png
--------------------------------------------------------------------------------
/app/public/img/5.x/getting_started_users_manager_anonymous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/getting_started_users_manager_anonymous.png
--------------------------------------------------------------------------------
/app/public/img/5.x/github_webhook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/github_webhook.png
--------------------------------------------------------------------------------
/app/public/img/5.x/marketplace-plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/marketplace-plugin.png
--------------------------------------------------------------------------------
/app/public/img/5.x/matomo-entity-diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/matomo-entity-diagram.png
--------------------------------------------------------------------------------
/app/public/img/5.x/menu-admin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/menu-admin.png
--------------------------------------------------------------------------------
/app/public/img/5.x/menu-reporting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/menu-reporting.png
--------------------------------------------------------------------------------
/app/public/img/5.x/menu-top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/menu-top.png
--------------------------------------------------------------------------------
/app/public/img/5.x/menu-user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/menu-user.png
--------------------------------------------------------------------------------
/app/public/img/5.x/myplugin_correct_browser_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/myplugin_correct_browser_header.png
--------------------------------------------------------------------------------
/app/public/img/5.x/myplugin_incorrect_browser_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/myplugin_incorrect_browser_header.png
--------------------------------------------------------------------------------
/app/public/img/5.x/myplugin_index_embed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/myplugin_index_embed.png
--------------------------------------------------------------------------------
/app/public/img/5.x/myplugin_index_embed_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/myplugin_index_embed_2.png
--------------------------------------------------------------------------------
/app/public/img/5.x/myplugin_index_noembed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/myplugin_index_noembed.png
--------------------------------------------------------------------------------
/app/public/img/5.x/myplugin_settings_page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/myplugin_settings_page.png
--------------------------------------------------------------------------------
/app/public/img/5.x/myplugin_visitors_menu_item.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/myplugin_visitors_menu_item.png
--------------------------------------------------------------------------------
/app/public/img/5.x/plugin_notifications.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/plugin_notifications.png
--------------------------------------------------------------------------------
/app/public/img/5.x/report-visualizations.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/report-visualizations.png
--------------------------------------------------------------------------------
/app/public/img/5.x/reporting_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/reporting_menu.png
--------------------------------------------------------------------------------
/app/public/img/5.x/visitor_generator_form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/visitor_generator_form.png
--------------------------------------------------------------------------------
/app/public/img/5.x/visitorlog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/5.x/visitorlog.png
--------------------------------------------------------------------------------
/app/public/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matomo-org/developer-documentation/c561bf26af17c6ebc04d52848f80f6b28a1ccbc2/app/public/img/logo.png
--------------------------------------------------------------------------------
/app/templates/404.twig:
--------------------------------------------------------------------------------
1 | {% extends 'base.twig' %}
2 |
3 | {% block headline %}
4 |
9 |
10 |
11 |
12 |
13 | 404
14 |
15 |
We did not find that page!
16 | {% if alternativeUrls|length %}
17 |
18 |
19 | Maybe you are looking for one of these resources:
20 |
21 |
22 |
27 |
28 | {% endif %}
29 |
30 |
31 |
32 | Get back to the home page
33 |
34 |
35 |
36 | {% endblock %}
37 |
38 | {% block content %}
39 |
40 |
41 | {% endblock %}
42 |
43 |
44 | {% block piwik_customization %}
45 | _paq.push(["setCustomVariable", 1, "error404", "1", "page"]);
46 | {% endblock %}
47 |
--------------------------------------------------------------------------------
/app/tests/Markdown/FakeMarkdownParser.php:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | Console
4 | =======
5 |
--------------------------------------------------------------------------------
/docs/2.x/generated/Piwik/DbHelper.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | DbHelper
4 | ========
5 |
6 | Contains database related helper functions.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`createTable()`](#createtable) — Creates a new table in the database.
14 |
15 |
16 |
17 | ### `createTable()`
18 |
19 | Creates a new table in the database.
20 |
21 | Example:
22 | ```
23 | $tableDefinition = "`age` INT(11) NOT NULL AUTO_INCREMENT,
24 | `name` VARCHAR(255) NOT NULL";
25 |
26 | DbHelper::createTable('tablename', $tableDefinition);
27 | ``
28 |
29 | #### Signature
30 |
31 | - It accepts the following parameter(s):
32 | - `$nameWithoutPrefix` (`string`) —
33 | The name of the table without any piwik prefix.
34 | - `$createDefinition` (`string`) —
35 | The table create definition
36 | - It does not return anything.
37 |
38 |
--------------------------------------------------------------------------------
/docs/2.x/generated/Piwik/Intl/Data/Provider/CurrencyDataProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Intl\Data\Provider\
2 |
3 | CurrencyDataProvider
4 | ====================
5 |
6 | Provides currency data.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getCurrencyList()`](#getcurrencylist) — Returns the list of all known currency symbols.
14 |
15 |
16 |
17 | ### `getCurrencyList()`
18 |
19 | Returns the list of all known currency symbols.
20 |
21 | #### Signature
22 |
23 |
24 | - *Returns:* `array` —
25 | An array mapping currency codes to their respective currency symbols and a description, eg, `array('USD' => array('$', 'US dollar'))`.
26 |
27 |
--------------------------------------------------------------------------------
/docs/2.x/generated/Piwik/Intl/Data/Provider/LanguageDataProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Intl\Data\Provider\
2 |
3 | LanguageDataProvider
4 | ====================
5 |
6 | Provides language data.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getLanguageList()`](#getlanguagelist) — Returns the list of valid language codes.
14 | - [`getLanguageToCountryList()`](#getlanguagetocountrylist) — Returns the list of language to country mappings.
15 |
16 |
17 |
18 | ### `getLanguageList()`
19 |
20 | Returns the list of valid language codes.
21 |
22 | #### Signature
23 |
24 |
25 | - *Returns:* `string[]` —
26 | Array of 2 letter ISO code => language name (in english). E.g. `array('en' => 'English', 'ja' => 'Japanese')`.
27 |
28 |
29 |
30 | ### `getLanguageToCountryList()`
31 |
32 | Returns the list of language to country mappings.
33 |
34 | #### Signature
35 |
36 |
37 | - *Returns:* `string[]` —
38 | Array of 2 letter ISO language code => 2 letter ISO country code. E.g. `array('fr' => 'fr') // French => France`.
39 |
40 |
--------------------------------------------------------------------------------
/docs/2.x/generated/Piwik/Intl/Data/Provider/RegionDataProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Intl\Data\Provider\
2 |
3 | RegionDataProvider
4 | ==================
5 |
6 | Provides region related data (continents, countries, etc.).
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getContinentList()`](#getcontinentlist) — Returns the list of continent codes.
14 | - [`getCountryList()`](#getcountrylist) — Returns the list of valid country codes.
15 |
16 |
17 |
18 | ### `getContinentList()`
19 |
20 | Returns the list of continent codes.
21 |
22 | #### Signature
23 |
24 |
25 | - *Returns:* `string[]` —
26 | Array of 3 letter continent codes
27 |
28 |
29 |
30 | ### `getCountryList()`
31 |
32 | Returns the list of valid country codes.
33 |
34 | #### Signature
35 |
36 | - It accepts the following parameter(s):
37 | - `$includeInternalCodes` (`bool`) —
38 |
39 |
40 | - *Returns:* `string[]` —
41 | Array of 2 letter country ISO codes => 3 letter continent code
42 |
43 |
--------------------------------------------------------------------------------
/docs/2.x/generated/Piwik/NoAccessException.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | NoAccessException
4 | =================
5 |
6 | Exception thrown when a user doesn't have sufficient access to a resource.
7 |
--------------------------------------------------------------------------------
/docs/2.x/generated/Piwik/Notification/Manager.md:
--------------------------------------------------------------------------------
1 | Piwik\Notification\
2 |
3 | Manager
4 | =======
5 |
6 | Posts and removes UI notifications (see [Notification](/api-reference/Piwik/Notification) to learn more).
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`notify()`](#notify) — Posts a notification that will be shown in Piwik's status bar.
14 |
15 |
16 |
17 | ### `notify()`
18 |
19 | Posts a notification that will be shown in Piwik's status bar.
20 |
21 | If a notification with the same ID
22 | has been posted and has not been closed/removed, it will be replaced with `$notification`.
23 |
24 | #### Signature
25 |
26 | - It accepts the following parameter(s):
27 | - `$id` (`string`) —
28 | A unique identifier for this notification. The ID must be a valid HTML element ID. It can only contain alphanumeric characters (underscores can be used).
29 | - `$notification` ([`Notification`](../../Piwik/Notification.md)) —
30 | The notification to post.
31 | - It does not return anything.
32 |
33 |
--------------------------------------------------------------------------------
/docs/2.x/generated/Piwik/Plugins/Diagnostics/Diagnostic/Diagnostic.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Diagnostics\Diagnostic\
2 |
3 | Diagnostic
4 | ==========
5 |
6 | Performs a diagnostic on the system or Piwik.
7 |
8 | Example:
9 |
10 | class MyDiagnostic implements Diagnostic
11 | {
12 | public function execute()
13 | {
14 | $results = array();
15 |
16 | // First check (error)
17 | $status = testSomethingIsOk() ? DiagnosticResult::STATUS_OK : DiagnosticResult::STATUS_ERROR;
18 | $results[] = DiagnosticResult::singleResult('First check', $status);
19 |
20 | // Second check (warning)
21 | $status = testSomethingElseIsOk() ? DiagnosticResult::STATUS_OK : DiagnosticResult::STATUS_WARNING;
22 | $results[] = DiagnosticResult::singleResult('Second check', $status);
23 |
24 | return $results;
25 | }
26 | }
27 |
28 | Diagnostics are loaded with dependency injection support.
29 |
30 | Methods
31 | -------
32 |
33 | The interface defines the following methods:
34 |
35 | - [`execute()`](#execute)
36 |
37 |
38 |
39 | ### `execute()`
40 |
41 | #### Signature
42 |
43 | - It returns a [`DiagnosticResult[]`](../../../../Piwik/Plugins/Diagnostics/Diagnostic/DiagnosticResult.md) value.
44 |
45 |
--------------------------------------------------------------------------------
/docs/2.x/generated/Piwik/Plugins/Diagnostics/Diagnostic/DiagnosticResultItem.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Diagnostics\Diagnostic\
2 |
3 | DiagnosticResultItem
4 | ====================
5 |
6 | Methods
7 | -------
8 |
9 | The class defines the following methods:
10 |
11 | - [`__construct()`](#__construct)
12 | - [`getStatus()`](#getstatus)
13 | - [`getComment()`](#getcomment)
14 |
15 |
16 |
17 | ### `__construct()`
18 |
19 | #### Signature
20 |
21 | - It accepts the following parameter(s):
22 | - `$status`
23 |
24 | - `$comment`
25 |
26 |
27 |
28 |
29 | ### `getStatus()`
30 |
31 | #### Signature
32 |
33 | - It returns a `string` value.
34 |
35 |
36 |
37 | ### `getComment()`
38 |
39 | #### Signature
40 |
41 | - It returns a `string` value.
42 |
43 |
--------------------------------------------------------------------------------
/docs/2.x/generated/Piwik/Plugins/Diagnostics/DiagnosticService.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Diagnostics\
2 |
3 | DiagnosticService
4 | =================
5 |
6 | Runs the Piwik diagnostics.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`__construct()`](#__construct)
14 | - [`runDiagnostics()`](#rundiagnostics)
15 |
16 |
17 |
18 | ### `__construct()`
19 |
20 | #### Signature
21 |
22 | - It accepts the following parameter(s):
23 | - `$mandatoryDiagnostics` (`array`) —
24 |
25 | - `$optionalDiagnostics` (`array`) —
26 |
27 | - `$disabledDiagnostics` (`array`) —
28 |
29 |
30 |
31 |
32 | ### `runDiagnostics()`
33 |
34 | #### Signature
35 |
36 | - It returns a `Piwik\Plugins\Diagnostics\DiagnosticReport` value.
37 |
38 |
--------------------------------------------------------------------------------
/docs/2.x/generated/Piwik/Singleton.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | Singleton
4 | =========
5 |
6 | The singleton base class restricts the instantiation of derived classes to one object only.
7 |
8 | All plugin APIs are singletons and thus extend this class.
9 |
10 | Methods
11 | -------
12 |
13 | The class defines the following methods:
14 |
15 | - [`getInstance()`](#getinstance) — Returns the singleton instance for the derived class.
16 |
17 |
18 |
19 | ### `getInstance()`
20 |
21 | Returns the singleton instance for the derived class.
22 |
23 | If the singleton instance
24 | has not been created, this method will create it.
25 |
26 | #### Signature
27 |
28 | - It returns a [`Singleton`](../Piwik/Singleton.md) value.
29 |
30 |
--------------------------------------------------------------------------------
/docs/2.x/generated/Piwik/Version.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | Version
4 | =======
5 |
6 | Piwik version information.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`isStableVersion()`](#isstableversion)
14 | - [`isVersionNumber()`](#isversionnumber)
15 |
16 |
17 |
18 | ### `isStableVersion()`
19 |
20 | #### Signature
21 |
22 | - It accepts the following parameter(s):
23 | - `$version`
24 |
25 | - It does not return anything.
26 |
27 |
28 |
29 | ### `isVersionNumber()`
30 |
31 | #### Signature
32 |
33 | - It accepts the following parameter(s):
34 | - `$version`
35 |
36 | - It does not return anything.
37 |
38 |
--------------------------------------------------------------------------------
/docs/2.x/generated/Piwik/View/ViewInterface.md:
--------------------------------------------------------------------------------
1 | Piwik\View\
2 |
3 | ViewInterface
4 | =============
5 |
6 | Rendering interface for all "view" types.
7 |
8 | Methods
9 | -------
10 |
11 | The interface defines the following methods:
12 |
13 | - [`render()`](#render) — Returns data.
14 |
15 |
16 |
17 | ### `render()`
18 |
19 | Returns data.
20 |
21 | #### Signature
22 |
23 |
24 | - *Returns:* `string` —
25 | Serialized data, eg, (image, array, html...).
26 |
27 |
--------------------------------------------------------------------------------
/docs/2.x/generated/SAMI_VERSION:
--------------------------------------------------------------------------------
1 | 1.3-DEV
--------------------------------------------------------------------------------
/docs/2.x/in-depth-reporting-api.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Piwik In Depth
3 | title: Reporting API
4 | subGuides:
5 | - apis
6 | - piwiks-reporting-api
7 | ---
8 |
--------------------------------------------------------------------------------
/docs/2.x/in-depth-tests.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Tests
4 | subGuides:
5 | - tests-system
6 | - tests-travis-extended
7 | ---
8 |
--------------------------------------------------------------------------------
/docs/2.x/in-depth-understanding-piwik.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Understanding Piwik
4 | subGuides:
5 | - how-piwik-works
6 | - http-request-handling
7 | - piwiks-extensibility-points
8 | ---
9 |
--------------------------------------------------------------------------------
/docs/2.x/in-depth-utils.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Utils
4 | subGuides:
5 | - piwiks-ini-configuration
6 | - angularjs-getting-started
7 | ---
8 |
--------------------------------------------------------------------------------
/docs/2.x/in-depth-web-interface.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Web Interface
4 | subGuides:
5 | - custom-reports-extended
6 | - controllers
7 | - views
8 | - javascript-extended
9 | - themable-plugins
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/2.x/integrate-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | title: Introduction
4 | ---
5 | # Integrate Piwik
6 |
7 | Welcome to the *Integrate* section of the Piwik Developer Zone. If you are interested in integrating Piwik with your application, you are at the right place!
8 |
9 | This section contains guides that will help you to:
10 |
11 | - track your website, mobile application, etc. using the **Tracking API**
12 | - query and use Piwik data by using the **Reporting API**
13 |
--------------------------------------------------------------------------------
/docs/2.x/piwik-in-depth-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: DevelopInDepth
3 | title: Introduction
4 | ---
5 | # Piwik In Depth
6 |
7 | Welcome to the *Piwik In Depth* section of the Piwik Developer Zone.
8 | If you are interested in contributing to the Piwik core or if you want to get more insight into Piwik, you are at the right place!
9 |
10 | This section contains guides that will help you to:
11 |
12 | - understand **how Piwik works in depth**
13 | - **contribute** to Piwik itself to fix bugs or add new features
14 |
15 | Use the sidebar to navigate through the guides. Here is a list of guides to get you started:
16 |
17 | - [How Piwik Works](/guides/how-piwik-works)
18 | - [Contributing to Piwik Core](/guides/contributing-to-piwik-core)
19 |
--------------------------------------------------------------------------------
/docs/2.x/piwiks-extensibility-points.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: DevelopInDepth
3 | ---
4 | # Piwik's Extensibility Points
5 |
6 | Plugins can extend Piwik using the following methods:
7 |
8 | - using **events** see [Events](/guides/events)
9 | - implementing **special classes** that are recognized by Piwik see [Plugin Basics under Develop](/develop)
10 |
11 | ## Learn More
12 |
13 | * To learn **about every event that Piwik posts** [read the event docs](/api-reference/events).
14 | * To learn **more about the Twig filters and functions Piwik defines** read the documentation for the [View](/api-reference/Piwik/View) class.
15 | * To learn **about API and Controller classes** read our [Controllers](/guides/controllers) or [APIs](/guides/apis) guides.
16 | * To learn **about Archiver classes** read our [Archiving](/guides/archiving) guide.
17 | * To learn **about plugin settings** read our [Plugin Settings](/guides/plugin-settings) guide.
18 | * To learn **about creating new report visualizations** read our [Visualizing Report Data](/guides/visualizing-report-data) guide.
19 |
--------------------------------------------------------------------------------
/docs/2.x/reporting-api-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: API Reference
3 | subGuides:
4 | - reporting-api
5 | - reporting-api-metadata
6 | - reporting-api-segmentation
7 | ---
8 | # Reporting HTTP API
9 |
10 | This section contains the API reference for the Reporting HTTP API.
11 |
12 | The Metadata and Segmentation API references are split into dedicated articles in order to keep them shorter and readable.
13 |
--------------------------------------------------------------------------------
/docs/2.x/reporting-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - reporting-api-tutorial
5 | - querying-the-reporting-api
6 | - reporting-api-clients
7 | ---
8 | # Accessing Piwik data
9 |
10 | This section contains guides that will help you query Piwik's reporting data to integrate it into your application.
11 |
12 | ## API references
13 |
14 | If you are looking for more low-level and detailed information, have a look at the following API references:
15 |
16 | - [The Reporting API](/api-reference/reporting-api)
17 | - [The Metadata API](/api-reference/metadata)
18 | - [The Segmentation API](/api-reference/segmentation)
19 |
--------------------------------------------------------------------------------
/docs/2.x/tagmanager/introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | ---
4 | # Tag Manager
5 |
6 | The Tag Manager does not work with Piwik as it requires at least Matomo 3.5+. Please switch to a more recent version in order to view the documentation.
--------------------------------------------------------------------------------
/docs/2.x/tagmanager/javascript-api-reference.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: API Reference
3 | ---
4 | # Tag Manager JavaScript API
5 |
6 | The Tag Manager does not work with Piwik as it requires at least Matomo 3.5+. Please switch to a more recent version in order to view the documentation.
--------------------------------------------------------------------------------
/docs/2.x/tracking-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - tracking-javascript-guide
5 | - tracking-api-clients
6 | - content-tracking
7 | ---
8 | # Tracking your application
9 |
10 | This section contains guides that will help you track your application using Piwik.
11 |
12 | ## API references
13 |
14 | If you are looking for more low-level and detailed information, have a look at the following API references:
15 |
16 | - [The JavaScript tracking client](/api-reference/tracking-javascript)
17 | - [The Tracking HTTP API](/api-reference/tracking-api)
18 |
--------------------------------------------------------------------------------
/docs/3.x/api-reference-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: API Reference
3 | title: Introduction
4 | ---
5 | # API Reference
6 |
7 | The API Reference contains low-level details on Piwik APIs and codebase.
8 |
9 | You will find here documentation on Piwik's HTTP APIs, JavaScript client and PHP classes, methods and hooks.
10 |
--------------------------------------------------------------------------------
/docs/3.x/design-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | subGuides:
4 | - theming
5 | ---
6 | # Themes
7 |
8 | In Piwik, themes are special types of plugins that change the look and feel of Piwik's UI.
9 | They use CSS and LESS to override the default styles defined by other Piwik plugins.
10 |
11 | The following guides will help you create your own theme to customize how Piwik looks.
12 |
--------------------------------------------------------------------------------
/docs/3.x/develop-getting-started.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Getting started
4 | subGuides:
5 | - getting-started-part-1
6 | - distributing-your-plugin
7 | ---
8 |
--------------------------------------------------------------------------------
/docs/3.x/develop-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Introduction
4 | ---
5 | # Develop
6 |
7 | Welcome to the *Develop* section of the Piwik Developer Zone. If you are interested in customizing Matomo, you are in the right place!
8 |
9 | This section contains guides that will help you create **Plugins** and **Themes** to customize Matomo (Piwik), or to add new features to Matomo.
10 |
11 | If you want to get more insight into how Matomo works behind the API's check out our [Matomo In Depth](/piwik-in-depth) section.
12 |
13 | Use the sidebar to navigate through the guides. Here is a list of guides to get you started:
14 |
15 | - [Getting Started: Setting up](/guides/getting-started-part-1)
16 | - [Distributing Your Plugin](/guides/distributing-your-plugin)
17 |
--------------------------------------------------------------------------------
/docs/3.x/develop-migration.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Migrations
4 | subGuides:
5 | - migrate-piwik-2-to-3
6 | ---
7 |
8 |
--------------------------------------------------------------------------------
/docs/3.x/develop-plugin-analytics.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Analytics
4 | subGuides:
5 | - custom-reports
6 | - dimensions
7 | - widgets
8 | - visualizing-report-data
9 | - enrich-js-tracker
10 | ---
11 |
12 |
--------------------------------------------------------------------------------
/docs/3.x/develop-plugin-basics.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Plugin Basics
4 | subGuides:
5 | - theming
6 | - pages
7 | - menus
8 | - expose-api-methods
9 | - working-with-piwiks-ui
10 | - plugin-settings
11 | - scheduled-tasks
12 | - visitor-log-and-profile
13 | - piwik-on-the-command-line
14 | - gdpr
15 | ---
16 |
17 |
--------------------------------------------------------------------------------
/docs/3.x/develop-plugin-tagmanager.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Tag Manager
4 | subGuides:
5 | - tagmanager/settingup
6 | - tagmanager/custom-tag
7 | - tagmanager/custom-trigger
8 | - tagmanager/custom-variable
9 | - tagmanager/parameters
10 | - tagmanager/testing
11 | - tagmanager/faq
12 | ---
13 |
14 |
--------------------------------------------------------------------------------
/docs/3.x/develop-plugin-wordpress.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: WordPress
4 | subGuides:
5 | - wordpress/getting-started
6 | - wordpress/basics
7 | - wordpress/data-access
8 | - wordpress/matomo-plugin
9 | ---
10 |
11 |
--------------------------------------------------------------------------------
/docs/3.x/develop-security.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Security
4 | subGuides:
5 | - security-in-piwik
6 | - permissions
7 | ---
8 |
9 |
--------------------------------------------------------------------------------
/docs/3.x/develop-utils.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Utils
4 | subGuides:
5 | - events
6 | - translations
7 | - extending-database
8 | - logging
9 | ---
10 |
11 |
--------------------------------------------------------------------------------
/docs/3.x/form-analytics.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - form-analytics/setup
5 | - form-analytics/faq
6 | - form-analytics/reference
7 | ---
8 | # Form Analytics
9 |
10 | This section contains guides that will help you track your online web forms using Piwik.
11 |
12 | [Form Analytics](https://www.form-analytics.net) is a plugin for Piwik that can be purchased
13 | on the [Piwik Marketplace](https://plugins.piwik.org/premium) soon. It adds over 50 new metrics to your Piwik, several
14 | new segments, more than 10 new reports, real time reports, and widgets that you can add to your dashboard. This way
15 | you can understand much better how your visitors use your web and application forms to increase your conversions.
16 | Form Analytics is developed by [InnoCraft](https://www.innocraft.com), the makers of Piwik.
17 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Interfaces.md:
--------------------------------------------------------------------------------
1 | Interfaces
2 | ==========
3 |
4 | This is a complete list of available interfaces:
5 |
6 | - [`Piwik\Auth`](Piwik/Auth.md) — Base interface for authentication implementations.
7 | - [`Piwik\Plugins\Diagnostics\Diagnostic\Diagnostic`](Piwik/Plugins/Diagnostics/Diagnostic/Diagnostic.md) — Performs a diagnostic on the system or Piwik.
8 | - [`Piwik\View\ViewInterface`](Piwik/View/ViewInterface.md) — Rendering interface for all "view" types.
9 |
--------------------------------------------------------------------------------
/docs/3.x/generated/PROJECT_VERSION:
--------------------------------------------------------------------------------
1 | 3.x-dev
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/ArchiveProcessor/Parameters.md:
--------------------------------------------------------------------------------
1 | Piwik\ArchiveProcessor\
2 |
3 | Parameters
4 | ==========
5 |
6 | Contains the analytics parameters for the reports that are currently being archived.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getPeriod()`](#getperiod) — Returns the period we are computing statistics for.
14 | - [`getSite()`](#getsite) — Returns the site we are computing statistics for.
15 | - [`getSegment()`](#getsegment) — The Segment used to limit the set of visits that are being aggregated.
16 |
17 |
18 |
19 | ### `getPeriod()`
20 |
21 | Returns the period we are computing statistics for.
22 |
23 | #### Signature
24 |
25 | - It returns a [`Period`](../../Piwik/Period.md) value.
26 |
27 |
28 |
29 | ### `getSite()`
30 |
31 | Returns the site we are computing statistics for.
32 |
33 | #### Signature
34 |
35 | - It returns a [`Site`](../../Piwik/Site.md) value.
36 |
37 |
38 |
39 | ### `getSegment()`
40 |
41 | The Segment used to limit the set of visits that are being aggregated.
42 |
43 | #### Signature
44 |
45 | - It returns a [`Segment`](../../Piwik/Segment.md) value.
46 |
47 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Columns/ComputedMetricFactory.md:
--------------------------------------------------------------------------------
1 | Piwik\Columns\
2 |
3 | ComputedMetricFactory
4 | =====================
5 |
6 | A factory to create computed metrics.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`createComputedMetric()`](#createcomputedmetric)
14 |
15 |
16 |
17 | ### `createComputedMetric()`
18 |
19 | #### Signature
20 |
21 | - It accepts the following parameter(s):
22 | - `$metricName1`
23 |
24 | - `$metricName2`
25 |
26 | - `$aggregation`
27 |
28 | - It returns a `Piwik\Plugin\ComputedMetric` value.
29 |
30 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Columns/Join.md:
--------------------------------------------------------------------------------
1 | Piwik\Columns\
2 |
3 | Join
4 | ====
5 |
6 | Since Matomo 3.1.0
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`__construct()`](#__construct) — Join constructor.
14 | - [`getTable()`](#gettable)
15 | - [`getColumn()`](#getcolumn)
16 | - [`getTargetColumn()`](#gettargetcolumn)
17 |
18 |
19 |
20 | ### `__construct()`
21 |
22 | Join constructor.
23 |
24 | #### Signature
25 |
26 | - It accepts the following parameter(s):
27 | - `$table`
28 |
29 | - `$column`
30 |
31 | - `$targetColumn`
32 |
33 | - It throws one of the following exceptions:
34 | - [`Exception`](http://php.net/class.Exception)
35 |
36 |
37 |
38 | ### `getTable()`
39 |
40 | #### Signature
41 |
42 | - It returns a `string` value.
43 |
44 |
45 |
46 | ### `getColumn()`
47 |
48 | #### Signature
49 |
50 | - It returns a `string` value.
51 |
52 |
53 |
54 | ### `getTargetColumn()`
55 |
56 | #### Signature
57 |
58 | - It returns a `string` value.
59 |
60 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/DbHelper.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | DbHelper
4 | ========
5 |
6 | Contains database related helper functions.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`createTable()`](#createtable) — Creates a new table in the database.
14 |
15 |
16 |
17 | ### `createTable()`
18 |
19 | Creates a new table in the database.
20 |
21 | Example:
22 | ```
23 | $tableDefinition = "`age` INT(11) NOT NULL AUTO_INCREMENT,
24 | `name` VARCHAR(255) NOT NULL";
25 |
26 | DbHelper::createTable('tablename', $tableDefinition);
27 | ``
28 |
29 | #### Signature
30 |
31 | - It accepts the following parameter(s):
32 | - `$nameWithoutPrefix` (`string`) —
33 | The name of the table without any piwik prefix.
34 | - `$createDefinition` (`string`) —
35 | The table create definition
36 | - It does not return anything or a mixed result.
37 |
38 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Intl/Data/Provider/CurrencyDataProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Intl\Data\Provider\
2 |
3 | CurrencyDataProvider
4 | ====================
5 |
6 | Provides currency data.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getCurrencyList()`](#getcurrencylist) — Returns the list of all known currency symbols.
14 |
15 |
16 |
17 | ### `getCurrencyList()`
18 |
19 | Returns the list of all known currency symbols.
20 |
21 | #### Signature
22 |
23 |
24 | - *Returns:* `array` —
25 | An array mapping currency codes to their respective currency symbols
26 | and a description, eg, `array('USD' => array('$', 'US dollar'))`.
27 |
28 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Intl/Data/Provider/LanguageDataProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Intl\Data\Provider\
2 |
3 | LanguageDataProvider
4 | ====================
5 |
6 | Provides language data.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getLanguageList()`](#getlanguagelist) — Returns the list of valid language codes.
14 | - [`getLanguageToCountryList()`](#getlanguagetocountrylist) — Returns the list of language to country mappings.
15 |
16 |
17 |
18 | ### `getLanguageList()`
19 |
20 | Returns the list of valid language codes.
21 |
22 | #### Signature
23 |
24 |
25 | - *Returns:* `string[]` —
26 | Array of 2 letter ISO code => language name (in english).
27 | E.g. `array('en' => 'English', 'ja' => 'Japanese')`.
28 |
29 |
30 |
31 | ### `getLanguageToCountryList()`
32 |
33 | Returns the list of language to country mappings.
34 |
35 | #### Signature
36 |
37 |
38 | - *Returns:* `string[]` —
39 | Array of 2 letter ISO language code => 2 letter ISO country code.
40 | E.g. `array('fr' => 'fr') // French => France`.
41 |
42 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Intl/Data/Provider/RegionDataProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Intl\Data\Provider\
2 |
3 | RegionDataProvider
4 | ==================
5 |
6 | Provides region related data (continents, countries, etc.).
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getContinentList()`](#getcontinentlist) — Returns the list of continent codes.
14 | - [`getCountryList()`](#getcountrylist) — Returns the list of valid country codes.
15 |
16 |
17 |
18 | ### `getContinentList()`
19 |
20 | Returns the list of continent codes.
21 |
22 | #### Signature
23 |
24 |
25 | - *Returns:* `string[]` —
26 | Array of 3 letter continent codes
27 |
28 |
29 |
30 | ### `getCountryList()`
31 |
32 | Returns the list of valid country codes.
33 |
34 | #### Signature
35 |
36 | - It accepts the following parameter(s):
37 | - `$includeInternalCodes` (`bool`) —
38 |
39 |
40 | - *Returns:* `string[]` —
41 | Array of 2 letter country ISO codes => 3 letter continent code
42 |
43 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/NoAccessException.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | NoAccessException
4 | =================
5 |
6 | Exception thrown when a user doesn't have sufficient access to a resource.
7 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Notification/Manager.md:
--------------------------------------------------------------------------------
1 | Piwik\Notification\
2 |
3 | Manager
4 | =======
5 |
6 | Posts and removes UI notifications (see [Notification](/api-reference/Piwik/Notification) to learn more).
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`notify()`](#notify) — Posts a notification that will be shown in Piwik's status bar.
14 |
15 |
16 |
17 | ### `notify()`
18 |
19 | Posts a notification that will be shown in Piwik's status bar. If a notification with the same ID
20 | has been posted and has not been closed/removed, it will be replaced with `$notification`.
21 |
22 | #### Signature
23 |
24 | - It accepts the following parameter(s):
25 | - `$id` (`string`) —
26 | A unique identifier for this notification. The ID must be a valid HTML element ID. It can only contain alphanumeric characters (underscores can be used).
27 | - `$notification` ([`Notification`](../../Piwik/Notification.md)) —
28 | The notification to post.
29 | - It does not return anything or a mixed result.
30 |
31 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Plugins/Diagnostics/Diagnostic/Diagnostic.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Diagnostics\Diagnostic\
2 |
3 | Diagnostic
4 | ==========
5 |
6 | Performs a diagnostic on the system or Piwik.
7 |
8 | Example:
9 |
10 | class MyDiagnostic implements Diagnostic
11 | {
12 | public function execute()
13 | {
14 | $results = array();
15 |
16 | // First check (error)
17 | $status = testSomethingIsOk() ? DiagnosticResult::STATUS_OK : DiagnosticResult::STATUS_ERROR;
18 | $results[] = DiagnosticResult::singleResult('First check', $status);
19 |
20 | // Second check (warning)
21 | $status = testSomethingElseIsOk() ? DiagnosticResult::STATUS_OK : DiagnosticResult::STATUS_WARNING;
22 | $results[] = DiagnosticResult::singleResult('Second check', $status);
23 |
24 | return $results;
25 | }
26 | }
27 |
28 | Diagnostics are loaded with dependency injection support.
29 |
30 | Methods
31 | -------
32 |
33 | The interface defines the following methods:
34 |
35 | - [`execute()`](#execute)
36 |
37 |
38 |
39 | ### `execute()`
40 |
41 | #### Signature
42 |
43 | - It returns a [`DiagnosticResult[]`](../../../../Piwik/Plugins/Diagnostics/Diagnostic/DiagnosticResult.md) value.
44 |
45 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Plugins/Diagnostics/Diagnostic/DiagnosticResultItem.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Diagnostics\Diagnostic\
2 |
3 | DiagnosticResultItem
4 | ====================
5 |
6 | Methods
7 | -------
8 |
9 | The class defines the following methods:
10 |
11 | - [`__construct()`](#__construct)
12 | - [`getStatus()`](#getstatus)
13 | - [`getComment()`](#getcomment)
14 |
15 |
16 |
17 | ### `__construct()`
18 |
19 | #### Signature
20 |
21 | - It accepts the following parameter(s):
22 | - `$status`
23 |
24 | - `$comment`
25 |
26 |
27 |
28 |
29 | ### `getStatus()`
30 |
31 | #### Signature
32 |
33 | - It returns a `string` value.
34 |
35 |
36 |
37 | ### `getComment()`
38 |
39 | #### Signature
40 |
41 | - It returns a `string` value.
42 |
43 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Plugins/Diagnostics/DiagnosticService.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Diagnostics\
2 |
3 | DiagnosticService
4 | =================
5 |
6 | Runs the Piwik diagnostics.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`__construct()`](#__construct)
14 | - [`runDiagnostics()`](#rundiagnostics)
15 |
16 |
17 |
18 | ### `__construct()`
19 |
20 | #### Signature
21 |
22 | - It accepts the following parameter(s):
23 | - `$mandatoryDiagnostics` (`array`) —
24 |
25 | - `$optionalDiagnostics` (`array`) —
26 |
27 | - `$disabledDiagnostics` (`array`) —
28 |
29 |
30 |
31 |
32 | ### `runDiagnostics()`
33 |
34 | #### Signature
35 |
36 | - It returns a `Piwik\Plugins\Diagnostics\DiagnosticReport` value.
37 |
38 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Plugins/Live/ProfileSummaryProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Live\
2 |
3 | ProfileSummaryProvider
4 | ======================
5 |
6 | Methods
7 | -------
8 |
9 | The class defines the following methods:
10 |
11 | - [`getAllProfileSummaryClasses()`](#getallprofilesummaryclasses) — Returns class names of all VisitorDetails classes.
12 |
13 |
14 |
15 | ### `getAllProfileSummaryClasses()`
16 |
17 | Returns class names of all VisitorDetails classes.
18 |
19 | #### Signature
20 |
21 | - It returns a `string[]` value.
22 |
23 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Plugins/Live/Visitor.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Live\
2 |
3 | Visitor
4 | =======
5 |
6 | Methods
7 | -------
8 |
9 | The class defines the following methods:
10 |
11 | - [`getAllVisitorDetailsClasses()`](#getallvisitordetailsclasses) — Returns class names of all VisitorDetails classes.
12 |
13 |
14 |
15 | ### `getAllVisitorDetailsClasses()`
16 |
17 | Returns class names of all VisitorDetails classes.
18 |
19 | #### Signature
20 |
21 | - It returns a `string[]` value.
22 |
23 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Singleton.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | Singleton
4 | =========
5 |
6 | The singleton base class restricts the instantiation of derived classes to one object only.
7 |
8 | All plugin APIs are singletons and thus extend this class.
9 |
10 | Methods
11 | -------
12 |
13 | The class defines the following methods:
14 |
15 | - [`getInstance()`](#getinstance) — Returns the singleton instance for the derived class.
16 |
17 |
18 |
19 | ### `getInstance()`
20 |
21 | Returns the singleton instance for the derived class. If the singleton instance
22 | has not been created, this method will create it.
23 |
24 | #### Signature
25 |
26 | - It returns a [`Singleton`](../Piwik/Singleton.md) value.
27 |
28 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Updater/Migration/Factory.md:
--------------------------------------------------------------------------------
1 | Piwik\Updater\Migration\
2 |
3 | Factory
4 | =======
5 |
6 | Migration factory to create various migrations that implement the Migration interface.
7 |
8 | Properties
9 | ----------
10 |
11 | This class defines the following properties:
12 |
13 | - [`$db`](#$db)
14 | - [`$plugin`](#$plugin)
15 |
16 |
17 |
18 | ### `$db`
19 |
20 | #### Signature
21 |
22 | - It is a [`Factory`](../../../Piwik/Updater/Migration/Db/Factory.md) value.
23 |
24 |
25 |
26 | ### `$plugin`
27 |
28 | #### Signature
29 |
30 | - It is a [`Factory`](../../../Piwik/Updater/Migration/Plugin/Factory.md) value.
31 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Updater/Migration/Plugin/Factory.md:
--------------------------------------------------------------------------------
1 | Piwik\Updater\Migration\Plugin\
2 |
3 | Factory
4 | =======
5 |
6 | Provides plugin migrations.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`activate()`](#activate) — Activates the given plugin during an update.
14 | - [`deactivate()`](#deactivate) — Deactivates the given plugin during an update.
15 |
16 |
17 |
18 | ### `activate()`
19 |
20 | Activates the given plugin during an update.
21 |
22 | If the plugin is already activated or if any other error occurs it will be ignored.
23 |
24 | #### Signature
25 |
26 | - It accepts the following parameter(s):
27 | - `$pluginName` (`string`) —
28 |
29 | - It returns a `Piwik\Updater\Migration\Plugin\Activate` value.
30 |
31 |
32 |
33 | ### `deactivate()`
34 |
35 | Deactivates the given plugin during an update.
36 |
37 | If the plugin is already deactivated or if any other error occurs it will be ignored.
38 |
39 | #### Signature
40 |
41 | - It accepts the following parameter(s):
42 | - `$pluginName` (`string`) —
43 |
44 | - It returns a `Piwik\Updater\Migration\Plugin\Deactivate` value.
45 |
46 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/Version.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | Version
4 | =======
5 |
6 | Matomo version information.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`isStableVersion()`](#isstableversion)
14 | - [`isVersionNumber()`](#isversionnumber)
15 |
16 |
17 |
18 | ### `isStableVersion()`
19 |
20 | #### Signature
21 |
22 | - It accepts the following parameter(s):
23 | - `$version`
24 |
25 | - It does not return anything or a mixed result.
26 |
27 |
28 |
29 | ### `isVersionNumber()`
30 |
31 | #### Signature
32 |
33 | - It accepts the following parameter(s):
34 | - `$version`
35 |
36 | - It does not return anything or a mixed result.
37 |
38 |
--------------------------------------------------------------------------------
/docs/3.x/generated/Piwik/View/ViewInterface.md:
--------------------------------------------------------------------------------
1 | Piwik\View\
2 |
3 | ViewInterface
4 | =============
5 |
6 | Rendering interface for all "view" types.
7 |
8 | Methods
9 | -------
10 |
11 | The interface defines the following methods:
12 |
13 | - [`render()`](#render) — Returns data.
14 |
15 |
16 |
17 | ### `render()`
18 |
19 | Returns data.
20 |
21 | #### Signature
22 |
23 |
24 | - *Returns:* `string` —
25 | Serialized data, eg, (image, array, html...).
26 |
27 |
--------------------------------------------------------------------------------
/docs/3.x/generated/SAMI_VERSION:
--------------------------------------------------------------------------------
1 | 4.0.14-DEV
--------------------------------------------------------------------------------
/docs/3.x/in-depth-reporting-api.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Piwik In Depth
3 | title: Reporting API
4 | subGuides:
5 | - apis
6 | - piwiks-reporting-api
7 | ---
8 |
--------------------------------------------------------------------------------
/docs/3.x/in-depth-tests.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Tests
4 | subGuides:
5 | - tests-system
6 | - tests-travis-extended
7 | ---
8 |
--------------------------------------------------------------------------------
/docs/3.x/in-depth-understanding-piwik.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Understanding Piwik
4 | subGuides:
5 | - how-piwik-works
6 | - http-request-handling
7 | - piwiks-extensibility-points
8 | ---
9 |
--------------------------------------------------------------------------------
/docs/3.x/in-depth-utils.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Utils
4 | subGuides:
5 | - piwiks-ini-configuration
6 | - angularjs-getting-started
7 | ---
8 |
--------------------------------------------------------------------------------
/docs/3.x/in-depth-web-interface.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Web Interface
4 | subGuides:
5 | - custom-reports-extended
6 | - controllers
7 | - views
8 | - javascript-extended
9 | - themable-plugins
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/3.x/integrate-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | title: Introduction
4 | ---
5 | # Integrate Piwik
6 |
7 | Welcome to the *Integrate* section of the Piwik Developer Zone. If you are interested in integrating Matomo with your application, you are at the right place!
8 |
9 | This section contains guides that will help you to:
10 |
11 | - track your website, mobile application, etc. using the **Tracking API**
12 | - query and use Piwik data by using the **Reporting API**
13 |
--------------------------------------------------------------------------------
/docs/3.x/media-analytics.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - media-analytics/setup
5 | - media-analytics/options
6 | - media-analytics/custom-player
7 | - media-analytics/faq
8 | - media-analytics/reference
9 | ---
10 | # Media Analytics
11 |
12 | This section contains guides that will help you track your video and audio using Piwik.
13 |
14 | [Media Analytics](https://www.media-analytics.net) is a plugin for Piwik that can be purchased
15 | on the [Piwik Marketplace](https://plugins.piwik.org/MediaAnalytics).
16 | It is developed by [InnoCraft](https://www.innocraft.com), the makers of Piwik.
17 | If you want to learn more about this plugin we recommend having a look at the developer guides,
18 | the [Media Analytics User Guide](https://piwik.org/docs/media-analytics/) and the [Media Analytics FAQs](https://piwik.org/faq/media-analytics/).
19 |
20 | We recommend to start with the [setting up Media Analytics guide](/guides/media-analytics/setup).
21 |
--------------------------------------------------------------------------------
/docs/3.x/piwik-in-depth-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: DevelopInDepth
3 | title: Introduction
4 | ---
5 | # Piwik In Depth
6 |
7 | Welcome to the *Matomo In Depth* section of the Piwik Developer Zone.
8 | If you are interested in contributing to the Matomo core or if you want to get more insight into Piwik, you are at the right place!
9 |
10 | This section contains guides that will help you to:
11 |
12 | - understand **how Piwik works in depth**
13 | - **contribute** to Piwik itself to fix bugs or add new features
14 |
15 | Use the sidebar to navigate through the guides. Here is a list of guides to get you started:
16 |
17 | - [How Piwik Works](/guides/how-piwik-works)
18 | - [Contributing to Piwik Core](/guides/contributing-to-piwik-core)
19 |
--------------------------------------------------------------------------------
/docs/3.x/piwiks-extensibility-points.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: DevelopInDepth
3 | ---
4 | # Piwik's Extensibility Points
5 |
6 | Plugins can extend Piwik using the following methods:
7 |
8 | - using **events** see [Events](/guides/events)
9 | - implementing **special classes** that are recognized by Piwik see [Plugin Basics under Develop](/develop)
10 |
11 | ## Learn More
12 |
13 | * To learn **about every event that Piwik posts** [read the event docs](/api-reference/events).
14 | * To learn **more about the Twig filters and functions Piwik defines** read the documentation for the [View](/api-reference/Piwik/View) class.
15 | * To learn **about API and Controller classes** read our [Controllers](/guides/controllers) or [APIs](/guides/apis) guides.
16 | * To learn **about Archiver classes** read our [Archiving](/guides/archiving) guide.
17 | * To learn **about plugin settings** read our [Plugin Settings](/guides/plugin-settings) guide.
18 | * To learn **about creating new report visualizations** read our [Visualizing Report Data](/guides/visualizing-report-data) guide.
19 |
--------------------------------------------------------------------------------
/docs/3.x/reporting-api-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: API Reference
3 | subGuides:
4 | - reporting-api
5 | - reporting-api-metadata
6 | - reporting-api-segmentation
7 | ---
8 | # Reporting HTTP API
9 |
10 | This section contains the API reference for the Reporting HTTP API.
11 |
12 | The Metadata and Segmentation API references are split into dedicated articles in order to keep them shorter and readable.
13 |
--------------------------------------------------------------------------------
/docs/3.x/reporting-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - reporting-api-tutorial
5 | - querying-the-reporting-api
6 | - reporting-api-clients
7 | ---
8 | # Accessing Piwik data
9 |
10 | This section contains guides that will help you query Piwik's reporting data to integrate it into your application.
11 |
12 | ## API references
13 |
14 | If you are looking for more low-level and detailed information, have a look at the following API references:
15 |
16 | - [The Reporting API](/api-reference/reporting-api)
17 | - [The Metadata API](/api-reference/metadata)
18 | - [The Segmentation API](/api-reference/segmentation)
19 |
--------------------------------------------------------------------------------
/docs/3.x/tagmanager/faq.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | ---
4 | # Developer FAQ
5 |
6 | This page is the Developer FAQ for the [Matomo Tag Manager](https://plugins.matomo.org/TagManager).
7 | You may also be interested in the [Matomo Tag Manager User FAQs](https://matomo.org/faq/tag-manager) or the [Matomo Tag Manager User Guide](https://matomo.org/docs/tag-manager).
8 |
9 | ## Do I need to minify my tag, trigger, or variable?
10 |
11 | Usually not. The system will automatically minify your template when a container is being created so you don't always have to remember to minify your template after each change.
12 |
13 | However, the minifier we use in PHP is quite basic and does for example not rename any variables to reduce the file size. It does remove unneeded comments and whitespace though. If your template is very large, for example larger than 30kb, you may want to provide a minified version of your template as well. You can do this by minifying your template and naming the file `.web.min.js`.
14 |
15 | For example if your tag is implemented in `PopupTag.web.js`, you may provide a `PopupTag.web.min.js`.
16 |
17 | ## How do I change the available environments in the Tag Manager?
18 |
19 | If you self host your Matomo on premise, you can configure the list of available environments in the plugin settings by going to "Administration => Plugin Settings".
20 |
21 | The "live" environment will always be present.
--------------------------------------------------------------------------------
/docs/3.x/tagmanager/introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - tagmanager/embedding
5 | - tagmanager/datalayer
6 | - tagmanager/debugging
7 | - tagmanager/integration-plugin
8 | ---
9 | # Tag Manager
10 |
11 | This section contains guides that will help you integrate Matomo Tag Manager into your website.
12 |
13 | ## API references & Developer guides
14 |
15 | If you are looking for more low-level and detailed information, have a look at the following docs:
16 |
17 | - [The Tag Manager Developer Guides](/guides/tagmanager/settingup)
18 | - [The Tag Manager JavaScript API Reference](/guides/tagmanager/javascript-api-reference)
19 | - [The Tag Manager HTTP API Reference](/api-reference/reporting-api#TagManager)
--------------------------------------------------------------------------------
/docs/3.x/tracking-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - tracking-api-clients
5 | - tracking-javascript-guide
6 | - spa-tracking
7 | - tracking-consent
8 | - content-tracking
9 | ---
10 | # Tracking your application
11 |
12 | This section contains guides that will help you track your application using Piwik.
13 |
14 | ## API references
15 |
16 | If you are looking for more low-level and detailed information, have a look at the following API references:
17 |
18 | - [The JavaScript tracking client](/api-reference/tracking-javascript)
19 | - [The Tracking HTTP API](/api-reference/tracking-api)
20 |
--------------------------------------------------------------------------------
/docs/4.x/api-reference-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: API Reference
3 | title: Introduction
4 | ---
5 | # API Reference
6 |
7 | The API Reference contains low-level details on Piwik APIs and codebase.
8 |
9 | You will find here documentation on Piwik's HTTP APIs, JavaScript client, Java and PHP classes, methods and hooks.
10 |
--------------------------------------------------------------------------------
/docs/4.x/crash-analytics.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - crash-analytics/setup
5 | - crash-analytics/options
6 | - crash-analytics/faq
7 | - crash-analytics/reference
8 | - crash-analytics/server
9 | ---
10 | # Crash Analytics
11 |
12 | This section contains guides that will help you track any crashes that occur in your app using Matomo.
13 |
14 | **Crash Analytics** is a plugin for Matomo that can be purchased on the [Matomo Marketplace](https://plugins.matomo.org/CrashAnalytics).
15 | It is developed by [InnoCraft](https://www.innocraft.com), the makers of Matomo.
16 | If you want to learn more about this plugin we recommend having a look at the developer guides,
17 | the [Crash Analytics User Guide](https://matomo.org/guide/reports/crash-analytics/) and the [Crash Analytics FAQs](https://matomo.org/crash-analytics/on-premise-faqs-crash-analytics/).
18 |
--------------------------------------------------------------------------------
/docs/4.x/design-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | subGuides:
4 | - theming
5 | ---
6 | # Themes
7 |
8 | In Piwik, themes are special types of plugins that change the look and feel of Piwik's UI.
9 | They use CSS and LESS to override the default styles defined by other Piwik plugins.
10 |
11 | The following guides will help you create your own theme to customize how Piwik looks.
12 |
--------------------------------------------------------------------------------
/docs/4.x/develop-getting-started.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Getting started
4 | subGuides:
5 | - getting-started-part-1
6 | - distributing-your-plugin
7 | ---
8 |
--------------------------------------------------------------------------------
/docs/4.x/develop-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Introduction
4 | ---
5 | # Develop
6 |
7 | Welcome to the *Develop* section of the Piwik Developer Zone. If you are interested in customizing Matomo, you are in the right place!
8 |
9 | This section contains guides that will help you create **Plugins** and **Themes** to customize Matomo (Piwik), or to add new features to Matomo.
10 |
11 | If you want to get more insight into how Matomo works behind the API's check out our [Matomo In Depth](/piwik-in-depth) section.
12 |
13 | Use the sidebar to navigate through the guides. Here is a list of guides to get you started:
14 |
15 | - [Getting Started: Setting up](/guides/getting-started-part-1)
16 | - [Distributing Your Plugin](/guides/distributing-your-plugin)
17 |
--------------------------------------------------------------------------------
/docs/4.x/develop-migration.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Migrations
4 | subGuides:
5 | - migrate-matomo-3-to-4
6 | - migrate-piwik-2-to-3
7 | ---
8 |
9 |
--------------------------------------------------------------------------------
/docs/4.x/develop-plugin-analytics.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Analytics
4 | subGuides:
5 | - custom-reports
6 | - dimensions
7 | - widgets
8 | - visualizing-report-data
9 | - enrich-js-tracker
10 | ---
11 |
12 |
--------------------------------------------------------------------------------
/docs/4.x/develop-plugin-basics.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Plugin Basics
4 | subGuides:
5 | - theming
6 | - plugin-file
7 | - pages
8 | - menus
9 | - request-parameters
10 | - expose-api-methods
11 | - working-with-piwiks-ui
12 | - plugin-settings
13 | - scheduled-tasks
14 | - visitor-log-and-profile
15 | - datatable
16 | - system-check
17 | - piwik-on-the-command-line
18 | - plugin-directory-structure
19 | - dependency-injection
20 | - gdpr
21 | ---
22 |
23 |
--------------------------------------------------------------------------------
/docs/4.x/develop-plugin-tagmanager.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Tag Manager
4 | subGuides:
5 | - tagmanager/settingup
6 | - tagmanager/custom-tag
7 | - tagmanager/custom-trigger
8 | - tagmanager/custom-variable
9 | - tagmanager/parameters
10 | - tagmanager/testing
11 | - tagmanager/faq
12 | ---
13 |
14 |
--------------------------------------------------------------------------------
/docs/4.x/develop-plugin-wordpress.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: WordPress
4 | subGuides:
5 | - wordpress/getting-started
6 | - wordpress/basics
7 | - wordpress/data-access
8 | - wordpress/matomo-plugin
9 | ---
10 |
11 |
--------------------------------------------------------------------------------
/docs/4.x/develop-security.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Security
4 | subGuides:
5 | - security-in-piwik
6 | - permissions
7 | ---
8 |
9 |
--------------------------------------------------------------------------------
/docs/4.x/develop-utils.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Utils
4 | subGuides:
5 | - events
6 | - translations
7 | - notifications
8 | - database
9 | - extending-database
10 | - logging
11 | - sending-emails
12 | - providing-updates
13 | ---
14 |
15 |
--------------------------------------------------------------------------------
/docs/4.x/form-analytics.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - form-analytics/setup
5 | - form-analytics/faq
6 | - form-analytics/reference
7 | ---
8 | # Form Analytics
9 |
10 | This section contains guides that will help you track your online web forms using Piwik.
11 |
12 | [Form Analytics](https://www.form-analytics.net) is a plugin for Piwik that can be purchased
13 | on the [Piwik Marketplace](https://plugins.matomo.org/premium) soon. It adds over 50 new metrics to your Piwik, several
14 | new segments, more than 10 new reports, real time reports, and widgets that you can add to your dashboard. This way
15 | you can understand much better how your visitors use your web and application forms to increase your conversions.
16 | Form Analytics is developed by [InnoCraft](https://www.innocraft.com), the makers of Piwik.
17 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Interfaces.md:
--------------------------------------------------------------------------------
1 | Interfaces
2 | ==========
3 |
4 | This is a complete list of available interfaces:
5 |
6 | - [`Piwik\Auth`](Piwik/Auth.md) — Base interface for authentication implementations.
7 | - [`Piwik\Plugins\Diagnostics\Diagnostic\Diagnostic`](Piwik/Plugins/Diagnostics/Diagnostic/Diagnostic.md) — Performs a diagnostic on the system or Piwik.
8 | - [`Piwik\View\ViewInterface`](Piwik/View/ViewInterface.md) — Rendering interface for all "view" types.
9 |
--------------------------------------------------------------------------------
/docs/4.x/generated/PROJECT_VERSION:
--------------------------------------------------------------------------------
1 | 4.x-dev
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Columns/ComputedMetricFactory.md:
--------------------------------------------------------------------------------
1 | Piwik\Columns\
2 |
3 | ComputedMetricFactory
4 | =====================
5 |
6 | A factory to create computed metrics.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`createComputedMetric()`](#createcomputedmetric)
14 |
15 |
16 |
17 | ### `createComputedMetric()`
18 |
19 | #### Signature
20 |
21 | - It accepts the following parameter(s):
22 | - `$metricName1`
23 |
24 | - `$metricName2`
25 |
26 | - `$aggregation`
27 |
28 | - It returns a `Piwik\Plugin\ComputedMetric` value.
29 |
30 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Columns/Join.md:
--------------------------------------------------------------------------------
1 | Piwik\Columns\
2 |
3 | Join
4 | ====
5 |
6 | Since Matomo 3.1.0
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`__construct()`](#__construct) — Join constructor.
14 | - [`getTable()`](#gettable)
15 | - [`getColumn()`](#getcolumn)
16 | - [`getTargetColumn()`](#gettargetcolumn)
17 |
18 |
19 |
20 | ### `__construct()`
21 |
22 | Join constructor.
23 |
24 | #### Signature
25 |
26 | - It accepts the following parameter(s):
27 | - `$table`
28 |
29 | - `$column`
30 |
31 | - `$targetColumn`
32 |
33 | - It throws one of the following exceptions:
34 | - [`Exception`](http://php.net/class.Exception)
35 |
36 |
37 |
38 | ### `getTable()`
39 |
40 | #### Signature
41 |
42 | - It returns a `string` value.
43 |
44 |
45 |
46 | ### `getColumn()`
47 |
48 | #### Signature
49 |
50 | - It returns a `string` value.
51 |
52 |
53 |
54 | ### `getTargetColumn()`
55 |
56 | #### Signature
57 |
58 | - It returns a `string` value.
59 |
60 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Columns/Updater.md:
--------------------------------------------------------------------------------
1 | Piwik\Columns\
2 |
3 | Updater
4 | =======
5 |
6 | Class that handles dimension updates
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getMigrations()`](#getmigrations)
14 | - [`doUpdate()`](#doupdate) — Perform the incremental version update. Inherited from [`Updates`](../../Piwik/Updates.md)
15 |
16 |
17 |
18 | ### `getMigrations()`
19 |
20 | #### Signature
21 |
22 | - It accepts the following parameter(s):
23 | - `$updater` ([`Updater`](../../Piwik/Updater.md)) —
24 |
25 | - It returns a [`Migration[]`](../../Piwik/Updater/Migration.md) value.
26 |
27 |
28 |
29 | ### `doUpdate()`
30 |
31 | Perform the incremental version update.
32 |
33 | This method should perform all updating logic. If you define migrations in an overridden `getMigrations()`
34 | method, you must call Updater::executeMigrations() here.
35 |
36 | See \Piwik\Plugins\ExamplePlugin\Updates\Updates\_0\_0\_2 for an example.
37 |
38 | #### Signature
39 |
40 | - It accepts the following parameter(s):
41 | - `$updater` ([`Updater`](../../Piwik/Updater.md)) —
42 |
43 | - It does not return anything or a mixed result.
44 |
45 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Console.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | Console
4 | =======
5 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/DbHelper.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | DbHelper
4 | ========
5 |
6 | Contains database related helper functions.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`createTable()`](#createtable) — Creates a new table in the database.
14 |
15 |
16 |
17 | ### `createTable()`
18 |
19 | Creates a new table in the database.
20 |
21 | Example:
22 | ```
23 | $tableDefinition = "`age` INT(11) NOT NULL AUTO_INCREMENT,
24 | `name` VARCHAR(255) NOT NULL";
25 |
26 | DbHelper::createTable('tablename', $tableDefinition);
27 | ``
28 |
29 | #### Signature
30 |
31 | - It accepts the following parameter(s):
32 | - `$nameWithoutPrefix` (`string`) —
33 | The name of the table without any piwik prefix.
34 | - `$createDefinition` (`string`) —
35 | The table create definition
36 | - It does not return anything or a mixed result.
37 |
38 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Intl/Data/Provider/CurrencyDataProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Intl\Data\Provider\
2 |
3 | CurrencyDataProvider
4 | ====================
5 |
6 | Provides currency data.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getCurrencyList()`](#getcurrencylist) — Returns the list of all known currency symbols.
14 |
15 |
16 |
17 | ### `getCurrencyList()`
18 |
19 | Returns the list of all known currency symbols.
20 |
21 | #### Signature
22 |
23 |
24 | - *Returns:* `array` —
25 | An array mapping currency codes to their respective currency symbols
26 | and a description, eg, `array('USD' => array('$', 'US dollar'))`.
27 |
28 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Intl/Data/Provider/LanguageDataProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Intl\Data\Provider\
2 |
3 | LanguageDataProvider
4 | ====================
5 |
6 | Provides language data.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getLanguageList()`](#getlanguagelist) — Returns the list of valid language codes.
14 | - [`getLanguageToCountryList()`](#getlanguagetocountrylist) — Returns the list of language to country mappings.
15 |
16 |
17 |
18 | ### `getLanguageList()`
19 |
20 | Returns the list of valid language codes.
21 |
22 | #### Signature
23 |
24 |
25 | - *Returns:* `string[]` —
26 | Array of 2 letter ISO code => language name (in english).
27 | E.g. `array('en' => 'English', 'ja' => 'Japanese')`.
28 |
29 |
30 |
31 | ### `getLanguageToCountryList()`
32 |
33 | Returns the list of language to country mappings.
34 |
35 | #### Signature
36 |
37 |
38 | - *Returns:* `string[]` —
39 | Array of 2 letter ISO language code => 2 letter ISO country code.
40 | E.g. `array('fr' => 'fr') // French => France`.
41 |
42 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Intl/Data/Provider/RegionDataProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Intl\Data\Provider\
2 |
3 | RegionDataProvider
4 | ==================
5 |
6 | Provides region related data (continents, countries, etc.).
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getContinentList()`](#getcontinentlist) — Returns the list of continent codes.
14 | - [`getCountryList()`](#getcountrylist) — Returns the list of valid country codes.
15 |
16 |
17 |
18 | ### `getContinentList()`
19 |
20 | Returns the list of continent codes.
21 |
22 | #### Signature
23 |
24 |
25 | - *Returns:* `string[]` —
26 | Array of 3 letter continent codes
27 |
28 |
29 |
30 | ### `getCountryList()`
31 |
32 | Returns the list of valid country codes.
33 |
34 | #### Signature
35 |
36 | - It accepts the following parameter(s):
37 | - `$includeInternalCodes` (`bool`) —
38 |
39 |
40 | - *Returns:* `string[]` —
41 | Array of 2 letter country ISO codes => 3 letter continent code
42 |
43 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/NoAccessException.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | NoAccessException
4 | =================
5 |
6 | Exception thrown when a user doesn't have sufficient access to a resource.
7 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Notification/Manager.md:
--------------------------------------------------------------------------------
1 | Piwik\Notification\
2 |
3 | Manager
4 | =======
5 |
6 | Posts and removes UI notifications (see [Notification](/api-reference/Piwik/Notification) to learn more).
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`notify()`](#notify) — Posts a notification that will be shown in Piwik's status bar.
14 |
15 |
16 |
17 | ### `notify()`
18 |
19 | Posts a notification that will be shown in Piwik's status bar. If a notification with the same ID
20 | has been posted and has not been closed/removed, it will be replaced with `$notification`.
21 |
22 | #### Signature
23 |
24 | - It accepts the following parameter(s):
25 | - `$id` (`string`) —
26 | A unique identifier for this notification. The ID must be a valid HTML element ID. It can only contain alphanumeric characters (underscores can be used).
27 | - `$notification` ([`Notification`](../../Piwik/Notification.md)) —
28 | The notification to post.
29 |
30 | - *Returns:* `bool` —
31 | true if the notification was added, false if it was ignored because there were too many
32 | pending ones.
33 |
34 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Plugins/CustomDimensions/Dimension/Name.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\CustomDimensions\Dimension\
2 |
3 | Name
4 | ====
5 |
6 | Methods
7 | -------
8 |
9 | The class defines the following methods:
10 |
11 | - [`getBlockedCharacters()`](#getblockedcharacters)
12 |
13 |
14 |
15 | ### `getBlockedCharacters()`
16 |
17 | #### Signature
18 |
19 | - It does not return anything or a mixed result.
20 |
21 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Plugins/Diagnostics/Diagnostic/Diagnostic.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Diagnostics\Diagnostic\
2 |
3 | Diagnostic
4 | ==========
5 |
6 | Performs a diagnostic on the system or Piwik.
7 |
8 | Example:
9 |
10 | class MyDiagnostic implements Diagnostic
11 | {
12 | public function execute()
13 | {
14 | $results = array();
15 |
16 | // First check (error)
17 | $status = testSomethingIsOk() ? DiagnosticResult::STATUS_OK : DiagnosticResult::STATUS_ERROR;
18 | $results[] = DiagnosticResult::singleResult('First check', $status);
19 |
20 | // Second check (warning)
21 | $status = testSomethingElseIsOk() ? DiagnosticResult::STATUS_OK : DiagnosticResult::STATUS_WARNING;
22 | $results[] = DiagnosticResult::singleResult('Second check', $status);
23 |
24 | return $results;
25 | }
26 | }
27 |
28 | Diagnostics are loaded with dependency injection support.
29 |
30 | Methods
31 | -------
32 |
33 | The interface defines the following methods:
34 |
35 | - [`execute()`](#execute)
36 |
37 |
38 |
39 | ### `execute()`
40 |
41 | #### Signature
42 |
43 | - It returns a [`DiagnosticResult[]`](../../../../Piwik/Plugins/Diagnostics/Diagnostic/DiagnosticResult.md) value.
44 |
45 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Plugins/Diagnostics/Diagnostic/DiagnosticResultItem.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Diagnostics\Diagnostic\
2 |
3 | DiagnosticResultItem
4 | ====================
5 |
6 | Methods
7 | -------
8 |
9 | The class defines the following methods:
10 |
11 | - [`__construct()`](#__construct)
12 | - [`getStatus()`](#getstatus)
13 | - [`getComment()`](#getcomment)
14 |
15 |
16 |
17 | ### `__construct()`
18 |
19 | #### Signature
20 |
21 | - It accepts the following parameter(s):
22 | - `$status`
23 |
24 | - `$comment`
25 |
26 |
27 |
28 |
29 | ### `getStatus()`
30 |
31 | #### Signature
32 |
33 | - It returns a `string` value.
34 |
35 |
36 |
37 | ### `getComment()`
38 |
39 | #### Signature
40 |
41 | - It returns a `string` value.
42 |
43 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Plugins/Diagnostics/DiagnosticService.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Diagnostics\
2 |
3 | DiagnosticService
4 | =================
5 |
6 | Runs the Piwik diagnostics.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`__construct()`](#__construct)
14 | - [`runDiagnostics()`](#rundiagnostics)
15 |
16 |
17 |
18 | ### `__construct()`
19 |
20 | #### Signature
21 |
22 | - It accepts the following parameter(s):
23 | - `$mandatoryDiagnostics` (`array`) —
24 |
25 | - `$optionalDiagnostics` (`array`) —
26 |
27 | - `$informationDiagnostics` (`array`) —
28 |
29 | - `$disabledDiagnostics` (`array`) —
30 |
31 |
32 |
33 |
34 | ### `runDiagnostics()`
35 |
36 | #### Signature
37 |
38 | - It returns a `Piwik\Plugins\Diagnostics\DiagnosticReport` value.
39 |
40 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Plugins/Live/ProfileSummaryProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Live\
2 |
3 | ProfileSummaryProvider
4 | ======================
5 |
6 | Methods
7 | -------
8 |
9 | The class defines the following methods:
10 |
11 | - [`getAllProfileSummaryClasses()`](#getallprofilesummaryclasses) — Returns class names of all VisitorDetails classes.
12 |
13 |
14 |
15 | ### `getAllProfileSummaryClasses()`
16 |
17 | Returns class names of all VisitorDetails classes.
18 |
19 | #### Signature
20 |
21 | - It returns a `string[]` value.
22 |
23 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Plugins/Live/Visitor.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Live\
2 |
3 | Visitor
4 | =======
5 |
6 | Methods
7 | -------
8 |
9 | The class defines the following methods:
10 |
11 | - [`getAllVisitorDetailsClasses()`](#getallvisitordetailsclasses) — Returns class names of all VisitorDetails classes.
12 |
13 |
14 |
15 | ### `getAllVisitorDetailsClasses()`
16 |
17 | Returns class names of all VisitorDetails classes.
18 |
19 | #### Signature
20 |
21 | - It returns a `string[]` value.
22 |
23 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Singleton.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | Singleton
4 | =========
5 |
6 | The singleton base class restricts the instantiation of derived classes to one object only.
7 |
8 | All plugin APIs are singletons and thus extend this class.
9 |
10 | Methods
11 | -------
12 |
13 | The class defines the following methods:
14 |
15 | - [`getInstance()`](#getinstance) — Returns the singleton instance for the derived class.
16 |
17 |
18 |
19 | ### `getInstance()`
20 |
21 | Returns the singleton instance for the derived class. If the singleton instance
22 | has not been created, this method will create it.
23 |
24 | #### Signature
25 |
26 | - It returns a [`Singleton`](../Piwik/Singleton.md) value.
27 |
28 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Updater/Migration/Config/Factory.md:
--------------------------------------------------------------------------------
1 | Piwik\Updater\Migration\Config\
2 |
3 | Factory
4 | =======
5 |
6 | Provides config migrations.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`set()`](#set) — Sets a configuration to the Matomo config file
14 |
15 |
16 |
17 | ### `set()`
18 |
19 | Sets a configuration to the Matomo config file
20 |
21 | #### Signature
22 |
23 | - It accepts the following parameter(s):
24 | - `$section` (`string`) —
25 |
26 | - `$key` (`string`) —
27 |
28 | - `$value` (`string`) —
29 |
30 | - It returns a `Piwik\Updater\Migration\Config\Set` value.
31 |
32 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Updater/Migration/Factory.md:
--------------------------------------------------------------------------------
1 | Piwik\Updater\Migration\
2 |
3 | Factory
4 | =======
5 |
6 | Migration factory to create various migrations that implement the Migration interface.
7 |
8 | Properties
9 | ----------
10 |
11 | This class defines the following properties:
12 |
13 | - [`$db`](#$db)
14 | - [`$plugin`](#$plugin)
15 | - [`$config`](#$config)
16 |
17 |
18 |
19 | ### `$db`
20 |
21 | #### Signature
22 |
23 | - It is a [`Factory`](../../../Piwik/Updater/Migration/Db/Factory.md) value.
24 |
25 |
26 |
27 | ### `$plugin`
28 |
29 | #### Signature
30 |
31 | - It is a [`Factory`](../../../Piwik/Updater/Migration/Plugin/Factory.md) value.
32 |
33 |
34 |
35 | ### `$config`
36 |
37 | #### Signature
38 |
39 | - It is a [`Factory`](../../../Piwik/Updater/Migration/Config/Factory.md) value.
40 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/Version.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | Version
4 | =======
5 |
6 | Matomo version information.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`isStableVersion()`](#isstableversion)
14 | - [`isVersionNumber()`](#isversionnumber)
15 |
16 |
17 |
18 | ### `isStableVersion()`
19 |
20 | #### Signature
21 |
22 | - It accepts the following parameter(s):
23 | - `$version`
24 |
25 | - It does not return anything or a mixed result.
26 |
27 |
28 |
29 | ### `isVersionNumber()`
30 |
31 | #### Signature
32 |
33 | - It accepts the following parameter(s):
34 | - `$version`
35 |
36 | - It does not return anything or a mixed result.
37 |
38 |
--------------------------------------------------------------------------------
/docs/4.x/generated/Piwik/View/ViewInterface.md:
--------------------------------------------------------------------------------
1 | Piwik\View\
2 |
3 | ViewInterface
4 | =============
5 |
6 | Rendering interface for all "view" types.
7 |
8 | Methods
9 | -------
10 |
11 | The interface defines the following methods:
12 |
13 | - [`render()`](#render) — Returns data.
14 |
15 |
16 |
17 | ### `render()`
18 |
19 | Returns data.
20 |
21 | #### Signature
22 |
23 |
24 | - *Returns:* `string` —
25 | Serialized data, eg, (image, array, html...).
26 |
27 |
--------------------------------------------------------------------------------
/docs/4.x/generated/SAMI_VERSION:
--------------------------------------------------------------------------------
1 | 4.0.14-DEV
--------------------------------------------------------------------------------
/docs/4.x/in-depth-reporting-api.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Piwik In Depth
3 | title: Reporting API
4 | subGuides:
5 | - piwiks-reporting-api
6 | ---
7 |
--------------------------------------------------------------------------------
/docs/4.x/in-depth-tests.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Tests
4 | subGuides:
5 | - tests-system
6 | - tests-in-depth-faq
7 | - tests-travis-extended
8 | ---
9 |
--------------------------------------------------------------------------------
/docs/4.x/in-depth-tools.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Tools
4 | subGuides:
5 | - phpstorm
6 | - php
7 | - git
8 | ---
9 |
--------------------------------------------------------------------------------
/docs/4.x/in-depth-understanding-piwik.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Understanding Matomo
4 | subGuides:
5 | - our-mission
6 | - how-piwik-works
7 | - http-request-handling
8 | - authentication-in-depth
9 | - piwiks-extensibility-points
10 | - multi-tenants
11 | - jstracker-core
12 | - in-depth-opt-out
13 | - tracking-requests
14 | - segments
15 | ---
16 |
--------------------------------------------------------------------------------
/docs/4.x/in-depth-utils.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Utils
4 | subGuides:
5 | - piwiks-ini-configuration
6 | - user-in-depth
7 | - angularjs-getting-started
8 | - vue-getting-started
9 | - vue-troubleshooting
10 | - caching-in-matomo
11 | - updates-aka-migrations
12 | - marketplace-http-api
13 | ---
14 |
--------------------------------------------------------------------------------
/docs/4.x/in-depth-web-interface.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Web Interface
4 | subGuides:
5 | - design-ux
6 | - custom-reports-extended
7 | - controllers
8 | - views
9 | - in-depth-vue
10 | - javascript-extended
11 | - themable-plugins
12 | - matomo-font
13 | ---
14 |
--------------------------------------------------------------------------------
/docs/4.x/integrate-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | title: Introduction
4 | ---
5 | # Integrate Piwik
6 |
7 | Welcome to the *Integrate* section of the Piwik Developer Zone. If you are interested in integrating Matomo with your application, you are at the right place!
8 |
9 | This section contains guides that will help you to:
10 |
11 | - track your website, mobile application, etc. using the **Tracking API**
12 | - query and use Piwik data by using the **Reporting API**
13 |
--------------------------------------------------------------------------------
/docs/4.x/media-analytics.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - media-analytics/setup
5 | - media-analytics/options
6 | - media-analytics/custom-player
7 | - media-analytics/faq
8 | - media-analytics/reference
9 | ---
10 | # Media Analytics
11 |
12 | This section contains guides that will help you track your video and audio using Piwik.
13 |
14 | [Media Analytics](https://www.media-analytics.net) is a plugin for Piwik that can be purchased
15 | on the [Matomo Marketplace](https://plugins.matomo.org/MediaAnalytics).
16 | It is developed by [InnoCraft](https://www.innocraft.com), the makers of Matomo.
17 | If you want to learn more about this plugin we recommend having a look at the developer guides,
18 | the [Media Analytics User Guide](https://matomo.org/docs/media-analytics/) and the [Media Analytics FAQs](https://matomo.org/faq/media-analytics/).
19 |
20 | We recommend to start with the [setting up Media Analytics guide](/guides/media-analytics/setup).
21 |
--------------------------------------------------------------------------------
/docs/4.x/piwik-in-depth-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: DevelopInDepth
3 | title: Introduction
4 | ---
5 | # Matomo In Depth
6 |
7 | Welcome to the *Matomo In Depth* section of the Matomo Developer Zone.
8 | If you are interested in contributing to the Matomo core or if you want to get more insight into Matomo, you are at the right place!
9 |
10 | This section contains guides that will help you to:
11 |
12 | - understand **how Matomo works in depth**
13 | - **contribute** to Matomo itself to fix bugs or add new features
14 |
15 | Use the sidebar to navigate through the guides. Here is a list of guides to get you started:
16 |
17 | - [How Matomo Works](/guides/how-piwik-works)
18 | - [Contributing to Matomo Core](/guides/contributing-to-piwik-core)
19 |
--------------------------------------------------------------------------------
/docs/4.x/piwiks-extensibility-points.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: DevelopInDepth
3 | ---
4 | # Matomo's Extensibility Points
5 |
6 | Plugins can extend Piwik using the following methods:
7 |
8 | - using **events** see [Events](/guides/events)
9 | - implementing **special classes** that are recognized by Piwik see [Plugin Basics under Develop](/develop)
10 |
11 | ## Learn More
12 |
13 | * To learn **about every event that Piwik posts** [read the event docs](/api-reference/events).
14 | * To learn **more about the Twig filters and functions Piwik defines** read the documentation for the [View](/api-reference/Piwik/View) class.
15 | * To learn **about API and Controller classes** read our [Controllers](/guides/controllers) or [APIs](/guides/apis) guides.
16 | * To learn **about Archiver classes** read our [Archiving](/guides/archiving) guide.
17 | * To learn **about plugin settings** read our [Plugin Settings](/guides/plugin-settings) guide.
18 | * To learn **about creating new report visualizations** read our [Visualizing Report Data](/guides/visualizing-report-data) guide.
19 |
--------------------------------------------------------------------------------
/docs/4.x/reporting-api-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: API Reference
3 | subGuides:
4 | - reporting-api
5 | - reporting-api-metadata
6 | - reporting-api-segmentation
7 | ---
8 | # Reporting HTTP API
9 |
10 | This section contains the API reference for the Reporting HTTP API.
11 |
12 | The Metadata and Segmentation API references are split into dedicated articles in order to keep them shorter and readable.
13 |
--------------------------------------------------------------------------------
/docs/4.x/reporting-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - reporting-api-tutorial
5 | - querying-the-reporting-api
6 | - reporting-api-clients
7 | ---
8 | # Accessing Piwik data
9 |
10 | This section contains guides that will help you query Piwik's reporting data to integrate it into your application.
11 |
12 | ## API references
13 |
14 | If you are looking for more low-level and detailed information, have a look at the following API references:
15 |
16 | - [The Reporting API](/api-reference/reporting-api)
17 | - [The Metadata API](/api-reference/metadata)
18 | - [The Segmentation API](/api-reference/segmentation)
19 |
--------------------------------------------------------------------------------
/docs/4.x/tagmanager/faq.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | ---
4 | # Developer FAQ
5 |
6 | This page is the Developer FAQ for the [Matomo Tag Manager](https://plugins.matomo.org/TagManager).
7 | You may also be interested in the [Matomo Tag Manager User FAQs](https://matomo.org/faq/tag-manager) or the [Matomo Tag Manager User Guide](https://matomo.org/docs/tag-manager).
8 |
9 | ## Do I need to minify my tag, trigger, or variable?
10 |
11 | Usually not. The system will automatically minify your template when a container is being created so you don't always have to remember to minify your template after each change.
12 |
13 | However, the minifier we use in PHP is quite basic and does for example not rename any variables to reduce the file size. It does remove unneeded comments and whitespace though. If your template is very large, for example larger than 30kb, you may want to provide a minified version of your template as well. You can do this by minifying your template and naming the file `.web.min.js`.
14 |
15 | For example if your tag is implemented in `PopupTag.web.js`, you may provide a `PopupTag.web.min.js`.
16 |
17 | ## How do I change the available environments in the Tag Manager?
18 |
19 | If you self host your Matomo on premise, you can configure the list of available environments in the plugin settings by going to "Administration => Plugin Settings".
20 |
21 | The "live" environment will always be present.
--------------------------------------------------------------------------------
/docs/4.x/tagmanager/in-depth.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: DevelopInDepth
3 | title: Tag Manager
4 | ---
5 | # Matomo Tag Manager In Depth
6 |
7 | This page is mostly aimed for Matomo contributors. If you are looking for instructions on how to extend the Tag Manager please also have a look at the [Tag Manager Develop guides](/guides/tagmanager/introduction) and the [Tag Manager JS API reference](/api-reference/tagmanager/javascript-api-reference).
8 |
9 | ## What browsers do we support in the Tag Manager containers?
10 |
11 | We support the [same browsers as the JavaScript Tracker](/guides/tracking-javascript-guide#supported-browsers) does.
12 |
13 | Some tags, variables, or triggers may require newer browser versions though which can be fine as long as the code doesn't break in older browsers.
14 |
15 | ## How do I minify the TagManager JavaScript file
16 |
17 | Open the file `javascripts/tagmanager.js`. In the beginning of the file you will find a comment with instructions on how to minify the file like this:
18 |
19 | ```html
20 | /**
21 | * To minify execute
22 | * cat javascripts/tagmanager.js ...
23 | */
24 | ```
25 |
26 | ## When I change tagmanager.js or a tag / trigger / variable how do I test these changes?
27 |
28 | It's currently required to run the command `./console tagmanager:regenerate-released-containers` to update all container JS files whenever you modify any of these files.
29 |
--------------------------------------------------------------------------------
/docs/4.x/tagmanager/introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - tagmanager/embedding
5 | - tagmanager/datalayer
6 | - tagmanager/debugging
7 | - tagmanager/integration-plugin
8 | ---
9 | # Tag Manager
10 |
11 | This section contains guides that will help you integrate Matomo Tag Manager into your website.
12 |
13 | ## API references & Developer guides
14 |
15 | If you are looking for more low-level and detailed information, have a look at the following docs:
16 |
17 | - [The Tag Manager Developer Guides](/guides/tagmanager/settingup)
18 | - [The Tag Manager JavaScript API Reference](/guides/tagmanager/javascript-api-reference)
19 | - [The Tag Manager HTTP API Reference](/api-reference/reporting-api#TagManager)
--------------------------------------------------------------------------------
/docs/4.x/tracking-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - tracking-api-clients
5 | - tracking-javascript-guide
6 | - spa-tracking
7 | - tracking-consent
8 | - tracking-optout
9 | - content-tracking
10 | ---
11 | # Tracking your application
12 |
13 | This section contains guides that will help you track your application using Piwik.
14 |
15 | ## API references
16 |
17 | If you are looking for more low-level and detailed information, have a look at the following API references:
18 |
19 | - [The JavaScript tracking client](/api-reference/tracking-javascript)
20 | - [The Tracking HTTP API](/api-reference/tracking-api)
21 |
--------------------------------------------------------------------------------
/docs/4.x/vue-troubleshooting.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: DevelopInDepth
3 | ---
4 |
5 | # Troubleshooting common Vue issues
6 |
7 | ### TypeScript complains component computed property does not exist
8 |
9 | This error occurs sometimes with Vue components that have no props entries where
10 | for some reason, Vue will not add computed properties to the component's `this`
11 | type, so expressions like `this.myComputedProperty` will result in errors.
12 |
13 | This can be fixed by adding explicit return types to your computed properties,
14 | for instance:
15 |
16 | ```typescript
17 | export default defineComponent({
18 | computed: {
19 | myProperty(): string {
20 | return 'test';
21 | },
22 | },
23 | })
24 | ```
25 |
--------------------------------------------------------------------------------
/docs/5.x/api-reference-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: API Reference
3 | title: Introduction
4 | ---
5 | # API Reference
6 |
7 | The API Reference contains low-level details on Piwik APIs and codebase.
8 |
9 | You will find here documentation on Piwik's HTTP APIs, JavaScript client, PHP and Java classes, methods and hooks.
10 |
--------------------------------------------------------------------------------
/docs/5.x/crash-analytics.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - crash-analytics/setup
5 | - crash-analytics/options
6 | - crash-analytics/faq
7 | - crash-analytics/reference
8 | - crash-analytics/server
9 | ---
10 | # Crash Analytics
11 |
12 | This section contains guides that will help you track any crashes that occur in your app using Matomo.
13 |
14 | **Crash Analytics** is a plugin for Matomo that can be purchased on the [Matomo Marketplace](https://plugins.matomo.org/CrashAnalytics).
15 | It is developed by [InnoCraft](https://www.innocraft.com), the makers of Matomo.
16 | If you want to learn more about this plugin we recommend having a look at the developer guides,
17 | the [Crash Analytics User Guide](https://matomo.org/guide/reports/crash-analytics/) and the [Crash Analytics FAQs](https://matomo.org/crash-analytics/on-premise-faqs-crash-analytics/).
18 |
--------------------------------------------------------------------------------
/docs/5.x/design-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | subGuides:
4 | - theming
5 | ---
6 | # Themes
7 |
8 | In Piwik, themes are special types of plugins that change the look and feel of Piwik's UI.
9 | They use CSS and LESS to override the default styles defined by other Piwik plugins.
10 |
11 | The following guides will help you create your own theme to customize how Piwik looks.
12 |
--------------------------------------------------------------------------------
/docs/5.x/develop-getting-started.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Getting started
4 | subGuides:
5 | - getting-started-part-1
6 | - distributing-your-plugin
7 | ---
8 |
--------------------------------------------------------------------------------
/docs/5.x/develop-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Introduction
4 | ---
5 | # Develop
6 |
7 | Welcome to the *Develop* section of the Piwik Developer Zone. If you are interested in customizing Matomo, you are in the right place!
8 |
9 | This section contains guides that will help you create **Plugins** and **Themes** to customize Matomo (Piwik), or to add new features to Matomo.
10 |
11 | If you want to get more insight into how Matomo works behind the API's check out our [Matomo In Depth](/piwik-in-depth) section.
12 |
13 | Use the sidebar to navigate through the guides. Here is a list of guides to get you started:
14 |
15 | - [Getting Started: Setting up](/guides/getting-started-part-1)
16 | - [Distributing Your Plugin](/guides/distributing-your-plugin)
17 |
--------------------------------------------------------------------------------
/docs/5.x/develop-migration.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Migrations
4 | subGuides:
5 | - migrate-matomo-4-to-5
6 | - migrate-matomo-3-to-4
7 | - migrate-piwik-2-to-3
8 | ---
9 |
10 |
--------------------------------------------------------------------------------
/docs/5.x/develop-plugin-analytics.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Analytics
4 | subGuides:
5 | - custom-reports
6 | - dimensions
7 | - widgets
8 | - visualizing-report-data
9 | - enrich-js-tracker
10 | ---
11 |
12 |
--------------------------------------------------------------------------------
/docs/5.x/develop-plugin-basics.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Plugin Basics
4 | subGuides:
5 | - theming
6 | - plugin-file
7 | - pages
8 | - menus
9 | - request-parameters
10 | - expose-api-methods
11 | - working-with-piwiks-ui
12 | - plugin-settings
13 | - scheduled-tasks
14 | - visitor-log-and-profile
15 | - datatable
16 | - system-check
17 | - piwik-on-the-command-line
18 | - plugin-directory-structure
19 | - dependency-injection
20 | - gdpr
21 | ---
22 |
23 |
--------------------------------------------------------------------------------
/docs/5.x/develop-plugin-tagmanager.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Tag Manager
4 | subGuides:
5 | - tagmanager/settingup
6 | - tagmanager/custom-tag
7 | - tagmanager/custom-trigger
8 | - tagmanager/custom-variable
9 | - tagmanager/parameters
10 | - tagmanager/testing
11 | - tagmanager/faq
12 | ---
13 |
14 |
--------------------------------------------------------------------------------
/docs/5.x/develop-plugin-wordpress.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: WordPress
4 | subGuides:
5 | - wordpress/getting-started
6 | - wordpress/basics
7 | - wordpress/data-access
8 | - wordpress/matomo-plugin
9 | ---
10 |
11 |
--------------------------------------------------------------------------------
/docs/5.x/develop-security.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Security
4 | subGuides:
5 | - security-in-piwik
6 | - permissions
7 | ---
8 |
9 |
--------------------------------------------------------------------------------
/docs/5.x/develop-utils.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Utils
4 | subGuides:
5 | - events
6 | - translations
7 | - notifications
8 | - database
9 | - extending-database
10 | - logging
11 | - sending-emails
12 | - providing-updates
13 | ---
14 |
15 |
--------------------------------------------------------------------------------
/docs/5.x/form-analytics.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - form-analytics/setup
5 | - form-analytics/faq
6 | - form-analytics/reference
7 | ---
8 | # Form Analytics
9 |
10 | This section contains guides that will help you track your online web forms using Piwik.
11 |
12 | [Form Analytics](https://www.form-analytics.net) is a plugin for Piwik that can be purchased
13 | on the [Piwik Marketplace](https://plugins.matomo.org/premium) soon. It adds over 50 new metrics to your Piwik, several
14 | new segments, more than 10 new reports, real time reports, and widgets that you can add to your dashboard. This way
15 | you can understand much better how your visitors use your web and application forms to increase your conversions.
16 | Form Analytics is developed by [InnoCraft](https://www.innocraft.com), the makers of Piwik.
17 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Interfaces.md:
--------------------------------------------------------------------------------
1 | Interfaces
2 | ==========
3 |
4 | This is a complete list of available interfaces:
5 |
6 | - [`Piwik\Auth`](Piwik/Auth.md) — Base interface for authentication implementations.
7 | - [`Piwik\Plugins\Diagnostics\Diagnostic\Diagnostic`](Piwik/Plugins/Diagnostics/Diagnostic/Diagnostic.md) — Performs a diagnostic on the system or Piwik.
8 | - [`Piwik\View\ViewInterface`](Piwik/View/ViewInterface.md) — Rendering interface for all "view" types.
9 |
--------------------------------------------------------------------------------
/docs/5.x/generated/PROJECT_VERSION:
--------------------------------------------------------------------------------
1 | 5.x-dev
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Columns/ComputedMetricFactory.md:
--------------------------------------------------------------------------------
1 | Piwik\Columns\
2 |
3 | ComputedMetricFactory
4 | =====================
5 |
6 | A factory to create computed metrics.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`createComputedMetric()`](#createcomputedmetric)
14 |
15 |
16 |
17 | ### `createComputedMetric()`
18 |
19 | #### Signature
20 |
21 | - It accepts the following parameter(s):
22 | - `$metricName1`
23 |
24 | - `$metricName2`
25 |
26 | - `$aggregation`
27 |
28 | - It returns a `Piwik\Plugin\ComputedMetric` value.
29 |
30 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Columns/Join.md:
--------------------------------------------------------------------------------
1 | Piwik\Columns\
2 |
3 | Join
4 | ====
5 |
6 | Since Matomo 3.1.0
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`__construct()`](#__construct) — Join constructor.
14 | - [`getTable()`](#gettable)
15 | - [`getColumn()`](#getcolumn)
16 | - [`getTargetColumn()`](#gettargetcolumn)
17 |
18 |
19 |
20 | ### `__construct()`
21 |
22 | Join constructor.
23 |
24 | #### Signature
25 |
26 | - It accepts the following parameter(s):
27 | - `$table`
28 |
29 | - `$column`
30 |
31 | - `$targetColumn`
32 |
33 | - It throws one of the following exceptions:
34 | - [`Exception`](http://php.net/class.Exception)
35 |
36 |
37 |
38 | ### `getTable()`
39 |
40 | #### Signature
41 |
42 | - It returns a `string` value.
43 |
44 |
45 |
46 | ### `getColumn()`
47 |
48 | #### Signature
49 |
50 | - It returns a `string` value.
51 |
52 |
53 |
54 | ### `getTargetColumn()`
55 |
56 | #### Signature
57 |
58 | - It returns a `string` value.
59 |
60 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Columns/Updater.md:
--------------------------------------------------------------------------------
1 | Piwik\Columns\
2 |
3 | Updater
4 | =======
5 |
6 | Class that handles dimension updates
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getMigrations()`](#getmigrations)
14 | - [`doUpdate()`](#doupdate) — Perform the incremental version update. Inherited from [`Updates`](../../Piwik/Updates.md)
15 |
16 |
17 |
18 | ### `getMigrations()`
19 |
20 | #### Signature
21 |
22 | - It accepts the following parameter(s):
23 | - `$updater` ([`Updater`](../../Piwik/Updater.md)) —
24 |
25 | - It returns a [`Migration[]`](../../Piwik/Updater/Migration.md) value.
26 |
27 |
28 |
29 | ### `doUpdate()`
30 |
31 | Perform the incremental version update.
32 |
33 | This method should perform all updating logic. If you define migrations in an overridden `getMigrations()`
34 | method, you must call Updater::executeMigrations() here.
35 |
36 | See \Piwik\Plugins\ExamplePlugin\Updates\Updates\_0\_0\_2 for an example.
37 |
38 | #### Signature
39 |
40 | - It accepts the following parameter(s):
41 | - `$updater` ([`Updater`](../../Piwik/Updater.md)) —
42 |
43 | - It does not return anything or a mixed result.
44 |
45 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/DbHelper.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | DbHelper
4 | ========
5 |
6 | Contains database related helper functions.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`createTable()`](#createtable) — Creates a new table in the database.
14 |
15 |
16 |
17 | ### `createTable()`
18 |
19 | Creates a new table in the database.
20 |
21 | Example:
22 | ```
23 | $tableDefinition = "`age` INT(11) NOT NULL AUTO_INCREMENT,
24 | `name` VARCHAR(255) NOT NULL";
25 |
26 | DbHelper::createTable('tablename', $tableDefinition);
27 | ``
28 |
29 | #### Signature
30 |
31 | - It accepts the following parameter(s):
32 | - `$nameWithoutPrefix` (`string`) —
33 | The name of the table without any piwik prefix.
34 | - `$createDefinition` (`string`) —
35 | The table create definition
36 | - It does not return anything or a mixed result.
37 |
38 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Intl/Data/Provider/CurrencyDataProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Intl\Data\Provider\
2 |
3 | CurrencyDataProvider
4 | ====================
5 |
6 | Provides currency data.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getCurrencyList()`](#getcurrencylist) — Returns the list of all known currency symbols.
14 |
15 |
16 |
17 | ### `getCurrencyList()`
18 |
19 | Returns the list of all known currency symbols.
20 |
21 | #### Signature
22 |
23 |
24 | - *Returns:* `array` —
25 | An array mapping currency codes to their respective currency symbols
26 | and a description, eg, `array('USD' => array('$', 'US dollar'))`.
27 |
28 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Intl/Data/Provider/LanguageDataProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Intl\Data\Provider\
2 |
3 | LanguageDataProvider
4 | ====================
5 |
6 | Provides language data.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getLanguageList()`](#getlanguagelist) — Returns the list of valid language codes.
14 | - [`getLanguageToCountryList()`](#getlanguagetocountrylist) — Returns the list of language to country mappings.
15 |
16 |
17 |
18 | ### `getLanguageList()`
19 |
20 | Returns the list of valid language codes.
21 |
22 | #### Signature
23 |
24 |
25 | - *Returns:* `string[]` —
26 | Array of 2 letter ISO code => language name (in english).
27 | E.g. `array('en' => 'English', 'ja' => 'Japanese')`.
28 |
29 |
30 |
31 | ### `getLanguageToCountryList()`
32 |
33 | Returns the list of language to country mappings.
34 |
35 | #### Signature
36 |
37 |
38 | - *Returns:* `string[]` —
39 | Array of 2 letter ISO language code => 2 letter ISO country code.
40 | E.g. `array('fr' => 'fr') // French => France`.
41 |
42 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Intl/Data/Provider/RegionDataProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Intl\Data\Provider\
2 |
3 | RegionDataProvider
4 | ==================
5 |
6 | Provides region related data (continents, countries, etc.).
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`getContinentList()`](#getcontinentlist) — Returns the list of continent codes.
14 | - [`getCountryList()`](#getcountrylist) — Returns the list of valid country codes.
15 |
16 |
17 |
18 | ### `getContinentList()`
19 |
20 | Returns the list of continent codes.
21 |
22 | #### Signature
23 |
24 |
25 | - *Returns:* `string[]` —
26 | Array of 3 letter continent codes
27 |
28 |
29 |
30 | ### `getCountryList()`
31 |
32 | Returns the list of valid country codes.
33 |
34 | #### Signature
35 |
36 | - It accepts the following parameter(s):
37 | - `$includeInternalCodes` (`bool`) —
38 |
39 |
40 | - *Returns:* `string[]` —
41 | Array of 2 letter country ISO codes => 3 letter continent code
42 |
43 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/NoAccessException.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | NoAccessException
4 | =================
5 |
6 | Exception thrown when a user doesn't have sufficient access to a resource.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`__construct()`](#__construct)
14 |
15 |
16 |
17 | ### `__construct()`
18 |
19 | #### Signature
20 |
21 | - It accepts the following parameter(s):
22 | - `$message`
23 |
24 | - `$code`
25 |
26 |
27 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Notification/Manager.md:
--------------------------------------------------------------------------------
1 | Piwik\Notification\
2 |
3 | Manager
4 | =======
5 |
6 | Posts and removes UI notifications (see [Notification](/api-reference/Piwik/Notification) to learn more).
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`notify()`](#notify) — Posts a notification that will be shown in Piwik's status bar.
14 |
15 |
16 |
17 | ### `notify()`
18 |
19 | Posts a notification that will be shown in Piwik's status bar. If a notification with the same ID
20 | has been posted and has not been closed/removed, it will be replaced with `$notification`.
21 |
22 | #### Signature
23 |
24 | - It accepts the following parameter(s):
25 | - `$id` (`string`) —
26 | A unique identifier for this notification. The ID must be a valid HTML element ID. It can only contain alphanumeric characters (underscores can be used).
27 | - `$notification` ([`Notification`](../../Piwik/Notification.md)) —
28 | The notification to post.
29 |
30 | - *Returns:* `bool` —
31 | true if the notification was added, false if it was ignored because there were too many
32 | pending ones.
33 |
34 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Plugins/CustomDimensions/Dimension/Name.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\CustomDimensions\Dimension\
2 |
3 | Name
4 | ====
5 |
6 | Methods
7 | -------
8 |
9 | The class defines the following methods:
10 |
11 | - [`getBlockedCharacters()`](#getblockedcharacters)
12 |
13 |
14 |
15 | ### `getBlockedCharacters()`
16 |
17 | #### Signature
18 |
19 | - It does not return anything or a mixed result.
20 |
21 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Plugins/Diagnostics/Diagnostic/Diagnostic.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Diagnostics\Diagnostic\
2 |
3 | Diagnostic
4 | ==========
5 |
6 | Performs a diagnostic on the system or Piwik.
7 |
8 | Example:
9 |
10 | class MyDiagnostic implements Diagnostic
11 | {
12 | public function execute()
13 | {
14 | $results = array();
15 |
16 | // First check (error)
17 | $status = testSomethingIsOk() ? DiagnosticResult::STATUS_OK : DiagnosticResult::STATUS_ERROR;
18 | $results[] = DiagnosticResult::singleResult('First check', $status);
19 |
20 | // Second check (warning)
21 | $status = testSomethingElseIsOk() ? DiagnosticResult::STATUS_OK : DiagnosticResult::STATUS_WARNING;
22 | $results[] = DiagnosticResult::singleResult('Second check', $status);
23 |
24 | return $results;
25 | }
26 | }
27 |
28 | Diagnostics are loaded with dependency injection support.
29 |
30 | Methods
31 | -------
32 |
33 | The interface defines the following methods:
34 |
35 | - [`execute()`](#execute)
36 |
37 |
38 |
39 | ### `execute()`
40 |
41 | #### Signature
42 |
43 | - It returns a [`DiagnosticResult[]`](../../../../Piwik/Plugins/Diagnostics/Diagnostic/DiagnosticResult.md) value.
44 |
45 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Plugins/Diagnostics/Diagnostic/DiagnosticResultItem.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Diagnostics\Diagnostic\
2 |
3 | DiagnosticResultItem
4 | ====================
5 |
6 | Methods
7 | -------
8 |
9 | The class defines the following methods:
10 |
11 | - [`__construct()`](#__construct)
12 | - [`getStatus()`](#getstatus)
13 | - [`getComment()`](#getcomment)
14 | - [`jsonSerialize()`](#jsonserialize)
15 |
16 |
17 |
18 | ### `__construct()`
19 |
20 | #### Signature
21 |
22 | - It accepts the following parameter(s):
23 | - `$status`
24 |
25 | - `$comment`
26 |
27 |
28 |
29 |
30 | ### `getStatus()`
31 |
32 | #### Signature
33 |
34 | - It returns a `string` value.
35 |
36 |
37 |
38 | ### `getComment()`
39 |
40 | #### Signature
41 |
42 | - It returns a `string` value.
43 |
44 |
45 |
46 | ### `jsonSerialize()`
47 |
48 | #### Signature
49 |
50 | - It returns a `array` value.
51 |
52 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Plugins/Diagnostics/DiagnosticService.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Diagnostics\
2 |
3 | DiagnosticService
4 | =================
5 |
6 | Runs the Piwik diagnostics.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`__construct()`](#__construct)
14 | - [`runDiagnostics()`](#rundiagnostics)
15 |
16 |
17 |
18 | ### `__construct()`
19 |
20 | #### Signature
21 |
22 | - It accepts the following parameter(s):
23 | - `$mandatoryDiagnostics` (`array`) —
24 |
25 | - `$optionalDiagnostics` (`array`) —
26 |
27 | - `$informationDiagnostics` (`array`) —
28 |
29 | - `$disabledDiagnostics` (`array`) —
30 |
31 |
32 |
33 |
34 | ### `runDiagnostics()`
35 |
36 | #### Signature
37 |
38 | - It returns a `Piwik\Plugins\Diagnostics\DiagnosticReport` value.
39 |
40 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Plugins/Live/ProfileSummaryProvider.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Live\
2 |
3 | ProfileSummaryProvider
4 | ======================
5 |
6 | Methods
7 | -------
8 |
9 | The class defines the following methods:
10 |
11 | - [`getAllProfileSummaryClasses()`](#getallprofilesummaryclasses) — Returns class names of all VisitorDetails classes.
12 |
13 |
14 |
15 | ### `getAllProfileSummaryClasses()`
16 |
17 | Returns class names of all VisitorDetails classes.
18 |
19 | #### Signature
20 |
21 | - It returns a `string[]` value.
22 |
23 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Plugins/Live/Visitor.md:
--------------------------------------------------------------------------------
1 | Piwik\Plugins\Live\
2 |
3 | Visitor
4 | =======
5 |
6 | Methods
7 | -------
8 |
9 | The class defines the following methods:
10 |
11 | - [`getAllVisitorDetailsClasses()`](#getallvisitordetailsclasses) — Returns class names of all VisitorDetails classes.
12 |
13 |
14 |
15 | ### `getAllVisitorDetailsClasses()`
16 |
17 | Returns class names of all VisitorDetails classes.
18 |
19 | #### Signature
20 |
21 | - It returns a `string[]` value.
22 |
23 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Singleton.md:
--------------------------------------------------------------------------------
1 | Piwik\
2 |
3 | Singleton
4 | =========
5 |
6 | The singleton base class restricts the instantiation of derived classes to one object only.
7 |
8 | All plugin APIs are singletons and thus extend this class.
9 |
10 | Methods
11 | -------
12 |
13 | The class defines the following methods:
14 |
15 | - [`getInstance()`](#getinstance) — Returns the singleton instance for the derived class.
16 |
17 |
18 |
19 | ### `getInstance()`
20 |
21 | Returns the singleton instance for the derived class. If the singleton instance
22 | has not been created, this method will create it.
23 |
24 | #### Signature
25 |
26 | - It returns a [`Singleton`](../Piwik/Singleton.md) value.
27 |
28 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Updater/Migration/Config/Factory.md:
--------------------------------------------------------------------------------
1 | Piwik\Updater\Migration\Config\
2 |
3 | Factory
4 | =======
5 |
6 | Provides config migrations.
7 |
8 | Methods
9 | -------
10 |
11 | The class defines the following methods:
12 |
13 | - [`set()`](#set) — Sets a configuration to the Matomo config file
14 |
15 |
16 |
17 | ### `set()`
18 |
19 | Sets a configuration to the Matomo config file
20 |
21 | #### Signature
22 |
23 | - It accepts the following parameter(s):
24 | - `$section` (`string`) —
25 |
26 | - `$key` (`string`) —
27 |
28 | - `$value` (`string`) —
29 |
30 | - It returns a `Piwik\Updater\Migration\Config\Set` value.
31 |
32 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/Updater/Migration/Factory.md:
--------------------------------------------------------------------------------
1 | Piwik\Updater\Migration\
2 |
3 | Factory
4 | =======
5 |
6 | Migration factory to create various migrations that implement the Migration interface.
7 |
8 | Properties
9 | ----------
10 |
11 | This class defines the following properties:
12 |
13 | - [`$db`](#$db)
14 | - [`$plugin`](#$plugin)
15 | - [`$config`](#$config)
16 |
17 |
18 |
19 | ### `$db`
20 |
21 | #### Signature
22 |
23 | - It is a [`Factory`](../../../Piwik/Updater/Migration/Db/Factory.md) value.
24 |
25 |
26 |
27 | ### `$plugin`
28 |
29 | #### Signature
30 |
31 | - It is a [`Factory`](../../../Piwik/Updater/Migration/Plugin/Factory.md) value.
32 |
33 |
34 |
35 | ### `$config`
36 |
37 | #### Signature
38 |
39 | - It is a [`Factory`](../../../Piwik/Updater/Migration/Config/Factory.md) value.
40 |
--------------------------------------------------------------------------------
/docs/5.x/generated/Piwik/View/ViewInterface.md:
--------------------------------------------------------------------------------
1 | Piwik\View\
2 |
3 | ViewInterface
4 | =============
5 |
6 | Rendering interface for all "view" types.
7 |
8 | Methods
9 | -------
10 |
11 | The interface defines the following methods:
12 |
13 | - [`render()`](#render) — Returns data.
14 |
15 |
16 |
17 | ### `render()`
18 |
19 | Returns data.
20 |
21 | #### Signature
22 |
23 |
24 | - *Returns:* `Piwik\View\?string` —
25 | Serialized data, eg, (image, array, html...).
26 |
27 |
--------------------------------------------------------------------------------
/docs/5.x/generated/SAMI_VERSION:
--------------------------------------------------------------------------------
1 | 4.0.14-DEV
--------------------------------------------------------------------------------
/docs/5.x/in-depth-reporting-api.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Piwik In Depth
3 | title: Reporting API
4 | subGuides:
5 | - piwiks-reporting-api
6 | ---
7 |
--------------------------------------------------------------------------------
/docs/5.x/in-depth-tests.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Tests
4 | subGuides:
5 | - tests-system
6 | - tests-in-depth-faq
7 | - tests-github
8 | ---
9 |
--------------------------------------------------------------------------------
/docs/5.x/in-depth-tools.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Tools
4 | subGuides:
5 | - phpstorm
6 | - php
7 | - git
8 | ---
9 |
--------------------------------------------------------------------------------
/docs/5.x/in-depth-understanding-piwik.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Understanding Matomo
4 | subGuides:
5 | - our-mission
6 | - how-piwik-works
7 | - http-request-handling
8 | - authentication-in-depth
9 | - piwiks-extensibility-points
10 | - multi-tenants
11 | - jstracker-core
12 | - in-depth-opt-out
13 | - tracking-requests
14 | - segments
15 | ---
16 |
--------------------------------------------------------------------------------
/docs/5.x/in-depth-utils.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Utils
4 | subGuides:
5 | - piwiks-ini-configuration
6 | - user-in-depth
7 | - vue-getting-started
8 | - vue-troubleshooting
9 | - caching-in-matomo
10 | - updates-aka-migrations
11 | - marketplace-http-api
12 | - matomo-links
13 | ---
14 |
--------------------------------------------------------------------------------
/docs/5.x/in-depth-web-interface.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | title: Web Interface
4 | subGuides:
5 | - design-ux
6 | - custom-reports-extended
7 | - controllers
8 | - views
9 | - in-depth-vue
10 | - javascript-extended
11 | - themable-plugins
12 | - matomo-font
13 | ---
14 |
--------------------------------------------------------------------------------
/docs/5.x/integrate-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | title: Introduction
4 | ---
5 | # Integrate Piwik
6 |
7 | Welcome to the *Integrate* section of the Piwik Developer Zone. If you are interested in integrating Matomo with your application, you are at the right place!
8 |
9 | This section contains guides that will help you to:
10 |
11 | - track your website, mobile application, etc. using the **Tracking API**
12 | - query and use Piwik data by using the **Reporting API**
13 |
--------------------------------------------------------------------------------
/docs/5.x/media-analytics.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - media-analytics/setup
5 | - media-analytics/options
6 | - media-analytics/custom-player
7 | - media-analytics/faq
8 | - media-analytics/reference
9 | ---
10 | # Media Analytics
11 |
12 | This section contains guides that will help you track your video and audio using Piwik.
13 |
14 | [Media Analytics](https://www.media-analytics.net) is a plugin for Piwik that can be purchased
15 | on the [Matomo Marketplace](https://plugins.matomo.org/MediaAnalytics).
16 | It is developed by [InnoCraft](https://www.innocraft.com), the makers of Matomo.
17 | If you want to learn more about this plugin we recommend having a look at the developer guides,
18 | the [Media Analytics User Guide](https://matomo.org/docs/media-analytics/) and the [Media Analytics FAQs](https://matomo.org/faq/media-analytics/).
19 |
20 | We recommend to start with the [setting up Media Analytics guide](/guides/media-analytics/setup).
21 |
--------------------------------------------------------------------------------
/docs/5.x/piwik-in-depth-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: DevelopInDepth
3 | title: Introduction
4 | ---
5 | # Matomo In Depth
6 |
7 | Welcome to the *Matomo In Depth* section of the Matomo Developer Zone.
8 | If you are interested in contributing to the Matomo core or if you want to get more insight into Matomo, you are at the right place!
9 |
10 | This section contains guides that will help you to:
11 |
12 | - understand **how Matomo works in depth**
13 | - **contribute** to Matomo itself to fix bugs or add new features
14 |
15 | Use the sidebar to navigate through the guides. Here is a list of guides to get you started:
16 |
17 | - [How Matomo Works](/guides/how-piwik-works)
18 | - [Contributing to Matomo Core](/guides/contributing-to-piwik-core)
19 |
--------------------------------------------------------------------------------
/docs/5.x/piwiks-extensibility-points.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: DevelopInDepth
3 | ---
4 | # Matomo's Extensibility Points
5 |
6 | Plugins can extend Piwik using the following methods:
7 |
8 | - using **events** see [Events](/guides/events)
9 | - implementing **special classes** that are recognized by Piwik see [Plugin Basics under Develop](/develop)
10 |
11 | ## Learn More
12 |
13 | * To learn **about every event that Piwik posts** [read the event docs](/api-reference/events).
14 | * To learn **more about the Twig filters and functions Piwik defines** read the documentation for the [View](/api-reference/Piwik/View) class.
15 | * To learn **about API and Controller classes** read our [Controllers](/guides/controllers) or [APIs](/guides/apis) guides.
16 | * To learn **about Archiver classes** read our [Archiving](/guides/archiving) guide.
17 | * To learn **about plugin settings** read our [Plugin Settings](/guides/plugin-settings) guide.
18 | * To learn **about creating new report visualizations** read our [Visualizing Report Data](/guides/visualizing-report-data) guide.
19 |
--------------------------------------------------------------------------------
/docs/5.x/reporting-api-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: API Reference
3 | subGuides:
4 | - reporting-api
5 | - reporting-api-metadata
6 | - reporting-api-segmentation
7 | ---
8 | # Reporting HTTP API
9 |
10 | This section contains the API reference for the Reporting HTTP API.
11 |
12 | The Metadata and Segmentation API references are split into dedicated articles in order to keep them shorter and readable.
13 |
--------------------------------------------------------------------------------
/docs/5.x/reporting-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - reporting-api-tutorial
5 | - querying-the-reporting-api
6 | - reporting-api-clients
7 | ---
8 | # Accessing Piwik data
9 |
10 | This section contains guides that will help you query Piwik's reporting data to integrate it into your application.
11 |
12 | ## API references
13 |
14 | If you are looking for more low-level and detailed information, have a look at the following API references:
15 |
16 | - [The Reporting API](/api-reference/reporting-api)
17 | - [The Metadata API](/api-reference/metadata)
18 | - [The Segmentation API](/api-reference/segmentation)
19 |
--------------------------------------------------------------------------------
/docs/5.x/tagmanager/faq.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Develop
3 | ---
4 | # Developer FAQ
5 |
6 | This page is the Developer FAQ for the [Matomo Tag Manager](https://plugins.matomo.org/TagManager).
7 | You may also be interested in the [Matomo Tag Manager User FAQs](https://matomo.org/faq/tag-manager) or the [Matomo Tag Manager User Guide](https://matomo.org/docs/tag-manager).
8 |
9 | ## Do I need to minify my tag, trigger, or variable?
10 |
11 | Usually not. The system will automatically minify your template when a container is being created so you don't always have to remember to minify your template after each change.
12 |
13 | However, the minifier we use in PHP is quite basic and does for example not rename any variables to reduce the file size. It does remove unneeded comments and whitespace though. If your template is very large, for example larger than 30kb, you may want to provide a minified version of your template as well. You can do this by minifying your template and naming the file `.web.min.js`.
14 |
15 | For example if your tag is implemented in `PopupTag.web.js`, you may provide a `PopupTag.web.min.js`.
16 |
17 | ## How do I change the available environments in the Tag Manager?
18 |
19 | If you self host your Matomo on premise, you can configure the list of available environments in the plugin settings by going to "Administration => Plugin Settings".
20 |
21 | The "live" environment will always be present.
22 |
--------------------------------------------------------------------------------
/docs/5.x/tagmanager/in-depth.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: DevelopInDepth
3 | title: Tag Manager
4 | ---
5 | # Matomo Tag Manager In Depth
6 |
7 | This page is mostly aimed for Matomo contributors. If you are looking for instructions on how to extend the Tag Manager please also have a look at the [Tag Manager Develop guides](/guides/tagmanager/introduction) and the [Tag Manager JS API reference](/api-reference/tagmanager/javascript-api-reference).
8 |
9 | ## What browsers do we support in the Tag Manager containers?
10 |
11 | We support the [same browsers as the JavaScript Tracker](/guides/tracking-javascript-guide#supported-browsers) does.
12 |
13 | Some tags, variables, or triggers may require newer browser versions though which can be fine as long as the code doesn't break in older browsers.
14 |
15 | ## How do I minify the TagManager JavaScript file
16 |
17 | Open the file `javascripts/tagmanager.js`. In the beginning of the file you will find a comment with instructions on how to minify the file like this:
18 |
19 | ```html
20 | /**
21 | * To minify execute
22 | * cat javascripts/tagmanager.js ...
23 | */
24 | ```
25 |
26 | ## When I change tagmanager.js or a tag / trigger / variable how do I test these changes?
27 |
28 | It's currently required to run the command `./console tagmanager:regenerate-released-containers` to update all container JS files whenever you modify any of these files.
29 |
--------------------------------------------------------------------------------
/docs/5.x/tagmanager/introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - tagmanager/embedding
5 | - tagmanager/datalayer
6 | - tagmanager/debugging
7 | - tagmanager/integration-plugin
8 | ---
9 | # Tag Manager
10 |
11 | This section contains guides that will help you integrate Matomo Tag Manager into your website.
12 |
13 | ## API references & Developer guides
14 |
15 | If you are looking for more low-level and detailed information, have a look at the following docs:
16 |
17 | - [The Tag Manager Developer Guides](/guides/tagmanager/settingup)
18 | - [The Tag Manager JavaScript API Reference](/guides/tagmanager/javascript-api-reference)
19 | - [The Tag Manager HTTP API Reference](/api-reference/reporting-api#TagManager)
20 |
--------------------------------------------------------------------------------
/docs/5.x/tracking-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Integrate
3 | subGuides:
4 | - tracking-api-clients
5 | - tracking-javascript-guide
6 | - spa-tracking
7 | - tracking-consent
8 | - tracking-optout
9 | - content-tracking
10 | ---
11 | # Tracking your application
12 |
13 | This section contains guides that will help you track your application using Piwik.
14 |
15 | ## API references
16 |
17 | If you are looking for more low-level and detailed information, have a look at the following API references:
18 |
19 | - [The JavaScript tracking client](/api-reference/tracking-javascript)
20 | - [The Tracking HTTP API](/api-reference/tracking-api)
21 |
--------------------------------------------------------------------------------
/docs/5.x/vue-troubleshooting.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: DevelopInDepth
3 | ---
4 |
5 | # Troubleshooting common Vue issues
6 |
7 | ### TypeScript complains component computed property does not exist
8 |
9 | This error occurs sometimes with Vue components that have no props entries where
10 | for some reason, Vue will not add computed properties to the component's `this`
11 | type, so expressions like `this.myComputedProperty` will result in errors.
12 |
13 | This can be fixed by adding explicit return types to your computed properties,
14 | for instance:
15 |
16 | ```typescript
17 | export default defineComponent({
18 | computed: {
19 | myProperty(): string {
20 | return 'test';
21 | },
22 | },
23 | })
24 | ```
25 |
--------------------------------------------------------------------------------
/docs/contributing-to-piwik-plugins.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: DevelopInDepth
3 | ---
4 |
5 | # Contributing to Matomo Plugins
6 |
7 | ### Commit message keyword to not track changes.
8 |
9 | After your pull request is accepted and merged, Matomo uses webhooks to keep track of commits in the main branch.
10 |
11 | All commit messages for a plugin are sent to the team on a regular interval. This way the team knows a new version of a plugin needs to be released. However, if a merged commit should not result in a new release (for example because it only fixes tests), then you need to include `[ignore_release]` keyword in your commit message. This way the plugins team won't be notified about this commit.
12 |
13 | Example commit message: `{YOUR_COMMIT_MESSAGE} [ignore_release]`
14 |
--------------------------------------------------------------------------------
/docs/our-mission.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: DevelopInDepth
3 | title: Our mission
4 | ---
5 |
6 | # Matomo mission statement
7 |
8 | ## « To create, as a community, the leading open digital analytics platform, that gives every user full control of their data. »
9 |
10 | # Our values
11 |
12 | 1. Openness
13 | 1. Freedom
14 | 1. Transparency
15 | 1. Data ownership
16 | 1. Privacy
17 | 1. Kaizen (改善): continuous improvement
18 |
--------------------------------------------------------------------------------
/docs/support.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Support
3 | ---
4 | # Community & Support
5 |
6 | ## [Forums](https://forum.matomo.org/)
7 |
8 | Ask other developers for help in [the forums](https://forum.matomo.org). Someone might have encountered your problem before.
9 |
10 | ## [Issue tracker](https://github.com/matomo-org/matomo/issues)
11 |
12 | Create a bug report on [our bug tracking system](https://github.com/matomo-org/matomo/issues) or check on the status of an existing bug.
13 |
14 | ## [Developer Blog](https://matomo.org/blog/category/development/)
15 |
16 | Check out the [Matomo developer blog](https://matomo.org/blog/category/development/) for technical news.
17 |
18 | ## [Development Services](https://matomo.org/development/)
19 |
20 | If you are missing some functionality in Matomo, need a particular bug to be fixed, or if you have custom requirements, you can sponsor the development of it. [Get in touch here to get started.](https://matomo.org/development/)
21 |
22 | ## [Support](https://matomo.org/support/)
23 |
24 | Need help installing, upgrading, or migrating to Matomo? Are you missing some functionality in Matomo or need a bug fixed? Do you need professional user or technical training? [Get in touch and one of our experts will get back to you.](https://matomo.org/support/)
25 |
26 |
--------------------------------------------------------------------------------
/docs/trac-ticket-archive.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: TracTicketArchiveCategory
3 | ---
4 | # Legacy ticket archive
5 |
6 |
7 | ## Trac – Legacy issue tracker
8 |
9 |
10 | The ticket you tried to access (e.g., /trac/ticket/1647) is no longer available.
11 | We’ve migrated away from Trac and now use GitHub for improved collaboration and transparency.
12 |
13 | The old Trac system has been permanently shut down, and direct access to individual Trac tickets is no longer possible.
14 |
15 | ## GitHub – Current issue tracker
16 |
17 |
18 | We now use [GitHub](https://github.com/matomo-org/matomo/issues) to track issues. You can [create a new issue](https://github.com/matomo-org/matomo/issues/new/choose) or check the status of an existing issue in our current tracking system.
--------------------------------------------------------------------------------
/generate.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
4 |
5 | function generateDocs {
6 | echo "generating $1 - $2"
7 | git checkout docs/$2/generated
8 | rm -rf docs/$2/cache
9 | mkdir docs/$2/cache
10 | rm -rf docs/$2/generated
11 | mkdir docs/$2/generated
12 |
13 | cd piwik
14 | git rm --cached -r . > /dev/null
15 | git reset --hard > /dev/null
16 | git submodule foreach --recursive git reset --hard
17 | git clean -f -d
18 | git submodule foreach git clean -f
19 | git fetch
20 | git checkout $1
21 | branchname=$(git rev-parse --abbrev-ref HEAD)
22 | if [ "$branchname" != "$1" ]; then
23 | echo "Not on correct branch"
24 | return
25 | fi
26 | sleep 4
27 | git rev-parse --abbrev-ref HEAD
28 | git pull origin $1
29 | sleep 3
30 | git submodule update --init --recursive --force
31 | php ../app/composer.phar self-update
32 | php ../app/composer.phar install
33 | cd ..
34 | sleep 10
35 | php generator/generate.php --branch=$1 --targetname=$2
36 |
37 | GENERATION_SUCCESS=$?
38 |
39 | if [ $GENERATION_SUCCESS -ne 0 ]; then
40 | exit 1;
41 | fi
42 | }
43 |
44 | cd $DIR
45 | generateDocs "5.x-dev" "5.x"
46 | rm -rf app/tmp/cache/*
47 |
--------------------------------------------------------------------------------
/generateAndPush.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
4 | cd $DIR
5 | git checkout docs/*/generated
6 | git pull
7 | ./generate.sh
8 | GENERATION_SUCCESS=$?
9 | if [ $GENERATION_SUCCESS -ne 0 ]; then
10 | echo -e "Failed to generate documentation" 1>&2;
11 | exit 1;
12 | fi
13 | git add docs/*/generated
14 | DELETED_FILES=$(git ls-files --deleted docs/*/generated)
15 | if [ -n "$DELETED_FILES" ]; then
16 | git rm $DELETED_FILES
17 | fi
18 | git commit -m 'updated plugins API documentation'
19 | git push origin live
--------------------------------------------------------------------------------
/generator/Hooks/MyConstantVisitor.php:
--------------------------------------------------------------------------------
1 | name] = $prettyPrinter->prettyPrintExpr($node->value);
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/generator/Linkparser/ApiClassFormatter.php:
--------------------------------------------------------------------------------
1 | isApiClass($link)) {
16 | return $this->formatApiClass($link);
17 | }
18 | }
19 |
20 | private function isApiClass(Link $link)
21 | {
22 | $class = $this->scope->findClass($link->getDestination());
23 |
24 | return !empty($class) && $class->isProjectClass();
25 | }
26 |
27 | private function formatApiClass(Link $link)
28 | {
29 | $linkToClass = $this->getLinkToApiClass($link->getDestination());
30 |
31 | if (empty($linkToClass)) {
32 | return;
33 | }
34 |
35 | $description = $link->getDescription();
36 | $parts = explode("\\", $description);
37 | $description = end($parts);
38 |
39 | $link = sprintf('[%s](%s)', $description, $linkToClass);
40 |
41 | return $link;
42 | }
43 |
44 | }
--------------------------------------------------------------------------------
/generator/Linkparser/ExternalLinkFormatter.php:
--------------------------------------------------------------------------------
1 | formatExternalLink($link->getDestination(), $link->getDescription());
16 | }
17 |
18 | private function formatExternalLink($destination, $description)
19 | {
20 | if (0 === strpos($destination, 'http')) {
21 |
22 | return sprintf('[%s](%s)', $description, $destination);
23 |
24 | } else if (0 === strpos($destination, 'mailto:')) {
25 |
26 | $text = str_replace('mailto:', '', $description);
27 |
28 | return sprintf('[%s](%s)', $text, $destination);
29 | }
30 | }
31 |
32 | }
--------------------------------------------------------------------------------
/generator/Linkparser/InternalMethodFormatter.php:
--------------------------------------------------------------------------------
1 | isInternalMethod($link)) {
16 | return $this->formatInternalMethod($link);
17 | }
18 | }
19 |
20 | private function isInternalMethod(Link $link)
21 | {
22 | return $this->isMethodLink($link->getDestination()) && !$this->isLinkToExternalClass($link);
23 | }
24 |
25 | private function formatInternalMethod(Link $link)
26 | {
27 | if (empty($this->scope->class)) {
28 | return;
29 | }
30 |
31 | $methodName = substr($link->getDestination(), 0, strlen($link->getDestination()) - 2);
32 | $methods = $this->scope->class->getMethods(true);
33 |
34 | if (empty($methodName) || !array_key_exists($methodName, $methods)) {
35 | return;
36 | }
37 |
38 | $linkToClass = $this->getLinkToApiClass($this->scope->class->getName());
39 |
40 | return sprintf('[%s](%s#%s)', $link->getDescription(), $linkToClass, strtolower($methodName));
41 | }
42 | }
--------------------------------------------------------------------------------
/generator/Linkparser/InternalPropertyFormatter.php:
--------------------------------------------------------------------------------
1 | isPropertyLink($link->getDestination()) && !$this->isLinkToExternalClass($link)) {
16 | return $this->formatInternalProperty($link);
17 | }
18 | }
19 |
20 | private function formatInternalProperty(Link $link)
21 | {
22 | if (empty($this->scope->class)) {
23 | return;
24 | }
25 |
26 | $properties = $this->scope->class->getProperties(true);
27 | $propertyName = substr($link->getDestination(), 1);
28 |
29 | if (!$propertyName || !array_key_exists($propertyName, $properties)) {
30 | return;
31 | }
32 |
33 | $linkToClass = $this->getLinkToApiClass($this->scope->class->getName());
34 |
35 | return sprintf('[%s](%s#$%s)', $link->getDescription(), $linkToClass, strtolower($propertyName));
36 | }
37 | }
--------------------------------------------------------------------------------
/generator/README.md:
--------------------------------------------------------------------------------
1 | Generates API reference for Piwik project.
2 |
3 | ## Install
4 |
5 | * Clone repository
6 | * `git submodule init`
7 | * `git submodule update`
8 | * `cd generator && php composer.phar install`
9 |
--------------------------------------------------------------------------------
/generator/bootstrap.php:
--------------------------------------------------------------------------------
1 | init();
24 | } catch(\Exception $e) {
25 | echo sprintf("There was an error during the initialisation but we try to proceed anyway. FYI: error was %s \n\n", $e->getMessage());
26 | }
27 |
28 | ini_set('xdebug.max_nesting_level', 2000);
29 |
30 | spl_autoload_register(function ($class)
31 | {
32 | $classPath = str_replace('\\', '/', $class);
33 | $path = __DIR__ . '/' . $classPath . '.php';
34 |
35 | if (file_exists($path)) {
36 | require_once $path;
37 | }
38 | });
39 |
--------------------------------------------------------------------------------
/generator/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "piwik/pluginapi-doc-generator",
3 | "description": "Generates plugin API documentation",
4 | "keywords": ["matomo","web","analytics"],
5 | "homepage": "https://matomo.org",
6 | "license": "GPL-3.0+",
7 | "authors": [
8 | {
9 | "name": "The Matomo Team",
10 | "email": "hello@matomo.org",
11 | "homepage": "https://matomo.org/the-piwik-team/"
12 | }
13 | ],
14 | "autoload": {
15 | "psr-4": {
16 | "Piwik\\Plugins\\": "../piwik/plugins/",
17 | "Piwik\\": "../piwik/core/"
18 | },
19 | "psr-0": {
20 | "Zend_": "../piwik/libs/",
21 | "HTML_": "../piwik/libs/",
22 | "PEAR_": "../piwik/libs/",
23 | "Archive_": "../piwik/libs/"
24 | }
25 | },
26 | "repositories": [
27 | {
28 | "type": "git",
29 | "url": "https://github.com/piwik/Sami"
30 | }
31 | ],
32 | "require": {
33 | "php": ">=5.3.0",
34 | "tsteur/sami": "dev-dev-4.x-devphp8-twig-update",
35 | "psr/container": "1.1.2"
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/generator/template/.gitignore:
--------------------------------------------------------------------------------
1 | /.idea/
2 | /bin/
3 | /test/build/
4 | /test/cache/
5 | /vendor/
6 |
7 | /*.iml
8 | /composer.lock
9 |
--------------------------------------------------------------------------------
/generator/template/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | Contributing
2 | ============
3 |
4 | To contribute, please help close [tickets][] or make suggestions for improvements.
5 |
6 | [tickets]: https://github.com/phine/sami-github/issues
7 |
--------------------------------------------------------------------------------
/generator/template/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013 Kevin Herrera
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7 | of the Software, and to permit persons to whom the Software is furnished to do
8 | so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all
11 | copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
15 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
16 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19 |
--------------------------------------------------------------------------------
/generator/template/layout/base.twig:
--------------------------------------------------------------------------------
1 | {% block title %}
2 | {% set parts = title|split("\\") %}
3 | {% set path = parts|slice(0, -1)|join("\\") %}
4 | {% set name = parts|slice(-1, 1)|join("\\") %}
5 | {% if path|length > 0 %}
6 | {{ path }}\
7 |
8 | {% endif %}
9 | {{ name }}
10 | {% for i in range(0, name|length - 1) %}={% endfor %}
11 | {% endblock %}
12 | {% block content %}
13 | {% endblock %}
14 |
--------------------------------------------------------------------------------
/generator/template/manifest.yml:
--------------------------------------------------------------------------------
1 | name: markdown
2 |
3 | global:
4 | "pages/namespaces.twig": "Namespaces.md"
5 | "pages/interfaces.twig": "Interfaces.md"
6 | "pages/classes.twig": "Classes.md"
7 | "pages/index.twig": "Index.md"
8 | "pages/classnames.twig": "Classnames.md"
9 |
10 | class:
11 | "pages/class.twig": "%s.md"
12 |
--------------------------------------------------------------------------------
/generator/template/pages/classes.twig:
--------------------------------------------------------------------------------
1 | {% extends "layout/base.twig" %}
2 |
3 | {% from "macros.twig" import class_item %}
4 |
5 | {% block title %}
6 | {% set title = "Classes" %}
7 | {{ parent() }}
8 | {% endblock %}
9 |
10 | {% block content %}
11 |
12 | This is a complete list of available classes:
13 |
14 | {% for class in classes %}
15 | {% if not class.interface and 'PiwikTracker' != class.shortname and 'MatomoTracker' != class.shortname %}
16 | {{ class_item(class, false, "", true) }}
17 | {% endif %}
18 | {% else %}
19 | - There are no classes available.
20 | {% endfor %}
21 | {% endblock %}
--------------------------------------------------------------------------------
/generator/template/pages/classnames.twig:
--------------------------------------------------------------------------------
1 | {% from "macros.twig" import class_name %}
2 |
3 | {% for class in classes %}
4 | {% if not class.interface and class.projectclass and 'PiwikTracker' != class.shortname and 'MatomoTracker' != class.shortname %}
5 | ## {{ class|replace({'Piwik\\': ''}) }}
6 | {% endif %}
7 | {% endfor %}
--------------------------------------------------------------------------------
/generator/template/pages/interfaces.twig:
--------------------------------------------------------------------------------
1 | {% extends "layout/base.twig" %}
2 |
3 | {% from "macros.twig" import class_item %}
4 |
5 | {% block title %}
6 | {% set title = "Interfaces" %}
7 | {{ parent() }}
8 | {% endblock %}
9 |
10 | {% block content %}
11 |
12 | This is a complete list of available interfaces:
13 |
14 | {% for interface in classes %}
15 | {% if interface.interface %}
16 | {{ class_item(interface) }}
17 | {% endif %}
18 | {% else %}
19 | - There are no interfaces available.
20 | {% endfor %}
21 | {% endblock %}
--------------------------------------------------------------------------------
/generator/template/pages/namespaces.twig:
--------------------------------------------------------------------------------
1 | {% extends "layout/base.twig" %}
2 |
3 | {% from "macros.twig" import markdown_path %}
4 |
5 | {% block title %}
6 | {% set title = "Namespaces" %}
7 | {{ parent() }}
8 | {% endblock %}
9 |
10 | {% block content %}
11 |
12 | This is a complete list of available namespaces:
13 |
14 | {% for namespace in namespaces %}
15 | - [`{{ namespace }}`]({{ namespace_path(namespace)|replace({".html": ""}) }})
16 | {% else %}
17 | - There are no namespaces available.
18 | {% endfor %}
19 | {% endblock %}
20 |
--------------------------------------------------------------------------------
/generator/template/test/generate:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | BASE=$(readlink -f $(dirname "$0"))
4 |
5 | "$BASE/../bin/sami.php" update "$BASE/sami.php" --force
6 |
--------------------------------------------------------------------------------
/generator/template/test/sami.php:
--------------------------------------------------------------------------------
1 | files()
13 | ->name('*.php')
14 | ->in(__DIR__ . '/source'),
15 | array(
16 | 'build_dir' => __DIR__ . '/build',
17 | 'cache_dir' => __DIR__ . '/cache',
18 | 'template_dirs' => array(__DIR__ . '/..'),
19 | 'theme' => 'github',
20 | )
21 | );
22 |
23 | $sami['filter'] = $sami->share(
24 | function () {
25 | return new CustomFilter();
26 | }
27 | );
28 |
29 | /**
30 | * Allows public and protected members to be rendered.
31 | *
32 | * @author Kevin Herrera
33 | */
34 | class CustomFilter implements FilterInterface
35 | {
36 | public function acceptClass(ClassReflection $class)
37 | {
38 | return true;
39 | }
40 |
41 | public function acceptMethod(MethodReflection $method)
42 | {
43 | return ($method->isPublic() || $method->isProtected());
44 | }
45 |
46 | public function acceptProperty(PropertyReflection $property)
47 | {
48 | return ($property->isPublic() || $property->isProtected());
49 | }
50 | }
51 |
52 | return $sami;
53 |
--------------------------------------------------------------------------------
/generator/template/test/source/Phine/Example/Exception/ExampleException.php:
--------------------------------------------------------------------------------
1 |
11 | */
12 | class ExampleException extends Exception
13 | {
14 | }
15 |
--------------------------------------------------------------------------------
/phpunit.xml.dist:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
15 | ./app/tests/
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------