← 목록
기타 2026-04-16 3KB 읽기 4분

CDF(Crowny Document Format) v1 + 적정가 오디오 개선

개요

솔루션 소개서를 크라우니 자체 문서포맷(.cdf)으로 발행. 서명된 JSON 번들로 브라우저에서 바로 렌더. docs.crowny.org 뷰어로 로그인 유저는 내 문서함 저장.

작업 내용

1. "적정가 오디오" 표현 개선

  • 적정가 오디오에센셜 프로 오디오
  • InterAct 적정가 오디오 브랜드Inter-M 에센셜 프로 라인
  • 적정가 PA현장 표준 PA
  • 가성비 라인업핵심 기능 중심 라인업
  • (Pixelhue F시리즈의 가성비 프로세서는 실제 제품 포지션이므로 유지)

2. CDF (Crowny Document Format) v1 스펙

  • 확장자: .cdf
  • MIME: application/vnd.crowny.cdf+json
  • 구조: 서명된 JSON (@cdf, id, kind, title, subject, issuer, sections[], meta, sig)
  • 섹션 타입: paragraph, list, table(header/rows), totals(row[]), html
  • 서명: HMAC-SHA256 (env CDF_SIGN_SECRET)
  • 셀프뷰어: .cdf를 HTML로 감싸서 브라우저로 바로 열 수 있음 — /docs/:kind.html

3. solution.crowny.org 추가 엔드포인트

  • GET /docs/{kind}.cdf — raw CDF JSON 다운로드 (disaster/fire/security/control/media/all)
  • GET /docs/{kind}.html — 셀프뷰어 HTML (CDF 뷰어 없이도 열림)
  • 각 솔루션 페이지(/s/{kind})에 📄 소개서 다운로드 + 🔎 온라인 보기 버튼 추가
  • lib/cdf.js — buildCDF(), renderSelfView() 유틸

4. docs.crowny.org 추가 엔드포인트

  • GET /viewer — CDF 뷰어 (URL/파일 업로드/드래그드롭 지원)
  • GET /viewer?url=... — 외부 CDF 즉시 렌더
  • POST /api/cdf/save — 로그인 유저 문서함에 저장 (쿠키 인증)
  • GET /api/cdf/list — 내 문서함 목록
  • 저장 위치: /Users/ef/CrownyDoc/dist/cdf-library/{uid}/*.cdf

5. 사용자 흐름

  1. 관공서 담당자가 solution.crowny.org/s/disaster 접속
  2. 📄 소개서 다운로드 클릭 → crowny-disaster.cdf 저장
  3. 셀프뷰어면 바로 브라우저로 오픈 (모든 기기 OK)
  4. ☁ docs.crowny.org 저장 클릭 → 로그인 후 자기 라이브러리에 보관
  5. 이후 docs.crowny.org/viewer에서 언제든 열람

빌드된 소개서 내용 (CDF)

  • disaster: QUAKEON-7000 9항목 + 선행실적 5개 + 월 48만/본체 1,496만/통합플랫폼 1.2-2억 + 법규 4개
  • fire: Inter-M 8모델 + 월 25만
  • security: 13 모듈 3카테고리 + 월 5.9만 + 준수법규 4개
  • control: BEMS 5항목 + 30% 절감 사례 + 월 12.9만
  • media: InterAct 6카테고리 + Pixelhue 9모델 + 월 88만
  • all: 통합 개요 + 5개 솔루션 가격표 + 애드온 3종

관련 파일

  • /Users/ef/crowny-solution/lib/cdf.js (신규)
  • /Users/ef/crowny-solution/server.js (/docs/:kind 라우트 + buildSolutionBrochure)
  • /Users/ef/crowny-solution/web/solutions/*.html (5개 모두 다운로드 버튼 추가)
  • /Users/ef/crowny-solution/web/index.html (적정가 → 에센셜 프로 전역 치환)
  • /Users/ef/CrownyDoc/server-docs.js (/viewer + /api/cdf/save + /api/cdf/list)
  • /Users/ef/CrownyDoc/dist/cdf-library/ (사용자별 저장소)

테스트 결과

  • GET /docs/disaster.cdf → 200, application/vnd.crowny.cdf+json ✅
  • GET /docs/disaster.html → 200, 셀프뷰어 렌더 ✅
  • GET docs.crowny.org/viewer → 200, 뷰어 UI ✅
  • POST /api/cdf/save (미인증) → {"error":"login required"}
  • 서명 HMAC-SHA256 32자 포함 ✅