الهجرة الأخيرة إلى discourse تسببت في تغيير أسماء المستخدمين!

لقد نقلت موقعًا مؤخرًا إلى Discourse. ما لم أدركه هو أن أسماء العديد من المستخدمين قد تغيرت ويبدو أن أسماء المستخدمين الجديدة تستخدم جزءًا من عنوان بريدهم الإلكتروني. لم أر قط أسماء مستخدمين تتغير أثناء عمليات الترحيل السابقة. كيف يمكنني التراجع عن هذا؟

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

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

ما لم يكن نص الترحيل معطلاً، فإن السبب في تغيير أسماء المستخدمين هو أنها غير متوافقة مع تنسيق اسم المستخدم في discourse.

ما هي بعض أسماء المستخدمين التي تم تغييرها؟ ما الذي قمت بترحيله منه؟

5 إعجابات

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

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

يمكنك النظر في UserCustomField.where(user_id: some_id) لمعرفة الحقول المخصصة الموجودة لهذا المستخدم، والتي يجب أن تتضمن اسم المستخدم الأصلي الخاص به.

إعجابَين (2)

تمكنا من التبديل. ولكن بعد التبديل، لن تفتح الملفات الشخصية! يظهر خطأ “عذرًا، الصفحة غير موجودة”.

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

إعجابَين (2)

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

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

سمحت المنصة القيمة للمستخدمين بإنشاء أسماء ملفات تعريف باستخدام المسافات والأحرف الخاصة، واستخدمت معرف المستخدم (userID) للعنوان (URL).

هل يمكننا استخدام معرف المستخدم (userID) في العنوان (URL) والسماح بترحيل أسماء ملفات التعريف مع المسافات والأحرف الخاصة كما هي؟

لقد لاحظنا أن أسماء المستخدمين والأسماء في Sims كانت متطابقة.
أدركنا أن بعض الأسماء تحتوي الآن على مسافات.

إذا قمنا بتبديل أقسام اسم المستخدم والاسم، فقد يقوم Discourse بتعيين معرف البريد الإلكتروني النصفي كاسم مستخدم لتلك التي لا تتوافق مع إرشادات اسم الملف الشخصي.

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

ولماذا قد يستخدم الخطاب عناوين البريد الإلكتروني في المقام الأول؟ خطر أمني

لا. لا تسمح Discourse بالمسافات أو (معظم) الأحرف الخاصة في أسماء المستخدمين. لهذا السبب تمت إعادة كتابتها.

أنا لا أفهم ما تقوله عن عنوان URL.

يجب أن تستخدم شيئًا لإنشاء اسم مستخدم.

إنها تفعل هذا:

UserNameSuggester.suggest(
        opts[:username].presence || opts[:name].presence || opts[:email],

لذلك إذا لم يكن لديك اسم مستخدم أو اسم، فإنها تعود لاستخدام الجزء الأول من عنوان البريد الإلكتروني.

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

إذًا، هل يمكننا تغييره إلى شيء آخر؟ أو إزالة معرف البريد الإلكتروني كخيار؟

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