[Documenter] #575 document dashboard help diagrams

This commit is contained in:
devmrko
2026-07-03 10:07:10 +09:00
parent b77966abaf
commit 43f6e6e1af
4 changed files with 78 additions and 4 deletions

View File

@@ -1,8 +1,8 @@
# 설계서: 대시보드 작업 중심 정보 구조 (#575)
> **상태**: Implemented · QA passed
> **작성**: [AI] Architect · **최종수정**: 2026-06-30
> **추적성** — Redmine: #575 · 구현: `dashboard.html`, `app.css`, `GuidedFlowTemplateTest`
> **상태**: Implemented · deployed · QA passed
> **작성**: [AI] Architect · **최종수정**: 2026-07-03
> **추적성** — Redmine: #575 · 구현: `dashboard.html`, `app.css`, `GuidedFlowTemplateTest` · 관련 UX 감사: [#577](../577-persona-ux-audit/README.md)
## 목적
@@ -19,6 +19,20 @@
└ Macro/Micro 설명 + 보호 객체/ORDS 경로 테이블
```
## 도움말 다이어그램
첫 화면을 설명 중심 화면으로 되돌리지 않기 위해, 설명은 상단의 접힌 `도움말: 메뉴와 권한 적용 구조 보기` 안에 둔다. 다이어그램은 별도 이미지 파일이 아닌 접근 가능한 인라인 SVG로 구현한다. 따라서 테마 색상과 글꼴을 공통 CSS 변수로 일관되게 적용하고, 확대해도 선명하며, 각 그림의 제목과 설명을 보조 기술에 제공한다.
| 그림 | 전달하는 내용 | 운영자가 얻는 답 |
|---|---|---|
| 설정·검증 순서 | 사용자·그룹 → 역할 → 접근 규칙 → 보호·연결 → 유효 권한·접근 검증 | 처음부터 어떤 메뉴를 어떤 순서로 써야 하는가 |
| 요청별 VPD 적용 흐름 | Bearer Token → `CB_ORDS``CB_AGENT_CTX` → VPD 조건 계산 → 보호 데이터 | 같은 실행 계정인데 왜 사용자마다 다른 결과가 나오는가 |
| 권한 데이터 모델(축약 ERD) | 사용자/그룹의 역할이 권한·규칙을 거쳐 보호 대상으로 연결되는 구조 | 직접 역할과 그룹 상속이 어떻게 합쳐지는가 |
- 설정 순서 그림은 권한이 토큰에 복사되지 않고 다음 요청의 VPD 조건 계산에 동적으로 반영된다는 점을 함께 표시한다.
- `diagram-canvas`는 작은 화면에서 그림을 축소해 읽기 어렵게 만들지 않고 가로 스크롤을 제공한다.
- 번호 배지, 주 경로, 보조 연결, 데이터·검증 노드를 구분해 처음 보는 운영자가 흐름의 우선순위를 빠르게 파악하게 한다.
## 인수조건
- [x] 첫 화면에 핵심 작업 두 개와 현재 상태가 함께 보인다.
@@ -33,3 +47,6 @@
- 배포 후 인증된 HTTP 점검: dashboard 및 users/groups/roles/permissions/tokens/probe/ORDS 등 주요 18개 화면이 모두 `200`을 반환했다.
- dashboard 응답에서 작업 중심 영역(`dashboard-command-center`), 4단계 레일(`workflow-steps`), 기본으로 접힌 상세 영역(`dashboard-details`)을 확인했다.
- 개발 중 발견한 dashboard fragment 문법 오류는 수정하고 템플릿 테스트가 fragment 형식을 검사하도록 보완했다.
- 2026-07-02: 도움말 SVG 추가 후 `mvn test`를 다시 통과했다.
- 2026-07-02: 운영 백오피스를 새 JAR로 재기동했고 `/login`이 HTTP `200`을 반환했다. 시작 로그에서 `vpd-backoffice-pool` 연결과 DB 카탈로그 캐시 예열을 확인했다.
- 2026-07-02: SQLcl로 `SELECT 'DB_CONNECTION_OK' FROM dual``CB_AGENT_DOC_VPD_FILTER` 상태(`VALID`)를 확인했다.