Page MenuHomePhabricator

Solution for disabling Flow on a page
Open, NormalPublic

Description

This is broken out from T72073: U4. Special page to enable Flow on existing wikitext talk pages, auto-archiving the wikitext page (v2). However, I suggest we have a meeting, as there are some issues with the "convert to wikitext" approach:


Similar to enabling, we will create a special page to *disable* Flow on a page/set of pages. This will create a revision that changes the contentmodel of the page back to "wikitext".

  • The user right for this special page determines who can do this
    • initially restricted to Flow team, eventually wiki admins get the right.

The new wikitext revision of the Flow page would contain the Flow board converted back to text. There are two forms it could take:

  • The script Flow/maintenance/convertToText.php that converts Flow board to wiki text. Sample conversion
  • A variant of this script that outputs the Flow board header followed by a list of links to the Topic: *UUID* pages, maybe with summary information. ---

Issues:

  • How does disable relate to $wgFlowOccupyNamespaces? E.g. if Flow is enable on User_talk: can it still be disabled for a particular page? For a subpage like User_talk:Brandon/My_experiment ? (it would already be off for the subpage (I don't think the struck-through part is true anymore, since we changed how namespace occupation works))
  • When enabling, what happens if Flow is disabled: we have [a script](https://tr​ello.com/c/VKUbFqBW/37-5-disable-flow-fix-in-wmf11) (which needs to be updated f​or API changes) to convert a Flow board to wikitext, and/or the Flow version cou​ld be moved to a Talk:_SomePage_/FlowArchive

Event Timeline

Mattflaschen-WMF updated the task description. (Show Details)
Mattflaschen-WMF raised the priority of this task from to Needs Triage.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptApr 16 2015, 9:26 PM

I'm not sure we need to implement converting to wikitext.

You can just move the Flow board and protect it (this could be done automatically by a special page if we think it's a common issue). Converting to wikitext would be needed is if you wanted to uninstall Flow completely, but that's not happening currently.

It's very hard to adequately preserve the attribution information from Flow in a wikitext page, and currently this code is not doing so. It doesn't attribute anyone for header and the same issue would occur for summary (for header especially, that could be a fair amount of work on a real talk pages). It doesn't attribute people who edit posts (which now any auto-confirmed user can do).

It also doesn't preserve the summary at all, but that could easily be fixed.

We should check with legal about whether it's okay to discard edit history like this (it's definitely very problematic).

Restricted Application added a project: Collaboration-Team-Triage. · View Herald TranscriptApr 16 2015, 9:36 PM
Mattflaschen-WMF set Security to None.
Mattflaschen-WMF updated the task description. (Show Details)
Mattflaschen-WMF updated the task description. (Show Details)
DannyH triaged this task as Normal priority.Apr 17 2015, 5:33 PM
DannyH moved this task from Untriaged to Product/Design Work on the Collaboration-Team-Triage board.
DannyH added a subscriber: DannyH.

It's very hard to adequately preserve the attribution information from Flow in a wikitext page, and currently this code is not doing so.

To elaborate on this, proper attribution could be done with synthetic edits under the correct username. Basically, replay the board in time order:

  1. If a topic is created, create a section under the right user.
  2. If an action occurs within a topic (including creation or edit of summary), serialize the whole topic (including summary), and make a section edit (replacing the whole section) under the user that did the action (TEST: multiple sections with same topic title),
  3. If a header is created or edited, edit the lede.

In the course of writing this, I refined my thoughts above, and it doesn't seem as hard as I previously thought.

We need to discuss, though.

Note, the above requires that the conversion script actually does the edits in a cron job/deferred, rather than just outputting text (with just one output/one edit, there is no proper attribution).

Temporarily protecting the page while these edits are made would help ensure the correct diffs.

Begoon added a subscriber: Begoon.Jan 10 2016, 10:41 AM

The hardest part of the above is snapshotting a topic at a point in time (and finding all the right revisions at that time).

DannyH removed a subscriber: DannyH.Jan 12 2016, 11:51 PM
Scott added a subscriber: Scott.Jan 13 2016, 11:56 AM

The link to the sample conversion in the description of this task is broken.

The link to the sample conversion in the description of this task is broken.

Added as part of the spec for T90075: Update and retest the convertToText script (if we were to use the script, we would need to update it first anyway, then produce another sample)

Just a sugestion: what about a special page (Special:DisableFlow) to do the contrary that Special:EnableFlow do?

Restricted Application added a project: Growth-Team. · View Herald TranscriptJul 18 2018, 6:45 PM
SBisson moved this task from Inbox to Triaged but Future on the Growth-Team board.Jul 20 2018, 5:03 PM