forem / forem

For empowering community 🌱
https://forem.com
GNU Affero General Public License v3.0
22.02k stars 4.06k forks source link

Pinned comment #16306

Open ludwiczakpawel opened 2 years ago

ludwiczakpawel commented 2 years ago

Description

Admins want an ability to have "Q&A" type of posts where it would be possible to mark post as answered with specific comment.

There are tons of directions we could pull this towards but lets kick off with simple MVP: lets just enable post authors to mark specific comment as “Pinned comment” - it would get highlighted with special styling and it would land on top of the Discussion list.

For sake of simplicity let's limit this to only top level comments (in other words: it won't be possible to mark comment's reply as "best answer")

Definition of done

Implement the feature as specified.

Spec

Design

image

Figma.

Scope

We will focus on enabling authors to pin a comment. Hence we are opting for a ubiquitous term to describe this neutral action as "pinning a comment."

Additional context

See more context in the comments, starting here.

Future

Some ideas for future, just to keep in mind but definitely not to implement now:

  1. adding an indicator somewhere on top of the post view saying that this post has “pinned comment” chosen so user doesn’t have to scroll down to know it (i.e. to know that post has "approved answer").
  2. adding similar indicator in the Feed (maybe as an icon in front of the title or something, whatever)
  3. potentially, when a post has “pinned comment” we could automatically show that answer in the comments section right in the feed..
github-actions[bot] commented 2 years ago

Thanks for the issue, we will take it into consideration! Our team of engineers is busy working on many types of features, please give us time to get back to you.

Feature requests that require more discussion may be closed. Read more about our feature request process on forem.dev.

To our amazing contributors: issues labeled type: bug are always up for grabs, but for feature requests, please wait until we add a ready for dev before starting to work on it.

To claim an issue to work on, please leave a comment. If you've claimed the issue and need help, please ping @forem/oss. The OSS Community Manager or the engineers on OSS rotation will follow up.

For full info on how to contribute, please check out our contributors guide.

aitchiss commented 2 years ago

@amywtlin I'm wondering if "best answer" is the right terminology for this? A lot of posts (maybe most?) aren't questions, but I can see people still wanting to pin a comment to the top. Would something more general like "most helpful" fit better with all types of posts?

ludwiczakpawel commented 2 years ago

@aitchiss I'm not language expert sooo I leave the decision to others.. But since you brought it up there're two more I'm thinking about:

amywtlin commented 2 years ago

@JennieOcken Clarifying a bit more on the goal for "best answer" here before I weigh in on how we should describe a picked comment.

Is the main goal here to...

  1. make a comment more prominent (leaning towards pinning a comment in a neutral way, not necessarily "resolved")
  2. make an unresolved post as resolved (this implies a closure to the post, which calls for different communications than the former)

I am supposed we are focusing more on #2, but is that correct?

ellativity commented 2 years ago

Ooooh, just to make things more complicated, could we have a "mark as resolved" check box with an option that allows the marker (assuming this is post author but admins could modify as with most things) to select the "most helpful" answer?

ellativity commented 2 years ago

Sorry! I clicked on the wrong button - hope I didn't mess things up for you @ludwiczakpawel

JennieOcken commented 2 years ago

I think there is a ton of value in the "pin comment" option even without the workflow of "mark as resolved". Given that, let's take a more iterative approach. For this issue, let's focus on a more "pin comment" or "highlight comment" option. That will give the Creators I have heard from the majority of what they are looking for. Then we can let it rest and see what kind of response we get. In the future, we may add some of the "resolved" type concepts, but that can be a succinct additional project. Also, I don't see the "pin comment" approach precluding a later "resolved" approach. Make sense?

amywtlin commented 2 years ago

For this issue, let's focus on a more "pin comment" or "highlight comment" option. That will give the Creators I have heard from the majority of what they are looking for.

Thanks - this is what I was looking for. Yes, we should take an iterative approach, and I would love to make sure what we work on first is addressing the majority of what Creators are looking for.

@aitchiss @ludwiczakpawel Let's focus on "making a comment more prominent" then. Going back to the wording, for this use case, best answer won't be a suitable name. I don't have a strong opinion here, as both "pinning" or "highlighting" a post feel neutral to me and can be applicable in lots of scenarios, no matter for what reasons an author or an admin decides to make a comment more prominent. Do you two have a preference?

Question: can there be more than one post that are pinned though? No?

aitchiss commented 2 years ago

I don't have a strong opinion here, as both "pinning" or "highlighting" a post feel neutral to me and can be applicable in lots of scenarios, no matter for what reasons an author or an admin decides to make a comment more prominent. Do you two have a preference?

Yeah I agree, I think either works well. Like @ludwiczakpawel mentioned "pinned comment" is consistent with the language we use for pinning posts, so maybe all other things being equal, we should go for that?

Question: can there be more than one post that are pinned though? No?

I'd assumed we were just going for 1 pinned comment, but it's a good question! Even if we stick with just 1 for the first iteration, it would be good to know if we envisage this expanding to multiple pinned comments, just to make sure the implementation allows for that in future.

ludwiczakpawel commented 2 years ago

could we have a "mark as resolved" check box

@ellativity What do you envision this would do? In other words: how would that be different from "pinning comment" (well, except language)?


I don't want to go too granular here and have too many "states" for a comment.


Question: can there be more than one post that are pinned though?

I'd say "no" for now to not overcomplicate things.

Correct me if I'm wrong, @JennieOcken , but I think this feature was requested by Creators who want to have some sort of Q&A type of posts.. With that in mind, lets try to focus on that use case.

Usually Q&A sites (i.e. Stack Overflow 😭 ) will let you mark only one answer as "correct". So lets start with that. If at some point we feel like "Marking as resolved" (per @ellativity 's suggestion) is actually the same thing as pinning/highlighting a comment, then it would be easier to transition. The same if at any given point we see a need for Creators to mark multiple comments as highlighted/pinned – we can easily scale it up. But it won't be that easy to go the other way (i.e. if we kick off by letting Creators mark multiple comments as highlighted/pinned and then we realize we don't need that and we only want one comment to be marked).

So my suggestion: let's go with only being able to mark one comment. Rest is, I think, matter of naming ("best answer" vs "highlighted" vs ...) and that should be based on what Creators really want (cc @JennieOcken ).

JennieOcken commented 2 years ago

The original request was absolutely some sort of Q&A type posts. But we have also heard similar requests over time for cases like CodeNewbie or Lee's Forems where you want to highlight specific comments.

I agree that we should keep it to the concept of "pinning" a comment (liking that wording since it is already in the ubiquitous language of the site) since it is addressing the main request (Q&A) but not boxing us into a corner. This may be not exactly how Creators talk about it, but it matches the nature of our application.

Also agree that we should do only one for now. Especially since we limit pinned posts to only one. And there becomes some interesting logic on which order you list pinned items in which is it's own box I don't want to open right now.

ellativity commented 2 years ago

I see, exactly as @JennieOcken has described, 2 clear leading use cases for this:

  1. Q&A type posts, where it might be nice to have a "Resolved" flag or tag at some point. The value of the tag would be that all resolved answers could be found on a tag page, or if a user is searching for a question they can see at a glance which of the results contain questions that have been resolved instead of clicking into all of them to check if there's a pinned comment.
  2. this post on forem.dev where Lee added a comment that helped highlight a potential pitfall for users. It would have been nice to be able to highlight that comment so that it was more visible for anyone who was skimming the article and maybe didn't want to delve too deep into the conversation.

I think a single pinned post is fine for now (we also have a single pinned post in the feed, so hopefully some of that logic tracks).

amywtlin commented 2 years ago

Only being able to pin one comment sits right with me. I have updated the content of the issue to reflect it with the following addition:


Scope

We will focus on enabling authors and super admins & cross-site admins* to pin a comment, no matter their motivations behind doing such action. Hence we are opting for a ubiquitous term to describe this neutral action as "pinning a comment."


*cross-site admins is a relative term, comparing to single-source/-channel/-page admins, such as a tag moderator who can only moderate authorized tags. (Open to suggestions on alternative ways to call this - I just wanted one term with clarity of what I meant)

amywtlin commented 2 years ago

Also, on this:

Who should be able to mark comments as best answers?

I think post authors, cross-site admins (which is referred to as Admins in our system right now) and super admins.

What do you think?

@ludwiczakpawel Can you help update the terms from best answer to pinning a comment throughout the issue? I don't want to break your things 🙈

ludwiczakpawel commented 2 years ago

@amywtlin you mean mockups? sure thing, i'll do it 👍

amywtlin commented 2 years ago

@ludwiczakpawel Yes please! I also just updated the issue :D

aitchiss commented 2 years ago

I've unassigned myself from this one, as I'm going to be floating into admin experience pod for a bit and not sure yet I've got the capacity to pick this up (I hadn't started any work on it yet)

ludwiczakpawel commented 2 years ago

@amywtlin Design has been updated ✅