دروبال

وحدات لا غنى عنها عند بناء موقع باستخدام دروبال

مرحبا، وعدتكم  في التدوينة السابقة بتدوينات عن وحدات دروبال، واليوم أقدم لكم وحدات لا غنى عنها عند بناء موقع باستخدام دروبال.

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

1- CCK

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

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

هناك وحدات مكملة لوحدة CCK ستحتاج أن تستخدمها أيضا، فمثلا هناك وحدة ImageField لإضافة حقل صورة وهناك وحدة Link لإضافة حقل رابط.. وغيرها

2- Taxonomy

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

3- Views

لنستمر في مثالنا عن الموقع الاخباري حتى نستطيع أن ندرك أهمية وحدة  Views ، فأنت الآن وبعد إنشاء  نوع المحتوى المسمى “خبر”  وقد أنشأت عدد من الأخبار المصنفة تحت العديد من التصنيفات فهناك خبر سياسي، وهناك خبر اقتصادي وهناك خبر رياضي، وتحتاج أن تكون لديك صفحة بها قائمة الاخبار السياسية، وصفحة أخرى بها الأخبار الاقتصادية وصفحة أخرى بها الأخبار الرياضية  فأنت الآن يمكنك استخدام views
هذه باختصار شديد الأهمية الرئيسية لـ views بالإضافة إلى أنه يمكنك مثلا التحكم في ما هي الحقول التي تريدها أن تظهر في القائمة، فربما تريد أن تظهر فقط العناوين مع التاريخ، أو العناوين مع التاريخ وصورة الخبر وهكذا

4- Panels

قد يختلف معي البعض في أهمية تلك وحدة Panels من حيث أنه يمكن عمل موقع كامل ومعقد بدون استخدامها وبالتالي هي لا تطابق الشرط التي وضعته في أول المقالة أن تكون “لا غنى عنها” ولكني اختلف لأنني كمصصمة  ولست مطورة لا استغنى أبدا عن تلك الوحدة من يوم أن عرفتها.  فهي توفر علي وعلى المطور الكثير من العمل والمجهود.

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

5- Localization

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

6- Internationalization

نعرف أن واجهة استخدام دروبال إنجليزية، ولكن من خلال وحدة Internationalization يمكنك جعل الموقع متعدد اللغات، مثل العربية أو الفرنسية أو أي من لغات الأرض.

7- WYSIWYG

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

ملحوظتان:

- يمكنك إنزال هذه الوحدات من دروبال وقراءة الملف المرفق بها لتتعلم كيف يمكن استخدامها عادة اسمه readme.

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

لوكشة من جديد

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

1- دروبال: سأحدثكم أكثر عن وحداته الهامة وقوالب التصميم الأساسية التي يمكن استخدامها لبناء قوالب خاصة ومعقدة ٢

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

عليكم بالصبر، وعلي الكتابة :)

أحب أعرفك بـ: دروبال

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

وتتضح الصورة أكثر من المثال التالي:

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

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

فما هو دروبال؟

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

الفكرة وراء دروبال: 

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

فلسفة دروبال:

يحدثنا صديقنا دروبال - كجزء من رحلته في البحث عن ذاته- عما يسمى بـ "قوة التجريد" ويشرحها بقوله:

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

هكذا قال دروبال، وكما يتضح فإن التجريد والتعميم حاجة حلوة.

أنواع المواقع التي يمكن بناءها باستخدام دروبال:

  • المواقع المجتمعية
  • مواقع المنتديات
  • مواقع الشركات
  • تطبيقات وب
  • مواقع شخصيات ومدونات
  • تطبيقات التجارة الإلكترونية
  • مواقع إداة الملفات والمصادر
  • مواقع الشبكات الاجتماعية

لماذا دروبال للمطورين؟: 

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

لماذا دروبال للعملاء؟

إذا استخدمت دروبال فإن عميلك:

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

انتقادات موجهة لدروبال:

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

دروبال السابع، أيها المنتظر:

بين أيدينا حاليا دروبال 6 وننتظر بكثير من التطلع دروبال 7 والذي من المفترض أن يحل قائمة من المشكلات ويضيف عدد من الإمكانات الجديدة، مثل إضافة CCK للجذر (سنتعرف على CCK لاحقا) وتحسين قابلية الاستخدام والتي وصل الاهتمام بها هذه المرة وصل إلى أقصى مدىـ فهو أمر أصبح ضمن قائمة مهام دروبال 7 حتى أنهم أنشأوا موقعا خاصا بفريق تطوير قابلية الاستخدام في دروبال ليعرض لنا خطوات عملهم وكيف يخططون من أجل استخدام أفضل.

تشريح دروبال:

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

مصطلحات:

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

  • العقدة node: هي أصغر وحدة محتوى، وكما أن العنقود هو مجموعة من العقد بتكوين ما، فعقد دروبال مستوحاه من نفس المعنى، فهي وحدة قسم ما. فمن الممكن أن تكون تلك العقدة: مقالة (وعليها يتم بناء قسم للمقالات) أو صورة (وعليها يتم بناء قسم معرض الصور) أو خبر (وعليها يتم بناء قسم الأخبار) أو منتج (وعليها يتم بناء كتالوج المنتجات أو تدوينة (وعليها يتم بناء المدونة) أو حدث (وعليها يتم بناء الرزنامة) وغيرها من أنواع المحتوى التي يقوم المطور بإنشاءها لتكون هي الأساس لقسم ما (عنقود ما) 
  • وحدة module: هو برنامج صغير، كود يكتبه المطور من أجل وظيفة ما بالموقع، فمثلا لعمل أنواع من العقد نحتاج لوحدة تسمى CCK وهي تمدنا بالأدوات اللازمة لإنشاء نوع عقدة مثل "خبر"، وهناك مثلا وحدة views والتي تتيح لنا إنشاء قسم الأخبار بناءا على عقدة الخبر التي تم انشاءها بواسطة cck من قبل، وهناك وحدة comment التي تتيح للمستخدمين التعليق على تلك العقد التي تعرض من خلال القسم الخاص بها،... 
  • الصندوق block: هي طريقة عرض للعقد أو البيانات على الصفحة، غالبا ما توضع في الجوانب. وكأمثلة للتوضيح من الممكن إنشاء صندوق لعرض أحدث التعليقات، أو صندوق لعرض قائمة  الروابط الأساسية لأقسام الموقع أو صندوق لعرض رزنامة صغيرة، أو صندوق لعرض أحدث المنضمين للموقع أو صندوق لعرض إعلان ما داخلي أو خارجي أو صندوق لعرض آخر الأخبار (والتي هي بدورها كما قلنا عدد من العقد نوع محتواها "خبر").
  • القوائم menu: القائمة تتكون من عدد من الروابط. فمثلا، روابط الموقع الأساسية هي قائمة، والروابط التي من الممكن أن تضعها في ذيل الصفحة هي قائمة، والروابط الخاصة بقسم ما هي قائمة، ويسهل عليك دروبال الأمر فعندما تنشىء قائمة جديدة ينشىء لها دروبال صندوق، فما عليك إلا عرضه في المكان المقرر. 
  • نوع المحتوى content type: إذا كنت قد فهمت فكرة العقدة، فمن السهل أن تفهم أن نوع المحتوى هو نوع العقدة، فتكون العقدة إما خبر أو صورة أو منتج كما قلنا، ولإنشاء عقدة "خبر" مثلا فيجب أن تكون هناك "نوع محتوى: مسئول عن إنشاء تلك العقدة.. وهي ما يقوم المطور بإنشاءها ببساطة من خلال إضافة وحدة CCK، فتكون نوع محتوى "المقالة" عبارة عن مجموعة من الحقول مثل: العنوان، النص، اسم الكاتب، وسومات خاصة بالمقالة،...

ابدأ دروبال الآن:

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

مصادر بالإنجليزية لتعلم دروبال:

أقوال مأثورة:

أقوال مأثورة عن مستخدمي دروبال من المطورين والمصممين (بالعامية المصرية لضمان المصداقية):

  • "اكيد في موديول بيعمل ده".. كلنا بنقول كده
  • "يارب.. احفظ الصندوق".. دعاء مأثور لحفظ الـ blocks
  • "أنا شغلتي أدوس على clear cache".. عندما يتواضع الـ system engineer
  • "فين أيامك يا دروبال".. واحد اضطرته الظروف يشتغل بـ Django
  • "دروبال صعب، أنا بستخدم ووردبرس".. واحد استخدم ووردبرس الأول ومش مستعد يبذل مجهود يعرف دروبال.

مواقع شهيرة تستخدم دروبال