Page MenuHomePhabricator

Special:AllDiscussions a special page to gather all discussions in one page
Open, MediumPublicFeature

Description

We, at Dokit, are currently developing new features to improve Extension:CommentStreams.

We'd like to propose a merge request that contains all our improvements.

Here are the details of what we propose, feel free to discuss them.

We have developed a Special:AllDiscussions page that aims to gather all the discussions in one place.

Unlike Special:AllComments, the Special:AllDiscussions page:

  • displays only the list of topics (and not answers).
  • shows the number of answers for each topic
  • shows the user avatars of the author of the first topic (only if Social Profile is install and if the parameters $wgCommentStreamsUserAvatarPropertyName is enable)
  • each topic has a direct link to the page with its anchor (not the link to the CommentStream's namespace page)
  • has a search field that uses MediaWiki search pre-filtered on the comment stream namespace

The Special:AllDiscussions page also includes the following sorting/filtering options:

  • most recent (default)
  • most useful (that's the sum of thumbs up of every responses to the topic)
  • unanswered (shows only the discussion that didn't received any answer)
  • most answered (sort the topics who have received the most answers).
  • open (filter the topics who doesn't have an answer flagged as "Marked as best answer")

The Special:AllDiscussions page uses bootstrap grid system (via Skin:Chameleon).

On answers themselves, we added a "Mark as best answer" button to let the author of the topic (and the users with the proper user-right if configured) to mark the answer as best answer. When marked as best answer:

  • the topic is uncollapsed by default (even if the $wgCommentStreamsInitiallyCollapsedNamespaces is enable)
  • a little "Check" icon appears at the right of the title of the topic
  • if the user collapsed the topic, the "Mark as best answer" answer is highlight in green
  • Authors (and the users with the proper user-right) can "Unmark" if they did it by mistake

Event Timeline

ClemFlip renamed this task from Sorting and filtering capabilities on Special:AllComments page to Special:AllDiscussions a special page to gather all discussions in one page.Jun 27 2018, 1:08 PM
ClemFlip updated the task description. (Show Details)
ClemFlip added a subscriber: CCicalese_WMF.
ClemFlip updated the task description. (Show Details)
ClemFlip updated the task description. (Show Details)

These sound like great suggestions. Yes, please submit changes tagged with this task in gerrit and add me as a reviewer. If possible, add separate changes for the "mark best answer" functionality and the "Special:AllDiscussions" functionality - and any other reasonable subsets of functionality - to make it easier to review. I have several questions/comments:

  • The "mark best answer" functionality should be controlled by a configuration flag, since it will not always be desired. Perhaps it could be part of the voting functionality, controled by $wgCommentStreamsEnableVoting, so as not to proliferate too many configuration flags.
  • I'm conflicted about the dependency upon Chameleon to format the Special:AllDiscussions page. What would be the appearance of that page in the absence of Chameleon? Or would the page only be enabled if Chameleon is installed? I would like for there to be a reasonable fallback.
  • What would be the sorting/filtering behavior of Special:AllDiscussions if $wgCommentStreamsEnableVoting is not enabled. Again, I would like there to be a reasonable fallback.

Thank you for your contributions!

Cindy

Thanks for the feedbacks. They look fine to me too! :)
Here is what we'll do:

  • We'll push separate branches on gerrit for each feature
  • We'll use $wgCommentStreamsEnableVoting to enable "mark best answer"
  • We'll use a stand alone CSS (no dependency with chameleon) so that everybody can benefit from it
  • if $wgCommentStreamsEnableVoting is not enable, the "most useful" and "open" filters won't be there.

Also, we realized that voting was only possible on topics and not answers.
However, we believe voting for answers is important since users might want to signify that an answer is useful.

I am asking because, on Special:AllDiscussion, we would like to sort topics by "most useful" (which would be the sum of the thumbs up given to all the answers to the topic + the thumbs up given to the topic itself).

What do you think?

That makes sense, as long as it is an optional configuration. Do you think people would ever want to vote on both the topics AND the answers, or would it only be one or the other? Also, would it make sense for voting to be controlled on a per-page basis?

Removing task assignee due to inactivity, as this open task has been assigned to the same person for more than two years (see the emails sent to the task assignee on Oct27 and Nov23). Please assign this task to yourself again if you still realistically [plan to] work on this task - it would be welcome.
(See https://www.mediawiki.org/wiki/Bug_management/Assignee_cleanup for tips how to best manage your individual work in Phabricator.)

cicalese triaged this task as Medium priority.Aug 11 2023, 2:48 AM
cicalese changed the subtype of this task from "Task" to "Feature Request".