- Gnuboard ซึ่งถูกใช้กันอย่างแพร่หลายในเกาหลีสำหรับการพัฒนาเว็บไซต์และร้านค้าออนไลน์ของบริษัท ได้เปิดตัวเวอร์ชันทางการ 7.0 เมื่อวันที่ 1 กรกฎาคม 2026 โดยออกแบบใหม่ทั้งหมดตั้งแต่คอร์
- หลังจากโอเพนเบต้า (7.0.0-beta.1) เมื่อวันที่ 1 เมษายน 2026 ผ่านช่วงเบต้า 3 เดือนจนมาถึงรีลีสทางการ ปัจจุบันเป็นเวอร์ชัน 7.0.3 (ณ วันที่ 9 กรกฎาคม 2026)
- แบ็กเอนด์ PHP 8.2+ / Laravel 12, ฟรอนต์เอนด์ React 19 + Vite + Tailwind CSS 4
- ไลเซนส์ MIT
เอนจินเลย์เอาต์ JSON
- การตัดสินใจออกแบบหลักของโปรเจกต์นี้คือ กำหนด UI ด้วยข้อมูล (JSON) ไม่ใช่โค้ด
- เมื่อประกาศโครงสร้างหน้าจอ การผูกข้อมูล และ event handler เป็น JSON เอนจินจะตีความและเรนเดอร์เป็น tree ของ React component
- ผลลัพธ์คือโมดูล/ปลั๊กอินสามารถแทรกและขยาย UI เฉพาะของตนเองลงในหน้าจอเดิมได้ โดยไม่ต้องผ่านกระบวนการ build ฟรอนต์เอนด์ เมื่อติดตั้งส่วนขยายแล้ว สามารถเปลี่ยนหน้าจอได้โดยไม่ต้อง build bundle ใหม่
- หากต้องการ UI ขั้นสูง ก็ยังมีเส้นทางให้สร้าง custom React component แล้วลงทะเบียนใน template registry ได้
- ใน 7.0.0 มีการนำตัวแก้ไขเลย์เอาต์แบบ WYSIWYG เข้ามาใหม่ ทำให้จัดวางองค์ประกอบได้โดยดูผลลัพธ์การเรนเดอร์เหมือนหน้าจริง และรองรับการ preview ก่อนบันทึกกับการกู้คืนตามเวอร์ชัน
โครงสร้างส่วนขยาย
- โครงสร้าง 3 ชั้น: โมดูล + ปลั๊กอิน + เทมเพลต เพิ่มฟีเจอร์ได้โดยไม่แก้คอร์
- แทรกฟีเจอร์ด้วยระบบ hook 2 แบบคือ Action / Filter และแยกชั้น Controller → FormRequest → Service → Repository → Model
- โมดูลที่มีมาให้พื้นฐาน: กระดานสนทนา, ร้านค้าออนไลน์ (สินค้า·คำสั่งซื้อ·การชำระเงิน·การจัดส่ง·คูปอง), หน้าเพจ
- ปลั๊กอินที่มีมาให้พื้นฐาน: การชำระเงิน KG Inicis, ยืนยันตัวตน KG Inicis, รหัสไปรษณีย์ Daum, CKEditor 5, เครื่องมือการตลาด, ความยินยอมคุกกี้ GDPR
- มีตัวอย่าง implementation ขั้นต่ำสำหรับเรียนรู้ระบบส่วนขยาย (hello_module / hello_plugin / เทมเพลต hello 2 แบบ) มาพร้อมกัน
ฟีเจอร์ที่คอร์มีให้
- สิทธิ์: การควบคุมการเข้าถึง 3 ขั้น ได้แก่ บทบาท (Role) + สิทธิ์ (Permission) + ขอบเขต (Scope)
- การยืนยันตัวตน (IDV): จัดการจุดเวลาที่ต้องยืนยันตัวตนสำหรับการสมัครสมาชิก การรีเซ็ตรหัสผ่าน และงานที่มีความอ่อนไหว ด้วยนโยบายแบบ declarative ระดับ route/hook เมื่อเซิร์ฟเวอร์ตอบกลับ HTTP 428 ตัว interceptor ฝั่งฟรอนต์เอนด์จะเปิดโมดัลยืนยันตัวตน และเมื่อสำเร็จจะเรียก request เดิมซ้ำโดยอัตโนมัติ
- การแจ้งเตือน: โครงสร้าง 3 ชั้น Definition × Template × Recipients ส่งได้หลายช่องทางอย่างอิสระผ่านเมล / DB / real-time broadcast (Laravel Reverb)
- SEO: ตรวจจับบอทประมาณ 1,000 ชนิดด้วย
crawler-detectโดยไม่ต้องตั้งค่าเซิร์ฟเวอร์ SSR เช่น Next.js แล้วตอบ static HTML ให้บอท และตอบ SPA ให้ผู้ใช้ สร้าง Sitemap อัตโนมัติ - แพ็กภาษา: มีภาษาเกาหลี/อังกฤษในคอร์ ภาษาญี่ปุ่นมีให้เป็นบันเดิลคอร์ + ส่วนขยายหลัก 12 รายการ และติดตั้งภาษาใหม่ได้ด้วย ZIP หรือ GitHub URL ข้อมูลหลายภาษาที่ผู้ดูแลแก้ไขเองจะถูกเก็บรักษาไว้แม้มีการอัปเดตส่วนขยายหรือแพ็กภาษา
โครงสร้างที่เป็นมิตรกับ AI
- วางเอกสารพัฒนาอย่างเป็นทางการ
AGENTS.md(ประมาณ 58KB) ไว้ที่ root ของ repository ออกแบบให้ coding agent อ่านกฎและทำงานตามได้ - เนื่องจาก UI เป็น JSON จึงทำให้ LLM สร้างและแก้ไขหน้าจอได้ง่าย
สถานะปัจจุบันและข้อจำกัด
- ยังไม่มีเครื่องมือ migration ข้อมูลจาก Gnuboard 5 → 7 และอยู่ในสถานะมีกำหนดจะให้บริการ จึงยังไม่สามารถย้ายเว็บไซต์เดิมได้ทันที
- GitHub repository มี star 36 / fork 17 ระบบนิเวศจึงยังอยู่ในช่วงเริ่มต้น
ลิงก์
- เดโม: https://g7.gnuboard.com
- เดโมผู้ดูแลระบบ: https://g7.gnuboard.com/admin
- GitHub: https://github.com/gnuboard/g7
- คอมมูนิตี้: https://sir.kr
4 ความคิดเห็น
ย้ายไปที่ Show GN แล้ว
โปรดทราบว่าโพสต์ที่ moderator ปรับหมวดหมู่อาจถูกจำกัดการแสดงผลบนหน้าแรก ดังนั้นกรุณาตรวจสอบหมวดหมู่อีกครั้งก่อนลงทะเบียน
ว้าว ยังสืบทอดต่อเนื่องกันมาอยู่จริง ๆ สินะครับ
ว้าว เมื่อ 16 ปีก่อนผมเคยใช้บ่อยมากจริง ๆ เป็น Gnuboard ที่ชวนให้นึกถึงความหลังเลยครับ ขอเป็นกำลังใจให้นะครับ
ขอเป็นกำลังใจให้ GnuBoard ครับ น่าทึ่งจริง ๆ ที่สามารถสานต่อมาได้ยาวนานภายใต้ชื่อเดียวกันแบบนี้