본문으로 건너뛰기
버전: v0.1.0

Explorer 탐색과 뷰

Explorer(/collections)는 컬렉션과 모든 자산을 탐색하고 관리하는 단일 진입점입니다. 좌측 Collection Tree v2로 자산을 찾고, 우측 패널에서 상세 정보를 확인·편집합니다.

스코프 앵커

좌측 트리 최상위는 세 개의 스코프로 분리됩니다.

  • 내 컬렉션: 현재 사용자가 소유자(Owner)로 포함된 컬렉션
  • 공유받은 컬렉션: 다른 사용자/그룹으로부터 명시적으로 공유받은 컬렉션
  • 기타 컬렉션 (관리자 전용, 비어 있으면 숨김): 관리자 권한으로 보이는 그 외 컬렉션

각 앵커 오른쪽에는 해당 스코프의 컬렉션 수가 배지로 표시됩니다. 앵커 자체는 선택할 수 없고, 하위 컬렉션을 선택해 작업을 이어갑니다. 일반 사용자에게는 "내 컬렉션 / 공유받은 컬렉션" 2개만 보이며, "기타 컬렉션"은 관리자에게만, 항목이 있을 때만 나타납니다.

스크린샷 TODO

관리자 계정의 트리에서 3개 스코프 앵커(내 / 공유받은 / 기타)가 모두 노출된 상태. 각 앵커의 카운트 배지가 보여야 합니다.

스코프 딥링크 (필터 모드)

URL 쿼리 ?scope=my 또는 ?scope=shared(관리자는 ?scope=other)를 사용하면 해당 스코프의 컬렉션만 렌더링됩니다(다른 스코프는 숨김).

  • 활성화된 스코프 루트는 자동으로 펼쳐집니다.
  • 검색바 위에 필터: {{scope}} × 형태의 칩이 나타나며, 칩을 클릭하면 스코프 필터만 해제되고 선택된 자산 등 다른 파라미터는 유지됩니다.
  • 거버넌스 감사, 공유 링크 등의 시나리오에서 특정 스코프만 빠르게 공유할 때 유용합니다.

Collection Tree v2 — 트리 구조

트리는 컬렉션 → 폴더 / 자원 leaf 의 혼합 구조입니다(ADR-0048 Tree v2). 이전 버전의 container-only 트리(컬렉션·폴더만)에서, 다음 6종 자원이 leaf로 복원되었습니다.

트리 leaf로 노출 (6종)트리에서 비노출
데이터셋 / 코드 / 파이프라인 / 지식 / 대시보드 / 에이전트온톨로지 엔티티·관계 (의미 레이어), 도구·액터 (에이전트 부품)
스크린샷 TODO

컬렉션 노드를 펼친 상태에서 6종 자원 leaf가 노출된 모습. 폴더 자식도 함께 보이고, 같은 폴더 안에 여러 타입(예: 데이터셋 + 대시보드)이 섞여 있는 케이스가 가장 좋습니다.

자원 정렬

컬렉션·폴더 노드 안에서 자식은 다음 순서로 정렬됩니다.

1. 폴더            (별칭 오름차순)
2. 데이터셋 (별칭 오름차순)
3. 코드
4. 파이프라인
5. 지식
6. 대시보드
7. 에이전트

타입별로 별도 그룹 노드를 만들지 않습니다 — 타입 응집은 정렬로만 표현하여 트리를 평평하게 유지합니다.

카운트 표기 (정직성)

  • 컬렉션·폴더 노드: 직속 자식 수를 (N) 으로 표기. 직속 자식이 0개이면 caret(▶)이 렌더되지 않아 빈 펼침이 발생하지 않습니다.
  • 폴더 노드: secondary 표기 · M은 해당 폴더 아래의 재귀 자원 합계(6종 모두 합산).
  • 자원 leaf: 카운트 표기 없음.

행 클릭 동작

클릭 위치동작
컬렉션 행컬렉션 상세 패널 표시 + 트리 펼침
폴더 행폴더-as-page 표시 + 트리 펼침
Chevron(▶)펼침만 (선택 변경 없음)
자원 leaf 행해당 자원의 상세 패널 표시

폴더 모델

폴더는 컬렉션 내부에서 자원을 계층적으로 정리하기 위한 도구입니다.

  • 지원 자원: 6종 모두(데이터셋·코드·파이프라인·지식·대시보드·에이전트). 모든 자원이 백엔드의 folder_id를 보유합니다.
  • 최대 깊이: 5단계까지 중첩 가능합니다.
  • 생성: 컬렉션 또는 폴더를 우클릭 → 하위 폴더 생성. 컬렉션 헤더의 + 항목 추가 ▾ 메뉴에도 새 폴더 shortcut이 있습니다.
  • 이름 변경 / 이동 / 삭제: 폴더 우클릭 컨텍스트 메뉴에서 수행합니다. 드래그 앤 드롭 또는 폴더로 이동… 액션을 사용할 수 있습니다.
  • 자동 선택: 새로 만든 폴더는 자동으로 선택되어 바로 이어서 작업할 수 있습니다.
  • 권한: 폴더에 공유를 부여하면 하위 자산에 일괄 적용됩니다.
  • 폴더 자체의 컬렉션 간 이동: 미지원. 자원 단위로만 이동 가능합니다.

브레드크럼: 폴더나 자산을 선택하면 상단 브레드크럼에 컬렉션 → 폴더 경로가 표시됩니다. 별칭(alias)이 있으면 별칭이 우선 표기되고, 없으면 시스템 이름(name)이 표시됩니다.

폴더명 규칙

검사결과
빈 이름 / 공백만거부
. 또는 ..거부
선행·후행 .거부
/ 포함거부
\ 포함거부
제어 문자(C0·DEL)거부
영폭(zero-width) / bidi 문자거부
255자 초과 (NFC 정규화 후)거부
같은 컬렉션 안 동일 이름거부

이름은 NFC 정규화 후 비교됩니다. 한 컬렉션 안에서는 폴더 이름이 유일해야 합니다. leading/trailing 공백은 제출 시 자동으로 잘립니다.

컨텍스트 메뉴 (우클릭)

노드 유형에 따라 실제 수행 가능한 액션만 노출됩니다.

노드제공 액션
컬렉션항목 추가 / 업로드 / 이름 변경(alias) / 공유 / 삭제
폴더열기 / 하위 폴더 생성 / 이름 변경 / 이동 / 공유 / 삭제
자원 leaf열기 / 이름 변경(alias) / 복제 / 공유 / 이동 / 삭제

빈 곳을 우클릭하면 컨텍스트에 맞는 새로 만들기 메뉴가 열립니다.

폴더-as-page (브라우즈 테이블)

폴더 노드를 선택하면 우측은 해당 폴더의 직속 자원 목록을 보여주는 브라우즈 테이블로 전환됩니다. 컬렉션 노드 선택 시 보이는 상세 패널의 아이템 탭과 같은 기능을 합니다.

스크린샷 TODO

트리에서 자원 leaf 하나를 드래그해 다른 폴더 위로 옮기는 중간 상태. drop 위치 표시가 또렷이 보여야 합니다.

테이블은 다음을 지원합니다.

  • 체크박스 다중 선택: 여러 자산을 동시에 선택합니다.
  • 일괄 액션 바: 선택된 자산에 대해 이동·공유·삭제 등의 액션을 한 번에 실행합니다.
  • 유형 필터: 드롭다운으로 자산 유형을 다중 선택하여 필터링합니다.
  • 서브타입 표시: 같은 유형 내 세부 구분(예: 데이터셋의 delta / kafka / rest / object)이 배지로 표시됩니다.
  • 소유자 표시: 각 자산 행과 트리 노드에 소유자가 표기됩니다. 아바타에 마우스를 올리면 소유자 미리보기가 뜹니다.
  • 정렬·페이지네이션: 모든 목록이 동일한 정렬/페이지 규칙을 따릅니다.
  • 스켈레톤 로딩: 네트워크 지연 시에도 화면 깜빡임 없이 자연스러운 전환을 제공합니다.

컬렉션 간 이동 (Cross-Collection Move)

선택한 자산을 다른 컬렉션 또는 폴더로 일괄 이동할 수 있습니다.

  1. 테이블에서 이동할 자산을 체크합니다(또는 트리에서 자원을 드래그합니다).
  2. 일괄 액션 바에서 이동을 선택하거나, 드래그 앤 드롭으로 대상 폴더 위에 떨어뜨립니다.
  3. 경로 피커 다이얼로그에서 대상 컬렉션/폴더를 선택합니다.
  4. 권한 상한(Ceiling) 검증을 통과하면 이동이 실행됩니다.

폴더 자체의 컬렉션 간 이동은 지원되지 않습니다. 자산 단위로만 이동 가능합니다.

전역 이름 검색

좌측 트리 검색 바에서 이름/별칭으로 컬렉션과 자산을 찾을 수 있으며, 자신이 속하지 않은 컬렉션의 자산도 결과에 포함됩니다. 사이드바 Search… 메뉴(⌘K/Ctrl+K)도 동일한 인덱스를 사용합니다.

온보딩 빈 상태

컬렉션이 하나도 없을 때는 Explorer 대시보드와 우측 패널 모두 동일한 온보딩 화면을 표시합니다. 컬렉션 만들기 CTA와 함께 "작업 공간 만들기 → 자산 추가 → 운영 흐름 연결"의 3단계 가이드를 제공합니다.