Content
콘� �츠 저장 / 메타데이터 / 다국어 지원
상태
| 항목 | 값 |
|---|---|
| Layer | existing |
| Tier | L0 |
| Status | deprecated |
| Version | 1.0.0 |
| 가격 | Free (free) |
| **카� | |
| �고리** | Content |
개요
⛔ Deprecated (ADR-039 사례 12)
ADR-039: Plugin Scope 원칙 적용 — academy.how 학습 콘� �츠 도메인 전용 plugin 부적격 판정.
부적격 근거 (scripture.how 적용 검증으로 폭로)
-
Job 내부 academy 직접 참조:
$lessonClass = '\\App\\Modules\\Content\\Models\\Lesson';(academy.how Eloquent 직접 참조)$extractor->extractForLesson($lesson, ...)(academy Service 직접 호출)- view enum:
'student' | 'teacher' | 'student_mobile' | 'teacher_tip'(학습 도메인)
-
**Contracts 도메인 � � **:
LessonInterface(lesson 개� � — scripture/forum/commerce 매핑 부자연스러움)LearnerContextInterface(learner 개� � + currentRole 'student/teacher/admin')
-
언어팩:
lesson.php,thread.php,illustration.php,annotation.php모두 학습 도메인
현재 상태 (중요)
⚠️ 'SaaS 이전' 작� 불필요. 본 plugin 의 원본 코드는 추출 작� 중에 academy.how 코드에 그대로 남아있습니다.
- 원본 위치:
workspace/academy.how/web/app/Modules/Content/Services/ContentExtractor.php(외 Models/Jobs) - plugin 추출본:
platform/web/laravel/plugins/Content/(Phase 1+2 미완성, Job 만 추출됨) - academy.how 의 동작: 추출 작� 이후에도 자기 코드를 그대로 사용 중 (변경 없음)
Deprecated 의 의미
- ❌ 본 plugin 추출본 발전시키지 않음
- ❌ plugin store 카탈로그 � �출 안 함
- � academy.how 원본 코드 그대로 사용 — 변경 불필요
- � plugin 폴더는 reference 로 보존 (LessonInterface 패턴은 다른 plugin (Annotation 등) 의 일반화 참고용)
잘못된 분류 정정 이력
- 2026-04 Phase 1+2 추출 시 status
released(1.0.0) 로 분류 — 코드 내 도메인성 검증 누락 - 2026-05-02 ADR-039 Step 1+2 검토 시 "적격 plugin" 으로 분류 — manifest description 만 보고 판단한 오류
- 2026-05-02 scripture.how 적용 검증 시도 → 폭로 → 본 정정
일반화 가능했던 부분 (참고)
다른 plugin 일반화에 참고:
LessonInterface→ 일반화 시ContentItemInterface(id + tenantId + saasProductId + contextSlug + displayTitle)LearnerContextInterface→ViewerContextInterface(currentUser + saasProductId + tenantId + role + isStaff)- view enum → SaaS 별 자체 정의
단, Job 흐름 자체가 academy.how 도메인 한정이라 plugin 단위로는 일반화 ROI 낮음 → deprecate.
(이전) 개요
🛒 Plugin Store에서 보기: store.codebase.how/plugins/content