webzer.net

I blog to God but the sky is buggy ...


In love with Drupal

ส่วนหนึ่งที่ผมชอบมากๆ ไม่ว่าจะเป็น drupal เวอร์ชั่นไหน คือ มันมาพร้อมกับ core ขนาดเบาๆ แต่ทำงานรวดเร็วและไว้ใจได้ ไม่ข่มเหงจิตใจคนทำเว็บ ส่วนใครอยากได้อะไรเพิ่ม ก็ไปหามาใส่ได้เรื่อยๆ (modules) โดยไม่ต้องไปฮ้งไปแฮกอะไรใน core

อีกส่วนนึงคือ ระบบ override ที่แบ่งเป็นเลเยอร์ชัดเจน ส่วนมากผมปรับแต่ง drupal แค่ในระดับ presentation layer (themes) แต่เพิ่งรู้ว่า เราสามารถกำหนดตัวแปรหรือฟังชั่นใหม่แทนอันเดิม ในเลเยอร์ระดับนี้ได้ด้วย wow! เพิ่งรู้จริงๆนะเนี่ย เคยสังเกตเห็นใน ไฟล์ template.php กับ settings.php ของบางธีม แต่ไม่เคยเอะใจ จนลองเล่นโมดูลใหม่ของ drupal6 ตัวนี้ : devel ถึงได้รู้ว่า มันทำอะไรได้เยอะกว่าที่เราคิด และก็เช่นเดิม โดยไม่ต้องไปแตะ core

ส่วนที่ผมตื่นเต้นที่สุดใน drupal6 คือ behavior layer ครับ (พวก javascripts) อันที่จริงมันก็เล่นได้ตั้งนานแล้ว(มั้ง) แต่ผมไม่รู้ เพราะใน drupal5 ก็มี jQuery อยู่แล้ว แต่ drupal6 เอามันมาใช้ประโยชน์มากขึ้น มันก็เลยโดดเด่นขึ้นมา (แต่ผมรู้สึกว่า drupal6 กับ jQuery มันยังไม่ค่อยลงตัวนะ ในส่วนแอดมินนะครับ แต่ในส่วนธีมผมยังไม่ได้ลอง)

อีกข้อที่ลืมไม่ได้ ในฐานะคนทำงานเว็บดีไซน์ คือ drupal ให้ความสำคัญกับ web standards มากๆ อันนี้ผมสังเกตจากหลายๆ ธีมที่ดาวน์โหลดจาก drupal.org ล้วนแล้วแต่แบ่งชัดเจน ระหว่าง ส่วน (x)html (page.tpl.php) กับ css (ถ้ามี javascripts ก็จะแยกต่างหาก) แถมวางใจได้ส่วนหนึ่งว่ามันรองรับการแสดงผลที่ถูกต้องในบราวเซอร์ต่างๆ (cross-browser compatible)

ที่ว่ามาข้างบนล้วนมีผลดีต่อผู้ใช้งานในระยะยาวครับ เพราะช่วยให้เราไม่ต้องปวดหัว เวลาต้องอัพเดตหรืออัพเกรดเวอร์ชั่น รวมถึงการแบ็คอัพ หรือแม้กระทั้งการย้ายเว็บไซต์ไปโฮตต์ที่อื่น เพราะเราไม่ต้องไปยุ่งกับ core ส่วนที่เราต้องแบ็คอัพจึงมีเพียงดาต้าเบส และ ไฟล์อื่นๆที่เราอัพโหลดมาเพิ่ม