Skip to content

Add a GitHub Discussions like forum feature #17858

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
qwerty287 opened this issue Nov 29, 2021 · 17 comments
Open

Add a GitHub Discussions like forum feature #17858

qwerty287 opened this issue Nov 29, 2021 · 17 comments
Labels
type/feature Completely new functionality. Can only be merged if feature freeze is not active. type/proposal The new feature has not been accepted yet but needs to be discussed first.

Comments

@qwerty287
Copy link
Contributor

qwerty287 commented Nov 29, 2021

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

@fnetX
Copy link
Contributor

fnetX commented Nov 29, 2021

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.

@mscherer
Copy link
Contributor

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.

@fnetX
Copy link
Contributor

fnetX commented Nov 30, 2021

@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.

@mscherer
Copy link
Contributor

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.

@6543
Copy link
Member

6543 commented Dec 10, 2021

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?

@qwerty287
Copy link
Contributor Author

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.

@fnetX
Copy link
Contributor

fnetX commented Dec 11, 2021

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.

@6543 6543 added type/feature Completely new functionality. Can only be merged if feature freeze is not active. type/proposal The new feature has not been accepted yet but needs to be discussed first. labels Dec 15, 2021
@trymeouteh
Copy link

Would like to see a discussion section added to gitea

@vhscom
Copy link

vhscom commented Jan 22, 2022

This issue is a duplicate of #14562

@techknowlogick techknowlogick added the issue/duplicate The issue has already been reported. label Jan 22, 2022
@qwerty287
Copy link
Contributor Author

qwerty287 commented Jan 22, 2022

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)

@lunny lunny reopened this Jan 22, 2022
@lunny lunny removed the issue/duplicate The issue has already been reported. label Jan 22, 2022
@techknowlogick

This comment was marked as off-topic.

@Kreijstal

This comment was marked as off-topic.

@twisted-nematic57

This comment was marked as duplicate.

@SangeloDev

This comment was marked as duplicate.

@secondtruth

This comment was marked as duplicate.

@JedMeister

This comment was marked as duplicate.

@xamidi
Copy link

xamidi commented Nov 17, 2024

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

This is equivalent to asking about the real benefit to having a (customizable) forum integrated into a repository.

A few mayor differences between GitHub "Issues" and "Discussions":

In Discussions,

  • there are customizable categories
  • one can preselect (for search) by categories
  • there can be multiple comments that have individual reply sections
  • every topic/"discussion" and comment (but not the replies) can be upvoted by everyone (except when the topic is locked)

For example the "Q&A" category can be used for actual Q&A functionality, i.e. questioners can select answers (and users can get achievements for obtaining selected answers, btw). A lot of what GitHub Discussions are capable of is demonstrated in community/discussions. [Note that it is, however, a little special — usually only topics under the Q&A category have the "mark as answer" option, but there, apparently more (possibly all) categories support this. Apparently, they put most categories on "Question / Answer" format.]
grafik

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/feature Completely new functionality. Can only be merged if feature freeze is not active. type/proposal The new feature has not been accepted yet but needs to be discussed first.
Projects
None yet
Development

No branches or pull requests