عذرًا على الرد مرة أخرى. أنا أتعبت في محاولة فهم سبب عدم إنشاء الروابط الدائمة.
ملخص سريع:
أنا أستخدم عناوين URL القبيحة الافتراضية في SMF2 على نطاق النطاق الرئيسي الأعلى. تم تثبيت Discourse على نطاق فرعي من ذلك النطاق الرئيسي. لقد استخدمت أداة الاستيراد smf2.rb من أحدث مستودع Discourse لتحويل SMF2 إلى Discourse (متبعًا دليلك)، لكن لا توجد روابط دائمة في Discourse بعد انتهاء الاستيراد.
يمكنك تغيير هذا الرابط الدائم (أو ربما القليل الآخر؟) إلى أي شكل يبدو قبيحًا؟ مع ذلك، يبدو هذا قبيحًا جدًا بالنسبة لي. قد تحتاج أيضًا إلى تعديل permalink_normalizations في أعلى الملف.
أنا مشوش لأن النسخة التي ربطت بها تبدو وكأنها أحدث نسخة “رسمية”… لكنك الشخص الثاني الذي أشار إلى نسخة مختلفة. ما الذي فاتني؟ وأين يمكنني الحصول على نسختك؟
آه! عذرًا. يبدو أنني نقرت على سكريبت smf1. لذا انظر إلى smf1.rb1 الموجود بجانب سكريبت smf2.rb الذي تنظر إليه.
يمكنك إما النظر إلى سكريبت smf1 أو استخدام make_prettyurl_permalinks كنموذج لإنشاء make_uglyurl_permalinks. لكن هذا يعتمد على جدول عناوين URL الجميلة، لذا قد يكون من الأسهل استخدام smf1.rb كنموذج، لكنني سأحتاج إلى النظر إلى قاعدة البيانات لأتأكد. لا، هذا لن يساعد كثيرًا أيضًا ما لم تعدّل دوال create_xxx.
هناك موجه تفاعلي ويمكنك اختيار الإعدادات الافتراضية (MySQL 8 مع الأدوات).
ثم قمت بتثبيت مكتبة MySQL 8 العادية واستمريت في البناء:
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y libmysqlclient-dev
su discourse -c 'bundle config unset deployment'
su discourse -c 'bundle install --no-deployment --path vendor/bundle --jobs 4 --without test development'
بمجرد الانتهاء من كل هذا، كان الباقي كما هو، والآن يعمل الاستيراد.
قد يرغب مطورو Discourse في تعديل نصوص الاستيراد لمراعاة هذه المشكلة، على الأقل أصبحت متاحة على المنتديات ليتمكن الآخرون من رؤيتها إذا واجهوا نفس المشكلة التي واجهتها.
قمت بنقل مجلد المرفقات يدويًا من SMF2 إلى Discourse قبل الاستيراد، ثم شغّلت أداة الاستيراد مرة واحدة، لكن الملفات المرفقة لا تظهر في المنشورات على Discourse. هل لديك أي فكرة عن السبب؟
لقد شغّلت أداة الاستيراد مرة واحدة بالفعل دون تمكين S3، لكنني أريد استخدام S3. ماذا يجب أن أفعل؟
لقد شغّلت أداة الاستيراد مرة واحدة بالفعل دون استخدام S3. هل سيتم نقل الملفات المرفقة من المواضيع التي تم استيرادها مسبقًا إلى S3 خلال عملية الاستيراد التفاضلي؟
oxipng worker: لم يتم العثور على oxipng؛ يرجى توفير الملف التنفيذي الصحيح أو تعطيل هذا العامل (استخدام وسيطة --no-oxipng أو تعيين :oxipng => false عبر الخيارات)
لذا اعتقدت أن مشكلات الاستيراد قد تكون مرتبطة بمشكلات في S3، لكن اتضح أن S3 يعمل بشكل جيد تمامًا. المشكلة التي أواجهها هي أنه بعد تشغيل سكريبت الاستيراد (مع تمكين S3) وإعادة بناء حاوية الاستيراد، يبدو أن جميع المواضيع في Discourse تفتقر إلى الملفات المرفقة التي كانت مرفقات في مواضيع smf2. بعبارة أخرى، لا توجد أي إشارة بصرية تشير إلى وجود ملف مرفق في موضوع Discourse، وهو ما يظهر بوضوح كمرفق في ما يعادله من مواضيع smf2. ونفس النتيجة تحدث عند استيراد البيانات مع تعطيل S3. لقد نفدت من الأفكار قليلًا هنا. هل لديكم أي أفكار؟
قد يكون الأمر أن الصور مرفقة بالمنشور، لذا يعرف سكرت الاستيراد أنه يجب استيرادها، لكنها غير مُشار إليها داخل النص، مما يمنع ظهورها. يجب عليك تعديل نص المنشور لإدراج رابط للصور. لقد رأيت ذلك سابقًا، أعتقد أنه في منتدى مختلف.