أنا أقوم بإعداد تثبيت لـ Discourse سيكون منتدى للمهنيين الحائزين على شهادات. سيتم التحقق من كل مستخدم، ويمكنه اختيار اسم مستخدم حسب رغبته، لكننا نود أن يتطابق الاسم الكامل في ملفاته الشخصية مع شهاداته. هل توجد طريقة لاشتراط موافقة المشرف على إجراء تغييرات في حقل الاسم الكامل؟
مرحباً،
هذا غير ممكن حالياً.
شكرًا لك. هل من الممكن إضافة حقل مخصص في ملفات المستخدمين يمكن تقييد تعديله؟
تعديل: لا يهم، أرى أن هذا ممكن تحت الإعدادات > تخصيص > حقول المستخدم
هل من الممكن إعداد نظام تسجيل أو إشعار للموظفين عند تعديل المستخدم لاسمه؟
يمكنك تكوين مستدعٍ إلكتروني (webhook) لحدث مستخدم يشير إلى خدمة خارجية عن منصة Discourse ترسل لك إشعارًا عند إجراء أي تغييرات من صفحة ملف المستخدم. قد تكون خدمة مثل Zapier مفيدة في معالجة مستدعي الويب: Trigger a Zapier task with Discourse Webhooks.
مع نهج مستدعي الويب، سيتطلب الأمر بعض الجهد لتحديد أن خاصية name للمستخدم هي التي تم تغييرها — ستحتاج إلى مقارنة حمولة مستدعي الويب ببيانات المستخدم التي حفظتها في قاعدة بيانات خارجية. أما إذا كان كل ما تحتاج إلى معرفته هو أن ملف المستخدم قد تم تحديثه، فإن معالجة مستدعي الويب ستكون مباشرة.
شكرًا جزيلاً على هذه الاقتراح. إدارة قاعدة بيانات خارجية وبرمجة أداة لمقارنتها مع حمولة ويب هوك تتجاوز مستوى مهارتي في الوقت الحالي! لكنني آمل أن يكون اقتراحك مفيدًا لأي شخص آخر يرغب في تحقيق شيء مماثل، ويملك المهارات اللازمة لذلك.
@سيمون، حسنًا، لم أستطع resist، واعتبرت اقتراحك تحديًا لتعلم شيء جديد.
أعدت مستقبلاً للويب هوك ومخزن بيانات على Integromat. يحتوي مخزن البيانات على معلومات المستخدم ذات الصلة كما تم تسليمها عبر الويب هوك (لم يكن عليّ استيراد المستخدمين الحاليين، لأن هذا النظام Discourse لم يُفعّل بعد).
يتم فحص رأس الويب هوك بحثًا عن user_destroyed و user_created و user_updated. يتم حذف المستخدمين المحذوفين وإنشاؤهم وفقًا لذلك في مخزن البيانات.
بالنسبة للمستخدمين المحدثين، يتم البحث عن اسمهم في مخزن البيانات، ثم يتم تحديث سجلهم، وإذا اختلف الاسم السابق عن الاسم المحدث، فإن Integromat ينشر موضوعًا في موضوع مخصص للموظفين فقط على النحو التالي:
“فُو بار (اسم المستخدم: foobar) قد غيّر اسمه الكامل إلى بو فار”
شكرًا لك على اقتراحك!
