التحضير لـ Drupal 9: دليل شامل للترحيل
بينما نقترب من إطلاق Drupal 9 (3 يونيو 2020)، من الضروري فهم أن هذا التحديث يمثل انتقالاً هاماً ولكنه قابل للإدارة في نظام Drupal. المفتاح للهجرة السلسة يكمن في الحفاظ على مواقع Drupal 8 الحالية مع التبعيات والمكتبات والوحدات المحدثة.
لماذا يختلف Drupal 9؟
الانتقال إلى Drupal 9 يمثل تغييرًا أساسيًا في كيفية التعامل مع الترقيات الرئيسية للإصدارات في Drupal. يتم تحريك هذا التغيير بشكل أساسي بواسطة نهاية العمر المتوقع لـ Symfony 3 في نوفمبر 2021. سيتبنى Drupal 9 Symfony 4، لضمان أمان وحداثة المنصة.
المتطلبات التقنية الرئيسية
متطلبات النظام
1. سيكون مطلوبًا نسخة Symfony 4 أو أعلى
2. سيكون من الضروري PHP 7.2 أو أحدث، كما هو محدد في وثائق Symfony
تغييرات الوحدة
سوف تخضع العديد من الوحدات الأساسية لتغييرات كبيرة:
- ستصبح الوحدة "action" "action_ui"
- سيتم دمج "block_place" في وحدة الكتلة
- ستتحول "field_layout" إلى layout_builder
- سيتم تغيير اسم "simpletest" إلى "phpunit_ui"
تحديثات الكود
تتضمن التغييرات الكبيرة إهمال العديد من الوظائف. على سبيل المثال، سيتم استبدال الوظيفة `file_unmanaged_copy()` بنهج أكثر قوة يعتمد على الخدمة:
التنفيذ السابق:
function file_unmanaged_copy($source, $destination = NULL, $replace = FILE_EXISTS_RENAME) {
@trigger_error('file_unmanaged_copy() is deprecated in Drupal 8.7.0 and will be removed before Drupal 9.0.0. Use \\Drupal\\Core\\File\\FileSystemInterface::copy(). See https://www.drupal.org/node/3006851.', E_USER_DEPRECATED);
// ... implementation details
}
النهج الجديد القائم على الخدمة:
\Drupal::service('file_system')->copy($source, $destination);
هذا التغيير يعتنق الحقن التابع للحاوية، ويشجع على الممارسات المعمارية الأفضل.
تخطيط الهجرة
الاعتبارات الزمنية
- Drupal 8.8 يمثل الإصدار النهائي الذي سيقدم الإهمالات لـ Drupal 9
- يمكن لمواقع Drupal 7 الحالية الهجرة مباشرة إلى Drupal 9، حيث يحافظ على مساواة الميزات مع Drupal 8
الأدوات والموارد
أداة التحقق من Drupal (متاحة على github.com/mglaman/drupal-check) تساعد في تحديد:
- استخدام الكود المهمل
- قضايا التوافق المحتملة
- الكود الذي يحتاج إلى التحديث قبل الهجرة
أفضل الممارسات للهجرة
1. حافظ على تحديث مواقع Drupal 8 الحالية بأحدث الإصدارات الطفيفة
2. قم بتدقيق وتحديث الوحدات المساهمة بانتظام
3. استخدم أدوات التطوير لتحديد الكود المهمل
4. اختبر بشكل مكثف في بيئة التجربة
5. خطط لوقت اختبار كافٍ قبل الإنتاج
التوقعات المستقبلية
كما يؤكد Dries Buytaert، قائد مشروع Drupal: "سيكون الإصدار الأول من Drupal 9 مشابهًا بشكل كبير للإصدار الطفيف النهائي من Drupal 8. التغييرات الرئيسية تركز على إزالة الكود المهمل وتحديث التبعيات الطرف الثالث."
للحصول على وثائق الترحيل التفصيلية والتحديثات، قم بزيارة drupal.org/docs/9.
هذا النهج المنظم للهجرة يضمن أن الشركات يمكنها الانتقال بسلاسة إلى Drupal 9 مع الحفاظ على وظائف الموقع والأداء. من خلال اتباع هذه الإرشادات والحفاظ على التحديثات الحالية، يصبح عملية الترحيل تطورًا قابلًا للإدارة بدلاً من تجديد دراماتيكي.
