This task tracks the work needed to either:
- enable QuickSurveys to support data served by CentralNotice (either as the only option, or an additional one, still TBD).
- add any missing and necessary functionality existing in QuickSurveys but not CentralNotice to the latter and sunset the former
Approach 1: support data served by CentralNotice
Full proposal documented here: https://www.mediawiki.org/wiki/Extension:QuickSurveys/Deploying_surveys
- Determine whether to completely render surveys within CN banners or just serve the JSON data in the CN banners
- Update QS extension to check for a CN banner and perform the appropriate action(s) (move survey or render it, depending on the above decision)
- Remove the capability for configuration via mediawiki-config, if applicable
- Document the process of creating a survey via CN
- Run a test survey
Approach 2: sunset QuickSurveys
What does QuickSurveys provide that CentralNotice should not? Why maintain two extensions instead of one? QuickSurveys may provide little value over CentralNotice, is missing some features that CentralNotice has, is rarely used, and therefore the two should be considered for convergence.
QuickSurveys appears to have been used about 10 times in the last 3 years.
Surveys require a developer to both build the configuration and deploy it:
{ "@QuickSurveysRequireHttps": "Whether to require links to external surveys to be secure", "QuickSurveysRequireHttps": true, "QuickSurveysConfig": [ { "@name": "survey name", "name": "internal example survey", "@type": "internal or external link survey", "type": "internal", "@question": "survey question message key", "question": "ext-quicksurveys-example-internal-survey-question", "@description": "The message key of the description of the survey. Displayed immediately below the survey question.", "description": "ext-quicksurveys-example-internal-survey-description", "@answers": "possible answer message keys for positive, neutral, and negative", "answers": [ "ext-quicksurveys-example-internal-survey-answer-positive", "ext-quicksurveys-example-internal-survey-answer-neutral", "ext-quicksurveys-example-internal-survey-answer-negative" ], "@enabled": "whether the survey is enabled", "enabled": true, "@coverage": "percentage of users that will see the survey", "coverage": 0.5, "@platforms": "for each platform (desktop, mobile), which version of it is targeted (stable, beta)", "platforms": { "desktop": ["stable"], "mobile": ["stable", "beta"] } }, { "name": "external example survey", "@type": "internal or external link survey", "type": "external", "@question": "survey question message key", "question": "ext-quicksurveys-example-external-survey-question", "@description": "the i18n key of the description of the survey", "description": "ext-quicksurveys-example-external-survey-description", "@link": "external link to the survey", "link": "ext-quicksurveys-example-external-survey-link", "@instanceTokenParameterName": "parameter to add to link", "instanceTokenParameterName": "parameterName", "@privacyPolicy": "The i18n key of the privacy policy text.", "privacyPolicy": "ext-quicksurveys-example-external-survey-privacy-policy", "@enabled": "whether the survey is enabled", "enabled": true, "@coverage": "percentage of users that will see the survey", "coverage": 0.5, "@platforms": "for each platform (desktop, mobile), which version of it is targeted (stable, beta)", "platforms": { "desktop": ["stable"], "mobile": ["stable", "beta"] } } ] }
Whereas CentralNotice provides a GUI:
Open questions
- Does QuickSurveys provide any value that CentralNotice should not? Does the regularity of its usage justify its maintenance cost?
- What functionality would CentralNotice require to sunset QuickSurveys?
Previous discussions
- https://www.mediawiki.org/wiki/Extension:QuickSurveys/Deploying_surveys#Proposed_process
- T107586#1507672
- https://meta.wikimedia.org/wiki/QuickSurveys#For_what_purpose_was_QuickSurvey_developed?
Please feel free to update this task's description as necessary. This task may need to be reconsidered as an epic.