Page MenuHomePhabricator

F3. End the occupation
Closed, ResolvedPublic3 Story Points

Description

Remove all the occupation-related code and use core support wherever possible.

Bonus points for changing the string 'Taken over by Flow'.

/Title inspired by Erik's old patch for this: https://gerrit.wikimedia.org/r/#/c/160923/


Deployment order:

When merging/deploying this, make sure to respect the order described in the commit messages:
1: https://gerrit.wikimedia.org/r/#/c/230370/ - Populate rev_content_model (this script needs to be run on all Flow-enabled wikis in production before proceeding) (run: T109671: Run FlowUpdateRevContentModelFromOccupyPages.php in production).
2: https://gerrit.wikimedia.org/r/#/c/228267/ - remove $wgFlowOccupyPages from Flow
3: https://gerrit.wikimedia.org/r/#/c/228271/ - remove $wgFlowOccupyPages from config & prepare $wgNamespaceContentModels (in addition to $wgFlowOccupyNamespaces)
4: https://gerrit.wikimedia.org/r/#/c/228268/ - remove $wgFlowOccupyNamespaces from Flow, using $wgNamespaceContentModels instead
5: rest of the patches: https://gerrit.wikimedia.org/r/#/c/228269/ & https://gerrit.wikimedia.org/r/#/c/228284/

Details

Related Gerrit Patches:
mediawiki/extensions/Flow : REL1_25Add script to populate rev_content_model for $wgFlowOccupyPages
mediawiki/extensions/Flow : masterAdd script to populate rev_content_model for $wgFlowOccupyPages
mediawiki/extensions/Flow : masterRename OccupationListener to TopicPageCreationListener
mediawiki/extensions/Flow : masterRemove TalkpageManager::isTalkpageOccupied
mediawiki/extensions/Flow : masterUse $wgNamespaceContentModels instead of $wgFlowOccupyNamespaces
operations/mediawiki-config : masterGet rid of $wgFlowOccupyPages
mediawiki/extensions/Flow : masterGet rid of $wgFlowOccupyPages
operations/mediawiki-config : masterNote that people should not add new wmgFlowOccupyPages

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Restricted Application added a project: Collaboration-Team-Triage. · View Herald TranscriptJul 11 2015, 2:01 AM
DannyH renamed this task from End the occupation to F3. End the occupation.Jul 23 2015, 12:41 AM
Catrope edited a custom field.Jul 29 2015, 10:41 PM
Catrope removed Mattflaschen-WMF as the assignee of this task.Jul 30 2015, 6:20 PM
DannyH edited a custom field.Jul 30 2015, 6:21 PM

Change 228267 had a related patch set uploaded (by Matthias Mullie):
Get rid of $wgFlowOccupyPages

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

Change 228268 had a related patch set uploaded (by Matthias Mullie):
Use $wgNamespaceContentModels instead of $wgFlowOccupyNamespaces

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

Change 228269 had a related patch set uploaded (by Matthias Mullie):
Remove TalkpageManager::isTalkpageOccupied

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

Change 228271 had a related patch set uploaded (by Matthias Mullie):
Get rid of $wgFlowOccupyPages

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

Change 228284 had a related patch set uploaded (by Matthias Mullie):
Rename OccupationListener to TopicPageCreationListener

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

matthiasmullie added a comment.EditedJul 31 2015, 3:30 PM

$wgFlowOccupy* globals are gone as well as TalkpageManager::isTalkpageOccupied, in favor of functionality that mostly already existed in ContentHandler. OccupationListener has also been renamed to reflect current reality.

OccupationController/TalkpageManager still exist because but we still need something to lock down creation of new flow-board types on any namespace, and check for flow-create-board permissions.


When merging/deploying this, make sure to respect the order described in the commit messages:
1: Run maintenance/FlowUpdateRevContentModelFromOccupyPages.php
2: https://gerrit.wikimedia.org/r/#/c/228267/ - remove $wgFlowOccupyPages from Flow
3: https://gerrit.wikimedia.org/r/#/c/228271/ - remove $wgFlowOccupyPages from config & prepare $wgNamespaceContentModels (in addition to $wgFlowOccupyNamespaces)
4: https://gerrit.wikimedia.org/r/#/c/228268/ - remove $wgFlowOccupyNamespaces from Flow, using $wgNamespaceContentModels instead
5: rest of the patches

Change 230370 had a related patch set uploaded (by Mattflaschen):
Add script to populate rev_content_model for $wgFlowOccupyPages

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

When merging/deploying this, make sure to respect the order described in the commit messages:

The rev_content_model one should also be run before any of those.

I'm de-assigning myself from this for now. Next thing I was going to follow up on was https://gerrit.wikimedia.org/r/#/c/228269/4/includes/TalkpageManager.php .

See very last comment in that file.

Change 230370 merged by jenkins-bot:
Add script to populate rev_content_model for $wgFlowOccupyPages

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

Change 232854 had a related patch set uploaded (by Mattflaschen):
Note that people should not add new wmgFlowOccupyPages

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

Change 232854 merged by jenkins-bot:
Note that people should not add new wmgFlowOccupyPages

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

Change 228267 merged by jenkins-bot:
Get rid of $wgFlowOccupyPages

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

http://en.wikipedia.beta.wmflabs.org/wiki/Talk:Flow_QA somehow broke on Beta (http://en.wikipedia.beta.wmflabs.org/wiki/Talk:Flow is fine). Those are both occupy pages, so this has to be tracked down before continuing.

Change 228271 merged by jenkins-bot:
Get rid of $wgFlowOccupyPages

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

TLDR: Everything works fine, but it would be good to spot check (not all, just some subset) other operations, like history, etc.

Config patch for $wgFlowOccupyPages is deployed. See wmf-config/InitialiseSettings.php and wmf-config/InitialiseSettings-labs.php for the pages affected.

I spot-checked the three explicitly listed on Labs (the vast majority I just checked that it loads as Flow). The two on enwiki Beta work. The en_rtl Beta one does not exist (and the site is broken anyway). I also checked http://he.wikipedia.beta.wmflabs.org/wiki/%D7%A9%D7%99%D7%97%D7%AA_%D7%95%D7%99%D7%A7%D7%99%D7%A4%D7%93%D7%99%D7%94:%D7%96%D7%A8%D7%99%D7%9E%D7%94 (labs, but inherited from production config).

In production ("loads" means they all load properly as Flow unless otherwise noted):

test - Loads except three listed at https://phabricator.wikimedia.org/T109671#1558815
test2 - Loads
meta - Loads
mediawiki - Loads, except Talk:Cite-from-id which we already knew didn't exist.
enwiki - Loads - Also posted on a couple pages
frwiki - Loads
hewiki - Loads
officewiki - Loads
ptwiki - Loads
cawiki - Loads (except Viquipèdia_Discussió:La_taverna/Tecnicismes does not exist, per T109671, but it's still a valid empty Flow board because that namespace is also occupied)
tewiki - Loads

Change 228268 merged by jenkins-bot:
Use $wgNamespaceContentModels instead of $wgFlowOccupyNamespaces

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

Change 228269 merged by jenkins-bot:
Remove TalkpageManager::isTalkpageOccupied

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

Change 228284 merged by jenkins-bot:
Rename OccupationListener to TopicPageCreationListener

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

Checked in betalabs(including general regression testing on Moving pages between namespaces, and then converting to Flow).

Also the comment 'Taken over by Flow' seems to be eliminated successfully.

DannyH closed this task as Resolved.Sep 16 2015, 9:51 PM
DannyH added a subscriber: DannyH.

Change 260869 had a related patch set uploaded (by Mattflaschen):
Add script to populate rev_content_model for $wgFlowOccupyPages

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

Change 260869 merged by jenkins-bot:
Add script to populate rev_content_model for $wgFlowOccupyPages

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