Repository navigation
Gnuboard7을 위한 독립형 학습 관리 시스템(LMS) 모듈
Glitter Learning은 Gnuboard7 기반 사이트에서 강좌 개설, 차시 관리, 수강 신청, 학습 진도 추적 및 수료 관리를 제공하는 독립형 LMS 모듈입니다.
이번 v1.2.13은 최초 공개 릴리스로, CKEditor 5 기반 HTML 콘텐츠 편집 기능과 서버 측 HTML 정제 보안 패치를 포함합니다.
주요 기능 (Features)
강좌 관리
- 강좌 등록, 수정 및 삭제
- 강좌 공개·비공개 상태 관리
- 강좌별 차시 등록 및 순서 관리
- 강좌 카테고리 및 난이도 설정
- 대표 이미지, 학습 목표, 선수 학습 조건 및 예상 학습 시간 관리
- 관리자 권한 기반 접근 제어
수강 및 학습 관리
- 공개 강좌 목록 및 상세 조회
- 회원별 수강 신청 및 수강 상태 관리
- 차시별 학습 완료 처리
- 학습 진도 추적
- 강좌 수료 판정 및 수료 이력 관리
- 회원별 학습 데이터 접근 제어
콘텐츠 편집
- 공식
sirsoft-ckeditor5플러그인 연동 - 일반 텍스트 및 HTML 설명 모드 지원
- 표, 이미지, 링크 등 리치 텍스트 콘텐츠 지원
- 서버 측 HTML 정제
- 기존 텍스트 콘텐츠와의 호환성 유지
확장성
- Gnuboard7 공식 모듈 생명주기 지원
- 독립적인 관리자 및 사용자 API
- 템플릿에서 활용할 수 있는 학습 데이터 제공
- Glitter Learning Academy 템플릿 연동
보안 수정 (Security Fixes)
HTML Sanitizer 보안 강화
HTML 정제 과정에서 <figure> 및 허용되지 않은 래퍼 요소의 자식 노드가 허용 목록 검사를 건너뛸 수 있던 문제를 수정했습니다.
주요 변경 사항:
- DOM 자식 노드 재귀 정제
- 순회 중 노드 이동에 따른 검사 누락 방지
- 중첩
<figure>안전 처리 - 허용되지 않은 태그 및 이벤트 속성 제거
- 위험한 링크·이미지 URL 차단
isSafeHref()정규식 오류 수정- 정상적인 CKEditor 5 표 및 이미지 구조 보존
해당 수정은 관리자 콘텐츠 저장 및 미리보기에서 사용하는 서버 측 HTML 정제 경로에 적용됩니다.
호환성 및 요구사항 (Requirements)
| 항목 | 요구사항 |
|---|---|
| 플랫폼 | Gnuboard7 |
| PHP | Gnuboard7 지원 PHP 버전 |
| 필수 플러그인 | sirsoft-ckeditor5 >=1.2.13 |
| 모듈 식별자 | glitter-learning |
| 버전 | 1.2.13 |
| 라이선스 | MIT |
| 개발 및 배포 | Glitter.kr |
Gnuboard7 최소 지원 버전은 배포 패키지의 module.json을 확인해 주세요.
설치 및 업데이트 (Installation & Upgrade)
Gnuboard7의 공식 모듈 설치 및 업데이트 절차를 사용하세요.
기존 설치본을 v1.2.13로 업데이트하는 경우:
- 기존 강좌 및 차시 데이터 유지
- 수강·진도·수료 기록 유지
- 데이터베이스 스키마 변경 없음
- 기존 콘텐츠 일괄 재정제 없음
운영 환경에서는 업데이트 전에 데이터베이스와 모듈 파일을 백업하는 것을 권장합니다.
주의: 설치된 모듈 파일을 직접 덮어쓰지 말고 Gnuboard7 공식 모듈 생명주기를 이용하세요.
검증 (Validation)
v1.2.13 배포 과정에서 다음 항목을 확인했습니다.
- PHP 구문 검사 통과
- HTML 정제기 메모리 기반 검증 통과
- 위험 태그·속성·URL 제거 확인
- CKEditor 5 표 및 이미지 보존 확인
- HTML 재정제 시 안전성 유지 확인
- 공식 모듈 업데이트 성공
- 번들·설치본 Sanitizer SHA-256 일치
- 운영 데이터 및 기존 마이그레이션 이력 보존 확인
자동화 테스트 프레임워크를 이용한 전체 테스트와 모든 브라우저 조합에 대한 호환성 검증은 수행하지 않았습니다.
관련 프로젝트 (Related Projects)
- Glitter Learning Academy — 학습자용 Academy 템플릿
- Glitter Search Hub — 통합 검색 확장
- Glitter HelpComm Installer — 커뮤니티 필수 게시판 초기화 모듈
각 프로젝트는 독립적인 버전과 배포 주기를 따릅니다.
라이선스 (License)
MIT License
Copyright © Glitter.kr
Glitter Learning v1.2.13 — Learn, Track, Complete.