gitea icon indicating copy to clipboard operation
gitea copied to clipboard

Add a GitHub Discussions like forum feature

Open qwerty287 opened this issue 3 years ago • 16 comments

Feature Description

GitHub has the "Discussions" feature, which is something like a forum. They are actually similar to issues, with the following differences:

  • you can answer to a comment and this comment will be showed in a separate list below the comment
  • instead of closing the discussions, they can be resolved and you can set the comment that resolved the problem
  • they are sorted into categories (I think GH's default is "General", "Ideas", "Q&A" and "Show and tell", "Announcements")
  • you can upvote single discussions
  • you can convert an issue to a discussion and a discussion to an issue

Some repos using them:

ref: https://codeberg.org/Codeberg/Community/issues/528

Screenshots

Example from GH feedback

qwerty287 avatar Nov 29 '21 19:11 qwerty287

What about a generic implementation to create as-many-issue-trackers as you like, move issues between them, but have them separated by default.

A repo could, for example, have a targeted and distraction-free "Bug Tracker", a tracker for "Feature Requests" and a general "Support Forum". I know @Gusted is working on confidential issues in #17711, but I'm just now thinking of allowing to create a maintainers-only security tracker (or more generic internal discussion) with this very same approach. Some projects also want to have a clean bug-tracker where not everyone can post stuff, this could also be achieved by such a generic implementation.

I think, using an issue tracker as forum is just fine, I don't see any need for writing a new forum software in Gitea tbh. I think the main reason for people to want this is a separation from the normal issue tracker.

fnetX avatar Nov 29 '21 20:11 fnetX

From what I see on github discussion (or discourse), there is a few adjustment that would need to be added to issue for proper discussions.

For a start, the way the issue are displayed. The order is not "latest created issue", but "latest issue with activity". Then I am not sure what it mean to close a discussion "issue", and who should be able to close the topic, and if automated trigger would apply there ?

The whole UX (assigned to, etc) would also need to be removed or at least changed, as I think this would be confusing and meaningless for discussion, but useful for tickets.

And there is feature that may make sense to add (like merging or splitting issue/discussions), but maybe in a different way for issue and discussions.

mscherer avatar Nov 30 '21 12:11 mscherer

@mscherer I think this still qualifies for a generic implementation, rather than adding all these features one-by-one and upon request and discussing about changing the default values from time to time.

For example, there are issue trackers where I'd love to have the default view at "Recently updated" ... allowing users to define their own trackers with diferent values (and maybe adding default buttons like with label sets that create a "Forum" with some defaults) might be fine.

You can already disable certain features for the issue trackers, like time tracking, dependencies etc, why not allow for more customization? Still, some features might come handy even in forums at times ...

In forums it's not uncommon to "close" (archive, mark as outdated etc) a thread.

merging / splitting could also be a FR for normal issues.

I know that this will require a lot more work than just copying some code and wiring it into a discussion feature, but I think it will allow a lot more flexibility. I expect many feature requests in the future, like "I want this in my discussion forum" or "I'd like this forum feature back in my issue tracker", or "Git-Hosting XY just added a dedicated User-Support-Desk, can we have this, too, by copying the forum code again?" - and having a very generic backend sounds like a lot of freedom to users, much less duplication and more efficient.

fnetX avatar Nov 30 '21 19:11 fnetX

Yeah, I think it help to show what would be changed so the feature could be added 1 by 1. As you point out, it would make sense to have a different sorting on the issue tracker, and so this could be added, and exposed as a project setting.

And then reused in some kind of higher level profile that preconfigure the merged issue/ticket/discussion backend, or something like that.

mscherer avatar Nov 30 '21 20:11 mscherer

I have only two thoughts:

  • what's the real benefit to use "Discussions" and not the normal issues?
  • will it increase gitea's code base unnecessary or can it be done with 1-2 flags in backend and just another template to look at it?

6543 avatar Dec 10 '21 20:12 6543

what's the real benefit to use "Discussions" and not the normal issues?

I think github just wants to provide a place where you can get support that's different from issues, because most projects don't want to have support questions in their issue tracker (Gitea has this too and prefers using the forum/discord).

will it increase gitea's code base unnecessary or can it be done with 1-2 flags in backend and just another template to look at it?

I don't really think so. If using the github way, you'd need (backend) another flag to mark it as discussion, a new column to save in which category the discussion is and a sub-comment feature which allows you to comment an another comment (if it's not a sub-comment already). And of course the frontend templates and API endpoints.

qwerty287 avatar Dec 11 '21 06:12 qwerty287

what's the real benefit to use "Discussions" and not the normal issues?

This is questionable, but there is high demand for this, we can see this on SocialMedia. IMO, there is in any way high demand to customize the way issues are tracked, whether to split out Discussions and Support, or collect feature requests separated from bug reports as common in some FLOSS projects, or to have a focused core tracker for the maintainer team ... I can think of many ideas, but I don't want to repeat my initital comment, see above.

fnetX avatar Dec 11 '21 15:12 fnetX

Would like to see a discussion section added to gitea

trymeouteh avatar Jan 11 '22 01:01 trymeouteh

This issue is a duplicate of https://github.com/go-gitea/gitea/issues/14562

vhscom avatar Jan 22 '22 02:01 vhscom

It is not. #14562 addresses a discussion in org teams, and this one in repos. This is not the same discussion feature (but most people think that it is).

GH docs: #14562 - https://docs.github.com/en/organizations/collaborating-with-your-team

This one - https://docs.github.com/en/discussions

(So please reopen this issue)

qwerty287 avatar Jan 22 '22 06:01 qwerty287

@qwerty287 my apologies. Lunny has re-opened this :)

techknowlogick avatar Jan 22 '22 09:01 techknowlogick

would kanban boards and the such be also there

Kreijstal avatar Feb 19 '22 11:02 Kreijstal

@Kreijstal that feature already exists. Try going to the Projects tab in any Gitea repository and you can make a Kanban board there 😉

But I have to put my +1 for this issue here. This is essential.

twisted-nematic57 avatar Sep 10 '22 20:09 twisted-nematic57

This would definitely be something useful, to keep issues and support separately. Gitea Discussions gets a +1 from me!

SangeloDev avatar Jun 09 '23 17:06 SangeloDev

I'd also like to have this feature. This would be a great one, especially for community building and collecting questions and feature requests.

secondtruth avatar Mar 05 '24 00:03 secondtruth

:+1:

JedMeister avatar May 14 '24 03:05 JedMeister