دمج حسابات المستخدمين

:bookmark: يشرح هذا الدليل كيفية دمج حسابات مستخدمين متعددة في حساب واحد على Discourse. يغطي دمج المستخدمين غير الموظفين عبر واجهة المستخدم في Discourse، ودمج المستخدمين الموظفين عبر وحدة التحكم.

:person_raising_hand: مستوى المستخدم المطلوب: مدير

يسمح دمج حسابات المستخدمين في Discourse بدمج حسابات متعددة في حساب واحد. يمكن أن تكون هذه العملية مفيدة في عدة سيناريوهات:

  1. عندما ينشئ المستخدم حسابات متعددة، ربما بسبب نسيان تسجيله السابق.
  2. إذا أنشأ المستخدم حسابًا جديدًا بعنوان بريد إلكتروني جديد بدلاً من تحديث حسابه الحالي.
  3. عندما يرغب المستخدم في توحيد حسابات متعددة تُستخدم لأغراض مختلفة (مثل: شخصية، تجارية، أو للاختبار) في حساب واحد.

دمج المستخدمين غير الموظفين

يمكن للمديرين دمج المستخدمين غير الموظفين مباشرةً عبر واجهة المستخدم في Discourse.

:warning: هذا الإجراء لا يمكن التراجع عنه. سيتم حذف حساب المستخدم المصدر بعد الدمج.

لدمج مستخدمين غير موظفين:

  1. انتقل إلى صفحة إدارة المستخدم الخاصة بالمستخدم المصدر (الحساب الذي تريد الدمج منه).
  2. انتقل إلى أسفل الصفحة.
  3. انقر على زر “دمج”.
  4. في النافذة المنبثقة الأولى، أدخل اسم مستخدم الحساب الهدف (الحساب الذي تريد الدمج إليه) ثم انقر على “نقل وحذف”.
  5. ستظهر نافذة تأكيد. اكتب النص المطلوب للتأكيد (مثل: transfer @source to @target) ثم انقر على “نقل وحذف” لبدء عملية الدمج.

:information_source: قد يكون دمج الحسابات الكبيرة مكثفًا للموارد وقد يستغرق بعض الوقت للمعالجة، اعتمادًا على كمية البيانات المرتبطة بالمستخدم المصدر.

ما الذي يتم دمجه؟

عند دمج حسابات المستخدمين، يجمع Discourse البيانات من أكثر من 50 جدولًا، بما في ذلك:

  • المنشورات والمواضيع
  • الإعجابات المقدمة والمستلمة
  • الرسائل الخاصة
  • معلومات ملف المستخدم
  • تفضيلات وإعدادات المستخدم
  • إجراءات المستخدم ونشاطه (مثل: الإشارات المرجعية، مشاهدات المواضيع)
  • الشارات والإنجازات
  • مستوى الثقة وعضويات المجموعات
  • الحسابات المرتبطة (مثل: تسجيل الدخول عبر الشبكات الاجتماعية)

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

:warning: الروابط الواردة التي تشير إلى المستخدم المصدر (مثل: https://discourse.example.com/t/some-topic/17/3?u=source_username) لن ترتبط بالمستخدم الهدف بعد الدمج.

ملاحظة هامة حول دمج المستخدمين وDiscourseConnect

قد يؤثر دمج حسابات المستخدمين على DiscourseConnect (سابقًا SSO) اعتمادًا على التنفيذ:

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

دمج المستخدمين الموظفين

لأسباب أمنية، يجب دمج المستخدمين الموظفين عبر وحدة التحكم.

:information_source: إذا كان موقعك مستضافًا بواسطة Discourse، فاتصل بـ team@discourse.org للحصول على مساعدة في دمج المستخدمين الموظفين.

لدمج المستخدمين الموظفين عبر وحدة التحكم:

root@host:/var/discourse# ./launcher enter app
root@host-app:/var/www/discourse# rake users:merge['source_username','target_username']

Users merged!

root@host-app:/var/www/discourse#

:warning: تأكد من عدم وجود مسافات قبل أو بعد الفاصلة في الأمر.

الأسئلة الشائعة

س: ماذا يحدث إذا بدا أن عملية الدمج متوقفة؟
ج: إذا لم تظهر شاشة تقدم الدمج أي تغيير لفترة طويلة، حاول تحديث الصفحة. قد تكون عملية الدمج قد اكتملت، لكن واجهة المستخدم لم تُحدّث.

س: هل يمكنني التراجع عن دمج المستخدمين؟
ج: لا، بمجرد دمج مستخدمين، لا يمكن التراجع عن الإجراء. يتم حذف حساب المستخدم المصدر نهائيًا بعد الدمج.

س: هل سيؤثر دمج المستخدمين على منشوراتهم ومواضيعهم؟
ج: سيتم نقل جميع المنشورات والمواضيع من المستخدم المصدر إلى المستخدم الهدف. سيتغير اسم المؤلف لهذه العناصر ليعكس المستخدم الهدف كصانع لها.

10 إعجابات

تم تقسيم منشور إلى موضوع جديد: اختفى زر دمج المستخدم في موقعي

وجدنا أيضًا موقفًا صعبًا آخر يتعلق بالدمج وتسجيل الدخول الموحد (SSO).

  1. ينشئ المستخدم حساب تسجيل دخول موحد في المؤسسة أ (Organization A) بعنوان بريد إلكتروني هو first.last@organizationA.com
  2. ينتقل المستخدم إلى المؤسسة ب (Organization B) وينشئ حساب تسجيل دخول موحد بعنوان بريد إلكتروني هو first.last@organizationB.com
  3. ندمج الحسابين
    1. يصبح عنوان البريد الإلكتروني الأساسي للمستخدم هو first.last@organizationB.com
    2. ولكن عملية الدمج تترك first.last@organizationA.com كعنوان بريد إلكتروني ثانوي
  4. يعود المستخدم إلى المؤسسة أ (Organization A)، ويحاول تسجيل الدخول عبر تسجيل الدخول الموحد باستخدام first.last@organizationA.com، ويُعلق في حلقة تسجيل الدخول التالية مع رسالة Discourse هذه: Slow down, you’re making too many requests (تمهّل، أنت تُجري الكثير من الطلبات)

لإصلاح ذلك، أزلنا first.last@organizationA.com من عنوان البريد الإلكتروني الثانوي في الحساب المدمج في الخطوة رقم 3. وقد أدى هذا إلى إنشاء حساب جديد آخر، قمنا بدمجه بعد ذلك مع حساب first.last@organizationB.com.

لقد قمنا أيضًا بتعديل عملية الدمج الخاصة بنا بحيث نقوم فورًا بإزالة عنوان البريد الإلكتروني الثانوي من الحساب بعد الدمج.