مرحباً، أحاول استيراد منتدى phpBB2 قديم إلى Discourse الجديد.
لقد قمت بالاستيراد المبدئي من phpBB2 إلى phpBB3، كما هو مذكور في وثائقكم.
واجهت مشاكل في استيراد الصور الرمزية (لم يتم الاستيراد)، ومع كلمات المرور. بالتأكيد يستخدم Discourse طريقة تشفير مختلفة عن phpBB2، لذلك كنت أفكر في كتابة بعض الأكواد التي عند تسجيل الدخول لأول مرة ستتحقق مما إذا كانت كلمات المرور مشفرة بطريقة phpBB2، وتتحقق مما إذا كانت كلمة المرور مشفرة بطريقة phpBB2 (md5؟) تتطابق مع الهاش المحفوظ، ثم تعيد كتابتها بتشفير Discourse.
عادةً، مع “الرجال الجيدين القدامى” PHP و mySql، إنها مجرد مهمة تستغرق نصف ساعة، ولكن مع Discourse لا أعرف حتى من أين أبدأ بتعديل المصدر. تم تعديل phpBB2 القديم الخاص بي بشكل كبير (لهذا السبب لم أقم بتحديثه أبدًا إلى phpBB3)، لكنني أعلم أن هذه ليست عادة جيدة ولا أريد إفساد Discourse وفقدان آلية التحديث الخاصة به، لذلك أتساءل كيف يمكنني إدارة حاجتي. هل يجب علي تطوير إضافة؟ هل هناك فرصة للحصول على هذه الميزة في إصدار “بيتا” جديد؟
شكراً لتلميحك، سأجربه في أقرب وقت ممكن. فيما يتعلق بالصور الرمزية، لقد تحققت مرة أخرى من كل خطوة كما ورد في دليلك، ولكن دون جدوى. ومع ذلك، بما أنني سأضطر إلى تكرار الاستيراد، سأحاول مراقبة كل خطوة وإبلاغك.
لست مالك هذا الموضوع ولكني أحببت أن أتواصل لأنني في رحلة مماثلة بشكل أساسي.
حاليًا، أنا أعمل على import_phpbb3 وهناك أواجه بعض التحديات بالفعل أثناء إنشاء المستخدمين. أود ترحيل صور المستخدمين أيضًا، ولكن يبدو أنها لا تعمل لجميع المستخدمين. بالنسبة للبعض، أحصل على المشكلة التالية:
فشل تحميل الصورة الرمزية للمستخدم myuser: /shared/import/data/images/avatars/upload/phpbb_avatar_2.png
#<ActiveModel::Errors:0x00000055a4b3de78 @base=#<Upload id: nil, user_id: nil, original_filename: "avatar.png", filesize: 0, width: nil, height: nil, url: nil, created_at: nil, updated_at: nil, sha1: nil, origin: nil, retain_hours: nil, extension: nil, thumbnail_width: nil, thumbnail_height: nil, etag: nil, secure: false, access_control_post_id: nil, original_sha1: nil, animated: nil, verification_status: 1, security_last_changed_at: nil, security_last_changed_reason: nil>, @errors=[#<ActiveModel::Error attribute=base, type=عذرًا، الصورة التي تحاول تحميلها كبيرة جدًا (الحد الأقصى للأبعاد هو 80 ميجابكسل)، يرجى تغيير حجمها والمحاولة مرة أخرى.، options={}>]>
تبدو المشكلة في تنسيق ملف png. هل هناك طريقة لاستيراد ملفات png أيضًا أم أنها تحتاج إلى أن تكون gif/jpg؟ oxipng مثبت بالفعل.
root@DietPi4-import:/var/www/discourse# which oxipng
/usr/local/bin/oxipng
root@DietPi4-import:/var/www/discourse#
فيما يتعلق بمكون كلمة المرور الإضافي. لقد قمت بتفعيله كجزء من بناء حاوية الاستيراد. أم هل يحتاج إلى القيام به أيضًا في حاوية discourse؟ هل هناك طريقة لمعرفة ما إذا كان هذا قد نجح أم أنه سيكون شيئًا يحتاج المستخدمون إلى تجربته؟
أرى هذا من وقت لآخر أثناء عمليات الترحيل وعادةً لا يمكن فتح الملفات المتأثرة في عارض الصور بسبب تنسيق ملف غير معروف. أفترض دائمًا أن هذه الملفات قد تلفت على مر السنين.
هل أنت متأكد من أن ملفات PNG التي تحاول استيرادها هي ملفات صور صالحة؟ إذا كان الأمر كذلك، هل يمكنك مشاركة مثال؟ أيضًا، هل تقوم بالاستيراد داخل حاوية Docker أو في بيئة تطوير؟
TL؛DR؛ تم إتلاف الصور أثناء نقلها إلى صندوق Linux.
@gerhard كنت متأكدًا بنسبة 100٪ من أن ملفات PNG الخاصة بي صالحة وصحيحة، حيث تمكنت من فتحها على جهاز الكمبيوتر الذي يعمل بنظام Windows. ومع ذلك، دفعتني تلميحك في الاتجاه الصحيح وتحققت من ملفات PNG كيف تبدو على صندوق Linux. وكنت على حق تمامًا، حيث تم إتلاف جميع ملفات PNG. كان السبب الجذري هو الطريقة التي نقلتها بها. استخدمت SCP (WinSCP) وتم نقل ملفات PNG كملفات نصية، مما أدى إلى تلفها. في محاولتي الجديدة، نقلت كل شيء كأرشيف 7z وقمت باستخراجه مباشرة على صندوق Linux. هذه المرة كان الاستيراد يعمل بشكل جيد.
أقدر دعمك كثيرًا، حيث وجهتني في الاتجاه الصحيح
بينما يعمل الاستيراد الخاص بي الآن بنسبة 99.9٪ من جميع المشاركات، لدي سؤال آخر. هل هناك طريقة لنقل حالة “المواضيع المحلولة” أيضًا؟ في منتدى الإنتاج الجديد، أخطط لاستخدام “discourse-solved”. سؤال كيف يمكن نقل الحالة القديمة إلى العالم الجديد؟
لقد نظرت في قاعدة بيانات phpbb وأعرف الآن الحقل الذي يخزن المعلومات حول ما إذا كان الموضوع/المنشور قد تم حله. أحتاج فقط إلى معرفة كيفية ومكان تخزينه في قاعدة بيانات Discourse.
شكرًا على العرض. نحن مشروع صغير جدًا مفتوح المصدر بدون ميزانية حقيقية. في البداية، لم أكن أدرك أن ميزة “الموضوع تم حله” هي امتداد غير قياسي لـ phpbb (انضممت إلى المنتدى بعد سنوات من إنشائه) واعتقدت أنه قد يكون من السهل إصلاحه. لكنني فهمت أنه طلب فردي، يستغرق وقتًا للنظر فيه.
مرة أخرى، شكرًا لكم أيها الرفاق الذين ساعدوا في جعله يعمل بشكل شبه مثالي.
آه بالمناسبة أيها الرفاق، تم ترحيل phpbb من الإصدار 3.3.5. لقد كان يعمل بشكل جيد، حتى لو لم يكن مدعومًا.