# Private Topics Plugin

**URL:** https://meta.discourse.org/t/private-topics-plugin/268646
**Category:** Plugin
**Created:** [June 16, 2023, 4:17pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646 "2023-06-16T16:17:53Z")
**Posts on this page:** 20
**Page:** 3

<div class="post-metadata">

### Author: ![sjjh](https://avatars.discourse-cdn.com/v4/letter/s/d2c977/32.png) [@sjjh](https://meta.discourse.org/u/sjjh)
#### Post date: [January 18, 2024, 2:31pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/42 "2024-01-18T14:31:57Z")

</div>

> [@RGJ](#):
>
> Problem is that the most common way of disabling a plugin is by simply removing it and then rebuilding. So from within Discourse, the plugin just “disappears” at once.

I see. Would a warning-message to stdout/stderr improve the situation in this case? (Might not be enough on it’s own, but better than nothing.)

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [January 18, 2024, 2:50pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/43 "2024-01-18T14:50:22Z")

</div>

> [@sjjh](#):
>
> Would a warning-message to stdout/stderr improve the situation in this case?

Same problem: at the moment the plugin is gone, there is nothing that would be able to output that message.

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [January 18, 2024, 4:45pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/44 "2024-01-18T16:45:11Z")

</div>

Sounds actually quite good. I think.

---

<div class="post-metadata">

### Author: ![thoka](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thoka/32/115652_2.png) [@thoka](https://meta.discourse.org/u/thoka)
#### Post date: [January 18, 2024, 5:50pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/45 "2024-01-18T17:50:06Z")

</div>

If it were possible to implement this plugin in a way that it allows additional groups of people to post and see their own messages, disabling of the plugin would be no risk.

---

<div class="post-metadata">

### Author: ![harryob](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/harryob/32/313016_2.png) [@harryob](https://meta.discourse.org/u/harryob)
#### Post date: [March 8, 2024, 6:37pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/46 "2024-03-08T18:37:44Z")

</div>

I can’t tell where the change in core occurred, but I believe some change pre [57df0d526e](https://github.com/discourse/discourse/commits/57df0d526e2d131d80c878edee27c8b3a0fccfe4) has allowed for users to see topic titles on the home page, which is a change in behavior, as far as I recall.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [March 8, 2024, 7:52pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/47 "2024-03-08T19:52:59Z")

</div>

I have tested this on tests-passed as of earlier today (`4c7d58a`, after your commit) and I am unable to reproduce this.

- create empty forum
- enable private topics plugin
- enable private topics on site-feedback
- create user 1 and have it create a post in site-feedback
- log out and verify that anonymous users do not see the topic
- create user 2 and verify it does not see the topic, not in the category and not on the home page (discovery routes) (including “new new” and “hot”)
- disable private topics and see the topic appear for user 2
- log out and see the topic appear for anonymous users

Do you realize that admins can see everything (per the “Topics are visible for the topic starter and for users in the following groups:” category setting and the `private topics admin sees all` plugin setting) and everyone can see admin posts (per the `private topics permitted groups` plugin setting) ?

---

<div class="post-metadata">

### Author: ![harryob](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/harryob/32/313016_2.png) [@harryob](https://meta.discourse.org/u/harryob)
#### Post date: [March 8, 2024, 7:57pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/48 "2024-03-08T19:57:13Z")

</div>

Hi Richard, yep! I’m testing this in an incognito tab. I’ve got quite a lot of other plugins enabled - so it might be something else interfering, so I’ll get back to you after disabling some - sorry it’s not as clear cut as I initially thought.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [March 8, 2024, 8:01pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/49 "2024-03-08T20:01:21Z")

</div>

> [@harryob](#):
>
> I’ve got quite a lot of other plugins enabled - so it might be something else interfering,

I’ve been testing this on my 93-plugin test site so this makes me curious 😉

> [@harryob](#):
>
> incognito tab

That said, I did also test this with no user logged in, BUT it should be good to know that anonymous pages are being cached on various levels, so if you enable the private topics plugin, you might still be seeing existing topics for a few minutes.

---

<div class="post-metadata">

### Author: ![harryob](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/harryob/32/313016_2.png) [@harryob](https://meta.discourse.org/u/harryob)
#### Post date: [March 8, 2024, 8:33pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/50 "2024-03-08T20:33:58Z")

</div>

Unfortunately, I wasn’t all that successful narrowing down any conflicts caused by plugins. I’m sure my measly 15 plugins are likely all covered by your test site’s 91, however! 😛

 ![CleanShot 2024-03-08 at 19.59.17@2x](https://global.discourse-cdn.com/meta/original/4X/9/f/2/9f24b5f748924c80164266d3ff8b3c9bfe1fede9.png)

 ![CleanShot 2024-03-08 at 19.59.51@2x](https://global.discourse-cdn.com/meta/original/4X/0/d/f/0df66ca1e47195e8693eb365031e54047405dcf3.png)

These were both taken in incognito mode, and I can reproduce it with a user without sufficient privileges to view the contents of the private topic categories, too. I’ve checked my category settings for Private Topics, and the global site settings, and those don’t seem to be in error, either.

If there’s any additional debug you can think of, or steps to check, I’d greatly appreciate it - but thank you for your support on this regardless - this plugin really has been great for our needs! 🙂

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [March 8, 2024, 8:57pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/51 "2024-03-08T20:57:47Z")

</div>

Ah, that category setting is what causes it. I can repro. To be continued.  
Thank you for reporting!

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [March 9, 2024, 12:05am UTC](https://meta.discourse.org/t/private-topics-plugin/268646/52 "2024-03-09T00:05:10Z")

</div>

I have pushed a [fix](https://github.com/communiteq/discourse-private-topics/commit/b8aa3f4880fbf83ade78cf755649d5aa25d0e864) for the above issue.

---

<div class="post-metadata">

### Author: ![thoka](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thoka/32/115652_2.png) [@thoka](https://meta.discourse.org/u/thoka)
#### Post date: [June 9, 2024, 10:34pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/53 "2024-06-09T22:34:48Z")

</div>

If this plugin is used together with your [Discourse Private Replies](https://meta.discourse.org/t/discourse-private-replies/146712) Plugin, one gets infinite recursion in digests, since both plugins use `alias_method :original_for_digest, :for_digest`.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [June 10, 2024, 7:50am UTC](https://meta.discourse.org/t/private-topics-plugin/268646/54 "2024-06-10T07:50:26Z")

</div>

Thank you for reporting this, I have resolved the conflict.

---

<div class="post-metadata">

### Author: ![thaidb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thaidb/32/68488_2.png) [@thaidb](https://meta.discourse.org/u/thaidb)
#### Post date: [July 26, 2024, 4:11pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/55 "2024-07-26T16:11:35Z")

</div>

Can users send access requests to the topic creator?

Similar to sharing files/folders in Google Drive, the Topic Creator who receives the topic access request notification will Accept or deny to view the topic content, notified via Email/Discourse notification.

This means that the Topic Title is now public but users must click on the Request access button.

Thank you!

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [July 26, 2024, 9:24pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/56 "2024-07-26T21:24:15Z")

</div>

This could be done by having users request access to a group, and have the group be able to access the topics.

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [July 27, 2024, 4:53am UTC](https://meta.discourse.org/t/private-topics-plugin/268646/57 "2024-07-27T04:53:07Z")

</div>

Richard has another plugin that is similar but different that might also work…

> [@Discourse Private Replies](https://meta.discourse.org/t/discourse-private-replies/146712):
>
> Github: [GitHub - communiteq/discourse-private-replies](https://github.com/communiteq/discourse-private-replies) This plugin hides topic replies for everyone but the topic starter and the post author. Use cases This can be used for for instance homework assignments where the teacher opens a topic and posts an assignment, and all students make a post with their answers. When everyone has submitted their work, the teacher can open up the answers so the students will be able to discuss them. A second use case can be an auction where something is offered…

---

<div class="post-metadata">

### Author: ![oga](https://avatars.discourse-cdn.com/v4/letter/o/f19dbf/32.png) [@oga](https://meta.discourse.org/u/oga)
#### Post date: [October 5, 2024, 1:20pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/59 "2024-10-05T13:20:37Z")

</div>

We are looking for a way to offer Support (PRIVATELY). So a teacher can assign Homework to a Student. The student can submit his/her answers.  
Only the student and Teacher can view the assignment.  
A Teacher can also assign a homework to a Class, only members of that CLASS can view the question and answers.  
I saw this Plugin

> [@Private Topics Plugin](https://meta.discourse.org/t/private-topics-plugin/268646):
>
> information_sourceSummary Private Topics Enables private topics in a regular categoryhammer_and_wrenchRepository Link [GitHub - communiteq/discourse-private-topics · GitHub](https://github.com/communiteq/discourse-private-topics)open_bookInstall Guide [How to install plugins in Discourse](https://meta.discourse.org/t/install-plugins-in-discourse/19157)Features This plugin allows you to add an extra security setting to categories so that users can only access their own topics. You can also designate one or more groups that can see all topics in the category. This is typically used for…

Wondering if it is suiatable for such task.  
Thanks

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [October 5, 2024, 4:29pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/60 "2024-10-05T16:29:55Z")

</div>

> [@oga](#):
>
> Wondering if it is suiatable for such task.

Absolutely.

> [@oga](#):
>
> A Teacher can also assign a homework to a Class, only members of that CLASS can view the question and answers.

For a class you could consider a category, where the access to that category is limited by a group, which contains the students in that class.

---

<div class="post-metadata">

### Author: ![oga](https://avatars.discourse-cdn.com/v4/letter/o/f19dbf/32.png) [@oga](https://meta.discourse.org/u/oga)
#### Post date: [October 5, 2024, 8:32pm UTC](https://meta.discourse.org/t/private-topics-plugin/268646/61 "2024-10-05T20:32:40Z")

</div>

Perfect !! Will install and update.  
Thanks

---

<div class="post-metadata">

### Author: ![ludwikc](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ludwikc/32/438823_2.png) [@ludwikc](https://meta.discourse.org/u/ludwikc)
#### Post date: [October 9, 2024, 7:41am UTC](https://meta.discourse.org/t/private-topics-plugin/268646/62 "2024-10-09T07:41:25Z")

</div>

@RGJ is this plugin available for your customers hosting on Communiteq?

[Previous page](https://meta.discourse.org/t/private-topics-plugin/268646.md?page=2)

[Next page](https://meta.discourse.org/t/private-topics-plugin/268646.md?page=4)
