这是Matomo平台开发人员的开发人员更新日志。在我们的HTTP API的所有变化,插件,主题,sdk等都列在下面。
产品变更日志m.hju8.com/changelog让您看到关于任何Matomo发行版的更多详细信息,例如新指南和常见问题,安全修复,以及所有已关闭问题的链接。
常见的::fixLbrace ()
功能已被删除。它只在AngularJS中是必需的,不再需要使用。JSON2
API格式现在已被删除。我们建议切换到JSON
Renderer,它的行为是一样的。piwikPageChange
,在加载报表页面时触发,已重命名为matomoPageChange
.如果依赖于实现,请确保更新它。即instance_id
配置不再支持除无所不包的
,0 - 9
还有特殊的字符_。
.如果配置的值包含其他字符,它们将被简单地删除。Piwik \请求
已经介绍过。它将允许从请求中获取参数,可选地验证/转换为特定类型。使用这个类来支持常见的::getRequestVar
.autoSanitizeInputParams美元
.将此变量设置为假
会不会防止自动应用常见的::sanitizeInputValues
传递给API方法的所有参数。到目前为止,此属性默认为真正的
,但这可能会在即将发布的主要版本中改变。常见的::getRequestVar
现在已弃用,但将保留API直到Matomo 6。您可能已经开始使用这个新类Piwik \请求
相反,但要确保自己处理必要的消毒/逃避。Archiving.getIdSitesToMarkArchivesAsInvalidated
开始传递日期,期间,段和名称参数连同idSites参数。——concurrent-archivers
参数可用于增加此限制。值-1将使用无限数量的并发归档器ssl_disallow_self_signed
,ssl_verify_peer
,ssl_verify_peer_name
在[mail]下允许修改SMTP请求中的SSL处理。enable_opcache_reset
违约,1
.的配置开关opcache_reset
当一般缓存被清除。这对于宁愿自己管理opcache重置的多租户安装可能很有用。这也可以被脚本用来临时关闭opcache重置。UsersManager.deleteUser
API使用会话认证,一个新参数passwordConfirmation
需要与包含发出API请求的用户的当前密码的请求一起发送。UsersManager.addUser
API使用会话认证,一个新参数passwordConfirmation
需要与包含发出API请求的用户的当前密码的请求一起发送。UsersManager.inviteUser
API使用会话认证,一个新参数passwordConfirmation
需要与包含发出API请求的用户的当前密码的请求一起发送。Login.userRequiresPasswordConfirmation
,可以在登录插件中使用,以避免在UI和某些API方法中进行密码确认SitesManager.deleteSite
API使用会话认证,一个新参数passwordConfirmation
需要与包含发出API请求的用户的当前密码的请求一起发送。setExcludedReferrers
而且getExcludedReferrers
已添加到JavaScript跟踪器。它们允许设置和接收JavaScript跟踪器应该忽略的引用。如果一个推荐人与该列表中的条目匹配,它将不会与跟踪请求一起传递,并且属性cookie将保持不变。例如,如果您需要将用户转发到SSO或支付等外部服务,并且不希望将任何访问或转换归因于这些服务,则可以使用这种方法。force_matomo_http_request
默认为0。如果Matomo实例不能通过HTTPS向m.hju8.com发出请求,可以将该值设置为1,以强制Matomo marketplace和Matomo api请求使用HTTP而不是HTTPS。UsersManager.inviteUser.end
,该命令会在新用户被邀请后触发UsersManager.inviteUser.resendInvite
,该命令会在用户重新发出邀请后触发UsersManager.inviteUser.accepted
,在邀请被接受后触发添加了新的事件UsersManager.inviteUser.declined
,在邀请被拒绝后触发
现有事件UsersManager.addUser.end
只有在使用API添加用户时才会触发。
plugin.json
可能会透露版本细节,json
文件现在将不再被视为可以安全提供的静态文件。因此json
将不再包括在生成的静态文件扩展名列表中. htaccess
文件。enable_default_location_provider
在跟踪器
已添加。通过将此选项设置为0,可以禁用默认位置提供程序。如果配置的提供程序没有提供任何结果,这可以用来防止地理定位器根据用户的语言猜测国家。Segment.filterSegments
.插件可以使用它来过滤段定义。piwik-field
和相关指令已转换为Vue和模板文件
属性现在被认为已弃用,并将在Matomo 5中删除。相反,组件
属性应该用于添加一个新的表单字段,它应该是一个具有两个引用Vue组件的属性的对象,插件
而且的名字
,在那里插件
Vue组件所在的插件和的名字
是组件导出的Vue名称。SecurityPolicy.addPolicy
,SecurityPolicy.overridePolicy
,SecurityPolicy.removeDirective
,SecurityPolicy.allowEmbedPage
,SecurityPolicy.disable
允许开发人员修改或禁用默认的内容安全策略。插件\控制器
有了新成员securityPolicy
所以插件可以使用$ this - > securityPolicy
在需要自定义内容安全策略时访问这些新方法。npx browserslist
将列出当前支持的浏览器。totalEcommerceRevenue
,totalEcommerceConversions
,totalEcommerceItems
,totalAbandonedCartsRevenue
,totalAbandonedCarts
而且totalAbandonedCartsItems
.contact_email_address
在一般
已添加。它将被用作用户的联系电子邮件地址。如果没有定义(默认),所有超级用户的所有电子邮件地址将被使用,这等于它过去的行为。logme
方法自动登录现在在默认情况下禁用新安装。对于现有的安装,它将在更新时自动启用。如果您不需要它,请考虑出于安全原因再次禁用它Login_allow_logme = 0
在一般
的部分config.ini.php
.url
参数,用于自动登录操作logme
,将不再重定向到不受信任的主机。如果您需要做重定向到其他url,请添加相应的主机作为trusted_hosts
进入config.ini.php
(一般)proxy_ip_read_last_in_list
设置为1
.当您将代理标头与负载均衡器结合使用时,使用最后一个IP会更安全。核心:版本
它返回Matomo版本号。核心:create-security-files
它会创建一些以前不存在的web服务器安全文件(在使用例如Apache或IIS web服务器时很有用)。enableLinkTracking
没有跟随DOM的变化,从这个版本开始,当DOM更新时,Matomo自动为页面上的新链接添加事件监听器。它可以更容易地跟踪spa中链接的点击。从这个版本开始,如果我们使用addListener
方法在DOM更改后手动添加事件侦听器enableLinkTracking
时,我们将跟踪该元素的单击事件两次。password_hash_algorithm
,password_hash_argon2_threads
,password_hash_argon2_memory_cost
而且password_hash_argon2_time_cost
INI配置选项已添加,以允许使用特定的password_hash
算法和选项,如果需要。enable_php_profiler
新增INI配置选项。在Matomo中允许剖析之前,这个值必须设置为1。geolocation_download_from_trusted_hosts
介绍了。下载GeoIP数据库现在将仅限于那些配置的主机。login_password_recovery_email_address
而且login_password_recovery_name
已删除,以避免发送恢复邮件时可能的SMTP问题。noreply_email_address
而且noreply_email_name
将被使用。JSON
JavaScript跟踪器中的对象。这意味着跟踪器将不再支持IE7及以上版本,Firefox 3及以上版本。sendBeacon
默认为浏览器支持。您可以通过调用跟踪器方法禁用此功能disableAlwaysUseSendBeacon
.因此,回调参数将不再工作,跟踪请求可能不会出现在开发人员工具中。这将提高你的网站的加载时间。跟踪请求将作为POST请求而不是GET发送,但参数默认包含在URL中,因此它们不会在重定向中丢失。PiwikInitialized
已重命名为MatomoInitialized
matomoPluginAsyncInit
而不是piwikPluginAsyncInit
setVisitStandardLength
已经被移除,因为不再需要它了。setGenerationTimeMs (generationTime)
已经被删除,因为现在使用的是性能API。对该方法的任何调用都将被忽略。目前还没有可用的替代品。getPiwikUrl
已弃用和getMatomoUrl
应该改为使用。piwikAsyncInit
已弃用和matomoAsyncInit
应该改为使用。窗口。Piwik
已弃用和窗口。Matomo
应该改为使用。这些只是建议(因为我们将保持向后兼容性多年),但我们确实建议您更新您的代码以保持一致性,并为未来的跟踪打样:
piwik_ignore
CSS类忽略外链接,我们建议替换它matomo_ignore
piwik_download
CSS类标记的链接,我们建议将其替换为下载matomo_download
piwikTrackContent
,piwikContentPiece
,piwikContentTarget
,piwikContentIgnoreInteraction
与matomoTrackContent
,matomoContentPiece
,matomoContentTarget
,matomoContentIgnoreInteraction
.matomo.js
JS跟踪器文件代替piwik.js
而且matomo.php
跟踪器端点而不是piwik.php
端点。getMatomoUrl
已添加替换哪个getPiwikUrl
.JSON2
API格式现在已弃用,现在默认应用。JSON2渲染器将在Matomo 5中被移除,我们建议切换到JSON
渲染器。JSON
渲染器现在的行为像以前一样JSON2
渲染器。这意味着数组像['a' => 0, 'b' => 1]
将在JSON中呈现为{“a”:0,“b”:1}
而不是[{“a”:0,“b”:1}]
.这会影响以下API方法:php
已被删除。API.getBulkRequest
如果API返回一个标量值(例如5
).在这种情况下,响应将是no longer5
但是举个例子{值:5}
UsersManager.getTokenAuth
已被删除。相反,你需要使用UsersManager.createAppSpecificTokenAuth
并将此令牌存储在应用程序中。UsersManager.createTokenAuth
已被删除。相反,你需要使用UsersManager.createAppSpecificTokenAuth
并将此令牌存储在应用程序中。DevicesDetection.getBrowserFamilies
已被删除。相反,你需要使用DevicesDetection.getBrowsers
CustomPiwikJs.doesIncludePluginTrackersAutomatically
已重命名为CustomJsTracker.doesIncludePluginTrackersAutomatically
Live.getLastVisitsForVisitor
已被删除。使用Live.getVisitorProfile
代替。Live.getLastVisits
已被删除。使用Live.getLastVisitsDetails
代替。API.getDefaultMetricTranslations
,API.getLogoUrl
,API.getHeaderLogoUrl
,API.getSVGLogoUrl
,API.hasSVGLogo
SitesManager.getSitesIdWithVisits
,SitesManager.isSiteSpecificUserAgentExcludeEnabled
,SitesManager.setSiteSpecificUserAgentExcludeEnabled
Referrers.getKeywordsForPageUrl
而且Referrers.getKeywordsForPageTitle
.使用Referrers.getKeywords
而是与a结合entryPageUrl
或entryPageTitle
段。别名
从API方法UsersManager.addUser
而且UsersManager.updateUser
已被删除。ca
已添加,可用于跟踪请求,不是页面浏览量看到# 16569Db.getTablesInstalled
,插件应该用来注册他们创建的表。CustomPiwikJs.piwikJsChanged
已重命名为CustomJsTracker.trackerJsChanged
CustomPiwikJs.shouldAddTrackerFile
已重命名为CustomJsTracker.shouldAddTrackerFile
CustomMatomoJs.shouldAddTrackerFile
已重命名为CustomJsTracker.manipulateJsTracker
Live.getAllVisitorDetails
已被删除。使用一个VisitorDetails
类代替(见Live插件)。Live.getExtraVisitorDetails”
已被删除。使用VisitorDetails
在每个插件中改为。Piwik.getJavascriptCode
已重命名为Tracker.getJavascriptCode
.LanguageManager.getAvailableLanguages
已被删除。使用LanguagesManager.getAvailableLanguages
代替。美元完成
` CronArchive.archiveSingleSite `的参数。“完成”事件已被删除。对于这个事件和CronArchive.archiveSingleSite.start事件,都为进程的pid添加了一个新参数。多个进程现在可以为相同的站点ID触发此事件。\ Piwik \插件:getListHooksRegistered ()
已被删除。使用\ Piwik \插件:registerEvents ()
而不是\ Piwik \ Piwik: doAsSuperUser ()
已被删除。使用\ Piwik \访问::doAsSuperUser ()
而不是\ Piwik \ SettingsPiwik: isPiwikInstalled ()
已被删除。使用\ Piwik \ SettingsPiwik: isMatomoInstalled ()
而不是\ Piwik \更新::getSql ()
已被删除。使用\ Piwik \更新::getMigrations ()
而不是\ Piwik \更新::getMigrationQueries ()
已被删除。使用\ Piwik \更新::getMigrations ()
而不是\ Piwik \更新::executeMigrationQueries ()
已被删除。使用\ Piwik \更新::executeMigrations ()
而不是\ Piwik \更新:更新()
已被删除。使用\ Piwik \更新::doUpdate ()
而不是\ Piwik \ Updater: updateDatabase ()
已被删除。该方法不再需要。\ Piwik \常见:json_encode ()
已被删除。使用json_encode ()
而不是\ Piwik \常见:json_decode ()
已被删除。使用json_decode ()
而不是\ Piwik \常见:getContinentsList ()
已被删除。使用\ \ Piwik \ Intl \数据提供者\ RegionDataProvider:: getContinentList ()
而不是\ Piwik \常见:getCountriesList ()
已被删除。使用\ \ Piwik \ Intl \数据提供者\ RegionDataProvider:: getCountriesList ()
而不是\ Piwik \常见:getLanguagesList ()
已被删除。使用\ \ Piwik \ Intl \数据提供者\ LanguageDataProvider:: getLanguagesList ()
而不是\ Piwik \常见:getLanguageToCountryList ()
已被删除。使用\ \ Piwik \ Intl \数据提供者\ LanguageDataProvider:: getLanguageToCountryList ()
而不是\ Piwik \网站::getCurrencyList ()
已被删除。使用\ \ Piwik \ Intl \数据提供者\ CurrencyDataProvider:: getCurrencyList ()
而不是\ Piwik \ Piwik: setUserHasSuperUserAccess ()
已被删除。使用\ Piwik \访问::doAsSuperUser ()
而不是\ Piwik \ MetricsFormatter
已被删除。使用Piwik \指标\格式化程序
或Piwik \指标\格式化程序\ Html
而不是\ Piwik \注册表
已被删除。使用\ Piwik \ \ StaticContainer容器
而不是\ Piwik \ TaskScheduler
已被删除。使用调度器\ Piwik \ \调度器
而不是\ Piwik \ DeviceDetectorFactory
已被删除。使用\ Piwik \ DeviceDetector \ DeviceDetectorFactory
而不是\ Piwik \ ScheduledTask
已被删除。使用调度器\ Piwik \ \任务
代替。\ Piwik \翻译
已被删除。使用翻译\ Piwik \ \翻译
代替。登录\ Piwik \ Plugins \ \ SessionInitializer
不再被认为是API,因为不再需要它。\ Piwik \ \ StaticContainer容器
它仍然存在,但我们不再认为它是一个API,应该尽可能地使用构造函数注入。Piwik \ \列维度:工厂
已被删除。使用DimensionsProvider:工厂
代替。Piwik \ Config::重置
已被删除。使用重新加载
方法相反。Piwik \ Config:: init
已被删除。使用重载()
方法相反。Piwik \ Db:: getColumnNamesFromTable
已被删除。使用TableMetadata: getColumns
方法相反。Piwik \会议\ SessionInitializer:: getHashTokenAuth
已被删除。这种方法已经没有必要了。Piwik \追踪::getDatetimeFromTimestamp
已被删除。使用Piwik \日期::getDatetimeFromTimestamp
代替。尺寸::addSegment ()
已被删除。参见新的实现DimensionSegmentFactory: createSegment
对于更换Piwik \ Plugins \ \ API:目标:NEW_VISIT_SEGMENT
已被删除。使用Piwik \ Plugins \ VisitFrequency \ API:: NEW_VISITOR_SEGMENT
代替。尺寸::configureSegments ()
已经改变了。与配置Metrics类似,它现在需要两个参数SegmentsList SegmentsList美元
而且DimensionSegmentFactory DimensionSegmentFactory美元
.Segment.addSegments
已经改变了。它现在有一个参数美元SegmentsList列表
,它允许向列表中添加新段CustomPiwikJs
已重命名为CustomJsTracker
Piwik \ Plugins \ CustomPiwikJs \ TrackerUpdater
已重命名为Piwik \ Plugins \ CustomJsTracker \ TrackerUpdater
Piwik \饼干:集
不再接受数组作为值Zend_Validate
所有的子类都被完全删除了。Piwik \邮件
)已被改写:Piwik \邮件
现在是一个独立的类。邮件\ \ Piwik \运输
并且可以用DI代替。Piwik \邮件
已删除或更改其签名。UsersManager.createAppSpecificTokenAuth
已添加用于为用户创建应用程序特定的令牌。常见的::hashEquals
已添加用于定时攻击安全字符串比较。hideColumns
通过设置递归到嵌套值hideColumnsRecursively = 1
.对所有生活
这是API方法的默认行为。(一般)enable_framed_allow_write_admin_token_auth
是集。这意味着如果您目前依赖于此功能,则在更新到matomo 4时需要更新您的matomo配置。或者,创建一个用户视图
访问并使用该用户的令牌来嵌入报表。misc /日志分析
现在支持Python 3(3.5, 3.6, 3.7或3.8),它将不再与Python 2一起运行。如果您有任何运行导入器的自动化脚本,则必须将它们更改为使用Python 3可执行文件。piwik
字体被删除。使用matomo
字体相反——piwik-domain
已被删除。使用——matomo-domain
而不是Proxy.redirect
已被删除。相反,直接在HTML中链接到URL并设置一个属性rel = " noreferrer noopener”
log_link_visit_action
列interaction_position已重命名为pageview_position。如果数据库查询依赖于列,则可以简单地替换名称。matomo_campaign
/mtm_campaign
campaign关键字参数matomo_kwd
/mtm_kwd
DI \ \对象()
已被删除。你可以使用DI \ \自动装配()
或DI \ \ create ()
代替。DI \ \链接()
已被删除。使用DI \ \ get ()
代替。DI \ \值()
,除非他们是一家工厂。Host_validation_use_server_name = 0
,如果设置为1,Matomo将更喜欢使用SERVER_NAME变量而不是HTTP_HOST。这可以添加额外的安全层,因为在正确配置时,SERVER_NAME不能通过发送自定义主机标头来操作。添加了以下新的JavaScript跟踪器方法:
_paq.push(['setVisitorId', visitorId]);
.这可以用来强制指定一个特定的visitorId。它接受一个16位的十六进制字符串。_paq.push ([' requireCookieConsent ']);
.如果只有在得到同意的情况下才应该使用cookie,则调用此方法。_paq.push ([' rememberCookieConsentGiven ']);
.当用户同意cookie时调用此方法。_paq.push ([' forgetCookieConsentGiven ']);
.当用户撤销cookie同意时调用此方法。_paq.push ([' setCookieConsentGiven ']);
.调用此方法让跟踪器知道当前页面视图的同意(在请求之间不会被记住)。userLogin
在UsersManager.getUserPreference
方法现在是可选的,默认为当前经过身份验证的用户登录。ArchiveProcessor.ComputeNbUniques.getIdSites
添加了插件,以便插件在处理特定站点的唯一访问者和用户数量时可以更改应该包括哪些站点id。\ Piwik \ Plugins \ SitesManager \ isSiteSpecificUserAgentExcludeEnabled ()
而且\ Piwik \ Plugins \ SitesManager \ setSiteSpecificUserAgentExcludeEnabled ()
已弃用。\ Piwik \ SettingsServer: isMatomoForWordPress ()
添加了插件可以检测插件是否在Matomo for WordPress或Matomo On-Premise内执行亚博账号每天2000元出租setVisitStandardLength
它允许您配置自定义访问标准长度,以防在配置中配置了自定义“visit_standard_length”。设置仅在启用心跳时生效。Metrics.isLowerValueBetter
因此,插件可以定义是否较低的度量值对额外的度量值更好。Visualization.beforeRender
,在呈现可视化之前立即触发。Http.sendHttpRequest
而且Http.sendHttpRequest.end
所以插件可以监听外部HTTP请求,监控它们,或者自己解决请求。CliMulti.supportsAsync
所以插件可以通过命令行强制或禁用存档功能UsersManager.setSuperUserAccess
API,一个新参数passwordConfirmation
需要与包含发出API请求的用户的当前密码的请求一起发送。setCustomDimension
现在都是URL编码的(以前不是)。如果在调用之前手动对自定义维度值进行URL编码setCustomDimension
,您的自定义维度值出现在报告和访问量日志/访问者配置文件现在可能是双重URL编码。要解决双重编码问题,可以删除URL编码,并相信Matomo JavaScript Tracker将正确地对值进行URL编码。平
已添加手动发送ping请求,而不是使用心跳计时器。ViewDataTable.configure.end
,在视图配置属性被保存的设置和查询参数覆盖后触发。Referrers.getKeywordsForPageUrl
而且Referrers.getKeywordsForPageTitle
api已经弃用,并将在Matomo 4.0.0中删除tmp /日志/ matomo.log
而不是tmp /日志/ piwik.log
.这个日志文件路径可以在INI设置中的config/config. INI .php中编辑logger_file_path
.MATOMO_PLUGIN_DIRS
或者一个全局美元(“MATOMO_PLUGIN_DIRS”)
变量$ MATOMO_ROOT / bootstrap.php
.Piwik \插件\经理::getPluginsDirectories ()
而且Piwik \插件\经理::getPluginDirectory (pluginName美元)
添加了Matomo插件,因为现在可以在不同的目录中找到Matomo插件,不应该再假设插件位于“/plugins”目录中。disableQueueRequest
已添加到禁用排队请求,这在导入日志时可能有用。LanguageManager.getAvailableLanguages
已弃用。使用LanguagesManager.getAvailableLanguages
代替。UsersManager.updateUser
API,一个新参数passwordConfirmation
需要与包含发出API请求的用户的当前密码的请求一起发送。ScheduledReport.generateReport
已被下载输出类型所取代。Piwik \ Piwik:: doAsSuperUser
已弃用,将在Matomo 4中移除。使用Piwik \访问::doAsSuperUser
代替。queueRequest (requestUrl)
.这对于将多个跟踪请求分组为一个批量请求非常有用,可以减少发送到服务器的跟踪请求数量,从而提高跟踪效率。Metrics.getEvolutionUnit
它允许您为演进图和行演进中使用的度量设置单位。——tracker-endpoint-path
参数,该参数允许您使用不同的跟踪器端点/ piwik.php
,如果需要的话。Piwik \ SettingsPiwik: isPiwikInstalled ()
已弃用并重命名为isMatomoInstalled ()
.仍然支持使用该方法,但该方法将在Piwik 4.0.0中被删除Access.modifyUserAccess
允许插件修改当前用户的访问级别/权限。CustomMatomoJs.manipulateJsTracker
它允许插件修改JavaScript跟踪器。[测试]enable_logging
INI选项已添加,您可以设置为1
为所有测试启用日志记录。的运行测试:
而且测试:run-ui
命令现在都有一个——启用日志记录
选项,为特定的运行启用日志记录。货币[]
配置的关键。eventValue
允许您选择跟踪具有给定值或值范围的自定义事件的所有用户。archiiving_profile = 0
,如果设置为1,则core:存档剖析信息将被记录到日志文件中。日志文件由archive_profiling_log
选择。archive_profiling_log =
,如果设置为绝对路径,core:archive剖析信息将被记录到指定的文件中。enable_internet_features = 0
将通过阻止所有外发连接来完全禁用互联网访问。注意:出于安全考虑,不建议更改此设置,因为您将失去简单的自动更新和电子邮件通知。login_whitelist_ip []
现在支持主机名,所以您可以白名单您的IP地址和/或主机名,并保持您的Matomo安全。——concurrent-archivers
定义在此服务器上并行运行的最大归档程序数。有助于防止存档进程堆积并最终失败。API.addGlossaryItems
它允许您向术语表中添加条目。Tracker.detectReferrerSocialNetwork
是什么让你添加自定义社交网络检测Report.unsubscribe
当有人取消订阅报表时会触发哪个UsersManager.getAvailableRoles
获取可授予用户的所有可用角色的列表。UsersManager.getAvailableCapabilities
获取可授予用户的所有可用功能的列表。UsersManager.addCapabilities
向用户授予一个或多个功能。UsersManager.removeCapabilities
从用户中删除一个或多个功能。UsersManager.setUserAccess
现在接受一个数组同时传递一个角色和多个功能。requiresInternetConnection
定义在没有Internet连接时是否应该自动卸载它们(enable_internet_features = 0)removeEcommerceItem
而且clearEcommerceCart
为了更好地控制电子商务购物车中的商品。同意= 1
在跟踪API URL时同意已由用户给出。assertResponseCode ()
而且assertHttpResponseText ()
在Piwik \测试\ \ TestCase \ SystemTestCase框架
已弃用,将在Matomo 4.0中移除。请使用Piwik \ Http
代替。PHPUnit) \ \约束\ HttpResponseText框架
而且PHPUnit) \ \约束\ ResponseCode框架
已弃用,将在Matomo 4.0中移除。请使用Piwik \ Http
代替。——piwik-domain
已弃用,将在Matomo 4.0中移除。使用——matomo-domain
而不是Piwik \ \ API请求:isRootRequestApiRequest ()
来检测根请求是否是API请求。/
并且将不再包括default_action_name
.如。路径/ /索引
现在将是/ /路径
.这可能会影响配置的自定义警报,因为这个插件使用扁平的url报告进行比较。requireConsent
,rememberConsentGiven
,setConsentGiven
,forgetConsentGiven
.PrivacyManager.deleteLogsOlderThan
,PrivacyManager.exportDataSubjects
而且PrivacyManager.deleteDataSubjects
使插件符合GDPR。AssetManager.addStylesheets
添加文件中没有的样式。Archiving.getIdSitesToMarkArchivesAsInvalidated
这使得插件可以自定义报告失效的行为。视图- >配置- > disable_all_rows_filter_limit
.piwik
字体已弃用,将在Matomo 4.0中删除。请使用新的matomo
使用ajaxHelper发送同步请求现在已弃用。从Matomo 4.0开始,所有请求都将异步发送
resetUserId
已添加以允许清除用户和访客id。Actions.addActionTypes
已添加,以允许插件添加他们的自定义动作类型。copyDashboardToUser
,createNewDashboardForUser
,removeDashboard
而且resetDashboardLayout
getDashboards
API方法已通过附加参数进行扩展,以获取特定用户的仪表板API.Request.intercept
添加了允许插件拦截API请求来执行自定义逻辑,覆盖原来的API方法。Request.shouldDisablePostProcessing
添加了允许插件禁用数据表后处理个别API请求。SitesManager.shouldPerformEmptySiteCheck
已添加到允许插件禁用空站点检查个别网站。getCrossDomainLinkingUrlParameter
已添加,因此您可以添加跨域跟踪功能动态创建的链接。在这里学习如何将结果附加到链接的url,请参阅“高级:处理动态生成的链接”部分。Piwik现在是Matomo。阅读更多关于这一变化官方声明.
API.getMatomoVersion
介绍了。前面的HTTP APIAPI.getPiwikVersion
将仍然工作,但现在将从API参考页隐藏。historyService
随着broadcast.init
,broadcast.propagateAjax
,broadcast.pageLoad
已弃用,并将在Piwik 4中删除。@theme-color-header-text
Widgetize.shouldEmbedIframeEmpty
这样插件就可以自己定义小部件化HTML的输出Live.addProfileSummaries
而且Live.filterProfileSummaries
piwikHelper.registerShortcut
允许插件绑定键盘快捷键。按下按钮将显示可用快捷方式的摘要?
visitStartServerMinute
服务器时间-分钟(开始访问)visitEndServerMinute
for服务器时间-分钟(访问结束)Live.addVisitorDetails
而且Live.filterVisitorDetails
视图- >配置- > show_export
.视图- >配置- > show_header_message
.Metric.addMetrics
触发添加不能被平台自动拾取的新指标。Metric.addComputedMetrics
触发以添加不是自动生成的计算指标Metric.filterMetrics
触发筛选指标Piwik \ \ MetricsList列
保存所有可用指标的列表Piwik \ \ ComputedMetricFactory列
可以用来创建计算指标吗Piwik \ \ DimensionMetricFactory列
可以直接用于在维度中创建度量show_update_notification_to_superusers_only
可以隐藏所有用户的更新通知,除了超级用户Live.getAllVisitorDetails
已弃用,将在Piwik 4中删除。使用一个VisitorDetails
类代替(见Live插件)。setSecureCookie
这将设置cookie的安全参数ScheduledTasks.shouldExecuteTask
,ScheduledTasks.execute
,ScheduledTasks.execute.end
已添加自定义计划任务的行为。CustomPiwikJs.shouldAddTrackerFile
已经添加到让插件自定义跟踪文件应该包括在piwiki .js JavaScript跟踪Login.authenticate.successful
已添加,当用户成功登录时触发Piwik \ Plugins \ CustomPiwikJs \ TrackerUpdater
已添加更新piwiki .js JavaScript跟踪器插件:激活
而且插件:禁用
现在可以同时激活和禁用多个插件吗Db.getActionReferenceColumnsByTable
已添加的情况下,插件定义了一个自定义日志表引用数据的log_action表System.addSystemSummaryItems
而且System.filterSystemSummaryItems
已添加,以便插件可以添加项目和过滤项目的系统摘要小部件getPiwikUrl
已添加检索Piwik实例所在的URLgetCurrentUrl
已添加检索网站的当前URL。getNumTrackedPageViews
已添加以检索当前加载的页面或web应用程序中跟踪的页面视图数。setSessionCookie
,getCookie
,hasCookies
,getCookieDomain
,getCookiePath
,getSessionCookieTimeout
在插件中添加了更好的cookie支持。电子邮件
而且url
表单字段现在可以在设置中使用。enable_plugin_upload
允许您通过超级用户上传和安装Piwik插件ZIP文件。这在默认情况下是启用的,但出于安全原因,现在默认禁用了。报告::$ supportsFlatten
允许您定义报表是否支持扁平化(默认为真正的
).如果设置为假
它也会凝固ViewDataTable \ Config: show_flatten_table美元
来假
Controller.triggerAdminNotifications
添加了让插件知道他们应该在管理中触发通知。enableCrossDomainLinking
,disableCrossDomainLinking
,isCrossDomainLinkingEnabled
getLinkTrackingTimer
获取配置的链路跟踪时间的值deleteCustomVariables
删除一定范围内的所有自定义变量enableLinkTracking
现在可以调用几次,使Piwik意识到新添加的链接,当你的DOM改变Piwik \插件\报告::getMetricNamesToProcessReportTotals ()
这允许您定义哪些指标应该在悬停的表格报告可视化中显示百分比。如果定义了,这些百分比将自动计算。Tracker.newConversionInformation
现在提交第四个新的参数美元的行动
UserCountry.getCountryCodeMapping
获取已使用国家代码到国家名称的列表getCredentialFields ()
.这使得SMS提供程序不仅仅需要一个API密钥。setSMSAPICredential ()
现在接受第二个参数作为一个充满凭据的数组(而不是包含API密钥的字符串)MultiSites.filterRowsForTotalsCalculation
来过滤哪些网站将包括在所有网站仪表板总数计算。Piwik \插件\文档:shouldRunEvenWhenNoVisits ()
已添加。通过覆盖这个方法并返回true,一个插件存档器可以强制存档运行,即使没有访问网站/日期/时期/段组合(默认情况下,没有访问时跳过存档)。阅读更多关于从Piwik 2迁移插件的信息。X到Piwik 3我们的迁移指南.
_paq.push
,现在需要配置跟踪器(例如呼叫setSiteId
而且setTrackerUrl
)在piwik.js
加载JavaScript跟踪器以确保跟踪器正确工作。如果跟踪器没有正确初始化,浏览器控制台将显示错误“_paq.push()被使用,但Piwik跟踪器没有在Piwik .js文件加载之前初始化。”[…]”token_auth
属性Piwik \ \ MenuReporting菜单
而且Piwik \ \ MenuMain菜单
已被移除Piwik \插件\小部件
已经被移除并被Piwik部件\ \小部件
.从现在开始,每个小部件都需要一个类。您可以通过生成小部件。/控制台生成:小部件
.Piwik \ WidgetList
班级已移至Piwik \部件\ WidgetsList
.Piwik \ Plugins \ API \ API: getLastDate ()
已被删除。Piwik \ Archive:: getDataTableFromArchive ()
已删除,使用Piwik \ Archive:: createDataTableFromArchive
代替。Piwik \插件\菜单::configureReportingMenu
已被删除。要向报告菜单中添加内容,您需要创建小部件报告::configureWidget ()
,报告::getWidgetTitle ()
而且报告::configureReportingMenu ()
已经被移除,使用新方法吗报告::configureWidgets ()
代替。报告::getCategory ()
已经转移到报告::getCategoryId ()
并且不再返回已翻译的类别,而是返回类别的翻译键。报告::$类别
已重命名为报告::$被标记
报告::工厂()
,报告::getAllReportClasses ()
,报告:getAllReports
已经搬到Piwik \插件\报告
类。报告::$ widgetTitle
,报告::$ widgetParams
而且报告::$ menuTitle
被移走,用什么方法报告::configureWidgets ()
创建小部件Dashboard.getDefaultDashboard
而且Dashboard.getUserDashboards
我们不再删除不存在的小部件,因为实际存在的小部件取决于客户端Piwik \插件\控制器::getEvolutionHtml
已被删除,没有替换,因为它应该不再需要。演进是由ViewDataTables直接生成的核心:插件
控制台命令已被删除,以支持新的插件:列表
,插件:激活
而且插件:禁用
在Piwik 2.11中发布的命令Piwik登录\ \ Plugins \控制器
改为受保护的
configureUserMenu (MenuUser菜单美元)
来configureAdminMenu (MenuAdmin菜单美元)
在你的Menu.php
.Piwik \菜单\ MenuAbstract: add ()
已删除,使用Piwik \菜单\ MenuAbstract: addItem ()
而不是Piwik \菜单\ MenuAdmin: addSettingsItem ()
被移除,使用Piwik \菜单\ MenuAdmin: addSystemItem ()
代替。Piwik \菜单\ MenuAdmin: addMeasurablesItem ()
是补充道。Piwik \插件\设置
已被拆分为Piwik \ \插件\ SystemSettings设置
而且Piwik \ \插件\ UserSettings设置
.$ this - > makeSetting ()
看到Piwik \ Plugins \ ExampleSettingsPlugin \ SystemSettings
举个例子。
也就是现在<结果日期= " 2010-02-01,2010-02-01 " >
.Tracker.existingVisitInformation
使用维而不是使用跟踪器
事件。Tracker.newVisitorInformation
Tracker.recordAction
Tracker.recordEcommerceGoal
Tracker.recordStandardGoals
API.getSegmentDimensionMetadata
中定义段维而不是Menu.Admin.addItems
创建一个菜单而不是使用菜单
事件Menu.Reporting.addItems
Menu.Top.addItems
ViewDataTable.addViewDataTable
创建一个可视化而不是ViewDataTable.getDefaultType
中指定默认类型报告而不是Login.authenticate
创建一个自定义的SessionInitializer,而不是使用登录
事件Login.initSession.end
Login.authenticate.successful
API.Request.dispatch
,API.Request.dispatch.end
,API。插件。apiAction美元
,或API。插件。apiAction.end美元
的finalParameters美元
参数在Piwik 2中被索引(例如数组(1,6)
),并在Piwik 3中命名(例如数组('idSite' => 1, 'idGoal' => 6)
)UserSettings
插件将不再工作。请根据下面的列表更新小部件url中的模块和操作参数旧的模块 | 旧的行动 | 新模块 | 新的操作 |
---|---|---|---|
UserSettings | getPlugin | DevicePlugins | getPlugin |
UserSettings | 指数 | DevicesDetection | 软件 |
UserSettings | getBrowser | DevicesDetection | getBrowsers |
UserSettings | getBrowserVersions | DevicesDetection | getBrowserVersions |
UserSettings | getMobileVsDesktop | DevicesDetection | 方法 |
UserSettings | getOS | DevicesDetection | getOsVersions |
UserSettings | getOSFamily | DevicesDetection | getOsFamilies |
UserSettings | getBrowserType | DevicesDetection | getBrowserEngines |
UserSettings | getResolution | 决议 | getResolution |
UserSettings | getConfiguration | 决议 | getConfiguration |
UserSettings | getLanguage | UserLanguage | getLanguage |
UserSettings | getLanguageCode | UserLanguage | getLanguageCode |
阅读更多关于从Piwik 2迁移插件的信息。X到Piwik 3迁移向导.
Piwik \更新::getMigrationQueries ()
已弃用并重命名为getMigrations ()
.仍然支持使用该方法,但该方法将在Piwik 4.0.0中被删除Piwik \ Updater: executeMigrationQueries ()
已弃用并重命名为executeMigrations
.仍然支持使用该方法,但该方法将在Piwik 4.0.0中被删除。报告::configureWidgets ()
方法Piwik \部件\ ReportWidgetFactory
而且Piwik \部件\ ReportWidgetConfig
报告::$子类
它允许您向报表UI中添加报表。如果具有此名称的页面还不存在,则将自动创建该页面。新增的方法报告::getSubCategory ()
让你得到这个值。Piwik部件\ \小部件
,Piwik \部件\ WidgetConfig
而且Piwik \部件\ WidgetContainerConfig
允许您创建一个新的小部件。Piwik \类别\子类别
允许您更改菜单项的名称和顺序API.getWidgetMetadata
获取可用小部件的列表API.getReportPagesMetadata
获取现有的所有可用页面(包括其中包含的小部件)的列表SitesManager.getSiteSettings
获取特定站点的所有可用设置的列表ajaxHelper.withTokenInUrl ()
轻松地沿XHR发送令牌。在控制器中,这个令牌的存在可以通过$ this - > checkTokenInUrl ();
防止CSRF攻击。Piwik迁移\ Updater \ \工厂
允许您轻松创建可以在更新期间执行的迁移。例如数据库或插件相关的迁移。执行迁移生成新的更新。/控制台生成:更新
.Piwik \ Updater:: executeMigration
允许您执行一次迁移。Piwik \段::willBeArchived
让你检测一个段是否会被存档。ViewDataTable.filterViewDataTable
允许您筛选可用的可视化Dimension.addDimension
允许您添加自定义尺寸Dimension.filterDimension
允许您筛选任何维度Report.addReports
允许您添加动态创建的报表Report.filterReports
允许您过滤任何报告Updater.componentUpdated
内核或插件更新后触发PluginManager.pluginInstalled
安装插件后触发PluginManager.pluginUninstalled
卸载插件后触发Updater.componentInstalled
安装组件后触发Updater.componentUninstalled
卸载组件后触发pv_id
它接受一个六个字符的唯一ID,用来识别在特定的页面视图上执行了哪些操作。阅读更多有关HTTP跟踪API;Segment.addSegments
它允许你添加段。disableHeartBeatTimer ()
禁用之前已启用的心跳计时器。SitesManager.getJavascriptTag
有一个新的选项getJavascriptTag
来跟踪禁用JavaScript的用户tracking_requests_require_authentication_when_custom_timestamp_newer_than
更改Piwik在不进行身份验证的情况下跟踪请求的时间。缺省值为86400(一天)。配置的单位是秒。trackRequest
可以将任何跟踪参数发送到Piwik。例如_paq.push(['trackRequest', 'te=foo&bar=baz'])
expected-ui-screenshots
来expected-screenshots
.UI-Test-Runner现在能够处理这两个名称。_paq.push(['addTracker', piwikUrl, piwikSiteId])
.所有的跟踪请求将被发送到所有添加的Piwik跟踪器。学习更多的知识。addTracker
)通过方法Piwik。getAsyncTracker (optionalPiwikUrl optionalPiwikSiteId)
.这允许您获取跟踪器实例,并向该Piwik实例发送不同的跟踪请求,并对其进行与其他跟踪器实例不同的配置。Goals.getGoal($idSite, $idGoal)
只为达到一个目标。piwik.js
,如果调用该方法setDomains
请注意,行为略有变化。如果没有任何给定的主机别名作为参数传递给,那么当前页面域(主机名)将被自动添加setDomains
包含一个路径,如果没有主机别名,则为当前主机别名。假设你在"example.org"并设置hostAlias = ['example.com', 'example.org/test']
那么当前的“example.org”域名将不会被添加,因为已经给出了一个更严格的hostAlias 'example.org/test'。我们也不会自动添加当前页面域(主机名)如果有任何其他主机指定任何路径,如[' example.com ', ' example2.com/test ']
.在本例中,我们也不会自动添加当前页面域“example.org”,因为使用了“path”特性。只要有人使用路径功能,Piwik JS跟踪器在所有情况下都能正确工作,就需要手动指定所有主机。学习更多的知识。piwik.js
:在电子商务订单被跟踪后使用trackEcommerceOrder
,购物车中的物品现在将从JavaScript对象中删除。调用trackEcommerceCartUpdate
不会移除购物车中的物品。setIsWritableByCurrentUser
为SystemSetting
通过DI更改某些系统设置的可写权限。setDomains
函数现在支持页面通配符匹配。example.com/index *
什么时候有用跟踪Piwik中一个单独网站域中的一组页面url_query_parameter_to_exclude_from_url
INI设置config.ini.php
文件。默认情况下,以下查询字符串参数将被删除:Gclid, fb_xd_fragment, fb_comment_id, phpsessid, jsessionid, sessionid, aspsessionid, doing_wp_cron, sid
.SettingsServer: isApache ()
=
,-
或+
, Piwik现在会给值加上前缀'
以确保在Excel或OpenOffice/LibreOffice中正确显示。sid
如果找到了。setDomains
将不再尝试设置cookie路径。了解更多正确配置跟踪器当跟踪一个或多个域和/或路径时。(一般)enable_marketplace = 0/1
被移除,取而代之的是新的插件市场可以被禁用/启用。更新程序应该自动迁移现有设置。actionType
让您分割给定类型的所有动作,例如。actionType = =事件
或actionType = =下载
.动作类型值为:页面浏览量
,内容
,sitesearches
,事件
,outlinks
,下载
actionUrl
让您细分任何动作,匹配给定的URL,无论是他们是网页浏览量,网站搜索,内容,下载或事件。deviceBrand
允许你限制用户使用特定的设备品牌,如苹果,三星,LG,谷歌,诺基亚,索尼,联想,阿尔卡特等。查看设备品牌的完整列表。= ^
“以”和开始= $
“以”结束补充现有的段操作符:包含,不包含,等于,不等于,大于或等于,小于或等于。PiwikTracker.setDomains ()
现在可以处理路径了。这意味着当设置eg_paq.push(['setDomains, '*.m.hju8.com/website1'])
所有链接都指向同一个域m.hju8.com
而不是其他的路径website1 / *
将被视为外链。php-cli-options
到核心:存档
命令。给定的cli选项将被转发给实际的PHP命令。例如,这允许为存档进程指定不同的内存限制,如下所示:./console core:archive——php-cli-options="-d memory_limit=8G"
@theme-color-menu-contrast-textSelected
它允许您指定所选菜单项的颜色。配置文件
这让超级用户查看所有配置值global.ini.php
在UI中,以及它们是否被你的配置/ config.ini.php
配置:设置
允许您从命令行设置INI配置选项。该命令可用于方便或自动化。UsersManager。*
API调用:当API请求指定token_auth
的用户管理
权限,返回的数据集将不包括所有的用户名之前,API现在将只返回用户的用户名视图
或管理
允许网站(s)可见此token_auth
.生成:插件
命令,插件名称现在必须只包含字母和数字。SQLite
.现在使用现有的MySQL测试配置。为了运行测试,请确保安装了Piwik(database_tests)
配置为配置/ config.ini.php
.configOverride
设置应该不再被覆盖。相反,新值应该添加到现有值中configOverride
数组在PHP或JavaScript。例如,与其testEnvironment。configOverride={group: {name: 1}}
使用testEnvironment。overrideConfig('group', 'name', '1')
.SMSProvider
插件的目录。该类必须进行扩展Piwik \ Plugins \ MobileMessaging \ SMSProvider
并实现所需的方法。段- > setUnionOfSegments(数组(“outlinkUrl”、“downloadUrl”))
而不是定义SQL列。DB: tableExists
没有使用过,已经被移除。诊断:analyze-archive-table
分析归档表的工具数据库:optimize-archive-tables
优化归档表并可能节省磁盘空间(即使在InnoDB上)核心:invalidate-report-data
要使存档数据无效(w/ period级联)(常见问题解答)piwik.js
有了新方法logAllContentBlocksOnPage
将页面中找到的所有内容块记录到控制台。这对于调试/测试内容跟踪非常有用。它可以通过_paq.push ([' logAllContentBlocksOnPage '])
Piwik登录\ \ Plugins \控制器
现在被认为是一个公共API。Piwik \菜单\ MenuAbstract: registerMenuIcon ()
可用于为菜单类别定义一个图标,以取代默认的箭头图标。CronArchive.getIdSitesNotUsingTracker
它允许您设置一个不使用跟踪API的idSites列表,以确保我们在需要时存档这些网站。CronArchive.init.start
当CLI归档器启动时触发CronArchive.end
当存档结束时。尺寸::getId ()
已设置为最后
.不允许重写此方法。Sites.getPatternMatchSites
默认情况下只返回非常有限数量的网站。我们现在默认返回所有网站,除非特别指定了限制。enable_measure_piwik_usage_in_idsite
用于跟踪Piwik使用Piwik的插件被删除并被一个新的插件所取代AnonymousPiwikUsageMeasurement
SitesManager.getSitesIdWithVisits
API.getLastDate
Tracker.existingVisitInformation
Tracker.getVisitFieldsToPersist
Tracker.newConversionInformation
Tracker.newVisitorInformation
Tracker.recordAction
Tracker.recordEcommerceGoal
Tracker.recordStandardGoals
\ Piwik \插件:getListHooksRegistered ()
已弃用,将在Piwik 4.0中移除。使用\ Piwik \插件:registerEvents ()
代替。�
piwik.js
我们更换了JSON2与JSON3实现JSON3没有使用的CSP(内容安全策略)eval ()
.如果浏览器没有提供原生JSON API,将使用JSON3。我们正在使用JSON3
在某种程度上,它不会冲突,如果你的网站正在使用JSON3
也分支
控制台命令的发展:sync-system-test-processed
已删除,因为不再需要。1000000年
而不是1000000
)utf - 8
字符集强制UTF-8数据处理UserSettings
API已被删除。该API在早期版本中已弃用。使用DevicesDetection
,决议
而且DevicePlugins
API。启用
参数。enableLinkTracking ()
方法设置为真正的
.要使用此新功能,请使用tracker.enableLinkTracking(真正的)
或_paq.push(['enableLinkTracking', true]);
.这不是行业标准,很容易出现误报,因为不是每个用户在显示上下文菜单时都会选择“在新选项卡中打开”。大多数用户都会这样做,在大多数情况下,这将导致更准确的结果。tracker.enableHeartBeatTimer ();
或_paq.push ([' enableHeartBeatTimer ']);
.缺省情况下,每15秒发送一次ping请求。你可以通过传递一个参数来指定一个自定义的ping延迟(以秒为单位),例如:tracker.enableHeartBeatTimer (10);
或_paq.push(['enableHeartBeatTimer', 10]);
.languageCode
这样你就可以划分使用特定语言的访问者。示例值:德
,fr
,en -
,应用
等。用户标识
现在支持任何段操作符(以前只支持操作符Contains= @
此段支持)。核心:存档
现在有两个新参数:——force-idsegments
而且——skip-idsegments
它允许您强制(或跳过)处理一个或几个自定义段的存档。运行计划任务:
现在有一个论证任务
这使您可以强制运行特定的计划任务。libs / pChart2.1.3
来libs / pChart
Live.getLastVisitsDetails
不再支持API参数filter_sort_column
以防止可能的内存问题时filter_offset
很大。Site.setSite
因为它会导致性能问题而被删除。piwik.php
现在返回一个HTTP 400(坏请求)如果请求没有任何跟踪参数(GET/POST)。如果你还想用的话piwik.php
查询请使用piwik.php吗?rec = 0
.Piwik \ Archive:: getBlob ()
已弃用,将于2015年6月1日移除。使用其中一种方法getDataTable * ()
而不是方法。countVisitorsToFetch
的API方法Live.getLastVisitsDetails
已弃用为filter_offset
而且filter_limit
现在正确工作。诊断:跑
命令从命令行运行系统检查。——xhprof
可以与任何命令一起使用,通过XHProf分析该命令。deviceTypeIcon
,deviceBrand
而且deviceModel
filter_limit
而且filter_offset
如果API返回一个索引数组。这不是在所有情况下工作,现在是固定的。filter_pattern
而且filter_offset []
如果API返回一个索引数组,现在可以使用。referrer_urls_spam
INI选项(在global.ini.php
)转到另一个程式包(见https://github.com/matomo-org/referrer-spam-list).期:工厂()
已被删除。使用期\工厂
代替。配置:getConfigSuperUserForBackwardCompatibility ()
已被删除。MenuAdmin: addEntry ()
而且MenuAdmin: removeEntry ()
已被移除。使用Piwik \插件\菜单
代替。MenuTop: addEntry ()
而且MenuTop: removeEntry ()
已被移除。使用Piwik \插件\菜单
代替。SettingsPiwik: rewriteTmpPathWithInstanceId ()
已被删除。Piwik \ IP
类已删除,使用Piwik \ \ IP网络
而不是:sanitizeIp ()
sanitizeIpRange ()
P2N ()
N2P ()
prettyPrint ()
isIPv4 ()
long2ip ()
isIPv6 ()
isMappedIPv4 ()
getIPv4FromMappedIPv6 ()
getIpsForRange ()
isIpInRange ()
getHostByAddr ()
API
类不再拥有受保护的构造函数。具有受保护构造函数的类将在日志中生成一个通知,并且应该公开一个公共构造函数。getSql ()
而且update ()
方法了。仍然支持使用这些,但是开发人员应该重写更新::getMigrationQueries ()
而且更新::doUpdate ()
实例方法。API
类现在可以在构造函数中使用依赖注入来注入其他实例。核心:purge-old-archive-data
可用于从一个或多个存档表中手动清除临时、错误和无效的存档。usercountry:属性
它可以用来将地理位置数据重新属性到现有的访问和转换。如果在设置GeoIP之前跟踪了访问,则可以使用此命令向访问添加位置数据。User.getLanguage
已被删除。TaskScheduler.getScheduledTasks
窗户
已被删除。像其他操作系统一样,所有版本现在只报告为窗户
有这样的版本XP
,7
,8
等。operatingSystemName
,operatingSystemIcon
,operatingSystemCode
而且operatingSystemVersion
Piwik \ Intl
组件:Piwik \常见:getContinentsList ()
:使用RegionDataProvider: getContinentList ()
而不是Piwik \常见:getCountriesList ()
:使用RegionDataProvider: getCountryList ()
而不是Piwik \常见:getLanguagesList ()
:使用LanguageDataProvider: getLanguageList ()
而不是Piwik \常见:getLanguageToCountryList ()
:使用LanguageDataProvider: getLanguageToCountryList ()
而不是Piwik \指标\格式化程序::getCurrencyList ()
:使用CurrencyDataProvider: getCurrencyList ()
而不是Piwik \翻译
类已被弃用,而支持Piwik \ \翻译翻译
.核心:插件
主机已经被弃用,取而代之的是新的插件:列表
,插件:激活
而且插件:禁用
命令Piwik \ TaskScheduler
:使用Piwik \调度器\调度器
而不是Piwik \ ScheduledTask
:使用调度器Piwik \ \任务
而不是UserSettings.getLanguage
已弃用,将于2015年5月1日移除。使用UserLanguage.getLanguage
而不是UserSettings.getLanguageCode
已弃用,将于2015年5月1日移除。使用UserLanguage.getLanguageCode
而不是Piwik \注册表
类已弃用,转而使用容器:注册中心::get(身份验证)
应该用StaticContainer: get (Piwik \身份验证)
注册中心::设置(“身份验证”,auth美元)
应该用StaticContainer:: getContainer() - >设置(Piwik \认证,认证美元)
生成:测试
外的
.这允许您在捕捉屏幕截图时隐藏内容。测试/ PHPUnit) / UI
来测试/ UI
.我们还将UI规范直接移动到Piwik存储库中,这意味着piwik-ui-tests从现在开始,存储库只包含预期的屏幕截图。发展:sync-system-test-processed
对于核心开发人员,允许您从Travis复制处理测试结果到您的本地开发环境。screenType
而且screenTypeIcon
因为那些报道已经被完全删除了Piwik \ SettingsPiwik: rewriteTmpPathWithHostname ()
已被删除。Log.formatFileMessage
Log.formatDatabaseMessage
Log.formatScreenMessage
Log.getAvailableWriters
添加自定义日志后端,您现在需要配置独白处理程序log_only_when_cli
而且log_only_when_debug_parameter
已被移除symfony / var-dumper
库允许您更好地打印任意PHP变量通过Dump ($var1, $var2,…)
.misc proxy-hide-piwik-url /
)已移至单独的资料库:https://github.com/matomo-org/tracker-proxy.UserSettings.getBrowserVersion
已弃用,将于2015年5月1日移除。使用DevicesDetection.getBrowserVersions
而不是UserSettings.getBrowser
已弃用,将于2015年5月1日移除。使用DevicesDetection.getBrowsers
而不是UserSettings.getOSFamily
已弃用,将于2015年5月1日移除。使用DevicesDetection.getOsFamilies
而不是UserSettings.getOS
已弃用,将于2015年5月1日移除。使用DevicesDetection.getOsVersions
而不是UserSettings.getMobileVsDesktop
已弃用,将于2015年5月1日移除。使用DevicesDetection.getType
而不是UserSettings.getBrowserType
已弃用,将于2015年5月1日移除。使用DevicesDetection.getBrowserEngines
而不是UserSettings.getResolution
已弃用,将于2015年5月1日移除。使用Resolution.getResolution
而不是UserSettings.getConfiguration
已弃用,将于2015年5月1日移除。使用Resolution.getConfiguration
而不是UserSettings.getPlugin
已弃用,将于2015年5月1日移除。使用DevicePlugins.getPlugin
而不是UserSettings.getWideScreen
已被删除。使用UserSettings.getScreenType
代替。Piwik \ SettingsPiwik: rewriteTmpPathWithInstanceId ()
已弃用。而不是硬编码tmp /
路径在代码库中的所有位置,然后调用rewriteTmpPathWithInstanceId ()
,开发人员应该得到path.tmp
配置值从DI容器(例如。StaticContainer: getContainer() - >(“path.tmp”)
).Piwik \日志:setLogLevel ()
已弃用Piwik \日志:getLogLevel ()
已弃用idsite
使用send_image = 0
在HTTP跟踪API接收HTTP 204响应码,而不是GIF图像。这可以提高性能,并可以修复错误,如果图像不允许直接获得(如Chrome应用程序)。核心:插件列表
列出Piwik中当前激活的所有插件。/控制台开发:启用
.PHP控制台核心:更新
不再有参数——即将
.现在在默认情况下执行一个演练,然后询问是否真正想要执行更新。要跳过此确认步骤,可以使用——是的
选择。Piwik \ IP
已经被弃用而支持新的piwik /网络组件。测试/ PHPUnit) / phpunit.xml
为运行测试不再需要,我们建议将其删除。如果可能的话,现在自动完成测试配置。如果测试不再有效,请检查(测试)
部分配置/ global.ini.php
Piwik \解压\ *
类已经从Piwik存储库中提取到一个名为解压缩.Piwik \解压
没有移动,为了向后兼容而保留它。如果您一直在使用该类,则不需要更改任何内容。Piwik \解压\ *
类(Tar, PclZip, Gzip, ZipArchive)已经迁移到Piwik \减压\ *
命名空间(在新的存储库中)。Piwik \ \ UncompressInterface解压缩
已被移动并重命名为Piwik \ \ DecompressInterface减压
(在新的存储库中)。Piwik: setUserHasSuperUserAccess
方法已弃用,而是使用Access::doAsSuperUser。此方法将确保在回调结束后正确地取消超级用户访问。\ IntegrationTestCase
已弃用,将于2015年2月6日移除。使用\ \ TestCase \ SystemTestCase Piwik \ \测试框架
代替。\ DatabaseTestCase
已弃用,将于2015年2月6日移除。使用\ \ TestCase \ IntegrationTestCase Piwik \ \测试框架
代替。\ BenchmarkTestCase
已弃用,将于2015年2月6日移除。使用\ \ TestCase \ BenchmarkTestCase Piwik \ \测试框架
代替。\ ConsoleCommandTestCase
已弃用,将于2015年2月6日移除。使用\ \ TestCase \ ConsoleCommandTestCase Piwik \ \测试框架
代替。\ FakeAccess
已弃用,将于2015年2月6日移除。使用\ \模拟\ FakeAccess Piwik \ \测试框架
代替。\ \ Piwik \测试夹具
已弃用,将于2015年2月6日移除。使用\ Piwik \ \ Framework \测试夹具
代替。\ \ OverrideLogin Piwik \测试
已弃用,将于2015年2月6日移除。使用\ Piwik \ \ Framework \ OverrideLogin框架
代替。生成:angular-directive
让你可以轻松地为任何插件的新angular指令生成模板。Piwik \菜单\ MenuAbstract: add ()
方法已弃用addItem ()
.点击这里阅读更多信息:# 6140.我们不打算在Piwik 3.0之前删除这个已弃用的方法。核心:clear-caches
让您轻松删除所有缓存。例如,在手动更新Piwik文件后,此命令可能很有用。json的
API格式被认为已弃用。我们要求所有新代码使用“json2”
格式。最终,当Piwik 3.0发布时json的
格式将被替换为“json2”
.json2格式的区别包括:数组('name' => 'value', 'name2' => 'value2')
现在正确显示为{" name ":“价值”,“name2”:“value2”}
在JSON API输出中代替[{“名称”:“价值”、“name2”:“value2”}]
.API方法,比如SitesManager.getSiteFromId&UsersManager.getUser都受到影响。filter_limit
而且filter_offset
.在此之前,只有当API返回数据表时才可能实现。getLastVisitDetails
或getVisitorProfile
.如果所有的核心插件都被默认启用,除了在一个访问者中的属性顺序外,将不会有任何改变。核心:run-scheduled-tasks
允许您在此时间运行所有计划任务。在测试任务时很有用。核心/ Loader.php
将不再存在。如果您正在使用Git中的Piwik,请确保运行php的作曲家。Phar自我更新&& PHP编写器。phar安装
让你的Piwik重新工作还要确保不再包含核心/ Loader.php
以防在任何自定义脚本中使用。跟踪器。
或Request.initAuthenticationObject
事件或者它必须定义维度以便作为跟踪插件被检测。getCustomVariable
函数来访问在以前的页面视图中设置的自定义变量值,现在还必须调用storeCustomVariablesInCookie
之前第一次打电话来trackPageView
.阅读更多Javascript跟踪.&
来,
.如果仍然需要这种行为(例如防止XSS),可以通过设置变换
属性是这样的:$setting->transform = function ($value){返回Common::sanitizeInputValue($value);}
disable_merged_assets
从调试
部分,发展
.更新程序将自动为您更改部分。API.getRowEvolution
例如,如果请求的报告没有维度,会抛出异常吗VisitsSummary.get
.这是一个修复,因为在看到之前返回了无效的格式# 5951MultiSites.getAll
从现在开始总是返回一个数组的网站。在过去,它返回一个单一的对象,它不包含所有属性的情况下,只有一个网站被发现,这是一个错误看到# 5987以下事件被认为已弃用,将来应该使用新的结构。我们还没有计划什么时候删除这些事件,但可能会在Piwik 3.0中删除,目前还没有计划,也不会很快。新特性只会添加到新类中。
API.getReportMetadata
,API.getSegmentDimensionMetadata
,Goals.getReportsWithGoalMetrics
,ViewDataTable.configure
,ViewDataTable.getDefaultType
:使用报告类来定义新的报告。还有一份更新的指南Part1WidgetsList.addWidgets
:使用小部件类来定义新的小部件Menu.Admin.addItems
,Menu.Reporting.addItems
,Menu.Top.addItems
:使用菜单类而不是TaskScheduler.getScheduledTasks
:使用任务类来定义新任务Tracker.recordEcommerceGoal
,Tracker.recordStandardGoals
,Tracker.newConversionInformation
:使用转换维度类而不是Tracker.existingVisitInformation
,Tracker.newVisitorInformation
,Tracker.getVisitFieldsToPersist
:使用访问维度类而不是ViewDataTable.addViewDataTable
:该事件不再需要。控件中的可视化显示将自动被发现可视化
插件中的目录。作为插件开发人员,您可能希望重用现有的翻译键。您现在可以通过打开Piwik安装中的“Settings => Development: translation search”页面找到所有可用的翻译和翻译键。阅读更多国际化在这里。
现在可以使用filter_sort_column
参数。Live.getLastVisitDetails
.例如都&filter_sort_column = visitCount
.
我们正在使用@since
如果我们要引入新的API,可以很容易地看到在哪个Piwik版本中添加了新方法。该信息现在显示在类api参考.
报告
生成:主题
让您轻松生成一个新的主题和自定义颜色,请参阅主题指南生成:更新
让您生成一个更新文件生成:报告
让您生成一个报告生成:维
让您通过添加新的维度来增强跟踪生成:菜单
允许您生成菜单类来添加或修改菜单项生成:小部件
允许您生成小部件类来添加或修改小部件生成:任务
允许您生成任务类来添加或修改任务发展:启用
允许您启用开发模式,这将禁用一些缓存,使代码更改直接可见,它将协助开发人员执行额外的检查,以防止实例错别字。不应在生产中使用。发展:禁用
允许您禁用开发模式在这里可以找到每个版本的通用Matomo更新日志m.hju8.com/changelog