هجرة دروبال من 7 إلى 8 - دليل إرشادي يعالج تحديات الهجرة (مع توصيات)

نشرت: 2020-02-27

هجرة دروبال 7 إلى 8 في ذهنك؟ هل ما زلت تدير موقع الويب الخاص بك على دروبال 7 (أو 6)؟ حان الوقت للهجرة إلى دروبال 8!

لقد كتبنا على نطاق واسع حول سبب الهجرة إلى دروبال 8 إذا كنت لا تزال تستخدم دروبال 7 (أو 6). على الرغم من أن أحد أهم أسباب الهجرة إلى دروبال 8 هو أن ... دروبال 9 قادم! وإذا كنت ترغب في الاستمتاع بمزايا دروبال 9 ، فمن المستحسن أن تقوم بترحيل دروبال 7 إلى دروبال 8 أولاً. يمكننا القول بأنه يجب عليك الانتقال إلى دروبال 8 الآن لأنه لا يوجد وقت كافٍ بمجرد وجود دروبال 9 هنا (يونيو 2020) وموسوعة الحياة دروبال 7 (نوفمبر 2021). لكن يمكنك الادعاء أنه يمكنك اختيار LTS (دعم طويل الأجل) بدلاً من ذلك! عادل بما يكفي. باستثناء أنه بصرف النظر عن إنفاق المزيد من الأموال في التعامل مع مزود خدمة LTS ، فإنك تخسر أيضًا الفوائد الغنية التي يقدمها دروبال 8. قد تبدو بعض الأشياء صعبة ولكنها ضرورية لمستقبل أقوى وأبسط.

بمجرد دخولك إلى Drupal 8 ، لن تضطر إلى "الترحيل" بعد الآن - فقط "ترقية" بسيطة من Drupal 8.9 إلى 9 ، ثم 9.9 إلى 10 وما إلى ذلك ، ستفعل. إن ترحيل دروبال 7 إلى دروبال 8 ليس دائمًا سهلًا ومباشرًا ؛ أنا موافق. اتباع العملية يساعدك ولكن قد تظل تواجه بعض التحديات أثناء الترحيل ، خاصةً إذا كان نموذج محتوى موقع ويب Drupal 7 الخاص بك معقدًا إلى حد كبير. لنأخذك خلال عملية الترحيل خطوة بخطوة من دروبال 7 إلى دروبال 8 مع التحديات التي قد تواجهها. وتوصياتنا حول كيفية التغلب عليها.

دروبال 8 يهاجر - الافتراضات والاستعدادات

قال الروائي الإسباني ميغيل دي سيرفانتس: " أن تكون مستعدًا هو نصف النصر ". يمكن أن تتعقد عملية ترحيل دروبال 8 ولكن إذا قضيت وقتًا كافيًا في التخطيط للترحيل ، فلن تفاجئك التحديات. أدى اعتماد دروبال 8 للعديد من معايير التطوير الحديثة مثل Symfony و Twig و PHP 7 وما إلى ذلك إلى إعادة بناء كاملة ، لكنه يتطلب أيضًا تجارب رقمية أكثر قوة وقوة ومرونة. المدرجة هي بعض الشروط المسبقة التي يجب أن تتذكرها قبل أن تبدأ ترحيل دروبال 7 إلى 8-

  • قم بتحديث موقع ويب Drupal 7 الخاص بك إلى أحدث إصدار متاح. سيساعد هذا في ترقيات تلقائية أنظف لبعض الوحدات التي لها مسارات ترقية دروبال 8 مباشرة.
  • تأكد من أن لديك حق الوصول إلى قاعدة بيانات وملفات موقع دروبال 7 (العامة والخاصة).
  • قم بإنشاء نسخة احتياطية من موقع ويب دروبال 7 واستخدم هذه النسخة الاحتياطية لترحيل دروبال 8. لا يوصى بترحيل موقع ويب وظيفي مباشر على الرغم من أن الترحيل نفسه لا يُجري أي تعديلات على المصدر.
  • قم بتنزيل تثبيت جديد لـ Drupal 8 من هنا وقم بتمكين وحدات الترحيل الأساسية التي ناقشناها أعلاه. وتذكر ، يجب أن تكون طازجة! سيتم استبدال أي تكوينات أو محتوى تم إنشاؤه عند إجراء ترقية دروبال 8.
  • لا يوجد مسار ترقية مباشر من دروبال 7 إلى دروبال 8 (على عكس ترقيات الإصدار السابق). تعرف على نظام ترحيل دروبال 8. الوحدات الثلاث الموجودة في الوحدة النمطية الأساسية - 8 ترحيل دروبال ، وحدة دروبال 8 ترحيل دروبال ووحدة دروبال 8 ترحيل دروبال .
  • حدد خيار الترحيل - هل ستستخدم Drush (الذي يمنحك تحكمًا دقيقًا) أم ستستخدم واجهة مستخدم المتصفح (أسهل ولكن أقل تحكمًا)؟
  • اعرف مصدرك. تسمح مرونة نظام ترحيل محتوى دروبال باستخراج المحتوى وتحميله من الإصدارات القديمة من دروبال ومصادر أخرى متنوعة مثل CSV و XML و JSON و MYSQL وما إلى ذلك.
  • لترحيل محتوى Drupal بسلاسة ، قم بإجراء تدقيق شامل للمحتوى لتحديد المحتوى الذي تحتاج إلى ترحيله. تجاهل المحتوى غير المستخدم وغير ذي الصلة لتجنب تضييع الوقت والجهد في ترحيلها.

عملية ترحيل دروبال من 7 إلى 8 (خطوة بخطوة)

  • راقب وخطط

يتطلب ترحيل محتوى Drupal السلس منك أولاً تحديد أنواع المحتوى وهيكل المحتوى للموقع الحالي وتوثيق الملاحظات. يتضمن ذلك أنواع المحتوى وأنواع الحقول والكتل والتصنيفات وما إلى ذلك. قم بإعداد خطة حول ما تحتاجه للترحيل وما يجب دمجه ، بناءً على هذه الملاحظات. قم بتحليل طرق العرض وتكوينات الموقع الأخرى وقم بفهرستها بحيث يسهل تكرارها في دروبال 8.

  • قم بإنشاء قائمة مرجعية للوحدات في موقع ويب Drupal 7 الخاص بك

باستخدام قائمة التحقق هذه ، يجب أن تكون قادرًا على تحديد الوحدات التي ما زلت بحاجة إليها ، أو إذا كان هناك إصدار دروبال 8 من تلك الوحدة ، أو إذا انتقلت الوحدة الآن إلى دروبال 8 كور (مثل وحدة الوسائط). لا يمكن نقل جميع وحدات دروبال 7 تلقائيًا إلى دروبال 8. قد تكون بعض وحدات دروبال 7 قد دمجت وظائفها في وحدة دروبال 8 واحدة. وقد تكون بعض وحدات دروبال 7 قد فصلت ميزاتها إلى وحدتين أو أكثر من وحدات دروبال 8. من الأفضل دائمًا تحليل مثل هذه الحالات للتأكد من عدم فقدان البيانات!

توصية الخبراء - استخدم وحدة مثل Drupal Migrate UI لتحديد وحدات دروبال 7 ووحدة دروبال 8 المقابلة لها (إذا كانت متوفرة أم لا).

دروبال -7-إلى -8-الهجرة

نصيحة احترافية - ألا يتوفر إصدار وحدة لـ Drupal 8؟ على سبيل المثال ، لا تحتوي وحدة ImageField في دروبال 7 على وحدة D8 مقابلة. قد نضطر إلى إيجاد أفضل بديل مناسب لهذا في دروبال 8. بالطبع ، لدينا وحدة دروبال 8 الأساسية للوسائط. ومع ذلك ، سيتعين علينا تطوير برامج نصية مخصصة لترحيل بيانات الصورة. ترحيل بيانات الصورة.

توصية الخبراء - إذا كنت قد ورثت للتو موقع ويب D7 وليس لديك أي فكرة عن التخصيصات التي تم إجراؤها على الوحدات النمطية أو إذا قمت بإجراء التخصيصات بنفسك وتحتاج إلى العثور عليها ، فإننا نوصيك باستخدام Hacked! وحدة. ستخضع هذه الوحدة لقائمة الوحدات المتاحة على الموقع والتغييرات / التخصيصات التي تم إجراؤها على كل وحدة.

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

توصيات الخبراء -

  1. يجب إعادة كتابة ملفات القوالب (.tpl) في دروبال 7 باستخدام ملفات twig ، والتي تعد جزءًا من إطار عمل Symphony 2.
  2. تأكد من إعادة كتابة الوحدات النمطية الخاصة بك التي تتبع معايير السمفونية.
  • تنفيذ ترحيل دروبال 7 إلى 8

لقد وصلت الخطوة الأكثر انتظارًا والأكثر أهمية. كما تمت مناقشته سابقًا ، هناك طريقتان لترحيل بيانات دروبال 7 إلى دروبال 8 -

  1. تشغيل الترحيل باستخدام Drupal UI
  2. تشغيل الترحيل مع Drush

يوصى باستخدام هذا الأخير لأنه أكثر كفاءة ، ويمكن دمجه في نصوص shell ، وله رسائل خطأ أكثر وضوحًا.

طريقة دروبال UI

بالاستفادة من وحدة Migrate UI Drupal 8 ، يمكنك البدء بزيارة مسار / ترقية موقع ويب Drupal 8. ستعرض لك صفحة مراجعة ترقية Drupal 8 قائمة بالوحدات في موقع Drupal 7 الخاص بك والتي يمكن ولا يمكن ترحيلها تلقائيًا إلى دروبال 8. بالنسبة للوحدات النمطية التي لها وظائفها في وحدة D8 أخرى ولكنها ليست نفسها تمامًا (مثل وحدة AddressField في D7 هي الآن وحدة العنوان في D8) ، ستحتاج إلى تثبيت وتمكين وحدة D8 المقابلة وإعادة تشغيل عملية ترحيل دروبال 7 إلى 8. استنادًا إلى كتالوج المحتوى والبيانات المستخرجة ، تحتاج إلى إنشاء البرامج النصية للترحيل حيث يمكنك تعيين سمات نوع المحتوى في دروبال 7 مع سمات نوع المحتوى المبنية حديثًا في دروبال 8. وبعد ذلك يمكنك المضي قدمًا في استيراد البيانات من مصدر البيانات.

طريقة Drush

هل أنت مرتاح لاستخدام المحطة؟ إذا كان الأمر كذلك ، يجب عليك اختيار طريقة Drush لترحيل Drupal 7 إلى 8. يوفر مجموعة من الأوامر لعملية ترحيل البيانات مع رسائل حالة أفضل. تحقق من هذا البرنامج التعليمي إذا كنت تبحث عن عملية ترحيل خطوة بخطوة باستخدام أوامر Drush. لم تستخدم Drush من قبل؟ سيساعدك هذا الدليل على فهم أساسيات Drush بقائمة من الأوامر المفيدة للترحيل.

قد تواجه بعض الصراعات الآن. تأكد من التحقق من المشكلات المعروفة في دروبال. org وكيفية إصلاحها. بمجرد الإصلاح ، يمكنك الآن تشغيل عملية الترحيل التي توفر سجلات / تعليقات مستمرة للإجراءات المتخذة. أخيرًا ، تحقق من السجلات بحثًا عن أي أخطاء وقم بإصلاحها وأنت على ما يرام!

توصية الخبراء - انتظر! بمجرد إنشاء المحتوى ، لا تتجاهل أبدًا طرق عرض الصفحة / تحسين محركات البحث. نحتاج إلى المحتوى أن يكون له نفس مسارات URL. لا تنسَ أن تهتم بترحيل الأسماء المستعارة لعناوين URL ومعلومات العلامات الوصفية للمحتوى من موقع دروبال 7 القديم.

  • اختبارات

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

التحديات والتوصيات (المزيد من الخبراء)

  • العديد من الوحدات التي ساهمت بها دروبال 7 لها نسخ أفضل من نفسها في دروبال 8 وبعضها تم إهماله. على سبيل المثال ، سيتم قريبًا إهمال وحدة Field Collection ، التي تُستخدم لتجميع الحقول في دروبال 7. تمت إضافة وظيفة هذه الوحدة إلى وحدة الفقرات ووحدة مراجعة مرجع الكيان في دروبال 8. توفر وحدة دروبال 8 فقرات مرونة هائلة لمحرري / مؤلفي المحتوى لإنشاء نماذج وهياكل سلسة. إذا كنت بحاجة إلى ترحيل وحدة Field Collection وتعيينها إلى وحدة الفقرات (D8) ، فستحتاج إلى كتابة مكونات إضافية مخصصة لتعيين المحتوى بين حقول مجموعة الحقول إلى حقول الفقرة. أو إذا كنت لا تزال ترغب في الاستمرار في ترحيل وحدة مجموعة الحقول حتى في دروبال 8 ، فيمكن معالجة تعيين الحقل هذا عن طريق المكونات الإضافية لترحيل Core المتاحة.
  • هل تستخدم اللوحات لإنشاء صفحاتك المقصودة مثل الصفحة الرئيسية ولوحة المعلومات وما إلى ذلك؟ حتى لو كنت بحاجة فقط لوضع قالب في الصفحة الرئيسية؟ منشئ التخطيط لإنقاذ! يسهل منشئ التخطيط في دروبال 8 على محرر المحتوى تخصيص صفحة مقصودة. لنحقق أقصى استفادة من ميزات دروبال 8. للترحيل من اللوحات إلى منشئ التخطيط ، ستحتاج إلى كتابة بعض ملحقات الترحيل المخصصة.
  • أثناء ترحيل المستخدمين ، سيتعين علينا الاحتفاظ بكلمات المرور أيضًا حتى لا يضطر المستخدم إلى إعادة إنشاء كلمة المرور على الموقع الجديد. كلمات المرور هي محتوى مجزأ. لذلك ، يجب أن تجد خوارزمية نوع التجزئة المستخدمة في الموقع المصدر. التالي. اكتب عملية للتحقق من صحة كلمة المرور التي تم ترحيلها باستخدام كلمة المرور المعاد تجزئتها باستخدام نفس الخوارزمية.
  • عند تشغيل ترحيل Drupal 7 إلى 8 ، قد تستنفد موارد النظام لديك مما قد يتسبب في توقف ترحيلك. بفضل علامات المياه المرتفعة ، يمكنك تشغيل الترحيل مرة أخرى ويجب أن تنتقل من حيث توقفت.
  • أصبحت وحدة الميزات المستخدمة على نطاق واسع في دروبال 7 عفا عليها الزمن تقريبًا بعد أن استحوذت إدارة التهيئة على جميع وظائف الميزات وأكثر في دروبال 8. على الرغم من توفر وحدة الميزات في دروبال 8 أيضًا ، يوصى بشدة بالاستفادة من تكوين دروبال 8 النظام الإداري. ليس من الأسهل التعامل معها فحسب ، بل من السهل تصديرها بين البيئات ، فهي تستخدم تنسيقات ملفات YAML بدلاً من PHP - وهو تنسيق بيانات أكثر قابلية للقراءة وأكثر ملاءمة.
  • إذا كان لديك موقع ويب متعدد اللغات دروبال 7 (أو 6) ، يمكنك الاستفادة من وحدة ترحيل دروبال متعددة اللغات. على الرغم من أن وحدة Migrate Drupal متعددة اللغات لا تزال في مرحلة تجريبية ، إلا أنها وحدة لا بد منها لجميع مواقع Drupal متعددة اللغات.
  • هل تواجه مشاكل مع ترحيل دروبال 7 إلى دروبال 8؟ هناك عدة طرق للإبلاغ عن الإخفاقات والحصول على المساعدة -

- قائمة انتظار إصدار ترقية Drupal 8

- قائمة انتظار مشكلة الوحدة النمطية إذا وجدت خطأً أو استثناءً في وحدة أساسية / مساهمة

- قناة # drupal-migrate IRC على Freenode

- قناة #migration على دروبال سلاك

- وظف خبير دروبال