# الشارات 6 المجتمعات الخاصة

**URL:** https://meta.discourse.org/t/badges-private-communities/157300
**Category:** Feature
**Tags:** badges
**Created:** [9 يوليو 2020، 9:47م UTC](https://meta.discourse.org/t/badges-private-communities/157300 "2020-07-09T21:47:44Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Mitchelsellers](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mitchelsellers/32/140412_2.png) [@Mitchelsellers](https://meta.discourse.org/u/Mitchelsellers)
#### Post date: [9 يوليو 2020، 9:47م UTC](https://meta.discourse.org/t/badges-private-communities/157300/1 "2020-07-09T21:47:44Z")

</div>

أفهم من المناقشات السابقة في عام 2017 ([Badges don't work in private / restricted topics - #10 by sam](https://meta.discourse.org/t/badges-dont-work-in-private-restricted-topics/67413/10)) أن الشارات لا تعمل مع المجموعات المقيدة.

نحن نبحث عن أي طريقة لتجاوز هذا القيد، مع بعض الخلفية التاريخية.

مجموعتنا متاحة بنسبة 99.9% فقط لأولئك الذين يحملون دور “الأعضاء”. لدينا بعض المجموعات المفتوحة للجميع للنقاش العام أو للحصول على المساعدة والدعم. كمجموعة أعضاء مدفوعة، سيكون من الرائع جدًا أن نتمكن من التعرف على النشاط داخل هذه المجموعات الخاصة، حيث أن غالبية منشوراتنا التي تتجاوز 1.3 مليون منشور تقع داخل هذه المجموعات.

هل توجد طريقة بديلة أو إعداد يمكن أن يسمح بذلك؟

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [9 يوليو 2020، 11:17م UTC](https://meta.discourse.org/t/badges-private-communities/157300/2 "2020-07-09T23:17:19Z")

</div>

> [@Mitchelsellers](#):
>
> أفهم من [مناقشات سابقة في أوائل عام 201](https://meta.discourse.org/t/badges-dont-work-in-private-restricted-topics/67413/10)7 أن الشارات لا تعمل مع المجموعات المقيدة.

السبب في ذلك هو أن أي شارات تشير إلى منشورات تقوم بتشغيل استعلاماتها على جدول `badge_posts`. يحتوي هذا الجدول فقط على المنشورات الموجودة في فئات يمكن لجميع المستخدمين الوصول إليها.

> [@Mitchelsellers](#):
>
> مجموعتنا متاحة بنسبة 99.9% فقط لأولئك الذين يحملون دور “الأعضاء”. لدينا بعض المجموعات المفتوحة للجميع للنقاش العام أو للمساعدة والدعم. بصفتنا مجموعة أعضاء مدفوعة، سيكون من الرائع أن نتمكن من التعرف على النشاط داخل هذه المجموعات الخاصة، حيث أن معظم منشوراتنا التي تتجاوز 1.3 مليون منشور موجودة داخل هذه المجموعات.

نعم، أستطيع أن أرى كيف يمكن أن يكون ذلك مشكلة. قد يكون الحل البديل هو إعادة كتابة استعلامات الشارات لموقعك لاستخدام جدول `posts` بدلاً من جدول `badge_posts`. قد يتسبب ذلك في مشكلة للمستخدمين الذين لا يملكون صلاحية الوصول إلى الفئات المحمية في موقعك إذا حاولوا عرض المنشورات المرتبطة بشارات مستخدميك، لكن يبدو أن هذا لن يؤثر على العديد من المستخدمين في موقعك. ربما توجد طرق أخرى للتعامل مع هذا الأمر.

---

<div class="post-metadata">

### Author: ![Mitchelsellers](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mitchelsellers/32/140412_2.png) [@Mitchelsellers](https://meta.discourse.org/u/Mitchelsellers)
#### Post date: [9 يوليو 2020، 11:50م UTC](https://meta.discourse.org/t/badges-private-communities/157300/3 "2020-07-09T23:50:37Z")

</div>

بصراحة، لأغراضنا أعتقد أن ذلك سيكون مقبولاً تماماً.

هل هذا أمر سهل؟ أم سيكون هناك مشاكل على المدى الطويل؟

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [10 يوليو 2020، 12:04ص UTC](https://meta.discourse.org/t/badges-private-communities/157300/4 "2020-07-10T00:04:33Z")

</div>

> [@Mitchelsellers](#):
>
> هل هذا أمر سهل؟ أم أنه قد يكون إشكاليًا على المدى الطويل؟

سيكون تغيير استعلامات الشارات في موقعك لاستخدام جدول `posts` بدلاً من جدول `badge_posts` أمرًا مباشرًا نسبيًا. ومع ذلك، قد يتطلب الإصلاح الجذري للمشكلة تغييرًا أكبر. على سبيل المثال، لا ترغب في منح الشارات للمشاركات في فئة الموظفين، أو لأي فئة أخرى حيث يوجد قلق بشأن تسرب عنوان الموضوع.

أتساءل عما إذا كان يمكن إضافة عرض PostgreSQL جديد عبر ملحق للمواقع التي لديها إعداد مشابه لموقعك. يمكن بعد ذلك استبدال ذلك العرض في استعلامات الشارات بـ عرض `badge_posts`.

---

<div class="post-metadata">

### Author: ![Mitchelsellers](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mitchelsellers/32/140412_2.png) [@Mitchelsellers](https://meta.discourse.org/u/Mitchelsellers)
#### Post date: [10 يوليو 2020، 12:23ص UTC](https://meta.discourse.org/t/badges-private-communities/157300/5 "2020-07-10T00:23:02Z")

</div>

حسنًا، أعجبني هذا الافتراض.

إذا كان هذا المسار خيارًا متاحًا، فهل يمكن أن يشمل هذا العرض منشورات من مجموعات عامة بالكامل؟ مثلما لدينا حاليًا بالإضافة إلى أي مجموعة كانت مرئية لمجموعة محددة؟ في حالتنا،

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [10 يوليو 2020، 12:42ص UTC](https://meta.discourse.org/t/badges-private-communities/157300/6 "2020-07-10T00:42:00Z")

</div>

دعنا نرى ما يراه مهندسو Discourse في هذا النهج، أو إذا كان لديهم اقتراحات أخرى. هذه ليست المرة الأولى التي يتم فيها الإبلاغ عن هذه المشكلة. سيكون من الجيد التوصل إلى حل عام للمشكلة، لكن الحل الجيد الذي يعمل لمواقع كثيرة قد يكون أكثر تعقيدًا مما أقترح.

---

<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: [10 يوليو 2020، 2:38ص UTC](https://meta.discourse.org/t/badges-private-communities/157300/7 "2020-07-10T02:38:34Z")

</div>

ليست من محبي استبدال العرض.

توصيتي هنا @Mitchelsellers هي أن تبدأ صغيرًا. قم بمنح الشارات دون الإشارة إلى مشاركات محددة.

`[أصدرت عشرين منشورًا محببًا جدًا كعضو]` (العنوان قيد التحديد) هو مكان جيد للبدء.

بشكل أساسي، ابتكر طريقة مخصصة للتعرف عليها باستخدام استعلامات مخصصة.

إضافة فحوصات الأذونات في جميع الأماكن التي نربط فيها الشارات بالمشاركات أمر معقد، وأوصي بعدم اتباع هذا المسار.

ابدأ صغيرًا وبسهولة.

---

<div class="post-metadata">

### Author: ![Mitchelsellers](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mitchelsellers/32/140412_2.png) [@Mitchelsellers](https://meta.discourse.org/u/Mitchelsellers)
#### Post date: [10 يوليو 2020، 3:21ص UTC](https://meta.discourse.org/t/badges-private-communities/157300/8 "2020-07-10T03:21:55Z")

</div>

أعتقد أن هذا سيكون مقبولاً تماماً بالنسبة لنا أيضاً.

هل لديك أي نصائح جيدة للقيام بذلك؟

---

<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: [10 يوليو 2020، 5:54ص UTC](https://meta.discourse.org/t/badges-private-communities/157300/10 "2020-07-10T05:54:13Z")

</div>

أعتقد أن الخطوة صفر هنا هي رسم مبدئي باللغة الإنجليزية للشارات التي ترغب فيها، وأسماء الشارات، والتعريف المفاهيمي لها.

---

<div class="post-metadata">

### Author: ![Mitchelsellers](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mitchelsellers/32/140412_2.png) [@Mitchelsellers](https://meta.discourse.org/u/Mitchelsellers)
#### Post date: [10 يوليو 2020، 7:50م UTC](https://meta.discourse.org/t/badges-private-communities/157300/11 "2020-07-10T19:50:30Z")

</div>

حسناً، سنبدأ العمل في هذا!

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [24 يوليو 2020، 9:44م UTC](https://meta.discourse.org/t/badges-private-communities/157300/12 "2020-07-24T21:44:36Z")

</div>

لقد كنت أراجع استعلامات الشارات الموجودة للحصول على فكرة حول الاستعلامات التي تستهدف المنشورات في جدول `badge_posts`، أو تستخدم طريقة أخرى لاستبعاد المنشورات من الفئات المحمية من أن تُستخدم.

الاستعلامات التالية للشارات تستهدف منشورات محددة ولن تُمنح للنشاط في الفئات الخاصة:

- المحرر
- أول علم
- أول إعجاب
- أول رابط
- أول اقتباس
- أول مشاركة
- أول رمز تعبيري
- أول ذكر
- أول صندوق مضمن
- أول رد عبر البريد الإلكتروني
- قارئ
- محرر ويكي
- مشاركة رائعة
- مشاركة جيدة
- مكتب المساعدة
- مشاركة لطيفة
- ترحيب
- رابط مشهور
- رد رائع
- موضوع رائع
- رد جيد
- موضوع جيد
- رابط ساخن
- رد لطيف
- موضوع لطيف
- رابط شعبي

الشارات التالية لا تستعلام عن منشورات محددة وستُمنح للنشاط في الفئات الخاصة:

- مرخص
- كاتب سيرة ذاتية
- معتمد
- مستخدم جديد للشهر
- قراءة الإرشادات
- مُعجب به
- بطل
- متحمس للحب
- مخلص
- متعاطف
- محترف
- ذكرى
- مروج
- يعيد العطاء
- حب أعلى
- محترم
- ممتن
- متحمس
- خارج الحب
- مروج
- شكرًا لك
- قائد
- عادي
- أساسي
- عضو
- طاقم
- صورة الملف الشخصي

> [@sam](#):
>
> `[أنتج عشرين منشورًا مُعجبًا به بشدة كعضو]` (العنوان قيد التحديد) هو مكان جيد للبدء.

شيء مشابه لهذا مغطى بالفعل من خلال شارات Appreciated (إعجاب واحد على 20 منشورًا) و Respected (إعجابان على 100 منشور). يمكن إضافة بعض الاختلافات لهذه الاستعلامات. على سبيل المثال، 10 إعجابات على 20 منشورًا. قد تكون فكرة جيدة أيضًا إضافة شارة تُمنح للمواضيع التي تم الإعجاب بها بشدة - حيث ستعمل كمكافئ لشارة Great Topics. على سبيل المثال، يمكن منحها عندما ينشئ المستخدم 10 مواضيع تلقى كل منها 10 إعجابات.

لست متأكدًا مما إذا كان من المنطقي إضافة شارة تُمنح للنشاط على منشور أو موضوع واحد لا يحتوي على رابط للمنشور. على سبيل المثال، يمكن إنشاء شارة بديلة لأول إعجاب مع استعلام SQL التالي:

```sql
SELECT pa1.user_id, pa1.created_at granted_at
FROM (
  SELECT pa.user_id, min(pa.id) id
  FROM post_actions pa
  JOIN posts p on p.id = pa.post_id
  WHERE post_action_type_id = 2
  GROUP BY pa.user_id
) x
JOIN post_actions pa1 on pa1.id = x.id

```

لكي يعمل الاستعلام، يجب استخدام محفز “تحديث يومي” بدلاً من استعلام “عندما يتصرف المستخدم على منشور”. في صفحة الشارات، سيُعرض المستخدمون الذين مُنحوا الشارة مع الوقت الذي مُنحت فيه الشارة. لن يكون هناك رابط للمنشور الذي مُنحت الشارة من أجله:

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

هل يبدو هذا النهج منطقيًا للمواقع التي تحتوي في الغالب على فئات محمية؟ إذا كان الأمر كذلك، فيمكن استخدامه لتكرار بعض الاستعلامات التي تستهدف حاليًا جدول `badge_posts`.

---

<div class="post-metadata">

### Author: ![Mitchelsellers](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mitchelsellers/32/140412_2.png) [@Mitchelsellers](https://meta.discourse.org/u/Mitchelsellers)
#### Post date: [25 يوليو 2020، 4:31ص UTC](https://meta.discourse.org/t/badges-private-communities/157300/13 "2020-07-25T04:31:31Z")

</div>

أعتقد أن هذه خطوة رائعة!

---

<div class="post-metadata">

### Author: ![Mitchelsellers](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mitchelsellers/32/140412_2.png) [@Mitchelsellers](https://meta.discourse.org/u/Mitchelsellers)
#### Post date: [30 نوفمبر 2020، 7:33م UTC](https://meta.discourse.org/t/badges-private-communities/157300/14 "2020-11-30T19:33:13Z")

</div>

أردت فقط أن أعود إلى هذا الموضوع.

هل لديك أي أفكار حول تنفيذ هذا النوع من الأمور؟

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [30 نوفمبر 2020، 7:44م UTC](https://meta.discourse.org/t/badges-private-communities/157300/15 "2020-11-30T19:44:39Z")

</div>

> [@Mitchelsellers](#):
>
> أردت فقط أن أعود إلى هذا الموضوع.

شكرًا لك على تذكيري بهذا! سأبدأ في إعداد قائمة بالشارات التي أعتقد أنها قد تكون مفيدة ولا تكشف أي منشورات من الفئات المحمية.

---

<div class="post-metadata">

### Author: ![manuel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/manuel/32/468169_2.png) [@manuel](https://meta.discourse.org/u/manuel)
#### Post date: [20 ديسمبر 2020، 12:47م UTC](https://meta.discourse.org/t/badges-private-communities/157300/17 "2020-12-20T12:47:33Z")

</div>

بدأنا منتدانا بمتطلب `تسجيل الدخول`، وأضفنا مؤخرًا بعض الأقسام العامة، مع تقييد الوصول إلى الأقسام الموجودة إلى مستوى الثقة 0.

لذلك، بالنسبة للمستخدمين الحاليين، لم يتغير شيء في طريقة وصولهم إلى المنتدى، لكن جميع الشارات المذكورة أعلاه تم إلغاؤها. منتدانا ليس كبيرًا، لكن من ردود المستخدمين التي تلقيناها، يتضح أن نظام الشارات يبدو وكأنه معطّل تمامًا. مع هذا الإعداد، أصبح علي عمليًا تعطيله.

أعتقد أنه يجب توضيح ذلك بشكل أكثر وضوحًا في مكان ما ضمن الإعدادات، بأن الشارات الحالية ستُلغى عند اختيار تقييد الأقسام. بالنسبة لنا، جاء هذا الأمر فجأة دون سابق إنذار.

بشكل عام، لا أفهم الأولويات. فكل من صلاحيات الأقسام ونظام الشارات يُوصفان كميزات مركزية في Discourse. لكن يصعب استخدامهما معًا كما هو الحال الآن. يبدو أن ميزة وجود شارات فقط على المنشورات المتاحة للجميع هي أن المستخدمين الآخرين يمكنهم رؤية المنشور الذي مُنحت له الشارة؟ بالنسبة لي، لا يبدو أن هذه ميزة مهمة جدًا بالمقارنة. لماذا لا يتم بدلاً من ذلك إزالة هذه الروابط الظاهرة وإظهار المنشورات ذات الصلة لكل مستخدم فقط في شاراته الخاصة؟

---

<div class="post-metadata">

### Author: ![stephtara](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephtara/32/517827_2.png) [@stephtara](https://meta.discourse.org/u/stephtara)
#### Post date: [12 فبراير 2026، 12:42م UTC](https://meta.discourse.org/t/badges-private-communities/157300/18 "2026-02-12T12:42:06Z")

</div>

> [@simon](#):
>
> الشارات التالية تستعلم عن مشاركات محددة و_لن_ يتم منحها مقابل النشاط في الفئات الخاصة

آوت! حسنًا، هذا يعني عمليًا أن البنية التحتية للشارات بأكملها عديمة الفائدة إلى حد ما في مجتمع به الكثير من المساحات الخاصة…

> [@manuel](#):
>
> يتم التواصل بشأن أذونات الفئة ونظام الشارات على حد سواء كميزات أساسية لـ Discourse. ولكن بالكاد يمكنك استخدامهما معًا كما هما الآن.

أؤيد ذلك.

هل هناك أي نوع من الإضافات (plugins) أو إعدادات جديدة (على مدى السنوات الست الماضية) لجعل الشارات قابلة للتطبيق في مجتمع خاص في الغالب؟

---

<div class="post-metadata">

### Author: ![mcwumbly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcwumbly/32/103861_2.png) [@mcwumbly](https://meta.discourse.org/u/mcwumbly)
#### Post date: [12 فبراير 2026، 1:53م UTC](https://meta.discourse.org/t/badges-private-communities/157300/19 "2026-02-12T13:53:00Z")

</div>

أنا أؤيد تحسين طريقة عمل هذا بشكل افتراضي.

على الرغم من أن هذا الموضوع كان هادئًا لسنوات عديدة، فقد سمعت أشخاصًا يطلبون تغييرات مماثلة في أماكن أخرى.

الأمر مجرد مسألة ترتيب التغيير المطلوب بالضبط، وتحديد مكانه بين الأولويات الأخرى.

---

<div class="post-metadata">

### Author: ![stephtara](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephtara/32/517827_2.png) [@stephtara](https://meta.discourse.org/u/stephtara)
#### Post date: [12 فبراير 2026، 5:41م UTC](https://meta.discourse.org/t/badges-private-communities/157300/21 "2026-02-12T17:41:15Z")

</div>

> [@mcwumbly](#):
>
> أنا أؤيد تحسين طريقة عمل هذا بشكل افتراضي.

💪

يبدو أن هذا يتعلق بما ظهر في موضوع آخر حول تسهيل توجيه أعضاء المجتمع بين المساحات المفتوحة (العامة) والمغلقة (درجات متفاوتة من “الخاصة”)، بما في ذلك الرسائل الشخصية.

التعامل مع الطبيعة شبه العامة للويب والجماهير المتداخلة جزئيًا هو تحدٍ كبير في عالم التواصل الاجتماعي عبر الإنترنت. إنه ليس بديهيًا. ستكافح معظم المجتمعات حول كيفية التأكد من فهم الناس لمدى عمومية/خصوصية الأجزاء المختلفة منه. قد يكون من المنطقي أن يفترض Discourse أن هذا المزيج من العام والخاص (أو الخاصات) سيكون هو الافتراضي لمعظم المجتمعات ويرى كيف يمكنه تسهيل التنقل فيه لأعضاء المجتمع؟

---

<div class="post-metadata">

### Author: ![jordanjay29](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jordanjay29/32/529474_2.png) [@jordanjay29](https://meta.discourse.org/u/jordanjay29)
#### Post date: [12 فبراير 2026، 10:58م UTC](https://meta.discourse.org/t/badges-private-communities/157300/22 "2026-02-12T22:58:02Z")

</div>

> [@mcwumbly](#):
>
> مجرد مسألة ترتيب التغيير المطلوب تحديداً، وتحديد مكانه بين الأولويات الأخرى.

أنا جديد في هذه المحادثة، على الرغم من أنني أعتقد أن مفتاح تبديل (toggle) تحت إعدادات الشارات (Badge Settings) سيكون الأسهل. اتركه مغلقاً بشكل افتراضي، وقم بتحديده لتفعيل الاستعلام عن جميع اللوحات (بما في ذلك الخاصة) لشارات التفاعل.

إذا تُرك مفتوحاً لخطاف (hook) يمكن لمكون إضافي/مكوّن استخدامه، يمكن للبعض أن يأتي لاحقاً لإعطاء إذن لكل فئة (per-category permission) لحساب الشارات هناك.

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [12 فبراير 2026، 11:03م UTC](https://meta.discourse.org/t/badges-private-communities/157300/23 "2026-02-12T23:03:08Z")

</div>

أعتقد أن المشكلة في الشارات التي تُمنح حاليًا للفئات العامة فقط هي أنها تشير إلى المنشور الذي مُنحت الشارة بسببه، ولن ترغب في أن يكون هذا المنشور عامًا إذا كان الموضوع خاصًا.

 ![image](https://global.discourse-cdn.com/meta/original/4X/e/8/f/e8fa1884281af849cd088a3e0ebf1fe977d3a1bb.png)

لذلك، يجب إزالة الجزء الذي يرتبط فيه المنشور بتلك الشارة من جميع هذه الشارات الافتراضية.

[Next page](https://meta.discourse.org/t/badges-private-communities/157300.md?page=2)
