ندير منتدى جديدًا مستضافًا يعتمد على Discourse منذ شهر، ونحن معجبون جدًا به. لدينا بالفعل 2000 مستخدم.
نحاول نقل النصوص الملونة من منتدى phpBB السابق، لكننا لا نستطيع جعلها تعمل في المنتدى الجديد: [color=#BFBFBF]رمادي - “جاهز للتحديث”[/color]، [color=#FF8000]برتقالي - الرقم القديم[/color]، أو [color=#00BF00]أخضر - الرقم الحالي[/color].
عندما استوردنا ما يقرب من مليون مشاركة من vB إلى Discourse، قمنا بإزالة جميع أكواد الألوان BBcode أثناء عملية الهجرة.
كانت مشكلتنا أن إضافة BBcode لا تعمل كما هو متوقع عندما تكون الأكواد متداخلة (BBcode داخل BBcode)، لذا وبعد تحليل مكثف لهذا الأمر، قررنا إزالة جميع وسوم ألوان BBcode (تكرارياً) أثناء عملية الهجرة.
إن استيراد الأكواد المتداخلة BBcode فوضوي للغاية، بالطبع! إنه “قابل للتنفيذ”، لكننا قررنا أن الجهد المبذول لا يستحق العناء (بالإضافة إلى أنه يضيف قيمة قليلة لأن خطوط الألوان المسماة، مقارنة بالفئات، تجعل التصميم صعباً).
تجربتنا مع إضافة BBCode الرسمية كانت أنها لا “تعمل بشكل جيد” مع BBCode المتداخل. ومع ذلك، إذا لم يكن لديك BBCode متداخل، فمن “الأرجح جدًا” أن هذه ليست مشكلة بالنسبة لهجرتك.
كان لدينا في هجرة موقعنا عقود من BBCode المتداخل (مئات الآلاف)، وكان ذلك مشكلة ضخمة (حتى مع إضافة BBCode الرسمية التي نستخدمها اليوم)، لذا قمنا ببساطة بإزالة جميع أكواد الألوان (وبعض وسوم الكود الأخرى التي لم نكن بحاجة إليها). لم يشتكِ أي مستخدم من غياب لون النص في منشور يعود إلى 5 سنوات، ولن يشتكي أحد.
جعل BBCode المهاجر يعمل بشكل صحيح ليس بسيطًا مثل “استخدام إضافة BBCode الرسمية”. إذا كانت هجرة كبيرة لسنوات من مجموعات مختلفة من BBCode المتداخل بهذه البساطة، لكانت مدة هجرتنا الكاملة أسابيع بدلاً من أشهر. إنها شيء يجب تجربته firsthand وليست “نظرية”، بل هي ببساطة هكذا. إضافة BBCode الرسمية جيدة، ونستخدمها، ولكن فقط بعد إزالة الكثير من BBCode المتداخل.
كما اتخذنا قرارًا بإزالة جميع وسوم BBCode للألوان (كليًا) لأنه عندما يكون اللون مدمجًا في النص، قد يبدو مقبولاً مع سمة واحدة (مثل سمة فاتحة)، لكن نفس اللون لن يبدو جيدًا، وغالبًا ما يكون مصدر إلهاء في سمة أخرى (مثل سمة داكنة)، لذا اتخذنا قرارًا بإزالة جميع وسوم BBCode للألوان ونحن سعداء جدًا بذلك.
بالطبع، يجب على كل موقع اتخاذ خياراته الخاصة بشأن المقايضات أثناء الهجرة. يمكنني القول إن لدينا بعض “أشخاص REGEX الأذكياء جدًا” عملوا لشهور لجعل هجرتنا “مثالية”، ومعظم الوقت المستغرق كان بسبب BBCode. الإضافات الرسمية والمكتبات البرمجية (gems) لهذا الغرض كانت “تقريبًا أوليًا جيدًا” لكنها تركت الكثير مما يُرغب به في الهجرة النهائية، لذا كتبنا الكثير من Ruby gsub() REGEX لتنظيفها.
أتمنى لك التوفيق وأتمنى أن يكون هذا المنظور العملي “من ساحة معركة الهجرة” مفيدًا. لا شك أن الهجرة من منتدى قديم إلى آخر يمكن أن تكون “معقدة للغاية” إذا كان هدفك هو هجرة “مظهر رائع” بدلاً من نوع من “الهجرة غير المنظمة”.