Understanding Drupal - Core Modules, Node and Content Types

Drupal Logo

ကျွန်တော် Drupal ကို စတင်လေ့လာခဲ့တာ တစ်နှစ်ကျော်လာခဲ့ပါပြီ.. ဒီတစ်နှစ်တာကာလ အတွင်း - အလုပ်နားရက်နဲ့ ညပိုင်းအချိန်တွေမှာ Drupal ကို လေ့လာဖြစ်ပါတယ်။ နေ့ဘက် အလုပ်ထဲမှာ WordPress, နဲ့ PrestaShop ဆိုတဲ့ Shopping Cart Software ကို လုပ်ဖြစ်ပါတယ်။ mmshare.org ကို လည်း Drupal နဲ့ပဲ တည်ဆောက် ဖြစ်ခဲ့ပါတယ်... မြန်မာ Web Developer, Web Designer တွေကြားမှာ WordPress, Joomla စတဲ့ Blogging နဲ့ CMS Platform တွေ အကြောင်းကို အင်တာနက် စကား၀ိုင်းတွေ၊ ဘလော့ခ် တွေမှာ ဆွေးနွေးနေကြပေမယ့် Drupal အကြောင်းကတော့ ပြောတဲ့သူ မရှိသလောက်ပါပဲ...

ဒါဆိုရင် Platform တွေ အများကြီး ရှိတဲ့ အထဲက ဘာဖြစ်လို့ Drupal ကို ရွေးချယ်ခဲ့တာလဲလို့ မေးစရာ ရှိပါတယ်.. ဖြေစရာ အကြောင်းရင်းတွေလည်း အများကြီး ရှိပါတယ်။ အဲဒီအကြောင်းတွေ မပြောခင်မှာ Drupal မှာရှိတဲ့ ထူးခြားတဲ့ အစိတ်အပိုင်းတွေ အကြောင်းကို အရင်ဝေျှပေးပါ့မယ်.. ခုမှ Drupal ကို စပြီးလေ့လာလိုသူ တစ်ဦးအတွက် မသိမဖြစ် အခြေခံအချက်တွေပါပဲ

Nodes are Key Players

ရိုးရိုး သာမန် ဘလော့ခ် ၀က်ဘ်ဆိုက် တစ်ခုတည်းလောက်ပဲ ဖန်တီးမယ်ဆိုရင်တော့ Drupal Core တစ်ခုတည်းနဲ့ လုံလောက်ပါတယ်..  စာရေးသူ တစ်ဦးတည်းပါတဲ့ Single Author Blog တင်မကပါဘူး၊ စာရေးသူတွေ အများကြီးပါတဲ့ Multi Authors Blog အဖြစ်လည်း Drupal Core တစ်ခုတည်းနဲ့ တည်ဆောက်လို့ ရပါသေးတယ်...  ဖိုရမ်ထည့်ချင်သေးတယ် ဆိုရင်လည်း Drupal Core မှာ ပါပြီးသားပါ။ ကိုယ်သုံးချင်တဲ့ အပိုင်းကိုပဲ Enable လုပ်ပြီး မသုံးချင်တဲ့ အပိုင်းကို Disable လုပ်ထား လိုက်ရုံပါပဲ... Drupal ရဲ့ အားသာချက်တစ်ခုက Web Site တစ်ခုမှာ ပါရှိတဲ့့ အကြောင်းအရာ (Content) တွေကို နည်းအမျိုးမျိုး၊ ပုံစံ အမျိုးမျိုးနဲ့ ဖွဲ့စည်းပေးနိုင်တာ ဖြစ်ပါတယ်...

သာမန်အားဖြင့် ၀က်ဘ်ဆိုက်တစ်ခုမှာ -

  • သတင်းဖော်ပြချက်နဲ့ သက်ဆိုင်တဲ့ အကြောင်းအရာများ (News Items)၊
  • About us လို အသိပေး ဖော်ပြချက်များ (Informational Pages) ၊
  • ဘလော့ခ် ရေးသားချက်များ (Blog posts)၊
  • သဘောထား စစ်တမ်းကောက်ယူချက်များ (Polls)၊
  • ယနေ့ လူကြည့် အများဆုံး အကြောင်းအရာများ (Today Popular contents) တို့လို အကျဉ်းချုပ် စာရင်းများ၊
  • သဘောထား ထင်မြင်ချက်များ (Comments)
  • စသည်အားဖြင့် အကြောင်းအရာမျိုးစုံ (Different Content Types) ပါရှိပါတယ်။

Drupal မှာ အဲဒီလို အကြောင်းအရာများစွာထဲက တစ်ခုချင်းစီတိုင်းကို Node လို့ ခေါ်ပါတယ်။ ဥပမာ -

  • ဘလော့ခ်ရေးသားချက် (Blog post) တစ်ခုဟာ Node တစ်ခုဖြစ်ပြီး Content အမျိုးအစားအားဖြင့် Blog Content Type ဖြစ်ပါတယ်။
  • About Us ဆိုပြီး မိမိရဲ့ ၀က်ဘ်ဆိုက် အကြောင်း ရေးသားဖော်ပြထားတာဟာ နောက်ထပ် Node တစ်ခု ဖြစ်ပြီးတော့ Content အမျိုးအစားအနေနဲ့ Page Content Type ဖြစ်ပါတယ်။
  • အကြောင်းအရာတစ်ခုကို အစကနေ အဆုံး အပြည့်အစုံ စာအုပ်တစ်အုပ်လို စာမျက်နှာတွေနဲ့ ဖွဲ့ပြီး ရေးသွားချင်တယ်ဆိုရင်တော့ Drupal မှာ Book Content Type ရှိပါတယ်။ အဲဒီ Book ထဲမှာ ပါ၀င်ဖွဲ့စည်းထားတဲ့ စာမျက်နှာ သို့မဟုတ် အကြောင်းအရာ တစ်ခုစီဟာ Node တစ်ခုစီပါပဲ။

Examples of Nodes via Content Types

ပိုပြီး မြင်သာအောင် ပြောရမယ်ဆိုရင် Drupal site တစ်ခုရဲ့ အသင်း၀င် သုံးယောက်မှာ -

  • ပထမတစ်ယောက်က Blog post တစ်ခုရေးနေချိန်မှာ၊
  • ဒုတိယ တစ်ယောက်က About us လို Page ကို ဖန်တီးနေပြီး၊
  • တတိယလူကတော့ Book page တစ်ခုကို ရေးနေတယ်ဆိုပါစို့။

အဲဒီ အကြောင်းအရာတွေကို သိမ်းဆည်းတဲ့အခါမှာ ပထမလူရဲ့ Blog post ကို node/1 ဒုတိယလူရဲ့ About us ကို node/2 နဲ့ တတိယလူရဲ့ Book page ကို node/3 ဆိုပြီး သတ်မှတ်သိမ်းဆည်းသွားမှာပါ။ ဒီနေရာမှာ သိမ်းဆည်းလိုက်တဲ့ ပုံစံနဲ့ အကြောင်းအရာရဲ့ အမျိုးအစား သပ်သပ်စီဖြစ်တာ၊ Node Types တွေမတူဘူးဆိုတာကို သတိပြုမိစေလိုပါတယ်။

အဲဒီ အတွက်ကြောင့် Drupal ရဲ့ node တစ်ခုဟာ အကြောင်းအရာ အမျိုးအစားများစွာ ဖြစ်နိုင်ပါတယ်။ ဒါပေမယ့် သိမ်းဆည်းတဲ့ အခါမှာတော့ Node တစ်ခုစီမှာ အကြောင်းအရာ အမျိုးအစား တစ်ခုချင်းစီသာ သိမ်းဆည်းပေးပါတယ်။ သက်ဆိုင်ရာ Node Type (သို့မဟုတ် Content Type) တစ်ခုချင်းစီအလိုက် Default Setting အမျိုးမျိုးကို Site Administrator က သတ်မှတ်ပေးလို့ ရပါတယ်။ ဥပမာ -

  • အသင်း၀င်တွေရဲ့  Blog post တွေနဲ့ Comment တွေကို အလိုအလျောက် Publish လုပ်ပြီး၊ 
  • Site Editor တွေရဲ့  Blog post တွေကိုတော့ Publish လုပ်ပြီး Home page မှာပါ ပေါ်အောင် ဖန်တီးထားပြီး
  • အသင်း၀င်မဟုတ်သူတွေရဲ့ Comment တွေကိုတော့ Editor သို့မဟုတ် Administrator တွေက စီစစ်ဖတ်ရှုပြီးမှ Publish လုပ်တာမျိုး ဖြစ်ပါတယ်။ 

Drupal Version 6 မတိုင်မီအချိန်အထိ Content Types တွေကို Node Types လို့ပဲ အခေါ်များခဲ့ပါတယ်။ Content type တွေ အားလုံးကို Node တွေ အဖြစ်နဲ့ သတ်မှတ် သိမ်းဆည်းထားတဲ့အတွက် Content type အသစ်တွေကို ကိုယ့်စိတ်ကြိုက် ထပ်ပြီး ဖန်တီးဖို့၊ ဒါမှမဟုတ် ရှိပြီးသား Content တွေမှာ မိမိလိုအပ်ချက်နဲ့ ကိုက်ညီအောင် မွမ်းမံပြင်ဆင်ဖို့ အလွန်ပဲ လွယ်ကူပါတယ်။ ဒီ့အပြင်

  • Node တစ်ခုချင်းစီ ကိ်ုဖြစ်စေ၊
  • Content အမျိုးအစား အလိုက်ဖြစ်စေ၊
  • ကိုယ့်ရဲ့ ၀က်ဘ်ဆိုက်မှာ ပုံစံ အမျိုးမျိုးနဲ့
  • (Theme ကို ပြင်စရာ မလိုဘဲ) နေရာ အမျိုးမျိုးမှာ စိတ်ကြိုက် နေရာချထားနိုင်တာတွေဟာ  ကျန်တဲ့ Platform တွေနဲ့ မတူတဲ့ အချက်များစွာ ထဲက တစ်ခုပါပဲ။

Default Content Types in Drupal Installation

Drupal ကို Install လုပ်ပြီးတဲ့အချိန်မှာ Page နဲ့ Story ဆိုတဲ့ Content Type နှစ်မျိုးကို ပထမဆုံး သတ်မှတ်ပေးထားတာ တွေ့ရမှာပါ။ ကျန်တဲ့ အမျိုးအစားတွေကို သုံးချင်တယ်ဆိုရင်တော့ Administer >> Site Building >> Modules ကို သွားပြီး Drupal core မှာပါတဲ့ အဓိက Content module တွေကို ဖွင့်ပေးလို့ ရပါတယ်...

  • Blog Entry
    Online Journal သို့မဟုတ် Diary လို့ဆိုနိုင်တဲ့ Blog တွေဖန်တီးနိုင်တဲ့ Drupal Core ရဲ့ Module တစ်ခုပါ။ Drupal ဆိုက်တစ်ခုမှာ ရှိတဲ့ အသင်း၀င်တိုင်းဟာ (Administrator က ခွင့်ပြုထားမယ်ဆိုရင်) Blog တစ်ခုစီ ဖန်တီးလို့ ရအောင် ဒီ Module က လုပ်ပေးပါတယ်။ Blog တွေက အခုလို ရှိနေမှာ ဖြစ်ပါတယ်။ http://mmshare.org/blogs/everlearner, http://mmshare.org/blogs/mmshare, http://mmshare.org/blogs/zack . User တစ်ဦးချင်းစီရဲ့ Blog ထဲမှာ ရေးလိုက်သမျှဟာ Blog Entry ဆိုတဲ့ Content Type အဖြစ်နဲ့ သိမ်းဆည်းသွားမှာ ဖြစ်ပါတယ်။
  • Book Page
    အသင်း၀င်တွေစုပေါင်းပြီး အကြောင်းအရာတစ်ခုကို စာအုပ်တစ်အုပ်လို စာမျက်နှာတွေ အများကြီးနဲ့ ရှေ့နောက် စီစဉ်ရေးသားချင်တယ်ဆိုရင်တော့ Drupal core ထဲက Book module ကို သုံးရမှာပါ။ Book module မှာပါတဲ့ Content type တွေကို Book page အဖြစ် သိမ်းဆည်းပါတယ်။ လူအများကြီးဝိုင်းရေးတဲ့ စာအုပ် (Collaborative book) ဆိုတာကို နမူနာ အနေနဲ့ သိချင်တယ်ဆိုရင်တော့ Drupal developer documentation ဟာ အကောင်းဆုံး ဥပမာပါ။ ကမ္ဘာ့ နေရာဒေသ အသီးသီးက Drupal Developer တွေ စုပေါင်းရေးသားထားတဲ့ အွန်လိုင်း စာအုပ်တစ်အုပ်ပါ။ Book page တွေအပြင် Blog entry စတဲ့ အခြား Content type တွေကိုလည်း စာအုပ်တစ်အုပ်ရဲ့ အစိတ်အပိုင်းတစ်ခုအဖြစ် ထည့်သွင်းနိုင်ပါတယ်။  Drupal version အဟောင်းတွေမှာတုန်းကတော့ Book content type မှာ Book Page တွေကိုပဲ ထည့်လို့ရပါတယ်။
  • Comment
    Drupal မှာ Comment တွေကို Content Type အဖြစ် မသတ်မှတ်ပါဘူး။ တနည်းအားဖြင့် Comment တွေကို Node အဖြစ်နဲ့ မသိမ်းပါဘူး။ Comment module ကို ဖွင့်ထားပေးမယ်ဆိုရင် ဆိုက်ကို လာရောက်လည်ပတ်သူတွေ အနေနဲ့ သတ်မှတ်ထားတဲ့ Node တွေမှာ Comment တွေပေးတာ၊ သူများပေးထားတဲ့ Comment တွေကို အကြောင်းပြန်တာတွေ လုပ်လို့ရမှာပါ။
  • Forum
    Drupal မှာ စကား၀ိုင်း (Forum) ထဲက ဆွေးနွေးချက်တစ်ခုအတွက် အကြောင်းအရာ ခေါင်းစဉ်တစ်ခုကို Forum node တစ်ခုအဖြစ် သတ်မှတ်ပါတယ်။ ကျန်တဲ့သူတွေက အဲဒီခေါင်းစဉ်ကို ပြန်ပြီး ဆွေးနွေးချင်တယ်ဆိုရင်တော့ Comment တွေကို သုံးပြီး အကြောင်းပြန်လို့ ရပါတယ်။ Forum nodes တွေကိုတော့ သက်ဆိုင်ရာ Subject area အလိုက် စုစည်းဖို့အတွက် Taxonomy တစ်ခုနဲ့ ပြန်ထိန်းပေးထား ရပါတယ်။

  • Page
    Drupal ကို စပြီး Install လုပ်လိုက်တာနဲ့ Page content type ကို တစ်ခါတည်း ဖွင့်ပေးပြီးသားပါ။ အများအားဖြင့် About Us တို့လို Static page အမျိုးအစားတွေ အတွက် သုံးပါတယ်။ Drupal ကို စပြီး Install လုပ်လိုက်တဲ့အချိန်မှာ တစ်ခါတည်း Enable လုပ်ပေးထားတဲ့ Content type တစ်ခုပါ။

  • Poll
    မေးခွန်းတစ်ခုအတွက် ဖြစ်နိုင်တဲ့ အဖြေတွေ အများကြီးရှိပြီး လူအများကို ရွေးချယ်ခိုင်းမယ်၊ သဘောထား စစ်တမ်း ကောက်ယူမယ်ဆိုရင် အသုံးပြုနိုင်တဲ့ Content type တစ်ခုဖြစ်ပါတယ်။ User တွေ အနေနဲ့ မေးခွန်းတွေကို ဖြေနိုင်ပြီး၊ အခြားသူတွေ ဖြေထားတဲ့ မေးခွန်းတွေကိုလည်း ကြည့်ခွင့် ရှိပါတယ်။

  • Story
    Drupal ကို Install လုပ်လိုက်တာနဲ့ ဒီ Content type ကိုလည်း ချက်ချင်း သုံးနိုင်ပါတယ်။ Enable လုပ်ပေးထားပြီးသား ဖြစ်ပါတယ်။ သူကတော့ Page content type နဲ့ မတူပါဘူး။ အများအားဖြင့် သတင်းတွေလို အချိန်အခါကို မူတည်ပြီး အသုံး၀င်မှုတန်ဘိုး ပြောင်းလဲသွားတဲ့ အကြောင်းအရာတွေကို ဖော်ပြလိုတဲ့အခါ သုံးနိုင်ပါတယ်။ အဲဒီအတွက်ကြောင့် Story အသစ်တွေဟာ အမြဲတမ်း အပေါ်ဘက်မှာ ရောက်နေမှာဖြစ်ပြီး၊ အဟောင်းတွေက အလိုလို အောက်ဘက် ရောက်သွားမှာပါ။

Is Drupal Required for You?

အခုဖော်ပြခဲ့တာတွေက Drupal ရဲ့ Core module တွေမှာပါတဲ့ Content type တွေဖြစ်ပြီး၊ ဒီဟာတွေနဲ့တင် ၀က်ဘ်ဆိုက်တစ်ခု၊ Multi Author Blogging Network တစ်ခု၊ နည်းပညာ ဖလှယ်ရာ Online Community တစ်ခုအဖြစ် ဖန်တီးလို့ ရပါပြီ။ ဒါပေမယ့် ဒီထက်မက လုပ်နိုင်တာတွေ အများကြီး ရှိပါသေးတယ်။ မိမိရဲ့လိုအပ်ချက်၊ Client တွေ၊ အလုပ်အပ်သူတွေရဲ့ လိုအပ်ချက်တွေနဲ့ ကိုက်ညီတဲ့ Content type တွေကိုလည်း Developer တစ်ယောက် အနေနဲ့ စိတ်ကြိုက် ဖန်တီးလို့ ရပါသေးတယ်။

မြန်မာ Web Designer, Web Developer ညီအကို မောင်နှမတွေ အနေနဲ့ မြန်မာပြည်မှာပဲ နေပြီး အလုပ်လုပ်မယ်ဆိုရင်တော့ WordPress, Joomla လောက်နဲ့ ရနေဦးမှာပါ။ ဒါပေမယ့် တခြားနေရာတွေမှာပါ အလုပ်လုပ်မယ်ဆိုရင်တော့ Drupal ကိုလည်း အပိုဆောင်း လေ့လာထားသင့်ပါတယ်။ ကျွန်တော် ပြောပြခဲ့တာတွေမှာ လိုအပ်ချက်တွေ ရှိနေရင် Comment ထဲမှာ ဖြည့်စွက်ပေးသွားဖို့နဲ့ သိချင်တာတွေ ရှိရင်လည်း ဆက်သွယ်မေးမြန်းဖို့၊ ဒါမှမဟုတ် ဆက်လက် ဝေမျှရေးသားမယ့် Drupal အကြောင်းတွေကို စောင့်ဖတ်ဖို့ ဖိတ်ခေါ်ပါတယ်။

Reference & More information
- http://drupal.org/handbook/modules/node
- http://drupal.org/node/21947 (Content Types)

Add new comment

Similar Articles

Featured Articles