استيراد Xenforo: معرفات المواضيع والمنشورات الموجودة مسبقًا

مرحبًا يا أصدقاء،

لديّ منتدى Xenforo موجود مسبقًا يحتوي على حوالي ربع مليون منشور.

قبل بضعة أيام، جربت عملية استيراد إلى Discourse.

أولاً، أهنئ جميع من عملوا على السكربت؛ فقد كانت واحدة من أسهل عمليات الاستيراد من نظام منتدى إلى آخر قمت بها.

ومع ذلك، لديّ بعض الأسئلة.

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

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

خلال بحثي، رأيت بعض الإشارات إلى ذلك بالنسبة لـ Vbulletin، وعند قراءة سكربت استيراد XF (وفي النهاية السكربت الأساسي)، أرى أن متغير import_ids يُذكر بشكل متكرر، لكن يبدو أن جميعها متغيرات مؤقتة تُستخدم خلال عملية الاستيراد ثم تُتجاهل (على الرغم من أنني كما ذكرت لست خبيرًا في Ruby، لذا قد أكون مخطئًا تمامًا في ذلك).

منتدى موجود منذ فترة طويلة وقد مر بعدة إصدارات: PunBB، IPS، VB، والآن Xenforo، ولكن في معظم الأحيان تمكنت من الحفاظ على روابط المواضيع القديمة نشطة من خلال بعض السكربتات المخصصة البسيطة. (بطبيعة الحال، كانت تلك البساطة مقابلة بأن معظم تلك عمليات الهجرة كانت أكثر إيلامًا بكثير؛)) أود فعل الشيء نفسه هنا، لكنني أفتقر إلى نوع من الت mapping من الموضوع القديم إلى الجديد أو حقل في قاعدة البيانات يشير إلى معرف الموضوع القديم.

على الأقل أظن أنني أفعل ذلك، قد يكون موجودًا لكنني لا أستطيع العثور عليه :slight_smile:

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

شكرًا لكم.

توجد المعرفات القديمة في PostCustomFields ويتم إنشاؤها كجزء من أداة الاستيراد.

يمكنك الاطلاع على أدوات استيراد أخرى تنشئ Permalinks. يُعد أداة استيراد Vbulletin مثالاً على ذلك. الشيء الآخر الذي يجب الانتباه إليه هو “تطبيع الروابط الدائمة”، وهو تعبير نمطي يُطبَّق قبل إجراء مطابقة الروابط الدائمة. يتيح لك ذلك القيام بأشياء مثل إنشاء رابط دائم مثل ‘/oldtopic/<topic_id>’ يمكنك جعله يتطابق مع /topic/blah.php?xdfj=<topic_id>#93m3lsdfj باستخدام تعبير نمطي.