Writing an effective feature request, a step by step guide

Summary

This documentation topic covers writing a feature request in Discourse: A Step-by-Step Guide.

Step 1: Before You Start

So, you have great idea for a Discourse feature? That’s fantastic! Here’s how you can share it with the team and community effectively. Before submitting a feature request, please take a moment to search existing discussions to see if your idea has already been suggested or implemented. You can do this in a couple of ways

  • Looking in the Feature category
  • By clicking on the :mag: icon on the upper right corner of the page to pull up the search. You can use advanced filters to filter by category and tag.
  • Look through topics with the tags pr-welcome - A PR is a pull request on GitHub - a way for developers to introduce new code to a project.
  • Look though topics with the completed tag
  • Look in the Plugin category

If your feature suggestion is already listed, you can support it by voting for it to make their requests more prominent, liking it, and replying with additional ideas or use cases, to further communicate its usefulness as to why the feature should be added.

Can’t find any mention of your idea? You may create a feature request.


Step 2: The basics

Title
It is important that topic titles are informative, but at the same time not too long. The scope of the request should be easily identifiable at a glance.

Category
When creating a new topic, please select the Feature category.

Tag
Tags are used to group and classify features therefore, in order to keep requests organised, tagging your topic appropriately is very helpful for tracking purposes. For example, everything related to the chat plugin is kept together under one tag.


Step 3: Writing your request

Writing a good feature request is important, it helps the Discourse team quickly identify areas that could need improvement.

Remember, when creating a feature request, you are trying to pitch your idea and convince people that your idea for a feature is well-founded. Explain why you want your feature to be added to: the community, yourself and the Team.

In the body of your topic, concisely state the feature you are requesting. Be specific and descriptive, avoid being vague or open-ended.

Provide context and explanation

Provide context and explanation for your feature request.

  • A clear description of the feature you are requesting
  • Include the problem or use cases of your current struggle and how your feature would solve it
  • Any relevant background information or research you’ve done

Provide Examples and Screenshots (Optional)

If applicable, provide examples, mock-ups or screenshots to help illustrate your feature request so that others can easily visualise your idea.

Engage with the Community

Once you’ve created your feature request, engage with members by replying to questions and feedback. This will help the chances of your request being considered.

What to Expect Next

After submitting your feature request, it will be reviewed by the community and the Discourse Team. You can expect:

  • Feedback and discussion from the community
  • A response from Discourse staff indicating whether your request is feasible and under consideration
  • Potential implementation of your feature request in a future update

Want to ensure your feature gets made?

In some cases, feature requests may not be suitable for core. You can read how feature decisions are made. If you’re unable to develop the feature yourself, there are still ways to increase the chances of it being made.

Become a discourse.org customer

If you would like to fund development by hosting sites with us – we always prioritize customer requests in our development timeline – that is one way to get it in faster. Enterprise customers can request custom features (usually in the form of a plugin) by the core team at an hourly rate.

Sponsor a “pr-welcome” task

We have a comprehensive list of pr-welcome topics. These are tasks we’d love to see completed, but currently don’t have the bandwidth to work on ourselves. Sponsoring someone to work on these tasks is a great way to get involved and any contribution to Discourse is greatly appreciated.

Offer paid work on the Marketplace

If there’s a plugin you need that’s critical to your business, advertise a paid assignment on the Marketplace. Provide as many details as possible, including screenshots and budget. You might also find freelancers offering standardized microservices like “one-time install” or “personalized theme.”


Overall

General do’s and don’ts

Do

  • Keep your request concise and focused on a single feature
  • Avoid making assumptions about implementation or technical details
  • Show willingness to compromise and adapt your idea based on community feedback

Don’ts

  • Include more than one feature per topic
  • Leave others questioning the scope of your request

FAQs

Q: What if I don’t have time to create a detailed feature request?
A: If in the moment you aren’t able to create a detailed request, think over what you want to say and try again later. This ensures you put forward your best case resulting in a higher chance that others will support your request and it will will get added.

Q: Where should I post my feature request?
A: Use the appropriate category - feature requests should go in the Feature category.

Q: What if I am unsure what tag to use for my request?
A: Although tags match plugin and theme component names for ease of use, a member of the Team or a Regular will append an appropriate tag to your topic if t is left blank.

Do be respectful and open minded in your request. Avoid using the feature request to express frustration. Any inappropriate language or behaviour can result in your request being delayed or ignored.

Additional Resources

10 Likes

Does this mean I can expect staff responses on my outstanding feature requests? :innocent: :sweat_smile: :smiley:

2 Likes

I wrote that because when I had a quick gander in features most topics have a reply from a member of the team. I do like your feature requests :smile:

1 Like

I think this is one of the most important things, and is often not given enough emphasis:

It’s really helpful to have as much understanding of this as possible, in as concrete terms as possible.

When others chime in on others’ feature requests, this is also the part I am usually looking for, as different people often have slightly different problems.

Additionally, knowing how people currently solve that problem is also very helpful (e.g. what your current workaround or alternative solution to the problem is).

5 Likes