Drupal คืออะไร ใครรู้จักโปรดยกมือขึ้น ผมคิดว่าคนยกมือคงมีไม่มากนัก แต่ถ้าหากให้เอ่ยถึงเครื่องมือในการทำเว็บไซต์ หรือ CMS (Content Management System) มาอย่างน้อย 2 ชื่อ ผมเชื่อว่า Joomla กับ Wordpress ต้องติดหนึ่งใน CMS ที่ทุกคนพูดถึงมากที่สุดแน่นอน เพราะในยุคนี้ CMS ทั้งสองตัวนี้เป็นที่นิยมใช้มากที่สุดโดยเฉพาะในประเทศไทย

ในฐานะนักทำเว็บหรือคนใช้งาน CMS ในระดับที่ไม่ลงไปถึงการ coding ผมเชื่อว่านักทำเว็บแทบทุกคนเคยมีประสบการณ์การใช้งาน CMS ทั้งสองตัวนี้มาแล้ว และผมก็เป็นอีกคนที่ชื่นชอบ Joomla และ Wordpress มากๆคนหนึ่ง แต่พอถึงการใช้งานจุดหนึ่งที่เราอยากมีอิสระมากขึ้น Joomla และ Wordpress ก็เริ่มทำให้เราอึดอัด (ผมไม่ได้พูดถึงคนที่ coding เป็นนะครับ เพราะพวกนั้นเค้าใช้ CMS ตัวไหนก็คงไม่มีปัญหา) ผมจึงลองหาเครื่องมือตัวอื่นดู และหลังจากที่เริ่มเข้าใจ Concept และเริ่มลงมือใช้ Drupal อย่างจริงจัง จึงได้รู้ว่า Drupal เป็นมากกว่า CMS ธรรมดาตัวหนึ่ง คอนเฟิร์มครับ !

Drupal เป็น CMS อีกตัวหนึ่งที่ได้รับความนิยมมากในลำดับต้นๆจากทั่วโลก แต่สัดส่วนยังถือว่าน้อยมากเมื่อเทียบกับอันดับ 1 อย่าง Wordpress

คนที่ใช้งาน Drupal ส่วนใหญ่ มักไม่ชอบอะไรที่มาแบบสำเร็จรูปไปหมด แต่ก็ไม่ชอบอะไรที่ต้องทำเองซะทุกอย่าง เช่น เขียนโปรแกรม พูดง่ายๆก็คือ ชอบความอิสระแต่ไม่ชอบหรือไม่เก่งการเขียนโค้ด สำหรับผมแล้ว Drupal เปรียบเหมือน CMS Framework คือมีทั้งความเป็น CMS และ Framework ภายในตัวเอง ความมีอิสระอาจไม่ถึงขนาด Framework โดยกำเนิด อย่าง Laravel, Symfony แต่ก็ตอบโจทย์ด้านความยืดหยุ่นมากกว่า Wordpress

เราลองจินตนาการกันครับว่า หากเราจะสร้างเนื้อหา (Content) ซักตัวหนึ่ง เช่น บทความ เราต้องทำอย่างไรใน Joomla หรือ Wordpress ผมคงไม่อธิบายโดยละเอียดนะครับ เพราะแต่ละค่ายก็มีวิธีสร้างและจัดหมวดหมู่กันไปตามวิธีของตน นั่นหมายความว่า เราต้องเรียนรู้วิธีการนำเข้าและจัดการเนื้อหาบนเว็บตามโครงสร้างสถาปัตยกรรมที่ผู้ออกแบบ CMS ที่เราใช้ได้วางระบบไว้ แต่นั่นไม่ใช้หัวใจของ Drupal หรืออย่างน้อยก็ไม่ใช่ทั้งหมด

ใน Drupal เราสามารถสร้างเนื้อหาเว็บได้ตามโครงสร้างพื้นฐานของ Drupal ทั้งหมดก็ได้ Drupal มี Content ที่ให้มาตั้งแต่แรกคือ Post และ Basic page ซึ่งหากเพียงพอสำหรับเราก็โอเคครับ แต่ถ้าจะทำแบบนี้จริงๆ ผมแนะนำให้ไปใช้ Joomla หรือ Wordpress ดีกว่า เพราะ 2 ค่ายนี้มีลูกเล่นเตรียมไว้ให้คุณเล่นเยอะแยะมากมายตั้งแต่ติดตั้งโปรแกรมเสร็จ

Concept

สิ่งที่คุณจะได้ทำหลังจากติดตั้ง Drupal คือ การออกแบบโครงสร้างสถาปัตยกรรมเว็บไซต์ตามแบบฉบับของคุณเองทั้งหมด ภายใต้คำอธิบายของโมดูล (Module) ต่างๆที่ถูกติดตั้งมากับ Drupal Core หรือติดตั้งเพิ่มเติมภายหลังในลักษณะของจิ๊กซอว์ ผมมักพูดกับน้องๆ ที่เรียน Drupal กับผมว่า

เราสามารถใช้ Drupal เป็นเครื่องมือในการสร้าง CMS แบบย่อมๆ ในแบบฉบับของเราเองได้

"นี่แหละคือหัวใจของ Drupal" ซึ่งผมไม่เข้าใจมากนักในช่วงที่รู้จักกับ CMS ตัวนี้ในช่วงแรกๆ โดยพยายามใช้ Drupal เหมือนที่เคยใช้ Joomla หรือ Wordpress

Feature ที่ชอบ

  • ออกแบบ content type ได้เองให้เหมาะสมตามประเภทการใช้งาน
  • Views เป็นเหมือนเครื่องมือการเขียน Query แบบ UI โดยที่ไม่ต้องเขียนคำสั่ง SQL เช่น แสดงรายการ record พร้อมตัวกรอง (filter)
  • ความยืดหยุ่นของการจัดหน้า layout
  • ส่วนขยายของ Drupal เรียกว่า Module มีให้เลือกใช้มากมาย
  • ประยุกต์การใช้งานได้หลากหลายไม่เฉพาะแต่การสร้างเว็บไซต์ หรือ blog เช่น การทำฐานข้อมูลบุคคล การทำระบบงานที่มี workflow
  • ระบบบริหารจัดการผู้ใช้งานและกลุ่มผู้ใช้งาน

คนที่อยากลองใช้งาน Drupal แล้วพบอุปสรรคเนื่องจากความยาก และมีคู่มือภาษาไทยน้อย ขอให้พยายามลืมคอนเซ็บของ CMS ตัวเดิมๆที่คุณใช้ให้หมด แล้วค่อยๆเรียนรู้นะครับ คุ้มค่า และหากินได้ยาวแน่นอน