Page MenuHomePhabricator

First test, then launch the 2026 Community Safety survey
Closed, ResolvedPublic

Description

The Research team is supporting T&S for another iteration of the Community Safety survey. As updates to the QuickSurvey tool have happened since 2024, we will want to again test the survey at 0 coverage on the surveyed projects, and then increase coverage once we confirm everything is working.

We intend to collect responses on these wikis:

  • enwiki
  • eswiki
  • fawiki
  • frwiki
  • jawiki
  • ptwiki

Success Criteria

  • Double-check whether we need to specify userInGroup in order to remove temp accounts from being sampled (see note in Example code)
  • Monday, 5 January 2026 (est.): 0 coverage - Launch the survey on enwiki, eswiki, fawiki, frwiki, jawiki, and ptwiki at zero coverage to test the survey for 1 day.
  • Tuesday, 6 January 2026 (est.): Increase coverage to specification for each project to collect data (estimated 1 week)
  • enwiki: 0.03 (3%)
  • eswiki: 0.15 (15%)
  • fawiki: 0.20 (20%)
  • frwiki: 0.15 (15%)
  • jawiki: 0.15 (15%)
  • ptwiki: 0.20 (20%)
  • Tuesday, 13 January 2026 (est.): Undeploy surveys once data collection is complete.

Example code

Taken from the undeployment of the 2024 survey (definitely double-check me please!)

NOTE: We may need to add the userInGroup parameter to only target editors who are in the user group in order to remove temp accounts from being sampled, as the anon function will only filter out readers after the implementation of temp accounts - based on 1) QuickSurveys Defining an Audience; 2) User rights Predefined groups; and 3) User account types differentiating IP, temp, and permanent users.

I have added "userInGroup" => [ 'user' ], under audience, please make sure to check it's correct!

		[
			'name' => 'T413022 Safety Survey',
			'type' => 'internal',
			"confirmMsg" => "ext-quicksurveys-internal-gdi-safety-survey-endmessage",
			"privacyPolicy" =>
				"ext-quicksurveys-internal-gdi-safety-survey-privacy-policy",
			"enabled" => true,
			// T413022
			"coverage" => 0, // increase to deploy
			"platforms" => [ "desktop" => [ "stable" ], "mobile" => [ "stable" ] ],
			"audience" => [
				"anons" => false,
				"userInGroup" => [ 'user' ],  
				"minEdits" => 5
			],
			"questions" => [
				[
					"name" => "ext-quicksurveys-internal-gdi-safety-survey-question",
					"layout" => "single-answer",
					"question" => "ext-quicksurveys-internal-gdi-safety-survey-question",
					"answers" => [
						[ "label" => "ext-quicksurveys-example-internal-survey-answer-positive" ],
						[ "label" => "ext-quicksurveys-example-internal-survey-answer-negative" ],
						[ "label" => "ext-quicksurveys-example-internal-survey-answer-neutral" ],
					],
				],
				[
					"name" => "ext-quicksurveys-internal-gdi-safety-survey-Q2",
					"dependsOn" => [
						[
							"question" => "ext-quicksurveys-internal-gdi-safety-survey-question",
							"answerIsOneOf" => [ "ext-quicksurveys-example-internal-survey-answer-positive" ],
						],
					],
					"layout" => "multiple-answer",
					"question" => "ext-quicksurveys-internal-gdi-safety-survey-Q2",
					"answers" => [
						[ "label" => "ext-quicksurveys-internal-gdi-safety-survey-Q2A1" ],
						[ "label" => "ext-quicksurveys-internal-gdi-safety-survey-Q2A2" ],
						[ "label" => "ext-quicksurveys-internal-gdi-safety-survey-Q2A3" ],
						[ "label" => "ext-quicksurveys-internal-gdi-safety-survey-Q2A4" ],
						[ "label" => "ext-quicksurveys-internal-gdi-safety-survey-Q2A5" ],
						[ "label" => "ext-quicksurveys-internal-gdi-safety-survey-Q2A6" ],
						[ "label" => "ext-quicksurveys-internal-gdi-safety-survey-Q2A7" ],
						[ "label" => "ext-quicksurveys-internal-gdi-safety-survey-Q2A8" ],
						[ "label" => "ext-quicksurveys-internal-gdi-safety-survey-Q2AOther",
							"freeformTextLabel" => "ext-quicksurveys-internal-gdi-safety-survey-Q2AOtherOpen" ],
						[ "label" => "ext-quicksurveys-internal-gdi-safety-survey-Q2APNTS" ],
					],
				],
			]
		]

What should happen here?
A proportion of logged in editors who have made 5 or more edits should see the first question. If they answer "Yes" (ext-quicksurveys-example-internal-survey-answer-positive), the second question should appear.

Message components
The message components have been checked on each wiki and appear to be functional. Sheet with all links and table for reference:

parametermessage
confirmMsgext-quicksurveys-internal-gdi-safety-survey-endmessage
privacyPolicyext-quicksurveys-internal-gdi-safety-survey-privacy-policy
question (1)ext-quicksurveys-internal-gdi-safety-survey-question
labelext-quicksurveys-example-internal-survey-answer-positive
labelext-quicksurveys-example-internal-survey-answer-negative
labelext-quicksurveys-example-internal-survey-answer-neutral
question (2)ext-quicksurveys-internal-gdi-safety-survey-Q2
labelext-quicksurveys-internal-gdi-safety-survey-Q2A1
labelext-quicksurveys-internal-gdi-safety-survey-Q2A2
labelext-quicksurveys-internal-gdi-safety-survey-Q2A3
labelext-quicksurveys-internal-gdi-safety-survey-Q2A4
labelext-quicksurveys-internal-gdi-safety-survey-Q2A5
labelext-quicksurveys-internal-gdi-safety-survey-Q2A6
labelext-quicksurveys-internal-gdi-safety-survey-Q2A7
labelext-quicksurveys-internal-gdi-safety-survey-Q2A8
labelext-quicksurveys-internal-gdi-safety-survey-Q2AOther
freeformTextLabelext-quicksurveys-internal-gdi-safety-survey-Q2AOtherOpen
labelext-quicksurveys-internal-gdi-safety-survey-Q2APNTS

Event Timeline

Double-check whether we need to specify userInGroup in order to remove temp accounts from being sampled (see note in Example code)

Yes, you do need that to remove temp accounts, per T376206#11261773 and above.

'name' => 'T369218 Safety Survey',

Should this be 'name' => 'T413022 Safety Survey', ?

'name' => 'T369218 Safety Survey',

Should this be 'name' => 'T413022 Safety Survey', ?

Yes, thank you! I didn't go back to update it with the ticket number -- changed now. (As far as I know it can be titled anything as long as it's not overlapping with another currently running survey name)

Change #1223151 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[operations/mediawiki-config@master] QuickSurveys: Enable safety survey at 0% coverage

https://gerrit.wikimedia.org/r/1223151

Change #1223151 merged by jenkins-bot:

[operations/mediawiki-config@master] QuickSurveys: Enable safety survey at 0% coverage

https://gerrit.wikimedia.org/r/1223151

Mentioned in SAL (#wikimedia-operations) [2026-01-05T12:50:49Z] <kharlan@deploy2002> Started scap sync-world: Backport for [[gerrit:1223151|QuickSurveys: Enable safety survey at 0% coverage (T413022)]]

Mentioned in SAL (#wikimedia-operations) [2026-01-05T12:52:47Z] <kharlan@deploy2002> kharlan: Backport for [[gerrit:1223151|QuickSurveys: Enable safety survey at 0% coverage (T413022)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2026-01-05T13:00:04Z] <kharlan@deploy2002> Finished scap sync-world: Backport for [[gerrit:1223151|QuickSurveys: Enable safety survey at 0% coverage (T413022)]] (duration: 09m 14s)

@kostajh thank you for the test deployment! Everything looks like it's functional and we can increase the coverage for each wiki tomorrow (coverage percent added to the task message).

Change #1223630 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[operations/mediawiki-config@master] QuickSurveys: Enable coverage percentages for safety survey

https://gerrit.wikimedia.org/r/1223630

Change #1223630 merged by jenkins-bot:

[operations/mediawiki-config@master] QuickSurveys: Enable coverage percentages for safety survey

https://gerrit.wikimedia.org/r/1223630

Mentioned in SAL (#wikimedia-operations) [2026-01-06T10:33:38Z] <kharlan@deploy2002> Started scap sync-world: Backport for [[gerrit:1223630|QuickSurveys: Enable coverage percentages for safety survey (T413022)]]

Mentioned in SAL (#wikimedia-operations) [2026-01-06T10:35:51Z] <kharlan@deploy2002> kharlan: Backport for [[gerrit:1223630|QuickSurveys: Enable coverage percentages for safety survey (T413022)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2026-01-06T10:43:05Z] <kharlan@deploy2002> Finished scap sync-world: Backport for [[gerrit:1223630|QuickSurveys: Enable coverage percentages for safety survey (T413022)]] (duration: 09m 27s)

Hi @kostajh ! We have received enough responses to the surveys and are ready to undeploy tomorrow.

@DDeSouza will undeploy tomorrow -- any window works and thank you so much for jumping in to help!

Change #1225631 had a related patch set uploaded (by DDesouza; author: DDesouza):

[operations/mediawiki-config@master] Undeploy Safety survey

https://gerrit.wikimedia.org/r/1225631

Change #1225664 had a related patch set uploaded (by DDesouza; author: DDesouza):

[operations/mediawiki-config@master] Undeploy Safety survey

https://gerrit.wikimedia.org/r/1225664

Change #1225631 abandoned by DDesouza:

[operations/mediawiki-config@master] Undeploy Safety survey

Reason:

Dupe

https://gerrit.wikimedia.org/r/1225631

Change #1225664 merged by jenkins-bot:

[operations/mediawiki-config@master] Undeploy Safety survey

https://gerrit.wikimedia.org/r/1225664

Mentioned in SAL (#wikimedia-operations) [2026-01-13T21:17:56Z] <dani@deploy2002> Started scap sync-world: Backport for [[gerrit:1225664|Undeploy Safety survey (T413022)]]

Mentioned in SAL (#wikimedia-operations) [2026-01-13T21:20:08Z] <dani@deploy2002> dani: Backport for [[gerrit:1225664|Undeploy Safety survey (T413022)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2026-01-13T21:24:55Z] <dani@deploy2002> Finished scap sync-world: Backport for [[gerrit:1225664|Undeploy Safety survey (T413022)]] (duration: 06m 59s)

DDeSouza updated the task description. (Show Details)