I’ve seen the topic templates (to guide someone creating a topic) and canned replies (to provide staff with a list of canned replies), but I haven’t spotted a way to do a topic-specific reply template in Discourse.
tl;dr
Users can include text in their topic that Discourse will use as the default content in the composer for replies to the topic.
The problem
In our forum, we sometimes have topics like:
- “Propose ideas for the hackathon”
- “Propose sessions for the unconference”
- “Submit agenda items for a design call”
These requests generally include instructions on details to include when replying within the topic. The particular details are specific to the individual topic. We have an upcoming conference, so I’m seeing several of these types of posts lately, including people frequently overlooking the requested format/details in their replies.
While we will undoubtedly continue to make topics like this, instructing people on details to include in their responses, it would be cool if there was a way to include these instructions in a format that Discourse would recognize and turn into a template for responses (i.e., use as default text in the composer for replies in the topic).
Proposed Solution
If you are soliciting ideas from the community and need some details included in replies, you could create a topic like this:
Propose ideas for unconference sessions
I hope everyone is excited about our upcoming conference. We’ll, once again, be doing this as
an unconference. Please respond with your suggestion for a topic. If you see topics you like, favorite
them (click the heart) to register your interest. If you want to discuss a particular topic, please use the
new topic feature to move the discussion to a new topic. Please include the following details in your reply:[template]
Title: provide a short title for the session here
Description: enter details about the session here
Suggested facilitators: name one or more people who could help facilitate
[/template]
The template tags would be hidden in rendering and anyone replying to the topic within Discourse would have the following text in the composer by default:
**Title**: provide a short title for the session here
**Description**: enter details about the session here
**Suggested facilitators**: name one or more people who could help facilitate
Proposed approach
Place a hook on the reply to topic buttons (i.e., reply button on original post or reply button at the end of the discussion) and, when it is clicked, scan the topic for a [template][/template]. If found, pre-fill the compose with its contents (perhaps similar to how the Compose a new pre-filled topic via URL feature works… but for a reply to the current topic).
This approach would have the benefit that the reply template would only be used when a user is replying to the original post, avoiding the template when someone is replying to a subsequent post within the topic (where they likely wouldn’t want the template anyway).
Is there a feature similar to this already that I’ve overlooked? If not, I suppose this is more of a plugin request.