# Improving Discourse Policy for large groups

**URL:** https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593
**Category:** Feature
**Tags:** policy, completed
**Created:** [October 9, 2021, 2:54am UTC](https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593 "2021-10-09T02:54:03Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![Mark\_Schmucker](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mark_schmucker/32/124810_2.png) [@Mark\_Schmucker](https://meta.discourse.org/u/Mark_Schmucker)
#### Post date: [October 9, 2021, 2:54am UTC](https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593/1 "2021-10-09T02:54:04Z")

</div>

Continuing the conversation from [Discourse Policy](https://meta.discourse.org/t/discourse-policy/88557)…

> [@Discourse Policy](https://meta.discourse.org/t/discourse-policy/88557/62):
>
> Why is there a 200 users limit per group? Any tips how to do this for thousands of users?

> [@Discourse Policy](https://meta.discourse.org/t/discourse-policy/88557/63):
>
> It looks like you can lift that limit via the plugin settings
> 
> > [@Discourse Policy](https://meta.discourse.org/t/discourse-policy/88557/1):
> >
> > `policy_max_group_size` : only allow policies on groups smaller or equal to this size (default 200)

The reason is the UI isn’t designed to display that many acceptor avatars. We have 1500 users who have accepted this policy and many avatars don’t show up.

 ![image](https://global.discourse-cdn.com/meta/original/3X/7/4/74273fe6f9dad54be37a8ab27a5891bfda3c41b7.png)

> [@Discourse Policy](https://meta.discourse.org/t/discourse-policy/88557/66):
>
> I am excited for the policy plugin because it’s when groups are really large that I need a way to track who’s accepted in an efficient way. This UI element limit runs counter to the need this plug-in could fill.
> 
> What could work better?
> 
> Brainstorm
> 
> - Have a goal tracker with % of people accepted prominently featured

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [October 11, 2021, 3:53am UTC](https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593/2 "2021-10-11T03:53:22Z")

</div>

> [@Mark\_Schmucker](#):
>
> The reason is the UI isn’t designed to display that many acceptor avatars. We have 1500 users who have accepted this policy and many avatars don’t show up.

What would be happening there is a flood of rate limiting from NGINX most likely.

If we were to support very large groups like this we would have to have some sort of pagination.

---

<div class="post-metadata">

### Author: ![Johani](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/johani/32/176920_2.png) [@Johani](https://meta.discourse.org/u/Johani)
#### Post date: [October 11, 2021, 4:38am UTC](https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593/3 "2021-10-11T04:38:33Z")

</div>

After a certain number of users is exceeded, avatars kind of become useless, nobody wants to look at 1500+ avatars.

My question here would be… what are you trying to achieve?

Are you just wanting to confirm that a particular user has accepted the policy?

If so, maybe just show the first 50 or so avatars + add a button that renders a modal where you can search for a certain user’s status.

Are you trying to get a gauge on the percentage of users that have accepted the policy? If so, the plugin could potentially display a progress bar based on how many members in the group have accepted the policy.

---

<div class="post-metadata">

### Author: ![Kim\_Hanchet](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kim_hanchet/32/237875_2.png) [@Kim\_Hanchet](https://meta.discourse.org/u/Kim_Hanchet)
#### Post date: [October 11, 2021, 8:44am UTC](https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593/4 "2021-10-11T08:44:53Z")

</div>

I would like to use the function for 160,000 from a UI perspective I need to see percentages completed broken down by various geographies or groups and some drill-down functionality to show smaller groups. In my needs, smaller groups would generally be around 5000.

We would ultimately use the data to push action on completing the acceptance.

---

<div class="post-metadata">

### Author: ![debryc](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/debryc/32/101652_2.png) [@debryc](https://meta.discourse.org/u/debryc)
#### Post date: [October 11, 2021, 6:29pm UTC](https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593/5 "2021-10-11T18:29:14Z")

</div>

I’d want to

- Motivate members to accept the policy (hence progress tracker)
- Message those who haven’t accepted reminders
- Look up a particular member’s status
- Manually accept for someone if necessary
- Automatically remove people who do not accept

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [October 12, 2021, 12:22am UTC](https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593/7 "2021-10-12T00:22:14Z")

</div>

I think the first thing we can do is just correct it so the UI does not collapse beyond a few hundred people, even just showing total counts and last 200 who accepted would be a significant improvement.

Then digging in can be done with [data explorer](https://meta.discourse.org/t/32566?silent=true) if you need to partition the data.

As a customer feel free to send a message to `team@discourse.org` to carefully specify your use case so we can look at how we would solve this problem for you.

---

<div class="post-metadata">

### Author: ![Mark\_Schmucker](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mark_schmucker/32/124810_2.png) [@Mark\_Schmucker](https://meta.discourse.org/u/Mark_Schmucker)
#### Post date: [October 12, 2021, 3:37am UTC](https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593/9 "2021-10-12T03:37:02Z")

</div>

> [@Johani](#):
>
> what are you trying to achieve?

I just want to use the plugin to [grant membership](https://meta.discourse.org/t/group-membership-base-on-accepting-a-discourse-policy/205594), not necessarily show 1500 avatars. But there is no option \*not to show the avatars. Just showing the number accepted and not accepted, or a progress bar, would be fine for me.

---

<div class="post-metadata">

### Author: ![Kim\_Hanchet](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kim_hanchet/32/237875_2.png) [@Kim\_Hanchet](https://meta.discourse.org/u/Kim_Hanchet)
#### Post date: [October 12, 2021, 6:49am UTC](https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593/10 "2021-10-12T06:49:22Z")

</div>

> [@sam](#):
>
> Then digging in can be done with [data explorer](https://meta.discourse.org/t/32566?silent=true) if you need to partition the data.

Is the data already in [data explorer](https://meta.discourse.org/t/32566?silent=true)? Is it just the UI a that sets the 200 limit described on the plug-in page?

---

<div class="post-metadata">

### Author: ![tshenry](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tshenry/32/119495_2.png) [@tshenry](https://meta.discourse.org/u/tshenry)
#### Post date: [October 13, 2021, 2:02am UTC](https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593/11 "2021-10-13T02:02:55Z")

</div>

> [@Kim\_Hanchet](#):
>
> Is the data already in [data explorer](https://meta.discourse.org/t/32566?silent=true)?

It should be under the `post_policies` and `policy_users` tables:

 ![Screen Shot 2021-10-12 at 6.52.33 PM](https://global.discourse-cdn.com/meta/original/3X/0/1/01220b91116d1de57386048ed74ae8ac8ccd3cbb.png)

 ![Screen Shot 2021-10-12 at 6.52.06 PM](https://global.discourse-cdn.com/meta/original/3X/2/d/2d599993c5b174a6015b7fc98b39cf3dbd95e770.png)

> [@Kim\_Hanchet](#):
>
> Is it just the UI a that sets the 200 limit described on the plug-in page?

The issue is indeed that we can’t currently display much more than 200 users at a time in the UI without negative side-effects.

Would you be okay with the proposed solution of a progress bar + the last 200 users who accepted? Then on top of that a [data explorer](https://meta.discourse.org/t/32566?silent=true) query that can help to track down users who have not accepted the policy?

---

<div class="post-metadata">

### Author: ![Kim\_Hanchet](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/kim_hanchet/32/237875_2.png) [@Kim\_Hanchet](https://meta.discourse.org/u/Kim_Hanchet)
#### Post date: [October 13, 2021, 5:47am UTC](https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593/12 "2021-10-13T05:47:33Z")

</div>

Absolutely that’s would wok well, as long as the data can be used the ui doesn’t need to show it.

---

<div class="post-metadata">

### Author: ![Mark\_Schmucker](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mark_schmucker/32/124810_2.png) [@Mark\_Schmucker](https://meta.discourse.org/u/Mark_Schmucker)
#### Post date: [October 13, 2021, 10:11am UTC](https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593/13 "2021-10-13T10:11:25Z")

</div>

> [@tshenry](#):
>
> Would you be okay with the proposed solution of a progress bar + the last 200 users who accepted?

Works for me, if it’s clear that those are just the last 200 who accepted, but there are 1516 total who have accepted.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [January 17, 2022, 10:10pm UTC](https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593/15 "2022-01-17T22:10:00Z")

</div>

This was implemented, so closing.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [January 17, 2022, 10:10pm UTC](https://meta.discourse.org/t/improving-discourse-policy-for-large-groups/205593/16 "2022-01-17T22:10:03Z")

</div>


