ทำความรู้จัก Drupal ระบบจัดการเนื้อหา แบบโอเพ่นซอร์ซ

จุดแข็ง : ความสามารถในการปรับแต่งระดับองค์กร มีความยืดหยุ่นสูง ความปลอดภัยที่ยอดเยี่ยม

จุดอ่อน : ต้องใช้ความเข้าใจทางเทคนิกมากกว่าระดับพื้นฐาน ธีมสำเร็จรูปมีจำกัด

ประวัติ Drupal

Drupal สามารถออกเสียงภาษาไทย ได้หลายแนวทาง ทั้ง ดรูปัล, ดรูปาล หรือ ดรูปอล -- จะออกเสียงแบบไหนก็ขอให้เข้าใจว่าคือ Drupal

Drupal เริ่มต้นพัฒนาโดย Dries Buytaert (ดรีส เบยทาร์ท) โปรแกรมเมอร์ชาวเบลเยี่ยม โดยชื่อของ Drupal เป็นคำศัพท์ภาษาอังกฤษที่รับจากภาษาดัตซ์คำว่า “Drupel” ที่หมายถึง “หยดน้ำ” โดยชื่อที่ Dries ต้องการตั้งคือ “dorp” (หมายถึง “หมู่บ้าน” ในภาษาดัตซ์) ซึ่งกล่าวถึงชุมชนผู้ใช้งาน แต่ได้สะกดผิดเป็น drop ในขณะที่ตรวจสอบ และคิดว่าชื่อนี้ฟังดูดีกว่า [อ้างอิง]

Drupal 11 ในปัจจุบัน

จากความนิยมในการใช้งาน Drupal 7 และการพัฒนาแบบก้าวกระโดดของ Drupal 8, 9 และ 10 ทำให้ปัจจุบัน Drupal เดินทางมาถึงเวอร์ชั่น Drupal 11 โดยเป็นโปรเจคที่สมบูรณ์พร้อมสำหรับการใช้งานในหลากหลายรูปแบบ มีความยืดหยุ่นที่สามารถปรับแต่งได้อย่างอิสระ

โครงการล่าสุด Drupal CMS ที่นำ Drupal Core 11 มาจัดรวมกับโมดูลที่จำเป็น ออกเป็นชุดโปรแกรมสำเร็จรูปเพื่อตอบโจทย์การทำงานที่หลากหลาย และง่ายในการเริ่นพัฒนาเว็บไซต์ โดยใช้คำสั่งสูตรสำเร็จ recipies ในการติดตั้งโมดูลต่างๆ ที่กำหนดไว้ ให้พร้อมใช้งานในทันที
ความสามารถของ Drupal 11 ที่น่าสนใจ ได้แก่

  • Easy installation: ติดตั้งง่าย Drupal 11 มาพร้อมกับตัวติดตั้งที่ใช้งานได้ง่าย โดยไม่จำเป็นต้องมีความรู้ทางด้านเทคนิคมากนัก ทั้งนี้นักพัฒนาที่สะดวกทำงานผ่าน command line (CLI) ก็สามารถเรียกใช้งานด้วย composer และ drush ได้อย่างสะดวก
  • Recipes: การติดตั้งโมดูลพร้อมกันหลายตัว ด้วยคำสั่งสูตรสำเร็จ recipes ที่ตั้งค่าเตรียมไว้ล่วงหน้า ทำให้การปรับแต่งเว็บไซต์เป็นไปอย่างง่ายดายและไม่ซับซ้อน
  • Workspaces: ช่วยให้สามารถสร้างเว็บไซต์เพื่อทดสอบการทำงาน การที่จะสลับเนื้อหาออกสู่สาธารณะ
  • Mobile-first design: รองรับการแสดงผลในมือถือตั้งแต่เริ่มต้น สามารถแสดงผลได้อย่างสวยงามในเบราว์เซอร์มือถือ โดยไม่ต้องติดตั้งส่วนเสริมใดๆ
  • Multilingual support: รองรับการสร้างเว็บไซต์หลายภาษา Drupal 11 สามารถกำหนดการแปลภาษาได้ง่าย 1 node id สามารถกำหนดให้แสดงได้หลายภาษา
  • Dashboard and navigation menu: แผงควบคุม และเมนูนำทางที่ปรับปรุงใหม่ ทำให้การเข้าถึงฟังก์ชั่นต่างๆ ของเว็บไซต์เป็นไปอย่างง่ายดายและมีประสิทธิภาพ
  • Single Directory Components (SDC): ช่วยให้นักพัฒนาสามารถจัดการส่วนประกอบต่างๆ เช่น ไฟล์ CSS, JavaScript ไว้ในโฟลเดอร์เดียวกัน ทำให้ง่ายต่อการนำกลับมาใช้ใหม่ เพิ่มความสะดวกในการพัฒนาและบำรุงรักษาโค้ด

อัปเกรดจาก Drupal 7 ไปยัง Drupal 9 แล้วอัปเกรดเป็น Drupal 10 ได้ง่าย

แม้ว่าใน Drupal 10 และ Drupal 11 จะมีโมดูล Migrate มาพร้อมใช้งาน แต่สำหรับการอัปเกรดจาก Drupal 7 อยากแนะนำให้อัปเกรดผ่าน Drupal 9.0.0 เสียก่อน แล้วค่อยทำการอัปเดทเป็น ฏพียฟส 9.5.11 แล้วอัปเกรดข้ามเวอร์ชั่นมาเป็น Drupal 10 และ Drupal 11 อีกที

เหตุผลและอุปสรรคในการอัปเกรด Drupal 7 มายัง Drupal 10 เป็นเพราะความต้องการพื้นฐานของโปรแกรม PHP ที่ Drupal 7 รองรับสูงสุดแค่ PHP 7.4 (ซึ่ง Drupal 9.0.0 ใช้งานกับ PHP 7.4 ได้นั่นเอง) ส่วน Drupal 10 รองรับ PHP 8.1 และ Drupal 11 รองรับ PHP 8.3

ดาวน์โหลด Drupal ได้ที่เว็บไซต์ Drupal.org

  • สามารถดาวน์โหลด Drupal มาใช้งานได้ฟรี ที่เว็บไซต์ http://drupal.org/project/drupal

เนื้อหาแนะนำ

 
คลิกอ่านเพิ่มเติม (ขยาย)
5 ธันวาคม 2565
เริ่มจากอยากรู้ว่าเว็บไซต์ราชการไทย ใช้ CMS อะไรในการบริหารจัดการหรือไม่ เลยไปโหลด Firefox Extension ที่ชื่อ Wappalyzer มาเช็คดู ตัว Wappalyzer ก็จะสแกนหน้าเว็บ แล้วอ่านโค้ดที่เว็บไซต์เรนเดอร์ออกมา แล้วก็วิเคราะห์ว่าใช้โปรแกรม เฟรมเวิร์ค หรือ เซิร์ฟเวอร์ อะไรบ้าง ** หมายเหตุ : CMS ในที่นี้ หมายถึง CMS ที่เผยแพร่สาธารณะ ทั้งแบบ Open Source (ฟรี) และแบบ Commercial (จ่ายเงิน) ไม่นับรวม CMS ที่เว็บโปรแกรมเมอร์พัฒนาขึ้นมาใช้งานเองแต่ไม่ได้เผยแพร่
15 พฤศจิกายน 2565
โปรแกรม Drupal รุ่นที่ 10 จะเปิดตัวรุ่นเสถียรในวันที่ 14 ธันวาคม 2022 หรืออีกประมาณหนึ่งเดือนนับจากวันนี้ สำหรับคนที่เตรียมจะใช้งาน Drupal เวอร์ชั่น 10 น่าจะต้องมีการเตรียมเครื่องเซิร์ฟเวอร์ ให้พร้อมกับการทำงาน Drupal 10 System requirements Database MariaDB 10.3.7+ หรือ MySQL/Percona 5.7.8+ PostgreSQL 12+ กับเปิด extension pg_trgm SQLite 3.26+ กับเปิด extension json1 Web server
29 กรกฎาคม 2565
จุดเด่นอย่างหนึ่งของ Drupal 10 คือการสร้างธีมขึ้นมาใหม่ด้วยเครื่องมือ Starterkit theme โดยจะเป็นโครงธีมเปล่าๆ (Blank theme) มีแค่ Div พื้นฐานมาให้ ผู้พัฒนาเว็บจะต้องกำหนดเลย์เอาท์ และการตกแต่งความสวยงามเองทั้งหมด อย่างไรก็ตาม ตอนนี้ใน Drupal 9.2.x ได้ใส่คุณสมบัติของ Starterkit theme เข้ามาแล้ว โดยผู้พัฒนาเว็บสามารถพิมพ์คำสั่ง PHP เพียง 1 บรรทัด ก็จะได้ธีมที่สร้างด้วย Starterkit theme (อ่านเพิ่มเติม: Provide a starterkit theme in core)
28 กรกฎาคม 2565
WebP คือฟอร์แมตไฟล์รูปภาพที่มีคุณภาพสูง แต่ใช้พื้นที่เก็บข้อมูลน้อยมากเมื่อเทียบกับไฟล์ฟอร์แมตอื่นๆ เรื่องที่เกี่ยวข้อง: WebP
7 มิถุนายน 2565
ขอจดไว้หน่อย ปัญหาที่เจอคือ Drupal 8/9 เวลาเปิดแบบไม่ล็อกอิน (Anonymous) มันขึ้น Error "The website encountered an unexpected error. Please try again later." แต่ถ้าล็อกอินสำเร็จ จะสามารถใช้งานเว็บได้ตามปกติ เลยไปค้นดู พบว่ามีคนเป็นเหมือนกัน และอาการคือ ไม่มี User = 0 ในระบบ คำแนะนำคือ ให้ไปเพิ่ม uid = 0 ในตารางฐานข้อมูล users จากนั้นก็จะสามารถเปิดเว็บแบบไม่ต้องล็อกอินได้
4 มิถุนายน 2565
จากเดิมที่ก่อนหน้านี้ทางโครงการ Drupal วางกรอบการเปิดตัว Drupal 10 รุ่นเสถียร 10.0.0 ในช่วงเดือนสิงหาค-ธันวาคม 2022 ล่าสุดได้มีการประกาศอย่างเป็นทางการว่า Drupal 10 รุ่นเสถียรจะเปิดตัวในวันที่ 14 ธันวาคม 2022 เพื่อรองรับการอัปเดทหลายๆ อย่าง ที่เป็นรากฐานของโครงการ ทั้งเครื่องมือการเขียนเนื้อหา CKEditor 5 รุ่นใหม่ ที่มีความสามารถมากขึ้นกว่าเดิม เฟรมเวิร์ค Symfony 6.2 และ PHP 8.1
24 พฤษภาคม 2565
ตอนนี้ Drupal 10 ออกรุ่นทดสอบล่าสุด Drupal 10.0.0-alpha4 (6 พ.ค. 2022 - ประวัติการอัปเดท) เลยอยากทดสอบในเซิร์ฟเวอร์ XAMPP รุ่นที่เป็น PHP 8.1.6 (Drupal 10 ต้องการ PHP เวอร์ชั่น 8.1 ขึ้นไป / XAMPP มีหลายรุ่น เลือกได้ตามเวอร์ชั่นของ PHP)
15 เมษายน 2565
ตอนนี้สำหรับคนที่ดูแลเว็บไซต์ที่ใช้ Drupal 9.3.x ตอนนี้ เริ่มมี Drupal 10.0.0 alpha3 โผล่มาให้เห็นแล้ว และถ้าเปิดดูในเว็บไซต์โครงการ Drupal.org ก็จะเจอแผนเปิดตัว Drupal 10 ในเดือนสิงหาคม 2022 ที่จะถึงนี้
24 กุมภาพันธ์ 2565
Drupal.org ประกาศเลื่อนวันสิ้นอายุ (End-of-Life) ของ Drupal 7 ออกไปจนถึงเดือนพฤศจิกายน 2023 หลังจากเคยประกาศขยายระยะวันสิ้นอายุมาแล้ว 2 ครั้งในปี 2019 และ 2020 ที่ผ่านมา สาระคำคัญของประกาศดังกล่าว มีดังนี้
19 พฤศจิกายน 2564
ในไฟล์ settings.php จะมีชุดคำสั่ง ฟังก์ชั่น Location of the site configuration files ซึ่งใน Drupal 8 และ Drupal 9 นั้นเขียนไม่เหมือนกัน ในการอัพเกรดข้ามเวอร์ชั่นบางครั้งต้องแก้ไขจุดนี้ด้วย "Not present Your sites/default/settings.php file must define the $config_directories variable as an array containing the names of directories in which configuration files can be found. It must contain a sync key." Drupal 8.x $config_directories = array( CONFIG_SYNC_DIRECTORY => '/directory/outside/webroot', ); Drupal 9.x
18 ตุลาคม 2564
สำหรับคนที่ใช้ Drupal เป็นฐานในการสร้างเว็บไซต์ อาจต้องเตรียมตัวในการจัดการ-อัพเกรดกันแล้ว เพราะถ้านับกันในเวลานี้ ที่ Drupal 8 ใกล้จะถึงกำหนด End-of-Life ในเดือนพฤศจิกายน 2021 ให้ทำการอัพเกรดเป็น Drupal 9 ได้แล้ว (เหลือเวลาแค่ 1 เดือนเท่านั้น) และ Drupal 7 จะถึงกำหนด End-of-Life ในช่วงเดือนพฤศจิกายน 2022 (ปีหน้า) สำหรับการขยายเวลาออกไป Drupal ให้เหตุผลว่า Drupal 7 มีคนนำไปใช้เยอะมาก และช่วงที่ผ่านมาในสถานการณ์โรคระบาดโควิด-19 ทำให้อาจจะเกิดปัญหาในการทำงาน เลย
16 กันยายน 2564
UPDATE: โมดูล Mailjet ที่พัฒนาโดยเว็บไซต์ Maijlet.com มีการอัปเดทและรองรับถึง Drupal 11 แล้ว
10 กรกฎาคม 2564
ต่อเนื่องจาก บันทึกขั้นตอน วิธีอัพเกรด Drupal 8 ให้เป็น Drupal 9 ด้วยคำสั่ง Composer กระบวนการอย่างหนึ่งที่จำเป็นต้องทำก่อนการอัพเกรด Drupal 8.x ให้เป็น Drupal 9.x คือ ต้องอัพเดท Drupal 8.x ให้เป็นเวอร์ชั่นล่าสุดเสียก่อน ทั้งนี้ สามารถใช้คำสั่ง Composer ในการอัพเดท Drupal Core ให้เป็นรุ่นเวอร์ชั่นล่าสุด ดังนี้
10 กรกฎาคม 2564
เว็บไซต์ Drupal.org ได้กำหนดวันสิ้นอายุ End-of-life ของ Drupal 8.x คือวันที่ 2 พฤศจิกายน 2021 ที่จะถึงนี้ สำหรับผู้ที่ยังใช้งาน Drupal 8.x ควรอัพเกรดให้เป็น Drupal 9.x ให้เร็วที่สุดเท่าที่จะเป็นไปได้ เพื่อที่จะได้รับการอัพเดทความปลอดภัย และแก้ไขปัญหาการใช้งานอย่างต่อเนื่อง
28 กุมภาพันธ์ 2564
โจทย์เริ่มต้นมีอยู่ว่า ต้องการสร้าง DIV สำหรับล้อมกรอบเนื้อหาสรุปก่อนเริ่มบทความ ในเว็บไซต์ที่ใช้ Drupal 9 ซึ่ง Drupal 9 นั้นติดตั้ง CKEditor รวมมาอยู่ใน Core อยู่แล้วไม่ต้องลงเพิ่ม (มีมาตั้งแต่ Drupal 8) แต่ด้วยข้อจำกัดบางประการทำให้ CKEditor ที่มากับ Drupal 9 ไม่มีคำสั่ง DIV ที่สามารถกำหนด CSS class ได้เอง มาให้ใช้แบบที่มีใน Drupal 7
Subscribe to Drupal