هل يجب علي إعادة استخدام حقول دروبال الحالية؟
نشرت: 2022-02-16في بعض الأحيان يمكننا تقديم نصيحة واضحة حقًا: "افعل هذا!" أو "لا تفعل ذلك!"
لن تكون هذه واحدة من منشورات المدونة.
يمنحك دروبال القدرة على إعادة استخدام الحقول. إذا كان لديك حقل "صورة" ، فيمكنك اختيار استخدام نفس الحقل في كل نوع محتوى على موقعك. ومع ذلك ، ليس من الواضح دائمًا ما إذا كانت إعادة استخدام الحقول فكرة جيدة. أحيانًا يكون الأمر كذلك ، وأحيانًا لا يكون كذلك.
فيما يلي نظرة عامة على المزايا والعيوب التي يجب مراعاتها قبل إعادة استخدام حقول دروبال.
نصائح عامة حول إعادة استخدام الحقول
يمكنك اختيار ميزة "إعادة استخدام الحقل الموجود" متى انتقلت إلى "الهيكل" ، ثم "أنواع المحتوى" والنقر فوق "إدارة الحقول" لنوع المحتوى.
تستخدم وثائق Drupal.org للتوصية رسميًا بعدم إعادة استخدام الحقول:
يوصى بإنشاء حقول جديدة ، بدلاً من إعادة استخدام الحقول الموجودة ، إلا إذا كان لديك سبب واضح للقيام بذلك.
ومع ذلك ، أصبحت هذه النصيحة أكثر دقة في السنوات الأخيرة ، ويقول دروبال رسميًا إن ذلك يمثل مزايا وعيوبًا.
تحتوي وثائق Drupal Field UI على قسم مفصل يسمى "إعادة استخدام الحقول":
هناك سببان رئيسيان لإعادة استخدام الحقول. أولاً ، يمكن أن توفر لك إعادة استخدام الحقول الوقت الذي تستغرقه في تحديد الحقول الجديدة. ثانيًا ، تتيح لك إعادة استخدام الحقول أيضًا عرض المحتوى وتصفيته وتجميعه وفرزه معًا حسب الحقل عبر أنواع المحتوى. على سبيل المثال ، تسمح لك وحدة المشاهدات التي ساهمت بها بإنشاء قوائم وجداول للمحتوى. لذلك إذا كنت تستخدم نفس الحقل في أنواع محتويات متعددة ، فيمكنك إنشاء طريقة عرض تحتوي على جميع أنواع المحتوى هذه معًا لعرض هذا الحقل ، وفرزًا حسب هذا الحقل ، و / أو تمت تصفيته حسب هذا الحقل. هناك سبب رئيسي واحد لعدم إعادة استخدام حقل: أذونات مختلفة. على سبيل المثال ، قد تحتاج إلى أدوار مستخدم مختلفة للحصول على مستويات مختلفة من الوصول إلى الحقل ، اعتمادًا على نوع المحتوى الذي تمت إضافته إليه. قد يكون هذا صعبًا إذا قمت بإعادة استخدام أحد الحقول.
الميزة: إعادة استخدام الحقول يمكن أن يجعلك أبسط
نعم ، يمكن زيادة السرعة ، لكن توفير الوقت ضئيل للغاية. الميزة الأكثر إقناعًا هي أن إعادة استخدام الحقول يمكن أن تجعل إدارة الموقع أبسط في بعض الأحيان. مبادرة الويب تلخص هذا بشكل جيد:
يمكن أن تؤدي إعادة استخدام الحقول أيضًا إلى تقليل تعقيد النظام. بدلاً من إنشاء وصيانة 10 حقول مختلفة ، يحتفظ مسؤولو دروبال بحقلين فقط ووثائقهم. يحتاج مسؤولو قواعد البيانات فقط إلى تحسين أداء جدولين إضافيين. KISS دائمًا مبدأ جيد.
بالتأكيد سيكون من الأسهل تطبيق الأذونات والإعداد وعناصر التصميم في حقل واحد معاد استخدامه بدلاً من 10 حقول فريدة.
ميزة: بعض المحتويات تعمل بشكل جيد مع الحقول المعاد استخدامها
العودة إلى وثائق Drupal Field UI مرة أخرى:
تتيح لك إعادة استخدام الحقول أيضًا عرض المحتوى وتصفيته وتجميعه وفرزه معًا حسب الحقل عبر أنواع المحتوى. على سبيل المثال ، تسمح لك وحدة المشاهدات التي ساهمت بها بإنشاء قوائم وجداول للمحتوى. لذلك إذا كنت تستخدم نفس الحقل في أنواع محتويات متعددة ، فيمكنك إنشاء طريقة عرض تحتوي على جميع أنواع المحتوى هذه معًا لعرض هذا الحقل ، وفرزًا حسب هذا الحقل ، و / أو تمت تصفيته حسب هذا الحقل.
يشير أحد مؤلفي التعليقات على وثائق Drupal.org إلى نفس النقطة حول Views. يشيرون إلى أن طرق العرض يمكنها دمج المحتوى بطرق معقدة. لذلك ، إذا كان لديك العديد من أنواع المحتوى المختلفة ، مع حقول تاريخ مختلفة ، فيمكن لطرق العرض دمجها في طريقة عرض واحدة. ومع ذلك ، فقد أشاروا أيضًا إلى أن طرق العرض ليست معقدة جدًا في الفرز. لذلك ، إذا كان لديك العديد من أنواع المحتوى المختلفة ، مع حقول تاريخ مختلفة ، فإن طرق العرض ستكافح لفرز المحتوى في جميع حقول التاريخ المختلفة هذه.

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

هذه النصيحة مشابهة لأفكارنا حول استخدام المواقع المتعددة. عندما تبدأ في بناء التبعيات بين قواعد البيانات أو قواعد البيانات ، فإنك تضيف تعقيدًا إلى موقعك.
ميزة أم عيب؟ أداء
توضح وثائق دروبال إحدى الفوائد المحتملة لإعادة استخدام الحقول:
لا تؤدي إعادة استخدام الحقول إلى جعل Drupal يعمل بشكل أسرع فحسب ، بل يجعل أيضًا مشروعك أسهل في الصيانة.
يحتوي هذا الموضوع على Stack Overflow على تصور وثيق الصلة بالأداء. يتضمن هذا التعليق:
لكن المشكلة الحقيقية هي عدد الحقول التي لديك. نظرًا لأنه حاليًا في Drupal 7 ، يتم جلب التكوين الميداني الكامل لجميع الحقول ، بغض النظر عما إذا كانت محملة أم لا ، من ذاكرة التخزين المؤقت في كل طلب فردي. لقد رأيت مواقع بها أكثر من 250 حقلاً ، حيث يستغرق تحميل التكوين الميداني وإلغاء تسلسله أكثر من 13 ميجا بايت من الذاكرة. "
لذلك ، يمكن أن تؤدي إعادة استخدام الحقول إلى تحسينات صغيرة في الأداء عن طريق السماح لنا بالحصول على إجمالي عدد أقل من الحقول.
ومع ذلك ، قد تفقد هذه التحسينات الصغيرة في مكان آخر. هذا من مبادرة الويب مرة أخرى:
[الحقول] تعقيد إضافي لنظام دروبال. عند إنشاء حقل جديد ، يضاف تعريف الحقل إلى جدول فئة الحقل ويتم إضافة تكوين الحقل إلى جدول مثيل الحقل ؛ في غضون ذلك ، يتم إضافة جدول جديد إلى قاعدة بيانات دروبال لتخزين البيانات الميدانية. تضيف جداول قاعدة البيانات تعقيدًا إلى النظام. بالإضافة إلى ذلك ، ستؤدي الاستعلامات الخاصة بالعقد إلى تحمل تعبيرات JOIN من الجداول إلى بيانات الحقل. ستؤثر JOINs المتعددة على أداء قاعدة البيانات نظرًا لأن MySQL تستجيب بشكل سيئ للاستعلامات ذات JOINs المتعددة للجداول إذا لم يتم تكوينها بشكل صحيح.
ملخص
نأسف لعدم توفر إجابة سهلة على هذا السؤال. هذا سؤال ستستفيد منه من القراءة حول المشكلة وفهم الإيجابيات والسلبيات. إذا كنت تقوم بإنشاء موقع حقيقي ، فسيكون من المفيد إنشاء الموقع في بيئة اختبار لمعرفة المزيد حول كيفية تأثير هذه الإيجابيات والسلبيات على احتياجات موقعك.