Threaded Topics

We would like a solution that enables us to do the following:

  • Always nest replies under their parent post (i.e. don’t have them appear under “view replies” AND later in the main chronology)
  • Allow “view replies” to be expanded by default
  • Allow up to max 4 levels of reply nesting (instead of only 1 as permitted by core Discourse)

The data already stores infinite levels of nesting via each post’s parent ID, but we need to be able to express this on the front-end.

We’re looking for somebody who can do this quickly. Please contact me for further details or if you think you can do this work. Thanks.

– Aaron

PS: I realize Discourse is somewhat philosophically opposed to threaded conversations, but we love everything else about Discourse and our community (and business owner) is demanding we have threading.

4 Likes

Hi @PeakProsperity,

Sorry to jump in on your marketplace topic, but I wanted to give you a heads-up that this may not be the best moment to start working on this.

We’re modernizing Discourse’s JavaScript codebase by replacing the widgets system with Glimmer components.

The post-stream is written using widgets, and we expect to start modernizing/rewriting it in the second semester.

Once that’s done, as the post-stream will be rewritten, any work you put on this now will need to be redone, or at the very least, heavily modified.

Hopefully, I have saved you some money. :smile:

That said, about the project itself, nesting posts properly is a really large project to get done right.

In the frontend, you can get 90% of the job done relatively quickly, but as soon as you start using it, many things break, and the other 10% is really hard.

There is a lot of code in Discourse that expects the post to be displayed/read in a linear order.

There are also server-side implications that would need to be addressed, like how to keep track of unread posts, etc.

9 Likes

Thanks for the info!

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.