اذهب إلى المحتوى

الأخطاء التي يقع فيها المبتدئون في دروبال


أكاديميّة حسوب

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

هل دروبال مناسب للمشروع؟

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

فالكثير من المواقع ليست سوى مجرد نموذج لبطاقة زيارة، أي أنها لن تحوي نظام إدارة أعضاء، مع عدد قليل من الصفحات دون أي نية أو حاجة للإضافة إليها باستمرارية، كما أن البيانات الموجودة لا تستدعي المعالجة والاستدعاء من قاعدة بيانات، في مثل هذه الحالة المنتشرة، ليس من الحكمة تحميل العميل تكلفة خادم بمواصفات خاصة لاستضافة ملفات دروبال والتي يبلغ عددها نحو 35,000 ملف مع 200 ميجابايت، عدا حجم قاعدة البيانات مع سرعة استجابة أقل بالنسبة لأنظمة إدارة خفيفة لا تعتمد قواعد البيانات مثل نظام إدارة المحتوى البسيط Pico CMS والذي لا يتجاوز حجمه 1 ميجابايت في الواقع، وحتى الكثير من المدونات الشخصية.

إهمال التحديث

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

يمكن الإطلاع على آخر التحديثات لنواة دروبال أو الوحدات الإضافية من خلال القائمة: التقارير > التحديثات المتوفرة، أو المسار أدناه، حيث ستظهر الأجزاء التي بحاجة لتحديث لأسباب أمنية باللون الأحمر، والأجزاء التي يتوفر لها تحديث باللون الأصفر.

نظرًا ﻷهمية التحديث لأسباب أمنية، ستكون وظيفة التحديث التلقائي للأسباب الأمنية متوفرة في دروبال 10.

admin/reports/updates

01-updates.png

التخطيط السيئ

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

إن تجاوزنا مسائل التخطيط في مجالات إدارة نظام المعلومات -بمفهومها العام من تقنية المعلومات- والبنية التحتية واختيار التطبيق المناسب، وتوصل فريق المشروع لاعتماد دروبال كنظام إدارة محتوى، فسيكون عليه مناقشة منطق العمل في طبقات دروبال الخمسة وهي:

  1. طبقة البيانات: وتشمل تصميم العقد وأنواع المحتوى.
  2. طبقة الوحدات البرمجية.
  3. طبقة القوائم والمجموعات.
  4. طبقة صلاحيات الأعضاء.
  5. السمات أو المظهر.

بما أن تدفق البيانات يبدأ من الطبقة الأولى (طبقة البيانات) حتى الوصول لطبقة المظهر، فإن أي خطأ في الطريق يؤدي لتوقف العملية المرجوة أو حتى توقف الموقع كاملًا.

02-drupal_flow_0.png

 

مصدر الصورة من موقع Drupal.org تحت الترخيص CC BY-SA 2.0.

الأخطاء الشائعة في طبقة البيانات

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

03-Drupal8_UPsitesWeb_Schema_10-19-2013.png

مصدر الصورة: drupal.org

إنشاء العديد من أنواع المحتوى

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

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

إنشاء الحقول دون ضرورة

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

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

انظر دائمًا للحقول الموجودة في قائمة "استخدام حقل موجود" قبل إضافة حقل جديد، يمكن إضافة حقل جديد من القائمة: الهيكلية > أنواع المحتوى > [إسم نوع المحتوى] > تسيير الحقول، أو من المسار التالي (في حالة نوع المحتوى صفحة أساسية):

admin/structure/types/manage/page/fields/add-field

04-add_field.png

إنشاء محتوى جديد بدل إنشاء ترجمة للمواقع متعددة اللغات

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

لو رغبت بالإطلاع على سبب هذا الخطأ من قاعدة بيانات دروبال، افتح phpmyadmin ثم اتجه لجدول node، حيث ترى أن المحتوى الواحد يتشكل مرة واحدة حين الإنشاء برقم nid فريد و langcode يبين اللغة التي تم بها إنشاء المحتوى الأصلي، فيما يظهر في الجدول node_field_data كل المحتويات باللغة الأصلية والترجمة المرتبطة بها بذات رقم المحتوى nid الفريد.

05-node_field_data.png

إهمال معالجة وتحسين الوسائط المتعددة

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

  1. أن تكون ذات أبعاد منطقية للعرض على الشاشة.
  2. أن تكون بدقة تقدر بحوالي 72 PPI.
  3. أن تكون محفوظة بعد تعديل نمط الألوان إلى indexed color.
  4. بالنسبة للصور من نوع jpg، تأكد من حفظها بجودة تتراوح بين 65% و 75%.

يؤدي الإنتباه إلى هذه المعايير إلى تخفيض حجم الصور بنسبة تصل لتسعين بالمئة وهو ما يكفل أن يلاحظ المستخدم سرعة تصفح الموقع دون أن ينتبه لوجود أي فرق في جودة الصور.

الأخطاء الشائعة في طبقة الوحدات

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

استخدام الكثير من الوحدات دون ضرورة

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

  1. إضافة الكثير من الوحدات تقلل كفاءة وسرعة أداء دروبال.
  2. قد لا يوفر مطوروا الوحدات تحديثات لها تتوافق مع الإصدارات الأحدث من دروبال، وهو ما يؤدي لصعوبة الهجرة للإصدارات الأحدث.
  3. مع زيادة الوحدات تزيد فرص ظهور المشكلات وبروز الثغرات الأمنية.

استخدام وحدات مهملة

الوحدات جزء حيوي من دروبال ويشارك مجتمع المصادر المفتوحة بأكثر من 48,555 وحدة معروضة في موقع دروبال الرسمي، إضافة للكثير من الوحدات المتوفرة في مستودعات أخرى مثل GitHub، عادة ما تكون الوحدات المشهورة هي الخيار الأمثل نسبة للوحدات المهملة والتي لم تتم تجربتها على عدد كبير من المواقع. يمكن مشاهدة عدد المواقع التي تستخدم الوحدة المعنية تحت العنوان Project information في صفحة الوحدة بموقع دروبال الرسمي.

استخدام وحدات غير موثوقة

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

06-security.png

الأخطاء الشائعة في طبقة صلاحيات الأعضاء

سنذكر تاليًأ أهم الأخطاء الشائعة التي يرتكبها المبتدؤون في دروبال:

تحديد الأدوار بدقة

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

  1. تجنب إتاحة فرصة إنشاء نص بكل وسوم HTML لغير مديري الدرجة الأولى.
  2. حاول تجنب استخدام وحدة PHP لكن في حال الاضطرار لذلك، تأكد من عدم إتاحة صلاحيات الوصول لهذا النص لغير مديري الدرجة الأولى.

تجنب برامج الروبوت الخبيثة

دروبال نظام إدارة محتوى شهير وبالتالي تستهدفه الكثير من برامج روبوت نشر الإعلانات الخبيثة والتي تقوم بإرسال نصوص عديدة وبلغات كثيرة في قسم التعليقات بموقعك، سيؤدي هذا لإثقال موقعك ببيانات لا فائدة منها من جانب، وتزعج زوار الموقع من جانب آخر. تأكد من تثبيت وتفعيل أحدى الوحدات المعنية بالتأكد من أن المشاركة ليست من برنامج روبوت، مثل وحدة recaptcha والتي تستخدم خوارزميات مقدمة من شركة جوجل للتعرف على برامج الروبوت وحجبهم من المشاركة الخبيثة في موقعك.

07-reCAPTCHA.png

الخلاصة

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

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...