Create/See and Create Permissions (again)

The only way you could do this at the moment would be to add those people to a group which doesn’t have replies restricted. Inviting additional people on a per-topic basis would require some extensions to the plugin.


@david thanks for the clarification.

Can you say, what is the level of difficulty of extending this plugin so ad hoc users could be added per thread? It sounds kind of complicated, but I’m not really in a position to judge.

And is there any chance that someone would work on this? Thanks!

Extreme difficulty. Very unlikely to happen. Discourse does not offer per-topic permissions and will never offer it. If you need that, build a group PM.


Thanks for the reply. Sorry for my ignorance, can someone explain what build a group PM would mean? Are you talking about building a different kind of plugin, or are you saying go and use a different software than Discourse?

If you need per topic permissions, write a personal message and include the recipients.

You might describe your use case for some other ideas. If you really want per topic permissions and using direct/personal messages doesn’t suit you, then discourse probably isn’t for you.


Oh! Sounds like I’m a little bit wrong.


If you want to follow the same pattern as the plugin, and simply modify the reply permissions, then it’s relatively simple. Maybe 1-2 days work for someone familiar with Discourse programming. I can see how this would be useful for a Q&A style site.

As Jeff said, trying to modify view permissions per-topic is very difficult, and is unlikely to ever happen. That’s because it would require extensive changes across the whole application including topic lists, suggested topics, notifications, etc. If you need to modify view permissions on a per-topic basis, then use PMs.


Another option rather than adding individuals is to select a Group and send a personal message to only that Group of users. Just be careful that you don’t accidentally spam a whole group:

  • Go to the hamburger menu - the default position is at top right of screen.

  • Select Groups to display all groups.

  • Select the Group you want to send a group PM to.

  • If you have the correct permissions (e.g. PM’s enabled for the forum) then a Message button will be visible

  • Select the Message button to draft a group PM


Hi guys, thanks for the info. For context, I have a healthy discourse site running now for probably 6 months which is a companion site to my marketplace website. Looks like we are roughly half as active as this meta site so far. Very happy with discourse, working fine, no intention of changing.

However, we’d like to add a special Category where we do public arbitration of disputes. E.g., buyer unhappy with how things went down, as OP they bring a complaint, and then trusted TLX users can reply to gather more info and moderate.

The detail I forgot to mention above is the one thing still missing after this plugin – that we’d also need to easily grant the counter party Reply permission for that topic they are involved in.

  • Create: Everyone
  • Reply: OP, Group X, Counter Party (added by a moderator?)
  • See: Everyone

The value of having these discussions publicly is that the mature community can draw out the reality of what happened in these complex situations and who’s at fault. The history of these threads is high beneficial for building positive and negative reputations. We actually have a ratings system on our site, but it does not get into the details like these 2±way conversations can.

As you can imagine, this kind of “Category” is very messy. However, if we had this setup, I believe we could provide this need for our community better than any previous attempt. They have been many, and the most recent decent one just got deleted off Facebook, years of history wiped out. But that none of these other formats have ever been ideal because of the mess of ignorant 3rd party opinions that they allow.

I would be willing to fund a few days development to create the plugin.


High likelihood that I will be sponsoring the extension of this plugin to support the functionality I just mentioned. In case anyone has suggestions, here’s the proposed approach:

In order to allow additional users to given “ad hoc” Reply permissions on the Topic, the plugin will scan the OP for all mentioned users. This way they can be mentioned at the outset, or moderators could go and edit them into that post.

We feel this is a good approach in terms of a natural workflow, and also sounds easier in terms of implementation (e.g., no UI).


How about you just use the “must approve” settings for the category? It would slow things down since a moderator would need to approve each post but that is probably good in a contentious topic.


I’d like to offer late-breaking support for the “Create” permission as specified in the original post.

We use Discourse as a course forum, as a (far) superior replacement to Piazza. There are two use cases that we’ve come up with that support needing a way to allow users (students) to create but not see posts in certain categories:

  • Asking for help when they need to actually post code as part of their question. In this case we don’t want students to see partial solutions posted by other students.
  • Maintaining a semester-long worklog documenting their progress on a longer programming project. Again, we’d like these to include code, but for students to not be able to snoop on each others worklogs.

In both these cases providing category-like functionality and access to course staff is pretty critical.

Note that we’ve tried using the messaging system for the first use case above for three semesters now (since Fall 2018). Honestly, it doesn’t work very well at all. My class has hundreds of students (800 fall, 600 spring) and hundreds of course staff. At least for me, the message spam caused by hundreds of messages to our help message group asking for homework assistance drowns out more important direct messages from my staff and students and makes the entire PM feature much less useful.

As a result I’m going to suggest that we support the second use case above using Google Docs this semester—sadly, since Discourse would otherwise be a much better fit. But I just can’t stomach the additional message traffic and chaos it would cause.

I don’t know how close the plugin described above would get us to this functionality, but we may be able to help with development if it could make it there. Note that in our case it is critical to control topic visibility, not just the ability to reply.

Group messaging though solves the spam issue. You can opt for “soft” notifications by just tracking the group, or even no notifications by muting or or setting the group to normal.

When you say you use the messaging system are you using a group message (you would set up a group call say computing101-staff and have them message that, then members of that group can opt for loudness levels)


I was just editing my post to point out that we haven’t really tried this, or not tried it very hard. Is there a way to have an equivalent of the more normal approach to topics, where I can not be notified for everything in a category but can be notified for replies to messages that I’ve engaged in?

Past that point I guess I’m left complaining that these interactions get segregated into a different part of the forum, whereas I’d rather have them in a category with other topics. But I guess that’s a more minor complaint—and maybe entirely addressable through UI? Can I get a message group to show up in the category list somehow?

Absolutely, all the controls you are used to are still there.


How about this then? :slight_smile:

(And in the latest post view.)

1 Like

That is not possible, it is a very different bucket. That said, please don’t completely discount this till you try it, give it a shot and report back after trying it for a few months.

Keep in mind that we have tried the messaging approach for over a year now. I do think that adjusting the loudness will help, but I worry that it will mean that messages end up being ignored more often. But I will provide a reminder to my staff about the ability to adjust loudness settings for message groups. Thanks for the reminder about that.

At the end of the day, in our case there really isn’t a good reason to separate (on a UI level) a topic that a student opens asking for help that doesn’t contain code from one that does. (Actually, it would be great to be able to adjust external visibilty on a per-topic level so that we can easily reclassify something that does contain code but continue to respond to it.) And our experience has been that forcing these through the messaging system makes it less useful for, well, messaging :slight_smile:. Anyway, I understand that we’re more of a niche use case here, but we have started to try and convince more people to use Discourse as courseware, and I think that supporting this kind of capability more seamlessly would help make that argument.

My concern here is that if we are starting to mix oil with water here, why even have “messages” at all in a separate section in the UX? Just have all messages and topics in one giant list on the home page for everyone?

I can create but only see a subset of a category is fundamentally a private message to specific people.


I don’t disagree. But once the “specific people” grows to a group of several hundred, you kind of want some of the nice features that Discourse provides for browsing public topics. So maybe the differentiating feature here is the size of the receiving group?

1 Like

Hi again, Geoff! Hope all is well.

I’m in the same boat of wanting to be able to see PMs in the Latest/Top/New pages (for precisely the same use case), but separately from that, if I’m understanding you correctly, this part (toggling the public/private nature of an existing topic) seems to exist already.

From the topic-level admin actions wrench icon in the top-right, you can click “Make Personal Message” (or “Make Public Topic” if it’s already a PM). Switching an existing topic to a PM seems to retain access for everyone who posted to the topic, and then you can add the staff group as well. It does move the thread out of the topic list and into the messages section, though.