# Custom Topic types?

**URL:** https://meta.discourse.org/t/custom-topic-types/112782
**Category:** Feature
**Created:** [March 28, 2019, 8:40am UTC](https://meta.discourse.org/t/custom-topic-types/112782 "2019-03-28T08:40:20Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![GeertClaes](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/geertclaes/32/120682_2.png) [@GeertClaes](https://meta.discourse.org/u/GeertClaes)
#### Post date: [March 28, 2019, 8:40am UTC](https://meta.discourse.org/t/custom-topic-types/112782/1 "2019-03-28T08:40:20Z")

</div>

So far we have found Discourse to be extremely customisable … so can someone tell me if there is an existing plugin or any other way via settings or so to allow staff to define a set number of “stages” or “maturity levels” to any topic?

The concept behind the “stages” is that as each topic “matures” there’s an off-line process where decisions are made to provide different levels of support allowing contributors to keep working on a “topic”. So we would like to mark certain topics with a maturity level status (in our case we have 6 stages Stage 0, 1, 2, 3, 4 and n). A default status e.g. 0 for new topics would be nice too.

Anyone can see the “stage” of any topic and searching and filtering on specific “stages” should be available to anyone. Ideally only “staff” should be able to change the “stage”.

Ideas?

EDIT:  
Looking at the ratings plugin code it looks like “rating” could be replaced with “staging” and “rate” with “stage” and there is no need to calculate averages or top. I am not sure how this custom field thing works yet. 😁

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [March 28, 2019, 12:04pm UTC](https://meta.discourse.org/t/custom-topic-types/112782/2 "2019-03-28T12:04:06Z")

</div>

Sounds like a job for tags.

> [@It's Time We Talked About Tags](https://meta.discourse.org/t/its-time-we-talked-about-tags/72467):
>
> Originally published at: [It’s Time We Talked About Tags](https://blog.discourse.org/2017/10/its-time-we-talked-about-tags/) Consider the typical sections of a daily newspaper: Arts, Sports, Business, Travel, Local, and World. Any given article belongs to just one of those sections, and the content in each section is quite different, such that some people, for example, may only ever read the Sports or Business sections. These are what we call categories.…

---

<div class="post-metadata">

### Author: ![GeertClaes](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/geertclaes/32/120682_2.png) [@GeertClaes](https://meta.discourse.org/u/GeertClaes)
#### Post date: [March 28, 2019, 12:16pm UTC](https://meta.discourse.org/t/custom-topic-types/112782/3 "2019-03-28T12:16:37Z")

</div>

That (tags) is indeed what we are using now to mark the stage any topic is at … I was just wondering whether someone else had needed/built something like this before.

It looks like the “ratings” or “voting” plugins also added a feature on topic level, so it is possible but I have not explored how one would do it.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [March 28, 2019, 12:46pm UTC](https://meta.discourse.org/t/custom-topic-types/112782/4 "2019-03-28T12:46:14Z")

</div>

What do you need to do that tags don’t support?

Those plugins are open source so you can see how they work. If you’ve got a budget you can post in #Marketplace. (but I still don’t understand what tags aren’t doing)

---

<div class="post-metadata">

### Author: ![GeertClaes](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/geertclaes/32/120682_2.png) [@GeertClaes](https://meta.discourse.org/u/GeertClaes)
#### Post date: [March 28, 2019, 1:08pm UTC](https://meta.discourse.org/t/custom-topic-types/112782/5 "2019-03-28T13:08:19Z")

</div>

Tags do work @pfaffman , but it does mix the purpose/feature of setting a topic to a specific stage with other tags to classify topics. Would also be nice to be able to select from a pre-set list of (only) stages and distinctively style the “stage” aspect of a topic.

Anyhow, we are still in a pilot testing phase and as I said, so far Discourse has been incredibly easy to customise and this is actually the first aspect where we could envision a “nicer” approach.

Out of curiosity even though I realise it’s probably like asking how long a piece of string is, but what would be a ball park cost to have someone write a custom plugin like this?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [March 28, 2019, 1:52pm UTC](https://meta.discourse.org/t/custom-topic-types/112782/6 "2019-03-28T13:52:20Z")

</div>

My wild guess is in the $500 to 2000 ballpark. I’d think that the low end of that range is likely possible.
