Drupal

Drupal is the CMS that running this site

ประสบการณ์อัพเกรด Drupal 7 เป็น Drupal 8

Drupal 8
มีเหตุให้ต้องย้ายโฮสต์ของบล็อก isriya.com เลยถือโอกาสอัพเกรดเอนจิน CMS จาก Drupal 7 เป็น Drupal 8 ไปพร้อมกันเลย แต่กว่าจะทำสำเร็จต้องใช้พลังกายพลังใจเยอะกว่าที่คิดมาก (ทำๆ หยุดๆ อยู่เกือบสัปดาห์) ควรค่าแก่การบันทึกไว้เป็น knowledge base

ลองเล่น Drupal 8

Drupal 8
ออกจากวงการ Drupal ไปนาน พอ [Drupal 8 ออกตัวจริง](https://www.blognone.com/node/74980) เลยลองไปหามาเล่นดูหน่อย ลองเล่นสั้นๆ มีข้อสังเกตดังนี้ - UI เปลี่ยนแปลงเยอะ จุดสำคัญคือแยก frontend กับ backend ออกจากกันแล้ว, เลิกใช้อินเทอร์เฟซแบบ overlay ที่ชวนให้สับสน (อันนี้ดีมาก) - การแบ่งหมวดหมู่ของ backend ยังคล้ายกับ Drupal 7 ซึ่งมันก็ค่อนข้าง logical อยู่แล้ว - จุดที่เปลี่ยนไปเยอะคือ editor ที่เป็น wysiwyg โดย default, รวม image module เข้ามาให้ในตัว, ย้าย settings ของโพสต์มาไว้ด้านข้าง (ของเดิมอยู่ล่าง) และเพิ่มปุ่ม save and unpublished เข้ามาเป็นอีกโหมดหนึ่ง (ถือว่าพัฒนาขึ้นเยอะ แต่ก็ยังห่างไกล

Drupal with Open Graph Meta Tags

ความเดิมจากตอนก่อน [How to Create Google+ Snippet](http://isriya.com/node/3600/how-to-create-google-snippet) ทุกวันนี้การแชร์โพสต์ลงใน social network กลายเป็นเรื่องธรรมดาสามัญไปแล้ว เว็บไซต์ที่เดิมที่ต้อง optimized for search engine ก็ต้องปรับตัวให้เพิ่มการ optimized for social network ด้วย ซึ่งจุดนี้ CMS เองยังก้าวตามไม่ทัน และต้องลงปลั๊กอินช่วยอยู่บ้าง จุดสำคัญของการ optimized for social network (ในที่นี้คือ Facebook/Google+) คือต้องแสดง "ภาพ" เป็นตัวอย่างว่าลิงก์ปลายทางจะมีอะไรบ้าง เพื่อเรียกลูกค้าให้เข้าไปชมดู (แน่นอนอยู่แล้วว่า "มีภาพ" มันชวนกดกว่า "ไม่มีภาพ") ปัญหาก็คือหลายครั้งหลายตอ

Drupal 7 Upgrade Story

ช่วงน้ำท่วมเหมือนได้ปิดเทอม เลยนั่งทยอยสะสางงานที่อยากทำแต่ไม่ได้ทำเพราะไม่มีเวลามากพอ หนึ่งในนั้นคือการอัพเกรด isriya.com เป็น Drupal 7 ผลลัพธ์ออกมาอย่างที่เห็นคือ อัพได้ (ยังไม่ได้แก้ธีมเก่า + หาธีมใหม่ เลยใช้ default ไปพลางๆ ก่อน) แต่กว่าจะผ่านมาได้ก็เหนื่อยยากแสนเข็ญ มาแชร์ประสบการณ์ไว้หน่อย ## แบ็คกราวด์ - isriya.com รัน D6 ที่อัพมาจาก D5 อีกที - ใช้ module ไม่เยอะเท่าไร และไม่มีความสำคัญกับชีวิตมากนัก ปิดทิ้งได้หมด ยกเว้น markdown ที่ต้องใช้เป็น input format (ซึ่งก็มีเวอร์ชัน D7 อยู่แล้ว) - isriya.com อยู่บนเซิร์ฟเวอร์ของ [CLNOX](http://clnox.com/) ## วางแผน - แนะนำอย่างยิ่งว่า ควร

How to Create Google+ Snippet

นั่งงมอยู่ครึ่งบ่าย ตอนนี้หายงงแล้วมาเขียนไว้หน่อย กันลืม ในโลกยุค social network ทุกวันนี้ การแชร์ลิงก์ผ่าน social network กลายเป็นเรื่องปกติธรรมดา ในกรณีของ Twitter คงไม่มีอะไรพิสดารเพราะถือเป็นข้อความธรรมดา (ที่ดันเป็น URL) แต่กรณีของ Facebook/Google+ เวลาเราแปะลิงก์ (หรือกด Like/+1) มันจะขึ้นพรีวิวขึ้นมาให้เห็น พรีวิวอันนี้ (หรือที่กูเกิลเรียกว่า snippet) จะช่วยให้ลิงก์ของเราน่าอ่านมากขึ้น เพราะมันจะแสดงข้อมูล (metadata) สามอย่างให้คนอ่านเห็น ได้แก่ - ชื่อลิงก์ (title) - ภาพประกอบ (thumbnail) - คำโปรย (description) คำถามต่อมาในเชิงเทคนิคคือ Facebook/Google+ นำข้อมูล 3 ประการนี้มาแสดง

Self-hosted Google Analytics

ช่วงวันสองวันที่ผ่านมา ผมกับ @lewcpe นั่งจูนอัพระบบของ Blognone ให้ทำงานเร็วขึ้น ([Let's make the web faster](http://code.google.com/speed/articles/) มีประโยชน์มากครับ) หลักการใหญ่ๆ ของการจูนเว็บ (ไม่นับ database) ที่ผมพอจับความได้คือ * ลดขนาดของไฟล์รวมลง - อันนี้ตรงไปตรงมา * ลดจำนวน HTTP request ลง - เป็นผลมาจากวิธีทำงานของ HTTP socket * ลดการเรียกไฟล์มาจากโดเมนอื่น - เพื่อลดเวลาการ lookup เว็บปัจจุบันมีการเรียกไฟล์ (ทั้งภาพและ JavaScript) จากโดเมนอื่นๆ เป็นอย่างมาก เช่น ปุ่ม Like, Tweet, FeedBurner, Google Analytics ฯลฯ ซึ่งถ้าเป็นเว็บขนาดเล็กๆ ก็ไม่มีปัญหาอะไรมากนัก แต่สำหรับเว็บที่เริ่ม

The Drupal Book, Reprinted

ได้รับเมลแจ้งจาก บก. ว่าพิมพ์เพิ่มอีก 3,000 ตอนนี้ยอดรวมคือ 6,500 เล่มจากการพิมพ์สองครั้ง - [บล็อกตอนที่แล้ว](http://www.isriya.com/node/2697/the-drupal-book) - [เว็บหนังสือ](http://drupal.in.th/book)

Few Drupal Updates

ช่วงหลังๆ ผมร้างราจาก Drupal ไปมาก ส่วนหนึ่งเป็นเพราะผันตัวเองออกจากวงการ web development อีกส่วนหนึ่งคือเว็บใหม่ไม่เกิด เว็บเดิมไม่เปลี่ยน เลยไม่ได้ติดตามอะไรมาก วันนี้เกิดอาการ "คิดถึง" เลยมานั่งอัพเดตโลกของ Drupal เข้าหัวหน่อย __Acquia__ * Acquia กำลังจะออก [Drupal Commons](http://acquia.com/products-services/drupal-commons) เท่าที่ผมเข้าใจมันคือดิสโทรสำหรับงานด้าน social network เทียบได้กับ BuddyPress * Acquia มาทำตลาด Drupal โดยเรียกมันว่า "Social Publishing" แทนคำว่า CMS * Acquia Drupal คงทำหน้าที่เป็นแค่ดิสโทรที่ช่วยให้ Acquia ทำงานสะดวกขึ้น หวังนวัตกรรมจากมันคงจะยาก * ที่น่าจับตาคือ

Drupal Login/Logout Menu

ผมทำ [Blognone Mobile](http://www.isriya.com/node/2776/blognone-mobile) ค้างไว้ชาติเศษ ตอนนี้ @lewcpe มาสานฝันให้มันเป็นจริง และมันก็เข้าสู่สถานะแห่งโลกความเป็นจริง นั่นคือการแก้บั๊ก (ตอนนี้ทดสอบได้แล้วที่ [m.blognone.com](http://m.blognone.com)) ปกติแล้วการล็อกอินของ Drupal นิยมทำเป็น block ไว้ที่หน้าแรก แต่สำหรับ mobile site แล้ว การเอา block พวกนี้มาใส่มันค่อนข้างเปลืองที่ วิธีที่ดีกว่าคือทำลิงก์ใน menu ให้กดไปยังหน้าล็อกอินอีกทีหนึ่ง พาธสำหรับหน้าล็อกอินที่รู้จักกันทั่วไปคือ /user แต่ปัญหาคือ เมื่อล็อกอินไปแล้ว เมนู "Login" จะยังคงเกะกะให้เห็นอยู่ ซึ่งจะต่างจากเมนู Logout (/logout) ที

Drupal Example: Obama and Abhisit

คุณ @gzix [ทักมา](http://twitter.com/gzix/status/6397710246)ใน Twitter ว่าให้โปรโมทหนังสือ Drupal ใน drupal.in.th ด้วย เลย[จัดให้ตามขอ](http://drupal.in.th/book) ไหนๆ ทำแล้วเลยอัพเดตหน้า [Introduction to Drupal](http://drupal.in.th) ด้วยเลย อย่างแรกที่ทำคือ เพิ่ม[รางวัล Hall of Fame ของ Packt Publishing ประจำปี 2009](http://www.blognone.com/node/13885) ลงไปในลิสต์ อีกอันที่ทำคือแก้ตัวอย่างเว็บที่ใช้ Drupal ให้ทันสมัยขึ้นหน่อย สัญชาตญาณครีเอทีฟที่มีอยู่น้อยนิดในตัวผม บอกว่าควรออกมาเป็นยังงี้ ผลคือ [ประสบความสำเร็จด้วยดี](http://twitter.com/sugree/status/6398863116)