mediawiki-extensions-Popups/extension.json
jdlrobson a702c0f499 Capture page view-like interactions
* New action added PREVIEW_SEEN
* The action will be used to signal that a page view needs
to be recorded.
* PREVIEW_SEEN is a delayed action which is triggered
as a side-effect of the previewShow action. It is only dispatched
if the user is still previewing the same card and the page
related to the card has preview type `page`
* The pageview changelistener is added when
$wgPopupsVirtualPageViews is set to true.
* The page view changelistener listens for page views and logs
them using EventLogging when needed using
https://meta.wikimedia.org/wiki/Schema:VirtualPageView

Note:
* Currently if a user has enabled the DNT header, the
event will not be logged. There is ongoing discussion on the
ticket and fixing this will be addressed separately.
* Only title and referrer are logged in the initial version.
The task demands that "namespace" is logged but this information
is not provided by the summary endpoints we use so will need
to be added later (if indeed needed) either via a change to that
endpoint of by using JavaScript to parse the URL.

Bug: T184793
Change-Id: Id1fe34e4bdada3a41f0d888a753af366d4756590
2018-02-16 23:03:33 +00:00

150 lines
6 KiB
JSON

{
"name": "Popups",
"author": [
"Prateek Saxena",
"Yair Rand"
],
"url": "https://www.mediawiki.org/wiki/Extension:Popups",
"descriptionmsg": "popups-desc",
"license-name": "GPL-2.0+",
"type": "betafeatures",
"requires": {
"MediaWiki": ">= 1.30.0"
},
"AutoloadClasses": {
"Popups\\PopupsHooks": "includes/PopupsHooks.php",
"Popups\\PopupsContext": "includes/PopupsContext.php",
"Popups\\PopupsGadgetsIntegration": "includes/PopupsGadgetsIntegration.php",
"Popups\\UserPreferencesChangeHandler": "includes/UserPreferencesChangeHandler.php",
"Popups\\EventLogging\\EventLogger": "includes/EventLogging/EventLogger.php",
"Popups\\EventLogging\\NullLogger": "includes/EventLogging/NullLogger.php",
"Popups\\EventLogging\\MWEventLogger": "includes/EventLogging/MWEventLogger.php",
"Popups\\EventLogging\\EventLoggerFactory": "includes/EventLogging/EventLoggerFactory.php"
},
"ConfigRegistry": {
"popups": "GlobalVarConfig::newInstance"
},
"Hooks": {
"GetBetaFeaturePreferences": [
"Popups\\PopupsHooks::onGetBetaPreferences"
],
"BeforePageDisplay": [
"Popups\\PopupsHooks::onBeforePageDisplay"
],
"ResourceLoaderGetConfigVars": [
"Popups\\PopupsHooks::onResourceLoaderGetConfigVars"
],
"GetPreferences": [
"Popups\\PopupsHooks::onGetPreferences"
],
"PreferencesFormPreSave": [
"Popups\\UserPreferencesChangeHandler::onPreferencesFormPreSave"
],
"UserGetDefaultOptions": [
"Popups\\PopupsHooks::onUserGetDefaultOptions"
],
"MakeGlobalVariablesScript": [
"Popups\\PopupsHooks::onMakeGlobalVariablesScript"
]
},
"MessagesDirs": {
"Popups": [
"i18n"
]
},
"EventLoggingSchemas": {
"Popups": 17540736,
"VirtualPageView": 17737148
},
"config": {
"@PopupsVirtualPageViews": "@var bool: Whether the extension should log virtual page views.",
"PopupsVirtualPageViews": false,
"@PopupsBetaFeature": "@var bool: Whether the extension should be enabled as an opt-in beta feature. If true, the BetaFeatures extension must be installed. False by default.",
"PopupsBetaFeature": false,
"@PopupsHideOptInOnPreferencesPage": "@var bool: Whether the option to enable/disable Page Previews should be hidden on Preferences page. Please note if PopupsBetaFeature is set to true this option will be always hidden. False by default",
"PopupsHideOptInOnPreferencesPage": false,
"@PopupsOptInDefaultState": "@var string:['1'|'0'] Default Page Previews visibility. Has to be a string as a compatibility with beta feature settings",
"PopupsOptInDefaultState": "0",
"@PopupsConflictingNavPopupsGadgetName": "@var string: Navigation popups gadget name",
"PopupsConflictingNavPopupsGadgetName": "Navigation_popups",
"@PopupsGateway": "Which gateway to use for fetching Popups data. Available options: [mwApiPlain|restbasePlain|restbaseHTML]. Full and always up to date list is available in src/gateway/index.js",
"PopupsGateway": "mwApiPlain",
"@PopupsAnonsExperimentalGroupSize": "Defines the fraction of users that should be subject to an A/B test. When enabled half of users in this group will see page previews. The rest will be divided into one of two buckets where previews will not show and the control group size will match the enabled bucket. If undefined, or 0, no users will be subject to experimentation and previews will be enabled for everyone unless wgPopupsBetaFeature is enabled.",
"PopupsAnonsExperimentalGroupSize": 0,
"@PopupsEventLogging": "Whether we should log events. This should be used carefully alongside PopupsAnonsExperimentalGroupSize. Note if this is enabled without using that variable events will be logged for all users. Be careful!",
"PopupsEventLogging": false,
"@PopupsStatsvSamplingRate": "Sampling rate for logging performance data to statsv.",
"PopupsStatsvSamplingRate": 0,
"@PopupsPageBlacklist": "Blacklisted pages are subject to the HTML cache policy of the wiki. A purge on a blacklisted page maybe needed to see the effect of this configuration variable. Every blacklisted page should be defined by a canonical name, eg: Special:Userlogin",
"PopupsPageBlacklist": [ "Special:Userlogin", "Special:CreateAccount" ]
},
"ResourceModules": {
"ext.popups.images": {
"selector": ".mw-ui-icon-{name}:before",
"class": "ResourceLoaderImageModule",
"prefix": "mw-ui",
"images": {
"popups-settings": "resources/ext.popups.images/cog.svg",
"popups-close": "resources/ext.popups.images/close.svg"
}
},
"ext.popups": {
"scripts": [
"resources/dist/index.js"
],
"templates": {
"preview.mustache": "resources/ext.popups/templates/preview.mustache",
"preview-empty.mustache": "resources/ext.popups/templates/preview-empty.mustache",
"settings.mustache": "resources/ext.popups/templates/settings.mustache"
},
"styles": [
"resources/ext.popups/styles/ext.popups.core.less",
"resources/ext.popups/styles/ext.popups.animation.less",
"resources/ext.popups/styles/ext.popups.settings.less"
],
"skinStyles": {
"vector": [
"resources/ext.popups/styles/ext.popups.settings.vector.less"
]
},
"messages": [
"popups-settings-title",
"popups-settings-description",
"popups-settings-option-simple",
"popups-settings-option-simple-description",
"popups-settings-option-advanced",
"popups-settings-option-advanced-description",
"popups-settings-option-off",
"popups-settings-save",
"popups-settings-cancel",
"popups-settings-enable",
"popups-settings-help",
"popups-settings-help-ok",
"popups-send-feedback",
"popups-preview-no-preview",
"popups-preview-footer-read"
],
"dependencies": [
"ext.popups.images",
"mediawiki.experiments",
"mediawiki.storage",
"mediawiki.Title",
"mediawiki.jqueryMsg",
"mediawiki.ui.button",
"mediawiki.ui.icon",
"mediawiki.Uri",
"mediawiki.user",
"jquery.hidpi"
]
}
},
"ResourceFileModulePaths": {
"localBasePath": "",
"remoteExtPath": "Popups"
},
"ServiceWiringFiles": [
"includes/ServiceWirings.php"
],
"manifest_version": 1
}