لدي حالة استخدام محددة أود معرفة ما إذا كان هناك طريقة أسهل للقيام بها.
ليس لدى جميع مستخدمينا (عبر SSO) حسابات نشطة في المنتدى
نحتاج بانتظام إلى إضافة مستخدمين إلى مجموعة منتديات، للوصول إلى منتدى خاص
لا يُعرف ما إذا كان لدى المستخدمين حسابات منتديات نشطة قبل محاولة إضافتهم إلى المجموعة
على سبيل المثال:
كل شهر، يمتلك عضو في الطاقم قائمة تضم أكثر من 100 حساب مؤهل للوصول إلى المنتدى الخاص. تمتلك هذه الحسابات أسماء مستخدمين لـ SSO وعناوين بريد إلكتروني، ولكن قد لا يكون لديها حساب في المنتدى بعد.
هل توجد طريقة بسيطة لإضافة الأشخاص إلى مجموعة إذا كان لديهم بالفعل حسابات منتديات، ودعوتهم إلى المنتدى (مما يضيفهم تلقائيًا إلى المجموعة) إذا لم يكن لديهم؟
على صفحة المجموعات، تتيح زر إضافة أعضاء لصق قائمة بأسماء المستخدمين مفصولة بفواصل. عندما تكون أسماء المستخدمين هذه صحيحة، سيتم إضافتهم إلى المجموعة. وعندما لا يكون اسم المستخدم صالحًا (أي لا يوجد حساب في المنتدى بعد)، يفشل الإجراء، ولا يتم إضافتهم.
باستثناء الفحص اليدوي لقائمة المستخدمين الذين تمت إضافتهم بنجاح إلى المجموعة، وتحديد أسماء المستخدمين الذين لم يتم إضافتهم، ثم إرسال دعوة منتديات إلى هؤلاء الأشخاص (مثل (Superseded) Multiple Use Invite Links) - هل توجد طريقة بسيطة يمكننا من خلالها دمج الدعوة وإضافة المجموعة لمزيج من المستخدمين الحاليين والمحتملين في المنتدى؟
هل نظرت في إضافة المستخدمين إلى مجموعات Discourse باستخدام معاملات SSO add_groups و remove_groups؟ بالنسبة للمستخدمين الموجودين في موقع مزود خدمة تسجيل الدخول الموحد (SSO) الخاص بك، يمكنك إنشاء حسابات Discourse لهم، وإضافتهم إلى مجموعات Discourse عن طريق إجراء استدعاء API إلى مسار sync_sso. هناك بعض التفاصيل حول إعداد ذلك هنا: مزامنة بيانات مستخدم SSO باستخدام مسار sync_sso. يمكننا تزويدك بمزيد من التفاصيل حول كيفية إعداد ذلك إذا بدا أن هذا النهج مناسب لك.
جميع مستخدمينا موجودون على موقع SSO (هم بائعون في أسواقنا)، لكن مجموعة فرعية فقط منهم يقومون حاليًا بإنشاء حسابات على Discourse لاستخدام منتدانا. يغطي هذا SSO كلاً من العملاء والبائعين: لا نرغب في إنشاء حسابات Discourse تلقائيًا لجميع العملاء (فهم كثيرون جدًا!)، لكن القيام بذلك لجميع البائعين سيبسط الأمور بشكل كبير.
في هذه الحالة، نحتاج إلى منح الوصول إلى مجموعات المنتدى الخاصة فقط لبائعين محددين، عندما يبدأون في استخدام أسواق أو خدمات معينة.
على سبيل المثال: بائع في Marketplace 1 لديه حساب SSO. قد ينشئ حسابًا على Discourse في هذه المرحلة بتسجيل الدخول إلى المنتديات.
لاحقًا، يحصل هذا البائع على الوصول إلى Marketplace 2، وسيسجل حساب SSO هذا التغيير. لدينا مجموعة مستخدمين مخصصة (وفئة منتدى خاصة) لذلك السوق.
إذا كان لديه بالفعل حساب على Discourse في هذه المرحلة، فسنحتاج إلى تحديث مجموعاته ليتمكن من رؤية منطقة المنتدى الخاصة.
إذا لم يكن لديه حساب على Discourse بعد، نود إنشاء واحد له مع المجموعات ذات الصلة.
يستخدم الفريق حاليًا خيار “إضافة إلى المجموعة” مع قائمة بأسماء المستخدمين مفصولة بفواصل. إذا كان المستخدمون يملكون بالفعل حسابًا على Discourse، فسيحصلون على الوصول إلى المجموعة… أما إذا لم يكونوا على المنتديات بعد، فلا يحدث أي شيء.
لالتقاط المستخدمين الذين أنشأوا حساباتهم على Discourse منذ آخر مرة تمت فيها إضافة دفعة إلى المجموعة، عادةً ما يتضمن الفريق جميع أسماء المستخدمين المؤهلة من آخر X أشهر عند محاولة تحديث عضوية المجموعة، وهي عملية غير أنيقة إلى حد ما.
إذا قمت بإجراء استدعاء لـ API لمسار sync_sso يتضمن معلمة SSO المسماة add_groups، فسيتم إضافة المستخدمين الحاليين إلى المجموعة. وإذا لم يكن لدى المستخدم حساب في ديسكورش بعد، فسيتم إنشاء حساب له وسيتم إضافته إلى المجموعة. يمكنك استخدام معلمة SSO المسماة remove_groups بطريقة مماثلة لإزالة المستخدمين من المجموعات. ومن الفوائد الأخرى لاستخدام مسار sync_sso في هذا السياق أنه لا يتطلب من المستخدم تسجيل الخروج ثم الدخول مجددًا إلى ديسكورش لكي يترتب على التغيير أي أثر.