Background
The Community Safety survey asks users how safe they feel on the wikis and this data is used as a metric by a number of teams.
In its current format the survey has limited functionality that doesn't allow us to collect helpful insights: we are not able to understand why a user may feel safe/unsafe and the targeting functionality is also limited.
Requirements
We need to upgrade the Quicksurveys extension to provide the following functionality:
- Ability to support additional/follow-up questions of different ytpes
- Ability to target finer edit count ranges within specified time periods, by edit or visit recency, by edit types, role (e.g. admin), or other behavioral factors
- [Nice to have] Ability to dismiss the survey completely
- [Nice to have] Ability to track survey progress:
Acceptance criteria
TBD
QA steps
A multi-question survey can be added using the following LocalSettings.php configuration and visiting any page with ?quicksurvey=true in the URL:
$wgQuickSurveysConfig[] = [ 'name' => 'foo', 'type' => 'internal', 'enabled' => true, 'layout' => 'multiple-answer', 'questions' => [ [ 'name' => 'test', 'layout' => 'single-answer', 'question' => 'Do you like writing unit tests?', 'answers' => [ [ 'label' => 'ext-quicksurveys-test-internal-survey-positive' ], [ 'label' => 'ext-quicksurveys-test-internal-survey-negative' ], ], ], [ 'name' => 'test2', 'layout' => 'single-answer', 'question' => 'Do you like writing integration tests?', 'answers' => [ [ 'label' => 'ext-quicksurveys-test-internal-survey-positive' ], [ 'label' => 'ext-quicksurveys-test-internal-survey-negative' ], ], ], ], 'shuffleAnswersDisplay' => true, 'enabled' => true, // Percentage of users that will see the survey 'coverage' => 1, // For each platform (desktop, mobile), which version of it is targeted 'platforms' => [ 'desktop' => [ 'stable' ], 'mobile' => [ 'stable' ] ], ];