Page MenuHomePhabricator

Moving topics between boards
Open, HighPublic

Assigned To
None
Authored By
Mattflaschen-WMF
Jan 30 2015, 7:23 PM
Referenced Files
F38375: move-menu.png
Feb 9 2015, 1:53 AM
F38383: move-filled.png
Feb 9 2015, 1:53 AM
F38377: move-initial.png
Feb 9 2015, 1:53 AM
F38381: move-find-dest.png
Feb 9 2015, 1:53 AM
F38385: move-done.png
Feb 9 2015, 1:53 AM
F38379: move-searching-dest.png
Feb 9 2015, 1:53 AM
F38387: move-error.png
Feb 9 2015, 1:53 AM
Tokens
"Love" token, awarded by Lens0021."Heartbreak" token, awarded by He7d3r."The World Burns" token, awarded by Nemo_bis."Like" token, awarded by Luke081515."Love" token, awarded by Trizek-WMF."Love" token, awarded by gpaumier."Love" token, awarded by Florian."Love" token, awarded by Ltrlg."Like" token, awarded by Harej."Like" token, awarded by Sunpriat.

Description

Description for discussion at story grooming meeting. Ticket still needs design mockups.

Flow should support moving topics between Flow boards. This is currently possible on LQT, and we want to match that functionality.

The feature is similar to Hide topic, and will use some similar elements -- the dropdown menu, and the "undo" notice.

Requirements:

Move topic as part of the action menu

move-menu.png (832×620 px, 136 KB)

  • User can select "Move topic" in the dropdown menu.
  • The action is provided in the second group (after the separator line) where more "administrative" actions are provided.

Dialog for moving: destination and reason

move-initial.png (832×619 px, 117 KB)

  • A modal window comes up, with two fields:
    • Destination talk page
    • Reason and two controls
    • Cancel (link)
    • Move topic (button)
  • The user types the name of the desired destination talk page in the field.
    • The field accepts namespaces (Talk: or User talk:)
    • Error handling: If the desired destination doesn't exist or isn't a Flow board, an error message says: "Destination page is not a Flow board", and nothing happens.
  • The user types a reason into the Reason field. This will be used as an edit summary for the move, and will be reflected in RC/history/contributions (and logging).
  • The Move topic button is disabled until the user types something in both fields.

(See T88616 for a spike about Autocomplete in the destination field.)

move-filled.png (832×619 px, 119 KB)

  • When the user provides the mandatory information, the button to move becomes active.

Error handling

move-error.png (832×861 px, 130 KB)

  • When the user clicks Move topic but the chosen destination isn't a Flow board, there's an error message that says "Destination is not a Flow board: Topics can only be moved between Flow boards"

**Note: Pau added a "Learn more" link in the mockup, but I'm not sure where that links to. That's TBD, we'll talk about it. :)

Completing the process

move-done.png (577×619 px, 92 KB)

  • When the user clicks "Move topic", the topic currently in view is replaced by a gray box that says "This topic has been moved to [[Link]]. Undo"
  • The confirmation and Undo box is similar to hidden and deleted topics. This is only seen by the user who moves the topic, and only for that pageview. Anyone else visiting the page will not see a note that the topic was moved.
  • As with hiding and deleting, clicking "Undo" means that the topic immediately moves back to the original board, with no need to type a reason.
  • The topic now appears on the new board, in the correct place according to New / Recently active sorting.
  • On the topic page, the H1 and the breadcrumb reflect the new board title.
  • Log entries:
    • Recent changes: (diff | hist) . . Topic title on Talk:Oldboard; 17:17 . . (0)‎ . . DannyH (WMF) (talk | contribs | block) moved the topic "Topic title" to Talk:Newboard (Reason)
    • User contributions: 17:17, 3 February 2015 (diff | hist) . . (0)‎ . . Topic title on Talk:Oldboard . . DannyH (WMF) (talk | contribs | block) moved the topic "Topic title" to Talk:Newboard (Reason)
    • Board history pages (for both boards): cur prev topic 13:26, 2 February 2015 . . DannyH (WMF) (talk | contribs | block) moved the topic "Topic title" from Talk:Oldboard to Talk:Newboard (Reason) . . (0)‎
    • Topic history page: cur prev topic 13:26, 2 February 2015 . . DannyH (WMF) (talk | contribs | block) moved the topic "Topic title" from Talk:Oldboard to Talk:Newboard (Reason) . . (0)‎

Note from the story grooming meeting about RC & log changes -- should this be a null edit on the topic title? Or should we rename the "moderation reason" field to include this?

See also

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
DannyH renamed this task from Allow moving topics between boards (Translatewiki) -- Danny + Pau to Allow moving topics between boards (Translatewiki).Feb 4 2015, 1:27 AM
DannyH updated the task description. (Show Details)
DannyH renamed this task from Allow moving topics between boards (Translatewiki) to Moving topics between boards (Translatewiki).Feb 4 2015, 10:55 PM
DannyH updated the task description. (Show Details)

I created some mockups describing the workflow for moving a topic.

Move topic as part of the action menu

move-menu.png (832×620 px, 136 KB)

  • The action is provided in the second group (after the separator line) where more "administrative" actions are provided.

Dialog for moving: destination and explanation on the move

move-initial.png (832×619 px, 117 KB)

  • Providing a destination board to move seems the minimal info to ask the user for this task.
  • An explanation of the reasons is asked to be consistent with similar operations such as "hide". If we think that the reasons for moving is already well communicated by the destination (and text will be most of the time that "it is a better place to discuss the topic"), we can either remove that field, make it optional or provide a default value along those lines.

Dialog for moving: find destination

move-find-dest.png (832×619 px, 125 KB)

move-searching-dest.png (832×619 px, 114 KB)

  • Autocompletion can be useful for users to input the correct destination.
  • The initial list of suggestions can contain expected destinations based on a list of relevant boards for the user (recently created, recently/frequently participated, recent/frequently used as destination).
  • Autocompletion should allow flexible input: the user should be free to use the "talk:" prefix or not and find easily the corresponding flow board.
  • Once the destination is selected a link to view the board (opening in a new window) can help users that want to check they are moving the topic to the right place.

Completing the process

move-filled.png (832×619 px, 119 KB)

  • When the user provides the mandatory information, the button to move becomes active.

move-done.png (577×619 px, 92 KB)

  • Once the topic is moved, a temporary indicator of the movement is provided. It will contain an action to undo the move and the link to the moved topic in the new board.
  • Dealing with errors**

move-error.png (832×861 px, 130 KB)

  • Although auto-completion should reduce the number of errors, we need to provide a message when the user selects an invalid destination. Invalid destinations are pages which are not flow boards. We need to decide what happens when moving a topic to a non-existent talk page in a namespace where flow board is the default (should the flow board be created?).

This looks good. This is the first time we've done auto-complete as far as I know.

We should consider using OO.ui.LookupElement (it provides all the legwork, and we can plug in our own suggestion source).

I don't know if we'll be able to do all those features. We might end up with something simpler like prefix support.

I think we should include a reason field. Moving topics will probably be relatively uncommon, so it shouldn't be a big burden.

I discussed with @EBernhardson, and we think if we implement this, the LQT moved threads action should map to this (at least if there is some visible indication in Flow that it's moved). Basically, if we implement this, topics moved within Flow should have the same UI as threads moved within LQT and later implemented to Flow.

We can get this info from the LQT log: https://translatewiki.net/w/api.php?action=query&list=logevents&leaction=liquidthreads/move

Note that it appears this log is not accessible once LQT is disabled (see T89426: Allow to uninstall all LiquidThreads code except the parts necessary for the remaining content, to be moved into (?)WikimediaMessages), I think because it's no longer registering it as an existent log type.

Re: Notifications: Moving a topic should send:

  • A notification to all current topic-subscribers, that the topic has been moved.
  • A notification to the target board's subscribers, that an existing topic has been moved in.

(not sure if this needs to be split into another task)

Shouldn't it also send a notification to subscribers to the source board that a topic has been moved out (and to where)?

We should also think about if/how to leave a marker in the source board that a topic has been moved out (LQT does this).

DannyH renamed this task from Moving topics between boards (Translatewiki) to Moving topics between boards.Mar 25 2015, 7:00 PM
DannyH removed a project: Design.

Moving use cases from the merged T95113: Allow moving a Flow topic to a different page:

  • As an experienced user who replies to questions from new users, I want to be able to move a new topic to a different page (as a new topic, not as a reply to an existing topic) from where it was initially posted, so that the right people can answer the question.
  • As a user who watches technical village pumps, I want general questions about templates, gadgets or the MediaWiki software itself (full topics) to be moved to those tech pages, so that I can have a centralized page for replying to them.

Some times users use the wrong communication channel for asking their questions. Flow should follow the example of its predecessor (LQT) and let us ensure they will still get an answer, even if they mistakenly use e.g. Wikipedia's main page to suggest a change to a specific article, to report a typo in its text, or to ask something about an error in a template.

It will need an option to leave a placeholder/pointer at the original location, as LQT does, and as is done in wikitext discussions.

Quiddity raised the priority of this task from Low to Medium.Jul 27 2015, 1:27 AM
Quiddity updated the task description. (Show Details)

This will probably be pretty high on the list of community blockers for wider deployment on discussion at least in some languages.

In the Hebrew Wikipedia topics are moved between talk pages very frequently - from Village Pump to a more specific community page, from user talk to article talk, etc.

There's a template that is usually added in such cases - הועבר (the name means "moved"). According to Special:MostTranscludedPages, it's the 153rd most transcluded template, used on 3525 pages. As far as I can see, the corresponding English template, https://en.wikipedia.org/wiki/Template:Moved_talk is used on only 11 pages (but en.wikipedia may have some other mechanism for such talk pages refactoring with which I am not familiar).

Catrope raised the priority of this task from Medium to High.Nov 4 2015, 10:34 PM
Catrope edited a custom field.

Thanks for filing this report. I didn't expect such a feature to be missing, it would be nice to have a comparison table between LQT and Flow.

Then you should see the CirrusSearch confusion between the Search-usage and the Extension-Installation. This feature ensures that the certain problematic pages remain a wiki, not a "village pump".

Just got bitten by this; I had posted an {{editrequest}} message to the talk page of a sidebar system message that was erroneously translated @ MediaWiki.org, and now I’ve learned that nobody reads those unless posted to a specific project page. I wish I could simply move the request instead of resorting to posting it twice.