본문으로 건너뛰기

Reader

Sequential 콘� �츠 viewer — � �마 / 진도 / 콘� �츠 모드 결정 (Pure)

상태

항목
Layercore
TierL1
Statusreleased
Version1.0.0
가격Free (free)
**카�
�고리**Content

개요

개요

Reader 는 multi-saas-kit 의 Layer 1 Core Plugin � 니다. ebook reader / online course / blog viewer / news article series 등 sequential 콘� �츠 viewer 의 핵심 결정 로직 — � �마 / 진도 / 콘� �츠 모드 — 을 모델 의존 없이 Pure 로 제공합니다.

분리선 (ADR-039)

ADR-039: Plugin Scope 원칙 의 사례 1 로 채택. 기존 Webbook plugin (academy.how 학습자 viewer 전용 � � ) 을 Reader 로 일반화. � 칭/path 만 도메인 흔적이었으며, 로직은 어떤 sequential viewer 에도 적용 가능.

핵심 컴포넌트 (3 Pure Service)

ThemeResolver

4단계 우선순위로 � �마 결정:

  1. URL ?theme=xxx (운영자 미리보기)
  2. ownerTheme (caller 가 결정 — Book.theme / Course.theme / Channel.theme)
  3. tenant.settings.{namespace}.default_theme (organization 기본, namespace 는 config 주� )
  4. config default ('system')

ProgressCalculator + ItemProgress DTO

정렬된 ID 배열 + 현재 ID → 진도/이전/다음. 도메인 모델 무관.

ContentModeResolver

image / html 모드 + html 미존재 시 image 자동 폴백.

설정 (config/reader.php)

SaaS 별 namespace 주� :

SaaStenant_settings_namespace
academy.how (Webbook viewer)'academy'
ebook reader'ebook'
blog viewer'blog'
통합 모드null (top-level)

출처

academy.how WebbookController 추출 → Reader plugin 으로 일반화. Eloquent Book/Lesson/Page/Asset 의존은 academy.how 잔류.

의존성

  • core: >=1.1.0
  • 다른 plugin: 없음

라이선스

MIT

데모


🛒 Plugin Store에서 보기: store.codebase.how/plugins/reader