Articles Category

อยากได้ Template Admin Joomla 4 สวยๆ ต้องลงมือช่วยกัน

หลังจากที่ Focus กับการจัดการงานต่างๆ ในชีวิตมาสักระยะ หยุดงาน Community ใน Joomla! มาหลายปี ด้วยความหวังว่า จะได้เห็นคนใหม่ๆ มาทำต่อ แต่ก็เหมือนทุกอย่างจะหยุดนิ่ง และด้วยตัวผมเอง ก็ไม่ได้รู้สึกตื่นเต้นอะไรกับ Joomla! 3.x  (หรืออาจจะหมดวัย ที่จะตื่นเต้นกับอะไรกับเทคโนโลยีแล้ว)  วันนี้พอเห็นเพื่อน  JoomlaShaper เสนอ idea สำหรับ Template Admin เพื่อใช้กับ Joomla! 4 ที่อยู่ระหว่างการพัฒนา  พอเห็นและทีมลงแรงทำ จนผ่านเข้ามาสู่การยอมรับที่จะนำมาใช้ใน Joomla! 4 แต่ยังต้องการทุกคนช่วยกันลงมือทำเพื่อให้มันเสร็จสมบูรณ์พร้อมที่จะออกมาใช้งาน ในระหว่างที่ Joomla! 4 ก็ยังพัฒนาเพิ่มเติมอยู่เช่นกัน ทีมส่วนใหญ่จึง Focus อยู่กับ Joomla! 4 ตัวหลัก  ใน Project  j4adminui (Template ตัวใหม่) จึงต้องการอีกหลายคนช่วยกัน  ด้วยความที่ผมเองอยากเห็น Template ตัวนี้ถูกรวมมาใน Joomla!4  จึงขอเป็น 1 คนที่ลงมือทำ  วันนี้จึงขอบันทึกวิธีการช่วย โดยที่ไม่จำเป็นต้องเขียน Code เพื่อแก้ไข Issue ที่มีคนแจ้งไว้  สำหรับท่านที่เป็น DevOps หรือ Developer ดูข้ามๆ ไปได้เลย หรือใช้สภาพแวดล้อมตามความถนัดครับ

สำหรับการติดตั้ง Joomla! 4 จาก GitHub โดยตรงนั้นสิ่งที่ต้องเตรียมเพิ่มมากกว่า Joomla! 3.x

รายละเอียดสำหรับการเตรียมสถาพแวดล้อมสำหรับ Joomla! 4  https://docs.joomla.org

สิ่งที่จำเป็นต้องใช้

  • PHP - เหมือนที่เราต้องใช้ในการ Run เว็บ Joomla! แต่กรณีนี้ต้องการ cli (command line interface) เวอร์ชั่น  (ดูได้ใน Configuring LAMPP server for PHP development)
  • Composer - สำหรับ managing Joomla's PHP Dependencies. การติดตั้ง Composer ดูได้ในเว็บ  https://getcomposer.org
  • Node.js - สำหรับคอมไพล์ Joomla's Javascript และ SASS ไฟล์  การติดตั้ง Node.js ก็ดูใน  https://nodejs.org/en/
  • Git - สำหรับ version management.

ผมเสริมอีกนิดควรจะตัองสร้าง User บน GitHub.com ด้วยครับ เพื่อไว้ตั้ง Issue หรือ Comment ใน Source Project ครับ ขออนุญาติข้ามรายละเอียดการเตรียม Environment นะครับ
สำหรับของผม ใช้เครื่อง Mac ลอง MAMP ไว้นานแล้วก็แค่อับเดดเวอร์ชั่น MAMP สักหน่อยแล้วก็ติดตั้ง Composer / Node.js สำหรับเครื่อง Mac พอเรียบร้อยแล้ว คำสั่งที่เราจะใช้จะเป้นดังนี้ครับ

ขั้นตอนการติดตั้งจาก GitHub : https://github.com/joomla-projects/j4adminui

  • Clone the repository:
          git clone This email address is being protected from spambots. You need JavaScript enabled to view it.:joomla-projects/j4adminui.git
  • Go to the j4adminui folder:
           cd j4adminui
  • Install all the needed composer packages:
           composer install
  • Install all the needed npm packages:
           npm ci install

รอมันทำจดเสร็จ จากนั้น ก็เปิด browser ทำการติดตั้ง Joomla! (คล้ายๆ กับที่ติดตั้งๆ Joomla! เวอร์ชั่นก่อนหน้านี้)  พอเสร็จแล้วก็ Login เข้าหน้า Administrator
โดย Template ตัวที่เราจะช่วยกันทำกันนี้ ชื่อ Khonsu
 
Khonsu admin template
Khonsu admin template
 
Confirm Issue หรือ แจ้ง Issue ที่พบ
      คลิกเข้าไปที่ https://github.com/joomla-projects/j4adminui/issues คลิกเข้าไปดูที่มีคนแจ้งไว้ แล้วเช็คดูว่าหลังจากเรา install แล้ว มีปัญหาตามนั้นไหม ถ้ามีก็ comment ยืนยันว่าพอปัญหานี้เช่นกัน หรือถ้าเราพอปัญหาอื่น ไล่ดูแล้วยังไม่เคยมีใครตั้ง Issue ไว้ เราก็ตั้ง issue ใหม่ได้ โดยอธิบายขั้นตอนการคลิก เพื่อให้พบกับปัญหานี้  Developer หรือท่านอื่นๆ จะได้ทำตามและตรวจสอบได้ครับ
 
ทดสอบ Pacth
โดยการเข้าไปดู Pull Request ว่ามีอันไหนรอทดสอบอยู่บ้าง ที่ url  https://github.com/joomla-projects/j4adminui/pulls 
ในแต่ละ Pull request จะอิงว่าเขาทำการแก้ไข Issue ไหน โดยเราคลิกไปดูรายละเอียดใน Issue เพื่อจะได้ทราบว่าปัญหาที่พบคืออะไร  สิ่งที่เราจะดูคือเลข Pull Request
 
Pull Request List
Pull request details
 
Pull request details
รายการ Code ที่มีการแก้ไข

ทดสอบ Patch

เปิดเข้าหน้า Terminal เพื่อ run คำสั่งดังนี้ครับ

  • git fetch origin pull/140/head      <- เปลี่ยนตัวเลขไปตามเลข Pull Request ครับ
  • git checkout FETCH_HEAD
  • npm run build:js && npm run build:css

พอมัน compile เสร็จ เราทดสอบดูว่าปัญหาใน Pull request นั้น สามารถแก้ปัญหาใน issue ที่อ้างถึงได้หรือไม่ แล้วก็ comment ผลการทดสอบไปครับ  pull request ไหน ผ่านการทดสอบอย่างน้อย 2 ท่าน จึงจะถูก Merge รวม Code เข้าไปใน Project ครับ