مشاكل الانتقال من XenForo إلى Discourse

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

عند تشغيل الأمر:

أحصل على النتيجة التالية:

-bash: Gemfile: Permission denied

هذا على خادم جديد تمامًا مع تثبيت يعمل بشكل صحيح لـ Discourse.

هل هناك مكونات أو برامج أخرى أحتاج إلى تثبيتها لجعل الخطوات بدءًا من 7 تعمل؟

ولاحظت أن هذا الموضوع يعود تاريخه إلى بضع سنوات. هل كل خطوة في المنشور الأصلي لا تزال صحيحة؟

شكرًا لك!

حسنًا، لقد قدمت منشورًا كاملاً هنا، لكنني أزلته لأنني، كلما تعمقت في هذا الأمر أكثر، أدركت أنني كنت أسيء فهم كيفية عمل Docker مع تثبيت Discourse بشكل جدي. كان منشوري السابق سيُربك الناس لأنني، في الأساس، لم أكن أعرف ما أتحدث عنه. :joy:

كنت أقوم بإضافة ملفات الاستيراد يدويًا إلى مجلد /var/discourse/ بينما كان ينبغي عليّ البحث عنها داخل Docker. خطأ واضح عند النظر إليه الآن، لكنني كنت مشوشًا جدًا في ذلك الوقت. ربما تكون التعليمات أكثر وضوحًا، لكنني تمكنت من اكتشاف ذلك وحل مشكلتي بنفسي.

تمكّنت من نجاح استيراد هذا في منتدى يحتوي على أكثر من مليون منشور. لاحظت بعض النقاط:

  1. الصور الرمزية (Avatars) مفقودة. بعد فحص السكربت، لم أجد أي إشارة إلى الصور الرمزية. هل يمكن تأكيد أنها غير مستوردة؟

  2. عدد مشاهدات المواضيع كلها صفر. هل هذا هو السلوك المتوقع؟

  3. منشورات الزوار (في حال تم حذف حساب المستخدم وتم تسمية اسم المستخدم بـ “guest” في XenForo) تظهر جميعها باسم “system”. هل توجد طريقة لجعلها تظهر جميعها باسم “guest” بدلاً من “system”؟ هل يدعم Discourse المنشورات غير المنسوبة إلى حساب مسجل؟

هل توجد سكربتات استيراد تدعم استيراد الصور الرمزية ومشاهدات المواضيع؟ أود الاطلاع عليها لمعرفة مدى صعوبة تعديل سكربت xenforo.rb.

أنا أعرف قواعد بيانات vBulletin وXenForo جيدًا. كل ما أحتاجه هو التوجيه الصحيح حول كيفية تخزين مشاهدات المواضيع والصور الرمزية في Discourse حتى أتمكن من ربطها بشكل صحيح.

لا شيء من هذه الأمور مُفاجئ.

عادةً ما أستخدم الأمر grep في دليل السكربت للبحث عن الشيء الذي أبحث عنه (Avatar). أعتقد أنه بالنسبة للعرض، يمكنك ببساطة إضافته إلى استعلام SQL وإضافة الحقل إلى إنشاء السجل. وبالنسبة للمستخدم الضيف، توجد سطر يستخدم النظام في حال فشل البحث عن المستخدم. يمكنك استبداله بالمستخدم الضيف الذي تنشئه.

لقد راجعت هذا السكربت ولا أستطيع العثور على ما يتسبب في زيادة المعرفات (IDs) بشكل متتابع بدءًا من 1 بدلاً من مطابقتها تمامًا لما هو موجود في قاعدة البيانات المصدرية.

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

يتم حاليًا “تعيين” جميع هذه المعرفات إلى معرفات جديدة بواسطة السكربت.

هل أغفلت شيئًا بديهيًا يسمح لي بإجبار جميع المعرفات على البقاء كما هي بعد الاستيراد؟

إذا كان هذا السؤال خارج نطاق هذا المنتدى، فأنا أفهم ذلك. شكرًا لك على القراءة على أي حال! :+1:

هذا غير كافٍ. يجب إنشاء روابط دائمة (permalinks) لكل مستخدم ومنشور وموضوع وتصنيف. راجع الإعدادات → تخصيص → الروابط الدائمة. يدعم العديد من أدوات الاستيراد الأخرى إنشاء الروابط الدائمة.