الثلاثاء، 25 ديسمبر 2012

كيف يعمل دروبال -الجزء الأول


ما هو دروبال؟
  • يستخدم دروبال لبناء المواقع الالكترونية .
  • دروبال عبارة عن نظام إدارة محتوى مفتوح المصدر , يعتمد في هيكليته على الوحدات بشكل كبير modules  , ويعتمد على العمل التعاوني في بناءه وتطويره.
  • ويتميز دروبال بأنه قابل للتوسع والتطوير , وموافق للمعايير , ويسعى للحفاظ على ترميز – كود – نظيف , بأقل حجم ممكن.
  • دروبال مزود بعدد من الوظائف والفعاليات الاساسية المدمجة في نواة دروبالdurpal core  , ويمكن اضافة وظائف جديدة عبر تفعيل وحدات خارجية .
  • تمت برمجة دروبال ليكون قابل للتكيف , ويمكن تعديل وظائفه عبر القيام ب override على نواة دروبال drupal core   أو عبر اضافة وحدات جديدة ,ولكن لا يتم ابدا التعديل المباشر على النواة core
  • تصميم دروبال يعزل , بشكل ناجح جدا, بين إدارة المحتوى content management  وبين العرض presentation
  • يستخدم دروبال لإنشاء المواقع الشخصية والإدارية , بالإضافة إلى مواقع التجارة الالكترونية e-commerce site  , الجرائد الالكترونية online newspaper  , ادلة الموارد resource directory , مواقع الشبكات الاجتماعية social networking sites , معارض الصور image gallery  … ,باختصار بإمكان دروبال إنشاء اي نوع من انواع المواقع الذي بإمكانك تخيل إنشاءه.
  • هنالك فريق امني متخصص بأمن دروبال drupal security team  , يسعى بشكل جاهد للحفاظ على دروبال آمن وذلك من خلال الاستجابة للتهديدات وإصدار التحديثات الأمنية.
  • جمعية دروبال – جمعية غير ربحية – تقوم بدعم دروبال عبر تطوير البنية التحتية لموقع دروبال drupal.org  , كما انها تنظم الأحدث والمؤتمرات حول دروبال .
   تقنية المكدس stack technology   
من التقنيات التي يستخدمها دروبال “تقنية المكدس ” وهي من التقنيات الشائعة جداً.
في الشكل ادناه 1-1  يتم توضيح تقنية المكدس التي يستخدمها دروبال stack technology
stack technology in drupal
stack technology in drupal
  • طبقة نظام التشغيل : حيث وكما نلاحظ فإن نظام التشغيل يقع في مستوى منخفض في المكدس stack  , وبذلك فإن دروبال لا يهتم كثيرا لنوع نظام التشغيل .
  • يعمل دروبال على اي نظلم تشغيل يدعم PHP
  • طبقة المخدم , وتقع فوق طبقة نظام التشغيل , ويعتبر Apache  أكثر مخدم ويب web server  يستخدم مع دروبل , مع العلم أنه يمكن استخدام مخدمات ويب اخرى مثل Microsoft IIS  .
  • وبسبب العلاقة الطويلة بين دروبال و apache  فإن دروبال ياتي مع ملف .htaccess الذي يقوم بحماية تثبيت دروبال drupal installation .
  • الروابط النظيفة Clean URL وهي عبارة عن الروابط الخالية من اشارات الاستفهام , & وبقية المحارف الغريبة الأخرى, ويتم تحقيق الروابط النظيفة عبر مكون mode_rewrite  الموجود في apache
  • ثم تاتي الطبقة التالية من المكدس عبر طبقة تجريد لقاعدة المعطيات database abstraction layer  والتي تم بشكل كامل إعادة كتابتها بدروبال 7 . المقصود بطبقة التجريد أي بأنها تؤمن واجهة موحدة لتنفيذ الاستعلامات بعض النظر عن نوع قاعدة البيانات المستخدمة.
  • تقوم واجهة قاعدة المعطيات database interface  بتامين واجهة API تعتمد بشكل اساسي على PHP data object PDO وتسمح لدروبال بدعم بأن يدعم اي قاعدة معطيات تدعم PHP.
  • من اكثر قواعد المعطيات الشائعة MySql , PostgreSQL
  • وضمن اصدار دروبال 7 فإن SQLite  اصبح مدعوما ايضا
  • الطبقة الأخيرة ::كتب دروبال بلغة PHP , وكل ترميز نواة دروبال خضعت لمعايير الترميز بشكل صارم.
النواة   Core   
النواة وهي عبارة عن اطار عمل خفيف يشكل لب دروبال , وهو مسئول عن تأمين الفعاليات الأساسية التي تستخدم لدعم بقية الأجزاء من النظام
تتضمن النواة ترميز (كود) يمّكن نظام دروبال من ان يقلع عندما يستقبل طلبا ما , وتحوي النواة core مكتبة تحوي على وظائف شائعة تستخدم بشكل متكرر ضمن دروبال , بالإضافة إلى وحدات modules  تؤمن الوظائف الاساسية مثل :
  • إدارة المستخدمين user management
  • نظام التصنيفاتtaxonomy
  • نظام القوالب templeting
كما هو موضع بالشكل  1-2
drupal-core
drupal-core
كما تتضمن النواة عدد من الكتل ذات الوظائف الاساسية التي تستخدم في أغلب المواقع  , ومن ضمنها
  • Feed aggregation
  • Blogging
  • Polls
  • Forums
المصدر: كتاب التطوير الاحترافي لدروبال

ليست هناك تعليقات:

إرسال تعليق