그누보드7 미디어 관리 모듈 - Glitter Media Manager
게시글의 첨부파일을 넘어, 사이트 전체에서 검색/분류/재사용할 수 있는 독립 미디어 자산 관리 모듈
소개
glitter-media_manager는 파일을 특정 게시글의 부속물이 아니라 사이트 전체에서 관리되는 독립적인 미디어 자산으로 다루기 위해 설계된 그누보드7 모듈입니다.
기존의 게시판 중심 첨부파일 관리와 달리, 파일 자체를 하나의 자산으로 관리하여 다양한 기능과 서비스에서 재사용할 수 있도록 설계했습니다.
대표적인 특징은 다음과 같습니다.
- UUID 기반 자산 관리
- 중앙 집중형 미디어 카탈로그
- 폴더 및 태그 기반 분류
- 풍부한 메타데이터 관리
- Repository 패턴 기반 설계
- Storage 추상화
- REST API 제공
- GnuBoard7 Module Lifecycle 지원
현재 Open Beta에서는 이미지 및 문서 업로드를 중심으로 기능을 제공하며, 향후 CDN, S3, 썸네일 생성, OCR, AI 자동 태깅 등으로 자연스럽게 확장할 수 있도록 기반 구조를 마련했습니다.
주요 기능
- 이미지 및 문서 업로드
- 중앙 미디어 자산 관리
- 폴더 관리
- 태그 관리
- MIME 기반 분류
- UUID 기반 자산 식별
- 검색 및 필터링
- Soft Delete 지원
- REST API
- 관리자 UI
설계 특징
Media Manager는 다음과 같은 원칙을 중심으로 설계되었습니다.
- 파일(Binary)과 메타데이터(DB)를 분리
- 서버가 MIME, UUID, Checksum을 결정
- Storage와 Repository 계층 분리
- API와 내부 저장 구조 분리
- DB Transaction과 Storage 작업을 보상(Compensation) 방식으로 처리
- GnuBoard7 Module Lifecycle과 자연스럽게 통합
앞으로의 확장
현재 구조를 기반으로 다음과 같은 기능을 추가할 수 있습니다.
- AWS S3
- CDN
- Thumbnail 생성
- WebP / AVIF 변환
- OCR
- AI 자동 태깅
- 동영상 및 오디오 지원
- Asset Usage Tracking
- 중복 파일 제거(Deduplication)
현재 상태
Open Beta
현재는 핵심 업로드 및 자산 관리 기능을 중심으로 구현되어 있으며, 실제 운영 환경에서의 피드백을 통해 기능을 지속적으로 개선해 나갈 예정입니다.
프로젝트 목표
Media Manager는 단순한 "파일 업로더"가 아니라,
그누보드7 에서 다양한 모듈이 함께 사용할 수 있는 공통 미디어 플랫폼을 만드는 것을 목표로 합니다.
기술 스택
- PHP 8.3+
- Laravel 12.x
- MySQL
- Laravel Sanctum
- TypeScript
- Vite
설치 방법
1. GitHub 저장소에서 설치 (권장)
관리자 → 모듈 관리 → 수동 설치 → GitHub
아래의 저장소 URL을 입력합니다.
https://github.com/glitter-node/glitter-media_manager
설치 완료 후 모듈을 활성화하면 미디어 관리 메뉴가 생성됩니다.
2. ZIP 패키지 설치
Release에서 번들 패키지를 다운로드한 후 관리자 → 모듈 관리 → 수동 설치 → 파일 업로드를 통해 설치할 수도 있습니다.
다만 GitHub 저장소를 통한 설치 및 업데이트를 권장합니다.
3. 설치 후 생성된 페이지의 로드 에러 발생 시
관리자 → 환경설정 → 고급 → 캐시 모두 삭제
저장소
GitHub
https://github.com/glitter-node/glitter-media_manager
Release
https://github.com/glitter-node/glitter-media_manager/releases/tag/v1.10.2
최적의 설치
이 버전은 ZIP 설치보다 GitHub 저장소 설치를 기본으로 구성했습니다. 현재 GnuBoard7 관리자에서 GitHub 저장소 URL만으로 설치 및 업데이트가 정상 동작하는 것이 확인되었습니다. 이 방식이 가장 권장되는 설치 방법입니다.
라이선스
MIT License.
이 개발자의 다른 프로젝트
그누보드7 예약 모듈 - glitter-reservation
코어 수정 없이 붙여 사용하는 그누보드7 예약 모듈로, 신청·인증·조회·취소·관리까지 예약 흐름 전체를 모듈 단위로 제공합니다.
그누보드7 상담예약 템플릿 - Glitter Academy Core
GnuBoard7 Template 엔진 기반으로 상담예약 사이트 구성을 위한 초기 템플릿 예제로 설계되었습니다.
그누보드7 커뮤니티 템플릿 - SIRsoft Community
쇼핑몰(이커머스 의존)을 제거하고 커뮤니티 기능에 집중한 경량 사용자 템플릿, ID : sirsoft-comm