Advice for using Discourse as a Support Forum

Hi Gina,

Last month I set up Discourse forums for doing support for my control boards company and for my friend with his laser cutter software company (I have loved Discourse for a long time). However, you have been using it as a support forum longer than I have and I wanted to see if you could share any tips or experiences you may have.

So far:

  1. We already have an FAQ section (I actually go as far as to write my Documentation in the forum now also, I find it much more pleasant to write it into the Discourse editor, and since it's markdown I can copy and paste it into a Github Repo with Mkdocs at a later point. Would be great if there was a way to sync them though...)

  2. I installed the plugin for accepted solutions - I believe you also use this. Now to find a way to get people to use this.

  3. Installed the plugin for canned replies as well.

  4. I saw that you use a custom user field for what Printers people have and have implemented the same thing as well.

Anything else you can suggest?

There are 2 things I am currently trying to figure out:

  • Thread hijackers because they simply don't know better. I think we can move unrelated posts to their own new topic, but that makes for a new topic with no context and if we try to doesn't solve the "clutter" problem. I'd love to be able to press a button and have a bot private message explaining the proper posting etiquette - no public clutter this way.

  • Being able to have a view for staff kind of like "open tickets" that still need a response - so far I can do a search with in:unsolved but also want to add parameters for "where the last response is not from me (or a staff member)".

Sorry about how long this post became, was just wondering if you had any similar thoughts. about this stuff.

There probably is with some looks at the API docs and a bit of elbow grease, but I haven't looked into that either and for now am just using the forum exclusively. What I sorely lack is something like a central table of contents though, since I fear people are a bit scared off with the load of chronological topics. I'm thinking to have some sort of automatically updated topic index pinned to the top.

I threw together a little theme component that sits on top of the post form in the Get Help category and reminds people to post logs, information, and to mark solutions, but it still needs constant reminders and often things never get marked as solved. I think that's something you'll just have to live with (or find a team of mods willing to do the user's solution marking for them).

No good answer to that I fear.

While I haven't used it myself (not my intended workflow on the forums here), I believe there's some kind of "topic assignment plugin". Combined with the Data Explorer (or maybe out of the box) you could filter out topics that aren't yet assigned then. The Data Explorer might also be the answer without the added assign plugin.

If something's lacking, I've found that even without starting to write backend plugins the theme component interface is a fairly powerful customization tool since you can do a LOT of stuff in the frontend only.

1 Like

I feel Gina has done a decent job with this by letting a few of us help moderate. Being able to combine threads, edit subject lines, delete spam, edit posts is probably the thing that keeps this sane. That way you don't have the reddit problem of indecipherable topics, linkspam, and FAQs that recur every few days.

3 Likes

Thank you for the feedback, 1+ year later I can say that many of these suggestions were quite accurate.

@foosel Gina, could you share this theme component with me? I would like to implement the same thing on our forums.

We currently have a topic template for the support categories but it does not get the point across enough.

Thanks, and hope you are staying well.

-Ray

Common CSS:

.supportinforeminder {
    display: none;
}

.supportinforeminder-cat-7,
.supportinforeminder-cat- {
    display: block;
}

Desktop </head>:

<script type='text/x-handlebars' data-template-name='/connectors/composer-open/supportinforeminder-composer-open'>
    <div style="background: #d1f0ff; color: #222; overflow: auto; margin-bottom: 5px; padding-left: 1em; padding-right: 1em" class="supportinforeminder supportinforeminder-cat-{{model.categoryId}}">
        <p>
            <strong>Need help? <a href="https://community.octoprint.org/t/about-the-get-help-category/30/1" target="_blank">Read this first</a>!</strong>
            Remember to provide 
            <a href="https://community.octoprint.org/t/how-can-i-find-out-the-version-of-octoprint-or-octopi-i-am-running/204/1">version numbers</a>, 
            <a href="https://community.octoprint.org/t/where-can-i-find-octoprints-and-octopis-log-files/299/1">relevant log files</a> 
            and general information about your setup. 

            <strong>Problem solved? <a href="https://community.octoprint.org/uploads/default/original/1X/9c39735a0cb5dcc1f7a64b63125c0288422c66f0.jpg" target="_blank"><svg class="far d-icon d-icon-check-square svg-icon svg-node" aria-hidden="true"><use xlink:href="#far-check-square"></use></svg> Mark the solution!</a></strong> 
            
            <strong>WE NEED LOGS TO HELP YOU!</strong>
        </p>
    </div>
</script>

Mobile </head>:

<script type='text/x-handlebars' data-template-name='/connectors/composer-open/supportinforeminder-composer-open'>
    <div style="background: #d1f0ff; color: #222; overflow: auto; margin-bottom: 5px; padding-left: 1em; padding-right: 1em" class="supportinforeminder supportinforeminder-cat-{{model.categoryId}}">
        <p>
            <strong>Need help?</strong> <a href="https://community.octoprint.org/t/about-the-get-help-category/30/1" target="_blank">Read this first</a>! <strong>PROVIDE LOGS!</strong>
        </p>
    </div>
</script>

Note that we only show it if we don't have a category (new post IIRC) and in category ID 7, which corresponds with our Get Help category. That's controlled through CSS.

1 Like

Many thanks Gina, new shiny achieved :slight_smile:

For the moment I am not using CSS to limit which categories it is shown in, but I know I can use /site.json and a JSON viewer to find out the ID number for each category as explained here:

And, of course, we are immediately putting it to good use :slight_smile: