Data and Presentation Layers of Web Content Management Systems

Web Content Management System တွေ အကြောင်း အထိုက်အလျောက် သိပြီးတဲ့ အခါ Web CMS တွေမှာ ပါရှိတဲ့ အစိတ်အပိုင်းများ အကြောင်းကို သိဖို့ လိုအပ်ပါလိမ့်မယ်။ ဒီဆောင်းပါးမှာ CMS တစ်ခုအတွက် အချက်အလက်တွေကို သိမ်းဆည်းတဲ့ စနစ်များနဲ့ ပြန်လည်ထုတ်ယူ အသုံးပြုပုံ နည်းလမ်းများ၊ Presentation Layer သို့မဟုတ် User Interface နဲ့ ဆိုင်တဲ့ အကြောင်းအရာများ၊ Website ပိုင်ရှင်တစ်ဦး အနေနဲ့ ကိုယ့်ဆိုက်မှာ အသုံးပြုဖို့၊ အများကို ဖော်ပြဖို့ အချက်အလက်များနဲ့ လိုအပ်ချက်များ၊ Web Professional များအတွက် Static, Dynamic နဲ့ CMS အသုံးပြုထားတဲ့ ၀က်ဘ်ဆိုက်များ တည်ဆောက်တဲ့အခါ သိရှိနားလည်ထားဖို့ လိုအပ်တဲ့ အချက်များကို ဝေမျှသွားမှာပါ။

Data Input/Output, Export and Database

CMS အများစုဟာ အသုံးပြုသူတွေ ဖန်တီးလိုက်တဲ့ Content များ (Data Input)၊ Metadata များနဲ့ အဲဒီ CMS စနစ်များရဲ့ အစိတ်အပိုင်းများမှာ အသုံးပြုဖို့ အတွက် လိုအပ်တဲ့ အချက်အလက်များကို သိမ်းဆည်းဖို့ (Data Storage) အတွက် Database များကို အသုံးပြုပါတယ်။ အများအားဖြင့် အဲဒီ အချက်အလက်တွေကို Web Page များအဖြစ် ပြန်လည် ဖော်ပြပေး (Data Output) လေ့ရှိပါတယ်။ အချို့ CMS အငယ်စားများ ကတော့ Database အနေနဲ့ မသိမ်းဘဲ XML ဖိုင်များ အနေနဲ့ သိမ်းတာမျိုးလည်း ရှိပါတယ်။

တခါတရံမှာ Content တွေကို အခြားနေရာများမှာ ပြန်လည် အသုံးပြုနိုင်ဖို့အတွက် ပုံစံပြောင်းပြီး ပြန်ထုတ်ပေးရ ပါတယ်။ ဥပမာ အချို့အနေနဲ့ ပြောရမယ်ဆိုရင် Database ထဲမှာ သိမ်းဆည်းထားတဲ့ အချက်အလက်များကို XML, RSS Feed, CSV, Excel, PDF ဖိုင်များအဖြစ် လိုအပ်သလို ပြန်ထုတ်ပေးနိုင်ပါတယ်။ အဲဒါကြောင့် ဒီနေ့ ဘလော့ခ်နဲ့ အခြားသော ၀က်ဘ်ဆိုက် အတော်များများမှာ RSS Feed ထုတ်ပေးထားတာကို မြင်တွေ့ရပါလိမ့်မယ်။ Joomla CMS ကို သုံးထားတဲ့ အချို့သော ၀က်ဘ်ဆိုက်များမှာ PDF အဖြစ် ထုတ်ပေးတဲ့ Feature တွေ ပါတာကို မြင်ရပါလိမ့်မယ်။ တခါတရံမှာ Data တွေကို Excel ဖိုင်ထဲမှာ ပြန်ထည့် အသုံးပြုဖို့အတွက် Database ကနေ Excel သို့မဟုတ် CSV ဖိုင်အဖြစ် ထုတ်ပေးရတာမျိုး ရှိတတ်ပါတယ်။ အသုံးများတဲ့ CMS တွေဖြစ်တဲ့ WordPress, Joomla နဲ့ Drupal တွေအားလုံးမှာ အဲဒီလို အချက်အလက်တွေကို အမျိုးမျိုး ပြန်လည် ထုတ်ယူနိုင်တဲ့ Plug-in, Module တွေ ရှိပါတယ်။ (သီးသန့် အနေနဲ့ နောက်မှာ ဆက်ပြီးလေ့လာကြပါမယ်။)

User Interface and Presentation Layer

CMS ရဲ့ Database ထဲမှာ သိမ်းထားတဲ့ အချက်အလက်တွေကို User ရဲ့ အင်တာနက်ကြည့် ဆော့ဖ်ဝဲမှာ ဒီအတိုင်း ပြလို့ မရပါဘူး။ သူ့နေရာနဲ့သူ စိတ်၀င်စားစရာ ကောင်းအောင်၊ ဆွဲဆောင်မှု ရှိအောင် ပြပေးဖို့ လိုအပ်ပါတယ်။ ဥပမာ - Home page မှာ ဘယ်လို အချက်အလက်တွေ ပြထားပြီး၊ About us page မှာတော့ စာတွေနဲ့ ပုံတွေကို ဘယ်လို နေရာချ ဖော်ပြမယ်ဆိုတာ ကြိုတင် ပြင်ဆင်ရပါမယ်။

CMS တစ်ခုရဲ့ Presentation layer ဟာ ၀က်ဘ်ဆိုက် ပိုင်ရှင်တွေက သူတို့ဆိုက်ကို လာလည်သူတွေအတွက် ပေးချင်တဲ့ သတင်းအချက်အလက်များကို စနစ်တကျ ဖော်ပြပေးနိုင်တဲ့ နေရာ ဖြစ်ပါတယ်။ စီးပွားရေးလုပ်ငန်းရှင် တစ်ဦးအတွက် သူ့ရဲ့၀က်ဘ်ဆိုက်ဟာ ရင်းနှီးမြုတ်နှံမှု တစ်ခုဖြစ်ပါတယ်။ သူ့လုပ်ငန်း အကြောင်းကို လူတွေအလွယ်တကူ သိနိုင်အောင် လုပ်ပေးတဲ့ နေရာလည်း ဖြစ်ပါတယ်။ အဲဒါကြောင့် စာဖတ်သူဟာ စီးပွားရေးလုပ်ငန်းရှင် တစ်ဦးဖြစ်ခဲ့ရင် ကိုယ့်ရဲ့ ၀က်ဘ်ဆိုက်မှာ ဘယ်လို အချက်အလက်များကို ဘယ်နေရာမှာ ဖော်ပြမယ်ဆိုတာကို တတ်ကျွမ်းနားလည်တဲ့ Developer သို့မဟုတ် ၀က်ဘ်ဆိုက် အကြီးကြီးဖြစ်နေရင် Information Architect တွေနဲ့ တိုင်ပင်ဖို့ လိုအပ်ပါလိမ့်မယ်။

Relations Between Web Professionals, Data and Presentation Layers

Web Developer, Web Designer များအတွက်ကတော့ CMS တစ်ခုရဲ့ Presentation Layer ကို Themes လို့ အသိများပါတယ်။ Theme တစ်ခုရဲ့ ဖွဲ့စည်းပုံမှာ -

  • အခြေခံ Layout အခင်းအကျင်း အတွက် HTML (HTML5 ကို ခဏဖယ်ထားပါတယ်။)
  • အရောင် အဆင်း၊ အလှအပအချို့နဲ့ Tableless layout ဖြစ်ဖို့ အတွက် CSS
  • User များနဲ့ အပြန်အလှန် တုံ့ပြန်ဆက်သွယ် (Interaction) ဖို့အတွက် JavaScript (ခုနောက်ပိုင်း CMS တွေမှာတော့ JQuery လို JavaScript Library တွေကို အသုံးပြုလာပါပြီ။)
  • Database ထဲမှာ သိမ်းထားတဲ့ အချက်အလက်များကို Themes များထဲမှာ လိုအပ်သလို ရယူဖော်ပြဖို့အတွက် MySQL (သို့မဟုတ် Database Query Language တစ်ခုခု)
  • အင်တာနက်ကြည့် ဆော့ဖ်ဝဲနဲ့ ဝက်ဘ်ဆာဗာ (Web browsers & Web Servers) များကြား လိုအပ်သလို အပြန်အလှန် အဆက်အသွယ် လုပ်ဖို့နဲ့ Template များ ဖန်တီးဖို့အတွက် PHP, ASP, Java စတဲ့ Server side scripting language များနဲ့ AJAX နည်းပညာ

များကို အသုံးပြုရပါလိမ့်မယ်။

တကယ်လို့ ကျွန်တော်တို့ရဲ့ ဝက်ဘ်ဆိုက်ဟာ Database မပါတဲ့ ရိုးရိုး Static ဆိုက်တစ်ခု ဖြစ်ခဲ့ရင် အပေါ်သုံးခု ဖြစ်တဲ့ HTML, CSS, JavaScript တို့ကို သုံးတာနဲ့ လုံလောက်ပါတယ်။ Database မပါသော်လည်း Web Developer အနေနဲ့ Website Development နဲ့ Website Maintenance ကို လျင်မြန်စေဖို့အတွက် PHP, ASP စတဲ့ ဘာသာစကားတွေကို သုံးလေ့ ရှိပါသေးတယ်။ Database ပါတဲ့ Dynamic website ဖြစ်လာရင်တော့ အောက်ဘက်က နှစ်ချက်ကိုပါ ထည့်စဉ်းစားရပါတော့မယ်။

CMS လောကမှာတော့ Themes ဖန်တီးပြုလုပ်တဲ့ Web Professionals တွေကို Themers (Theme ပြုလုပ်သူများ) လို့လည်း ခေါ်ကြပါတယ်။ Themers များဟာ

  • HTML နဲ့ CSS ကို မဖြစ်မနေ နားလည်တတ်ကျွမ်းဖို့ လိုအပ်ပါတယ်။
  • Interaction တွေ အဆင်ပြေပြေ ဖန်တီးနိုင်ဖို့ JQuery (JavaScript) ကို မရေးတတ်ရင်တောင် သူများလုပ်ပေးထားတဲ့ Plug in တွေကို သုံးတတ်ဖို့ လိုအပ်ပါမယ်။
  • ဒါတင်မကပါဘူး အင်တာနက်ကြည့် ဆော့ဖ်၀ဲများ အားလုံးနီးပါးနဲ့ အဆင်ပြေတဲ့ Web Page တွေ ရေးဆွဲနိုင်ဖို့ အတွက် Web Standards များကိုလည်း နားလည်ဖို့ လိုပါတယ်။
  • Web Page Design တွေ ဖန်တီးဖို့အတွက် PhotoShop, GIMP စတဲ့ Graphic Design ဆော့ဖ်၀ဲ တစ်ခုခုကိုလည်း အသုံးပြုတတ်ရပါမယ်။
  • WordPress, Joomla နဲ့ Drupal တို့လို CMS တွေအတွက် Theme တွေ ဖန်တီးနိုင်ဖို့ သက်ဆိုင်ရာ CMS အသီးသီးရဲ့ Template Variable များ၊ Theme Specific Functions များကို နားလည်ဖို့၊ အသုံးချတတ်ဖို့ လိုအပ်ပါတယ်။

WordPress, Joomla နဲ့ Drupal တို့အတွက် Themer များ အနေနဲ့ PHP နဲ့ MySQL ကိုလည်း အထိုက်အလျောက် တီးမိခေါက်မိ ရှိထားဖို့ လိုအပ်ပါတယ်။ အဲဒီ Template တွေဟာ PHP Code များ ဖြစ်နေတဲ့ အတွက်ပါ။ PHP ကို သိမထားရင် ပထမဆုံး ရင်ဆိုင်ရမယ့် ပြဿနာကတော့ Theme ထဲမှာ မြင်သမျှ PHP code တွေကို ဘယ်ဟာက PHP ရဲ့ မူရင်း Code၊ ဘယ်ဟာကတော့ Theme အတွက် သီးသန့် ရေးထားတဲ့ သက်ဆိုင်ရာ CMS အလိုက် Template code တွေဆိုတာ ခွဲခြားသိဖို့ ခက်တဲ့ အတွက် ဖြစ်ပါတယ်။ တချို့ CMS တွေမှာ (ဥပမာ - PrestaShop Shopping Cart Software) Smarty လို Template Engine တွေကို သုံးတတ်ပါသေးတယ်။ ASP နဲ့ Java ကို သုံးထားတဲ့ CMS များအတွက် Template code တွေလည်း ဒီလိုပဲ ဖြစ်လိမ့်မယ် ထင်ပါတယ်။ သိတဲ့သူတွေ ဝေမျှ ပြောပြသွားကြဖို့ ဖိတ်ခေါ်ပါတယ်။
(Web CMS များနဲ့ ဘာတွေလုပ်နိုင်သလဲ ဆိုတာ နောက်မှာ ဆက်လေ့လာကြပါမယ်။)

Add new comment

Similar Articles

Featured Articles