مقدمة:

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

الحصول على دروبال 7 وإستخدامه:

يمكن تنزيل دروبال 7 من الموقع الرسمي لدروبال ( Drupal.org ) ، وعند إكتمال عملية التنزيل نجد أننا حصلنا على مجلد بداخله مجموعة من المجلدات والملفات بإمتدادات .php و .jS و .css وغيرها من الإمتدادات ، وببساطه يمكنك تحويل المجلد الرئيس لدروبال 7 إلى عنوان مشروعك الذي تريد وإعتبار جميع المجلدات والملفات التي بداخله كبنية قاعدية للمشروع الذي نرغب ببنائه بمعنى أننا سنبنى على ما هو موجود بداخل هذا الملف وسنضيف عليه ونعدل لحين إكتمال المشروع وفي حال رغبنا ببناء مشروع جديد سنقوم بتنزيل نسخة جديدة من دروبال 7 والبناء عليها وهكذا دواليك.

بنية المجلدات:

مجلد (Includes):

يحوى هذا المجلد ملفات بإمتداد .php والتي توفر الدوال Functions والفئات Classes التي تمثل في مجملها جميع الـAPI الخاصة بدروبال.

مجلد (Misc):

يضم هذا المجلد بعض المكونات الأساسية اللازمة لعمل دروبال مثل ملفات الـJavaScript والJquery وبعض الصور.

مجلد (Modules):

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

يضم هذا المجلد بداخله مجلدان الأول (database) ويحوي بداخله مجموعات الملفات الخاصة بإدارة قواعد البيانات المختلفة والتي يمكن لدروبال الإرتباط بها مثل Mysql أو Postgere وغيرها والثاني (filetransfer) وهو خاص بإدارة العمليات المتعلقة بحركة الملفات من وإلى نظام دروبال ( عمليات التحديث ، الترقية ، إضافة وحدات جديدة ، حذف وحدات ... ألخ ).

مجلد (Profiles):

وهو المجلد الخاص بملفات تهيئة دروبال للعمل أول مرة ( التنصيب Installation ) كما بالإمكان تخصيص عدة Profiles لتكون كخيارات تنصيب للمستخدم.

مجلد (Scripts):

هذا المجلد خاص بعمليات التطوير بحيث يضم الملفات التي تحوى أوامر الـShell.

مجلد (ٍSites):

هنا حيث بإمكان المطورين بناء الوحدات الخاصة بهم وإجراء أي تعديلات مطلوبة وهو يضم مجموعة مجلدات كالتالي:

  • مجلد (Site/all/libraries): خاص بالمكتبات الإضافية والتي يمكنها العمل مع دروبال مثل Wysiwyg Editor.

  • مجلد (Site/all/modules): خاص بالوحدات الجديدة التي يبنيها المطورون وهنا حيث تتركز أغلب الإضافات الخاصة بالمشروع.

  • مجلد(Site/all/themes): خاص بملفات التنسيق الـThemes الجديدة التي يبنيها المصممون.

  • مجلد (Sites/default): يحوي هذا المجلد ملف الـSetting.php الخاص بالضبط الإفتراضي لدروبال.

  • مجلد (Sites/default/files): وهو المسار الإفتراضي لرفع الملفات بأنواعها المختلفة من قبل المستخدم وبالإمكان لاحقاً تخصيص إضافية مثلاً مجلد خاص بالملفات ومجلد خاص بالصور وهكذا.

مجلد (Themes):

يضم هذا المجلد مجموعة من قوالب الـTheme الجاهزة والتي تأتي مع دروبال أو يمكن إنزالها من الموقع الرسمي لدروبال Drupal.org.

بعض الملفات الهامة:

بعد تنزيل دروبال وفك الضغط نلاحظ أن المجلد الرئيسي يحتوى على بعض الملفات الأساسية وهي كالتالي:

ملف (authorize.php):

يضم الكود الخاص بعمليات التحقق من الملفات المنزلة أو المحملة مثلاً أثناء عمليات التحديث والتحميل للـTheme أو الـModule الجديدة.

ملف (cron.php):

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

ملف (index.php):

يمثل النقطة الرئيسة لإستقبال كافة الطلبات الموجهه لنظام دروبال ويقوم بتحليل الـURL المرسل بواسطة المستخدم ومن ثم تحديد الجزئية المراد تنفيذها من النظام.

ملف (install.php):

بعد تنزيل نسخة دوربال وفتحها عبر الـLocalhost أو الـServer فإن ملف Install.php هو الملف الخاص بإجراء عمليات الإعداد والتنصيب الأولية لدروبال وإعداده للعمل.

ملف (update.php):

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

ملف (xmlrpc.php):

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