ماذا لو كان بإمكان الشارات مزامنة عضوية المجموعة بشكل اختياري؟

كنت أطلع على هذا الموضوع اليوم:

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

أعطني مجموعة من المستخدمين الذين سجلوا قبل أكثر من شهر واحد
أعطني مجموعة من المستخدمين الذين نشروا 10 مرات على الأقل

وهكذا دواليك.

أما الشارات (Badges) فتتمتع بدعم غني جدًا لهذا الطابع “الديناميكي” بمجرد تمكين SQL المتقدم.

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

لذا فإن مقترحي هنا هو:

[ ]  عكس أعضاء الشارة في مجموعة

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

ما رأيكم؟

20 إعجابًا

Because the group membership management UI is so rich these days, changes should at least attempt to flow in the opposite direction as well (e.g. approving a Request to Join turns into a badge grant from the group manager; which wouldn’t normally happen as they aren’t staff).

6 إعجابات

I feel like this has massive overlap with trust levels; it’s building a parallel system for… well, I’m not sure why. In the quote you posted, that is literally the reason we have trust levels in the first place. So tying content unlock to

  • trust level 1 (a tiny bit of reading)
  • trust level 2 (a fair bit more reading)

should cover this scenario.

There are many many things I’d rather we work on than this.

I definitely do not see this as an urgent change, we lock out badge sql anyway out-of-the-box. However I do see this as something I would like to get to eventually.

It is a simple generalization of the “automatic group” system that now exists.

This does simplify workflows as well, you can grant a badge to a user and then you do not need to go to the group and also grant membership. For example: “Customer champion” badge that grants access to “champions” group and “champion discussion” category on the site. Having the bridge also means you only need to remove membership in 1 spot to have both badge and group change.

Nothing urgent to change here, its just that there are tons of parallels between groups and badges so having a bridge helps get automatic feature parity on both sides.

9 إعجابات

Prior requests:

I know that just tying this up to the a badge re-uses a bunch of code, and simplifies a lot, but ideally this would be an option in the Groups UI, to have an option query that returns the user_id of members.

When you tie this to SSO and custom user fields, you get a very powerful system, where you can manage groups using queries on those custom fields + all the info Discourse already have.

10 إعجابات

I have a client who wants just this. He wants to encourage people to fill in custom user fields after sign up and give them flair if they do it.

It’s easy enough to enable badge sql to find them a badge but we need to assign them to a group for flair.

How hard is a plugin to assign a user to a group of they have earned a badge?

5 إعجابات

Did you manage to solve this, @pfaffman? I’m exploring a similar scenario myself.

إعجاب واحد (1)

I did not, but I think that I now know how to develop such a plugin. Ping me with your budget and I’ll see what I can do for you.

إعجاب واحد (1)

I have no budget for this one, I think it can also (less elegantly) be achieved with an Integromat or Zapier script.

Well, maybe I could get you enough coffee code that you could tweak it yourself. I’m pretty busy right now, but I’ll see what I can do.

EDIT: Well, it’s not going to work how I thought it would. It’ll take me some time to figure out how to go about doing it.

إعجابَين (2)

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

أسهل طريقة لتحقيق ذلك ستكون باستخدام أتمتة Discourse، وهو نص برمجي مخصص خاص “لمزامنة الشارات مع المجموعة”، يجب أن يكون بناءه سهلاً بشكل معقول.

أم إضافة مستخدمين إلى مجموعات باستخدام تقارير من مستكشف بيانات Discourse؟
سيكون من الرائع لو أمكن القيام بذلك.

أصبح هذا ممكنًا الآن باستخدام إضافة الأتمتة: :tada:

إعجابَين (2)