mediawiki-extensions-Growth.../extension.json
Kosta Harlan 815808e086 node-qunit tests for GrowthExperiments
This also moves serializeActionData into a separate module.

Change-Id: I46e4d0746c90d0e97f73de8b272d67df8d27936e
2019-04-02 12:43:01 -04:00

600 行
19 KiB
JSON

{
"name": "GrowthExperiments",
"descriptionmsg": "growthexperiments-desc",
"license-name": "GPL-3.0-or-later",
"author": [
"Stephane Bisson",
"Kosta Harlan",
"Roan Kattouw"
],
"url": "https://www.mediawiki.org/wiki/Extension:GrowthExperiments",
"requires": {
"MediaWiki": ">= 1.32.0",
"extensions": {
"PageViewInfo": "*"
}
},
"AutoloadNamespaces": {
"GrowthExperiments\\": "includes/"
},
"JobClasses": {
"saveMentor": "GrowthExperiments\\MentorSaveJob",
"tutorialVisit": "GrowthExperiments\\TutorialVisitJob"
},
"MessagesDirs": {
"GrowthExperiments": [
"i18n/extension",
"i18n/welcomesurvey",
"i18n/welcomesurvey/api",
"i18n/help",
"i18n/help/api",
"i18n/homepage",
"i18n/confirmemail"
]
},
"ExtensionMessagesFiles": {
"GrowthExperimentsAlias": "GrowthExperiments.alias.php"
},
"APIModules": {
"welcomesurveyhandleresponses": "GrowthExperiments\\Api\\ApiWelcomeSurveyHandleResponses",
"helppanelquestionposter": "GrowthExperiments\\Api\\ApiHelpPanelPostQuestion"
},
"Hooks": {
"SpecialPage_initList": [
"GrowthExperiments\\WelcomeSurveyHooks::onSpecialPageInitList",
"GrowthExperiments\\HomepageHooks::onSpecialPageInitList"
],
"UserGetDefaultOptions": [
"GrowthExperiments\\HelpPanelHooks::onUserGetDefaultOptions"
],
"LocalUserCreated": [
"GrowthExperiments\\HelpPanelHooks::onLocalUserCreated",
"GrowthExperiments\\HomepageHooks::onLocalUserCreated"
],
"GetPreferences": [
"GrowthExperiments\\WelcomeSurveyHooks::onGetPreferences",
"GrowthExperiments\\HelpPanelHooks::onGetPreferences",
"GrowthExperiments\\HomepageHooks::onGetPreferences"
],
"BeforeWelcomeCreation": [
"GrowthExperiments\\WelcomeSurveyHooks::onBeforeWelcomeCreation"
],
"BeforePageDisplay": [
"GrowthExperiments\\WelcomeSurveyHooks::onBeforePageDisplay",
"GrowthExperiments\\HelpPanelHooks::onBeforePageDisplay",
"GrowthExperiments\\HomepageHooks::onBeforePageDisplay"
],
"ListDefinedTags": [
"GrowthExperiments\\HelpPanelHooks::onListDefinedTags",
"GrowthExperiments\\HomepageHooks::onListDefinedTags"
],
"ChangeTagsListActive": [
"GrowthExperiments\\HelpPanelHooks::onListDefinedTags",
"GrowthExperiments\\HomepageHooks::onListDefinedTags"
],
"SkinTemplateNavigation::Universal": [
"GrowthExperiments\\HomepageHooks::onSkinTemplateNavigationUniversal"
],
"PersonalUrls": [
"GrowthExperiments\\HomepageHooks::onPersonalUrls"
],
"MobileMenu": [
"GrowthExperiments\\HomepageHooks::onMobileMenu"
],
"AuthChangeFormFields": [
"GrowthExperiments\\ConfirmEmailHooks::onAuthChangeFormFields"
],
"UserSendConfirmationMail": [
"GrowthExperiments\\ConfirmEmailHooks::onUserSendConfirmationMail"
]
},
"ResourceFileModulePaths": {
"localBasePath": "modules",
"remoteExtPath": "GrowthExperiments/modules"
},
"attributes": {
"EventLogging": {
"Schemas": {
"HelpPanel": 18973214,
"HomepageModule": 18976700
}
}
},
"ResourceModules": {
"ext.growthExperiments.HelpPanel.icons": {
"class": "ResourceLoaderImageModule",
"selectorWithVariant": ".oo-ui-image-{variant}.oo-ui-icon-{name}",
"selectorWithoutVariant": ".oo-ui-icon-{name}",
"images": {
"askQuestion": {
"file": "../images/askQuestion.svg"
}
}
},
"ext.growthExperiments.welcomeSurvey.styles": {
"styles": [
"welcomesurvey/ext.growthExperiments.welcomeSurvey.less"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.welcomeSurvey.scripts": {
"scripts": [
"welcomesurvey/ext.growthExperiments.welcomeSurvey.js"
],
"messages": [
"welcomesurvey-tagmultiselect-placeholder"
],
"dependencies": [
"oojs-ui-widgets"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.detectjs": {
"scripts": [
"detectjs/detectjs.js"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.welcomesurvey.popup": {
"styles": [
"welcomesurvey/popup/styles/ext.growthExperiments.welcomeSurveyPopup.less"
],
"packageFiles": [
"welcomesurvey/popup/ext.growthExperiments.welcomeSurveyPopup.init.js",
"welcomesurvey/popup/ui/ext.growthExperiments.GettingStartedLinksWidget.js",
"welcomesurvey/popup/ui/ext.growthExperiments.PrivacyNoticeWidget.js",
"welcomesurvey/popup/ui/ext.growthExperiments.RadioSelectWithInputWidget.js",
"welcomesurvey/popup/ui/ext.growthExperiments.StackNavigatorWidget.js",
"welcomesurvey/popup/ui/ext.growthExperiments.StackPositionIndicatorWidget.js",
"welcomesurvey/popup/ui/ext.growthExperiments.WelcomeSurveyConfirmationDialog.js",
"welcomesurvey/popup/ui/ext.growthExperiments.WelcomeSurveyDialog.js"
],
"dependencies": [
"mediawiki.user",
"mediawiki.jqueryMsg",
"oojs-ui-widgets",
"oojs-ui-windows"
],
"messages": [
"welcomesurvey",
"welcomesurvey-save-confirmation-title",
"welcomesurvey-save-confirmation-text",
"welcomesurvey-subtitle",
"welcomesurvey-save-btn",
"welcomesurvey-skip-btn",
"welcomesurvey-close-btn",
"welcomesurvey-popup-close-btn",
"welcomesurvey-back-btn",
"welcomesurvey-next-btn",
"welcomesurvey-sidebar-privacy-title",
"welcomesurvey-sidebar-privacy-text",
"welcomesurvey-privacy-policy-link-text",
"welcomesurvey-sidebar-editing-title",
"welcomesurvey-sidebar-editing-text",
"welcomesurvey-sidebar-editing-link1-text",
"welcomesurvey-sidebar-editing-link1-title",
"welcomesurvey-sidebar-editing-link2-text",
"welcomesurvey-sidebar-editing-link2-title",
"welcomesurvey-sidebar-editing-link3-text",
"welcomesurvey-sidebar-editing-link3-title",
"welcomesurvey-sidebar-editing-link4-text",
"welcomesurvey-sidebar-editing-link4-title",
"welcomesurvey-tagmultiselect-placeholder",
"welcomesurvey-question-reason-label",
"welcomesurvey-dropdown-option-select-label",
"welcomesurvey-question-reason-option-edit-typo-label",
"welcomesurvey-question-reason-option-edit-info-label",
"welcomesurvey-question-reason-option-new-page-label",
"welcomesurvey-question-reason-option-read-label",
"welcomesurvey-question-reason-option-other-label",
"welcomesurvey-question-reason-other-placeholder",
"welcomesurvey-question-mentor-info",
"welcomesurvey-question-mentor-label",
"welcomesurvey-question-edited-label",
"welcomesurvey-question-edited-option-yes-many-label",
"welcomesurvey-question-edited-option-yes-few-label",
"welcomesurvey-question-edited-option-no-dunno-label",
"welcomesurvey-question-edited-option-no-other-label",
"welcomesurvey-question-edited-option-dont-remember-label",
"welcomesurvey-question-email-label",
"welcomesurvey-question-email-placeholder",
"welcomesurvey-question-email-help",
"welcomesurvey-question-topics-label",
"welcomesurvey-question-topics-other-placeholder",
"welcomesurvey-question-topics-option-arts",
"welcomesurvey-question-topics-option-science",
"welcomesurvey-question-topics-option-geography",
"welcomesurvey-question-topics-option-history",
"welcomesurvey-question-topics-option-music",
"welcomesurvey-question-topics-option-sports",
"welcomesurvey-question-topics-option-literature",
"welcomesurvey-question-topics-option-religion",
"welcomesurvey-question-topics-option-popular-culture",
"welcomesurvey-question-topics-option-entertainment",
"welcomesurvey-question-topics-option-food-drink",
"welcomesurvey-question-topics-option-biography",
"welcomesurvey-question-topics-option-military",
"welcomesurvey-question-topics-option-economics",
"welcomesurvey-question-topics-option-technology",
"welcomesurvey-question-topics-option-film",
"welcomesurvey-question-topics-option-philosophy",
"welcomesurvey-question-topics-option-business",
"welcomesurvey-question-topics-option-politics",
"welcomesurvey-question-topics-option-government",
"welcomesurvey-question-topics-option-engineering",
"welcomesurvey-question-topics-option-crafts-hobbies",
"welcomesurvey-question-topics-option-games",
"welcomesurvey-question-topics-option-health",
"welcomesurvey-question-topics-option-social-science",
"welcomesurvey-question-topics-option-transportation",
"welcomesurvey-question-topics-option-education"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.HelpPanelCta.styles": {
"styles": [
"helppanel/ext.growthExperiments.HelpPanelCta.less"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.Homepage.QuestionPoster": {
"packageFiles": [
"homepage/ext.growthExperiments.Homepage.QuestionPoster.js",
"homepage/ext.growthExperiments.QuestionPosterDialog.js"
],
"messages": [
"growthexperiments-homepage-help-cancel"
],
"dependencies": [
"ext.growthExperiments.Help",
"mediawiki.jqueryMsg"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.Homepage": {
"packageFiles": [
"homepage/ext.growthExperiments.Homepage.js",
"homepage/ext.growthExperiments.Homepage.Logger.js",
"utils/ext.growthExperiments.Utils.js"
],
"dependencies": [
"mediawiki.user"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.Homepage.Help": {
"packageFiles": [
"homepage/ext.growthExperiments.Homepage.Help.js"
],
"messages": [
"growthexperiments-homepage-help-dialog-title",
"growthexperiments-homepage-help-cancel"
],
"dependencies": [
"ext.growthExperiments.Homepage.QuestionPoster"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.Homepage.Mentorship": {
"packageFiles": [
"homepage/ext.growthExperiments.Homepage.Mentorship.js"
],
"messages": [
"growthexperiments-homepage-mentorship-dialog-title",
"growthexperiments-homepage-mentorship-questionreview-header",
"growthexperiments-homepage-mentorship-questionreview-header-mentor-talk-link-text",
"growthexperiments-homepage-mentorship-confirmation-text",
"growthexperiments-homepage-mentorship-view-question-text"
],
"dependencies": [
"ext.growthExperiments.Homepage.QuestionPoster"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.Help": {
"styles": [
"help/ext.growthExperiments.HelpPanelProcessDialog.less",
"help/ext.growthExperiments.HelpPanelSearchWidget.less"
],
"packageFiles": [
"help/ext.growthExperiments.Help.js",
"help/ext.growthExperiments.HelpPanelLogger.js",
"utils/ext.growthExperiments.Utils.js",
"help/ext.growthExperiments.HelpPanelSearchWidget.js",
"help/ext.growthExperiments.HelpPanelProcessDialog.js",
{
"name": "help/data.json",
"callback": [ "GrowthExperiments\\HelpPanelHooks", "getModuleData" ]
}
],
"dependencies": [
"mediawiki.user",
"mediawiki.Uri",
"oojs-ui-widgets",
"oojs-ui-windows",
"mediawiki.storage"
],
"messages": [
"growthexperiments-help-panel-question-button-text",
"growthexperiments-help-panel-submit-question-button-text",
"growthexperiments-help-panel-editing-help-links-widget-header",
"growthexperiments-help-panel-editing-help-links-widget-view-more-link",
"growthexperiments-help-panel-question-widget-header",
"growthexperiments-help-panel-question-placeholder",
"growthexperiments-help-panel-back-home",
"growthexperiments-help-panel-close",
"growthexperiments-help-panel-home-title",
"growthexperiments-help-panel-questionreview-title",
"growthexperiments-help-panel-questionreview-header",
"growthexperiments-help-panel-questionreview-email",
"growthexperiments-help-panel-questionreview-note",
"growthexperiments-help-panel-questionreview-label",
"growthexperiments-help-panel-questionreview-include-article-title",
"growthexperiments-help-panel-question-subject-template",
"growthexperiments-help-panel-question-subject-template-with-title",
"growthexperiments-help-panel-question-subject-template-from-homepage",
"growthexperiments-help-panel-question-post-error",
"growthexperiments-help-panel-questioncomplete-title",
"growthexperiments-help-panel-questioncomplete-header",
"growthexperiments-help-panel-questioncomplete-confirmation-text",
"growthexperiments-help-panel-questioncomplete-confirmation-email-confirmed",
"growthexperiments-help-panel-questioncomplete-confirmation-email-unconfirmed",
"growthexperiments-help-panel-questioncomplete-confirmation-email-none",
"growthexperiments-help-panel-questioncomplete-view-link-text",
"growthexperiments-help-panel-questioncomplete-more-about-this-feature-text",
"growthexperiments-help-panel-tog-help-panel",
"growthexperiments-help-panel-settings-cog-preferences-link",
"growthexperiments-help-panel-questioncomplete-first-edit",
"growthexperiments-help-panel-questionreview-unconfirmed-email-note",
"growthexperiments-help-panel-questionreview-add-email-placeholder",
"growthexperiments-help-panel-questionreview-email-optional",
"growthexperiments-help-panel-questionreview-no-email-note",
"growthexperiments-help-panel-notifications-link-text",
"growthexperiments-help-panel-confirm-email-link-text",
"growthexperiments-help-panel-search-label",
"growthexperiments-help-panel-search-no-results",
"ellipsis"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.HelpPanel": {
"styles": [
"helppanel/ext.growthExperiments.HelpPanelPopup.less"
],
"packageFiles": [
"helppanel/ext.growthExperiments.HelpPanel.cta.js"
],
"dependencies": [
"ext.growthExperiments.Help",
"ext.growthExperiments.HelpPanel.icons",
"ext.growthExperiments.HelpPanelCta.styles"
],
"messages": [
"growthexperiments-help-panel-cta-button-text"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.HelpPanel.init": {
"scripts": "helppanel/ext.growthExperiments.HelpPanel.init.js",
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.confirmEmail.createAccount.styles": {
"styles": "confirmemail/ext.confirmEmail.createAccount.less",
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.Homepage.BaseModule.styles": {
"styles": [
"homepage/ext.growthExperiments.BaseModule.less"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.Homepage.Impact.styles": {
"styles": [
"homepage/ext.growthExperiments.ImpactModule.less"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.Homepage.Start.styles": {
"styles": [
"homepage/ext.growthExperiments.StartModule.less"
],
"targets": [
"desktop",
"mobile"
]
},
"ext.growthExperiments.confirmEmail.createAccount": {
"scripts": "confirmemail/ext.confirmEmail.createAccount.js",
"messages": [
"growthexperiments-confirmemail-emailwarning"
],
"targets": [
"desktop",
"mobile"
]
}
},
"config": {
"GEHomepageTutorialTitle": {
"description": "MediaWiki title to link to in the Tutorial button in the homepage Start module.",
"value": ""
},
"GEHelpPanelReadingModeNamespaces": {
"description": "Numerical IDs of the MediaWiki namespaces in which to show the help panel in reading mode. Specifying a namespace will also include its talk namespace. Defaults to NS_PROJECT and NS_HELP namespaces.",
"value": [ 4, 12 ]
},
"GEHelpPanelExcludedNamespaces": {
"description": "MediaWiki namespaces that the help panel will be excluded from.",
"value": []
},
"GEHelpPanelNewAccountEnablePercentage": {
"description": "Percentage of new accounts to enable help panel for. Must be a whole number.",
"value": 50
},
"GEHelpPanelHelpDeskTitle": {
"description": "Mediawiki title for help panel CTA when users have disabled JS. Templates or magic words contained in this string will be expanded.",
"value": ""
},
"GEHelpPanelViewMoreTitle": {
"description": "MediaWiki title for view more articles on help link.",
"value": ""
},
"GEHelpPanelEnabled": {
"description": "Global ON/OFF switch for the help panel feature.",
"value": false
},
"GEHelpPanelLoggingEnabled": {
"description": "ON/OFF switch for the help panel event logging feature.",
"value": false
},
"GEHelpPanelLinks": {
"description": "List of links to display in the help panel.",
"value": []
},
"GEHelpPanelSearchNamespaces": {
"description": "List of namespaces to include in the search for help content.",
"value": [ 4, 12 ]
},
"GEHelpPanelSearchForeignAPI": {
"description": "api.php URL of a foreign wiki to search instead of the current wiki. Used for testing/development to get more/better results.",
"value": false
},
"GEHelpPanelSearchEnabled": {
"description": "Global ON/OFF switch for the Help panel search feature.",
"value": false
},
"WelcomeSurveyEnabled": {
"description": "Global ON/OFF switch for the Welcome survey feature.",
"value": false
},
"WelcomeSurveyPrivacyPolicyUrl": {
"description": "URL of the privacy policy to be used on the Welcome survey.",
"value": "https://foundation.wikimedia.org/wiki/New_User_Welcome_Survey_Privacy_Statement"
},
"GEHomepageEnabled": {
"description": "Global ON/OFF switch for the Homepage feature.",
"value": false
},
"GEHomepageNewAccountEnablePercentage": {
"description": "Percentage of new accounts to enable homepage for. Must be a whole number.",
"value": 50
},
"GEHomepageLoggingEnabled": {
"description": "ON/OFF switch for the homepage event logging feature.",
"value": false
},
"GEHomepageMentorsList": {
"description": "Title of the wiki page that contains the list of available mentors.",
"value": ""
},
"GEConfirmEmailEnabled": {
"description": "Global ON/OFF switch for the email confirmation changes.",
"value": false
},
"WelcomeSurveyExperimentalGroups": {
"description": "List of experimental groups. A group is defined with a range to randomly match users and the list of questions they will see on the survey.",
"merge_strategy": "array_plus_2d",
"value": {
"exp1_group1": {
"range": "x",
"format": "specialpage",
"questions": [
"reason",
"reason-other",
"edited",
"topics",
"topics-other-nojs",
"topics-other-js",
"email",
"mentor-info",
"mentor"
]
},
"exp1_group2": {
"range": "x",
"questions": []
},
"exp2_control": {
"range": "x",
"questions": []
},
"exp2_target_specialpage": {
"range": "x",
"format": "specialpage",
"questions": [
"reason",
"reason-other",
"edited",
"topics",
"topics-other-nojs",
"topics-other-js",
"email",
"mentor-info",
"mentor"
]
},
"exp2_target_popup": {
"range": "x",
"format": "popup",
"nojs-fallback": "exp2_target_specialpage",
"questions": [
"reason",
"edited",
"topics",
"topics-other-js",
"email",
"mentor-info",
"mentor"
]
}
}
}
},
"manifest_version": 2
}