# Is the discourse-tagging plugin fit for my use case?

**URL:** <https://meta.discourse.org/t/is-the-discourse-tagging-plugin-fit-for-my-use-case/37942>\
**Category:** Support\
**Created:** [14 januari 2016 om 14:08 UTC](https://meta.discourse.org/t/is-the-discourse-tagging-plugin-fit-for-my-use-case/37942 "2016-01-14T14:08:18Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![wil93](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/wil93/32/121264_2.png) [@wil93](https://meta.discourse.org/u/wil93)\
**Post date:** [14 januari 2016 om 14:08 UTC](https://meta.discourse.org/t/is-the-discourse-tagging-plugin-fit-for-my-use-case/37942/1 "2016-01-14T14:08:18Z")

</div>

My use case is this:

- In the main site there are a number of programming **tasks** which can be solved by users.
- A user can decide to open a topic (the possible categories are: “Help”, “Clarifications”, “Languages”, …), and the topic will either refer to a task or not.

So I was thinking about creating a discourse tag _for each_ task, and then linking to `http://forum.example.com/tags/<name>` from the task page in the main site.

Is the discourse-tagging the right tool for the job? My concerns are:

- No topic would ever have more than 1 tag.
- If a real need for tags ever arises in the forum, I will already have “wasted” the plugin on this. To this, I see two potential solutions:
  - (easy) Just prefix each “task tag”, like this: `t:mytask` or `task:mytask`, for a task named `mytask`.
  - (harder?) Keep a completely separate discourse-tagging plugin (e.g. which uses `/tasks` instead of `/tags`), maybe even using different colors (e.g. standard black for normal tags, blue for “task tags”).

- The number of tasks in the main site is currently 200+ but it’s bound to increase over time.

What do you think?

---

<div class="post-metadata">

**Author:** ![erlend\_sh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/erlend_sh/32/119475_2.png) [@erlend\_sh](https://meta.discourse.org/u/erlend_sh)\
**Post date:** [14 januari 2016 om 20:05 UTC](https://meta.discourse.org/t/is-the-discourse-tagging-plugin-fit-for-my-use-case/37942/2 "2016-01-14T20:05:55Z")

</div>

Is there any particular reason why you can’t just use sub-categories for this? e.g.

- **Programming Tasks**
- Help
- Clarifications
- Languages
- …

---

<div class="post-metadata">

**Author:** ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)\
**Post date:** [14 januari 2016 om 20:34 UTC](https://meta.discourse.org/t/is-the-discourse-tagging-plugin-fit-for-my-use-case/37942/3 "2016-01-14T20:34:22Z")

</div>

I would go with tags.

If in the far future you need _real tags_ some CSS customization will be enough. Tags plugin create a css class for each tag, it’s great!

---

<div class="post-metadata">

**Author:** ![wil93](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/wil93/32/121264_2.png) [@wil93](https://meta.discourse.org/u/wil93)\
**Post date:** [14 januari 2016 om 21:06 UTC](https://meta.discourse.org/t/is-the-discourse-tagging-plugin-fit-for-my-use-case/37942/4 "2016-01-14T21:06:53Z")

</div>

I would like to add a link from the task page (in the main site) to the list of topics that relate to the task. For example, let’s say that there’s a task named “rugby”. When a user visits `example.com/task/rugby` they will see the task statement and a link that points to `forum.example.com/tags/rugby` so that, when they click on it, only these topics will be listed:

- (category: Help) _What is wrong with this solution?_
- (category: Clarifications) _Could there be a mistake in the statement?_

No other topics should be listed, apart from the topics that _relate_ to that specific task.

---

<div class="post-metadata">

**Author:** ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)\
**Post date:** [14 januari 2016 om 21:12 UTC](https://meta.discourse.org/t/is-the-discourse-tagging-plugin-fit-for-my-use-case/37942/5 "2016-01-14T21:12:33Z")

</div>

I think it will work well this way!

---

<div class="post-metadata">

**Author:** ![wil93](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/wil93/32/121264_2.png) [@wil93](https://meta.discourse.org/u/wil93)\
**Post date:** [14 januari 2016 om 21:53 UTC](https://meta.discourse.org/t/is-the-discourse-tagging-plugin-fit-for-my-use-case/37942/6 "2016-01-14T21:53:24Z")

</div>

Yeah I think too 😄

I just wasn’t sure if it was too much of an “abuse” of the tag system 🙂

However, it’s great to know about the tags’ CSS classes. It’s just a bit annoying if you have two separate tag sets (e.g. 200+ task tags and 10+ normal tags) because you have to manually add every tag from a set (the normal tags in this case because they’ll likely be fewer) to a CSS stylesheet. It would be great to have something like a “tag type”, so that instead of:

```plaintext
<a href="/tags/rugby" class="tag-rugby discourse-tag simple">rugby</a>
<a href="/tags/normaltag" class="tag-normaltag discourse-tag simple">normaltag</a>

```

I could have:

```plaintext
<a href="/tags/rugby" class="tag-rugby discourse-tag tagtype-1 simple">rugby</a>
<a href="/tags/normaltag" class="tag-normaltag discourse-tag tagtype-2 simple">normaltag</a>

```

Thus keeping a cleaner CSS stylesheet (and more maintainable, for when you add a new tag).

---

<div class="post-metadata">

**Author:** ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)\
**Post date:** [14 januari 2016 om 22:11 UTC](https://meta.discourse.org/t/is-the-discourse-tagging-plugin-fit-for-my-use-case/37942/7 "2016-01-14T22:11:10Z")

</div>

Use a preprocessor to generate the CSS, then add the result to the discourse. This way managing the CSS will be a breeze 👍
