UJCMS: ระบบจัดการเนื้อหาโอเพ่นซอร์สที่ใช้ SpringBoot
UJCMS คือระบบจัดการเนื้อหาแบบโอเพ่นซอร์ส (Java CMS) ที่พัฒนาขึ้นโดยใช้ SpringBoot โดยมีเป้าหมายเพื่อให้นักพัฒนามีแพลตฟอร์มที่ยืดหยุ่น ใช้งานง่าย และทรงพลัง โดยใช้เทคโนโลยีกระแสหลัก เช่น SpringBoot, MyBatis, Shiro, Lucene, FreeMarker, TypeScript, Vue3, ElementPlus และอ้างอิงประสบการณ์การพัฒนาหลายปีของ Jspxcms เพื่อปรับให้เหมาะสมและปรับปรุงจุดบกพร่องของระบบดั้งเดิม
จุดเด่นทางเทคนิคของ UJCMS
UJCMS ยึดมั่นในหลักการ "เรียบง่าย" และ "ยืดหยุ่น" เสมอในการเลือกเทคโนโลยีและการออกแบบสถาปัตยกรรม โดยมุ่งมั่นที่จะลดต้นทุนการบำรุงรักษาระบบและความยากลำบากในการพัฒนาขั้นที่สอง และมอบประสบการณ์ที่สะดวกสบายยิ่งขึ้นแก่นักพัฒนา
1. สถาปัตยกรรมทางเทคนิค
ชั้นการคงอยู่: ใช้ MyBatis เพื่อแทนที่ Hibernate เพื่อลดความซับซ้อนของการดำเนินการคงอยู่ของข้อมูลและปรับปรุงประสิทธิภาพการพัฒนา
ดูเลเยอร์: ใช้ Vue3 พร้อมส่วนหน้าและส่วนหลังแยกกันเพื่อแทนที่ JSP เพื่อให้ได้การออกแบบอินเทอร์เฟซผู้ใช้ที่ทันสมัยยิ่งขึ้น และปรับปรุงประสบการณ์ผู้ใช้
ฐานข้อมูล: ออกแบบสถาปัตยกรรมฐานข้อมูลใหม่และเพิ่มประสิทธิภาพการจัดเก็บข้อมูลและวิธีการเข้าถึง
2. จุดเด่นของฟังก์ชัน
UJCMS มีฟังก์ชันมากมาย ครอบคลุมข้อกำหนดหลักของระบบการจัดการเนื้อหา และปรับปรุงความยืดหยุ่นและความสะดวกในการใช้งานระบบผ่านการออกแบบที่เป็นนวัตกรรมใหม่:
1. ฟิลด์ที่กำหนดเอง
สามารถสืบค้นได้: สามารถสืบค้นฟิลด์ที่กำหนดเองทั้งหมดได้ ซึ่งช่วยเพิ่มความยืดหยุ่นของระบบและตอบสนองความต้องการการจัดการเนื้อหาที่หลากหลาย
การออกแบบภาพ: ให้อินเทอร์เฟซการออกแบบภาพแบบลากและวางเพื่อให้ทราบถึงการกำหนดค่าฟิลด์แบบกำหนดเองแบบ WYSIWYG และทำให้กระบวนการดำเนินการง่ายขึ้น
2. การเพิ่มประสิทธิภาพ SEO ที่อยู่ URL
การแก้ไขที่อยู่แบบไดนามิก: ระบบมีฟังก์ชันการตั้งค่าส่วนกลางเพื่ออำนวยความสะดวกให้ผู้ใช้สามารถปรับแต่งคำนำหน้าที่อยู่ URL ของคอลัมน์และบทความเพื่อปรับปรุงผลการเพิ่มประสิทธิภาพ SEO
การเพิ่มประสิทธิภาพหลายไซต์: ที่อยู่ URL ของไซต์ย่อยไม่อยู่ในรูปแบบ www.example.com/site-abc อีกต่อไป แต่อยู่ในรูปแบบ www.example.com/abc ที่เข้าใจง่ายกว่า ซึ่งทำให้เส้นทางการเข้าถึงของผู้ใช้ง่ายขึ้น
3. ทำความสะอาดไฟล์แนบขยะ
การจัดการไฟล์แนบ: มีฟังก์ชันการจัดการไฟล์แนบเพื่ออำนวยความสะดวกให้ผู้ใช้สามารถดูภาพและไฟล์แนบที่ไม่ได้ใช้ทั้งหมด ลบออก และล้างพื้นที่ระบบ
การทำความสะอาดอัตโนมัติ: หลังจากลบบทความแล้ว ระบบจะล้างรูปภาพและไฟล์แนบที่ไม่ได้ใช้ในบทความโดยอัตโนมัติ เพื่อหลีกเลี่ยงการสร้างข้อมูลขยะจำนวนมาก
4. เอกสารแนบ เทมเพลต และไฟล์ดัชนีจะถูกปรับใช้อย่างอิสระ
ไดเร็กทอรีอิสระ: ปรับใช้ไฟล์ที่สร้างขึ้นเมื่อระบบกำลังทำงาน (เช่น รูปภาพและไฟล์แนบที่อัปโหลด เทมเพลตส่วนหน้า ไฟล์ดัชนี) ไปยังไดเร็กทอรีอิสระเพื่ออำนวยความสะดวกในการสำรองข้อมูล อัปเกรด และการจัดการระบบ
5. ไฟล์เทมเพลตอยู่ในไดเร็กทอรีเดียวกันกับ CSS และ JS
การจัดการที่สะดวก: ใส่ไฟล์เทมเพลต, CSS และ JS ลงในไดเร็กทอรีเดียวกันเพื่อลดความซับซ้อนของการผลิตเทมเพลตและกระบวนการปรับใช้ และปรับปรุงประสิทธิภาพการพัฒนา
6. แบบสอบถามแบบกำหนดพารามิเตอร์ MyBatis
การสืบค้นแบบยืดหยุ่น: การส่งผ่านพารามิเตอร์การสืบค้นในส่วนหน้า ทำให้สามารถรับรู้ฟังก์ชันการสืบค้นของฟิลด์และตารางที่เกี่ยวข้องได้ ไม่จำเป็นต้องเขียนโค้ดในพื้นหลัง ซึ่งช่วยลดภาระงานในการพัฒนาส่วนหลังได้อย่างมาก
ปรับปรุงประสิทธิภาพ: ลดความซับซ้อนของการดำเนินการสืบค้นและปรับปรุงประสิทธิภาพการพัฒนา
7. แยกตารางหลักและตารางรอง
ปรับปรุงประสิทธิภาพ: แยกตารางที่ซับซ้อนที่มีปริมาณการสืบค้นขนาดใหญ่ลงในตารางหลักและรอง ใส่เขตข้อมูลการสืบค้นที่ใช้โดยทั่วไปลงในตารางหลัก และใส่เขตข้อมูลที่ใช้น้อยกว่าปกติลงในตารางรองเพื่อปรับปรุงประสิทธิภาพของระบบภายใต้ปริมาณข้อมูลขนาดใหญ่
ข้อกำหนดด้านสิ่งแวดล้อมสำหรับ UJCMS
เจดีเค 8
MySQL 5.7 (เข้ากันได้กับ 5.6, 8.0)
Tomcat 8.5, 9.0 (เซิร์ฟเล็ต 3.1+)
มาเวน 3.5 หรือสูงกว่า
เบราว์เซอร์ที่รองรับระบบแบ็กเอนด์: Chrome, Firefox, Edge
เบราว์เซอร์ที่เข้ากันได้ของหน้าแรกนั้นขึ้นอยู่กับเทมเพลต ผู้ใช้สามารถควบคุมเทมเพลตได้อย่างสมบูรณ์ และในทางทฤษฎีสามารถรองรับเบราว์เซอร์ใดก็ได้ เทมเพลตสาธิตรองรับ IE10+ (ยกเว้นฟังก์ชันไลบรารี), Chrome, Firefox และ Edge
การติดตั้งและการเริ่มต้น UJCMS
1. นำเข้าข้อมูลเข้าสู่ฐานข้อมูล
สร้างฐานข้อมูล: เมื่อใช้ MySQL ให้เลือกชุดอักขระ utf8mb4 (แนะนำรองรับอักขระพิเศษเพิ่มเติม เช่น อักขระอิโมติคอน อิโมจิ)
ดำเนินการสคริปต์ฐานข้อมูล: สคริปต์ฐานข้อมูลอยู่ในไดเร็กทอรีฐานข้อมูล
2. เริ่มโปรแกรม
นำเข้าโปรเจ็กต์ Maven: นำเข้าโปรเจ็กต์ Maven ใน Eclipse และรอให้แพ็คเกจ jar ของบริษัทอื่น (เช่น Spring) ดาวน์โหลดจากเซิร์ฟเวอร์ Maven
แก้ไขการเชื่อมต่อฐานข้อมูล: เปิดไฟล์ /src/main/resources/application.propertis และแก้ไขค่าของ spring.datasource.url, spring.datasource.username และ spring.datasource.password ตามสถานการณ์จริง
เริ่มต้นโปรแกรม: ใน Eclipse คลิกขวาที่ชื่อโปรเจ็กต์ เลือก Run as - Java Application เลือก Application - com.ujcms และคลิก OK
IntelliJ IDEA: ขั้นตอนการดำเนินการคล้ายกับ Eclipse ค้นหาคลาส com.ujcms.Application ในโปรเจ็กต์แล้วคลิกขวา เลือก Run 'Application'
3. ที่อยู่การเข้าถึง
แผนกต้อนรับ: http://localhost:8080/
แบ็กเอนด์: http://localhost:8080/cp/ (ชื่อผู้ใช้: ผู้ดูแลระบบ, รหัสผ่าน: รหัสผ่าน)
หมายเหตุ: ส่วนหน้าแบ็กเอนด์ได้รับการพัฒนาโดยใช้ Vue 3 หากคุณต้องการแก้ไขอินเทอร์เฟซแบ็กเอนด์ โปรดดาวน์โหลดโปรเจ็กต์ ujcms-cp แยกต่างหาก
สรุป
UJCMS เป็นระบบจัดการเนื้อหาโอเพ่นซอร์สที่ทรงพลัง ยืดหยุ่น และใช้งานง่ายพร้อมประสิทธิภาพที่ยอดเยี่ยม ใช้สแต็กเทคโนโลยีกระแสหลักและปรับปัญหาทั่วไปบางอย่างให้เหมาะสม โดยมีเป้าหมายเพื่อให้นักพัฒนาได้รับประสบการณ์การพัฒนาและบำรุงรักษาที่สะดวกและมีประสิทธิภาพมากขึ้น หากคุณต้องการแพลตฟอร์ม CMS ที่เชื่อถือได้และปรับขนาดได้ง่าย UJCMS สมควรได้รับความสนใจจากคุณ