컬렉션 개요
컬렉션(Collection)은 데이터셋, 코드, 파이프라인, 지식, 대시보드, 에이전트 등 D.Hub의 6종 자산을 하나의 프로젝트 폴더처럼 묶어 관리하는 핵심 조직 단위입니다. 운영체제의 디렉토리와 유사하며, 팀이나 프로젝트 단위로 관련 자산을 그룹화하여 탐색, 권한 관리, 버전 관리를 체계적으로 수행할 수 있습니다.
컬렉션은 단순한 폴더가 아니라 권한 경계(Permission Boundary) 이기도 합니다. 컬렉션 수준에서 부여한 권한이 하위 자산의 상한선(Ceiling)으로 작동하여, 하위 자산이 상위 권한을 초과할 수 없습니다.
화면 구성
Collection Explorer 전체 화면. 좌측 트리(스코프 3개 + 컬렉션 + 폴더 + 자원 leaf)와 우측 상세 패널이 함께 보여야 합니다.
모든 컬렉션 작업은 단일 탐색기(Explorer) 화면(/collections)에서 이루어집니다. 좌측 트리 패널로 자산을 탐색하고, 우측 패널에서 선택한 자산의 상세 정보를 확인·편집합니다. 트리와 상세 패널 사이 경계는 마우스로 드래그해 250~500px 범위에서 조절할 수 있습니다.
1. 좌측 트리 패널 (Collection Tree v2)
좌측 트리는 세 개의 스코프 앵커로 구분됩니다.
- 내 컬렉션: 현재 사용자가 소유자(Owner)로 포함된 컬렉션
- 공유받은 컬렉션: 다른 사용자/그룹으로부터 명시적으로 공유받은 컬렉션
- 기타 컬렉션 (관리자 전용, 비어 있으면 숨김): 관리자 권한으로 보이는 그 외 컬렉션
각 앵커 오른쪽에는 해당 스코프의 컬렉션 수가 배지로 표시되며, 앵커 자체는 선택할 수 없고 하위 컬렉션만 선택 가능합니다.
트리는 컬렉션·폴더·자원 leaf(6종) 의 혼합 구조입니다.
- 자원 leaf 종류: 데이터셋 / 코드 / 파이프라인 / 지식 / 대시보드 / 에이전트 6종.
- leaf로 노출하지 않는 자원: 온톨로지 엔티티·관계(의미 레이어), 도구·액터(에이전트 부품)는 트리에 펼쳐지지 않고 별도 도메인 페이지에서 관리합니다.
- 정렬: 폴더 → 데이터셋 → 코드 → 파이프라인 → 지식 → 대시보드 → 에이전트 순. 같은 타입 안에서는 별칭 오름차순.
트리에는 다음이 포함됩니다.
- 검색/즐겨찾기: 상단 검색 바에서 컬렉션·자산 이름/별칭으로 전역 검색이 가능합니다. 별(★) 아이콘을 눌러 자주 사용하는 컬렉션을 상단에 고정할 수 있습니다.
- 빠른 작업 버튼: 각 컬렉션/폴더 노드 옆의 + 버튼으로 아이템을 즉시 추가할 수 있습니다.
- 컨텍스트 메뉴(우클릭): 노드 유형에 따라 가능한 액션만 노출됩니다.
- 컬렉션: 생성 / 업로드 / 이름 변경 / 공유 / 삭제
- 폴더: 열기 / 하위 폴더 생성 / 이름 변경 / 이동 / 공유 / 삭제
- 자원 leaf: 열기 / 이름 변경 / 복제 / 공유 / 이동 / 삭제
2. 우측 상세 패널 — 선택 노드별 분기
선택한 노드 종류에 따라 우측 영역이 달라집니다(이 모델을 폴더-as-page 라 부릅니다).
| 선택한 노드 | 우측 영역 |
|---|---|
| 컬렉션 노드 | 컬렉션 상세 패널 (개요·아이템·공유 및 권한 탭) |
| 폴더 노드 | 해당 폴더의 직속 자원을 보여주는 브라우즈 테이블 ("폴더-as-page") |
| 데이터셋 leaf | 스키마, 데이터(SQL Scratch Pad·지도·차트), References 탭, 버전 관리, 공유 및 권한 |
| 코드 leaf | Monaco 에디터(AI 코드 어시스턴트 포함), 메타데이터, 버전 관리 |
| 파이프라인 leaf | 구성 시각화, 실행 이력, 버전 관리 |
| 지식 leaf | 문서 목록, 설정 |
| 대시보드 leaf | 대시보드 상세 (편집·뷰어로 진입) |
| 에이전트 leaf | 에이전트 상세 (편집·채팅으로 진입) |
폴더 노드를 선택하면 우측은 그 폴더의 직속 자원만 테이블로 보여줍니다. 정렬·필터·다중 선택·일괄 액션은 이 폴더-as-page에서 수행하며, 트리 leaf와 테이블 행이 같은 자원을 가리킬 때는 시각적으로 동기화됩니다.
카운트 표기
- 컬렉션·폴더 노드: 직속 자식 수가
(N)으로 노출됩니다. 직속 자식이 없으면 caret(▶)이 표시되지 않아 빈 펼침이 발생하지 않습니다. - 폴더 노드의 secondary 표기
· M은 (선택적으로) 해당 폴더 아래 재귀 자원 총 수를 의미합니다. - 자원 leaf 노드는 카운트를 표기하지 않습니다.
자산 유형과 색상 체계
자산 유형은 시각적으로 즉시 식별할 수 있도록 고유 색상 토큰을 사용합니다. 색은 ResourceIcon 컴포넌트에 의해 toned-box 형태(옅게 칠해진 배경 + 진한 아이콘)로 일관 적용됩니다.
| 자산 유형 | 색상 계열 |
|---|---|
| 컬렉션 | Slate |
| 데이터셋 | Blue |
| 코드 | Brown/Amber |
| 파이프라인 | Green |
| 지식 | Purple |
| 대시보드 | Sky |
| 에이전트 | Cyan |
폴더 모델
폴더는 컬렉션 내부에서 자산을 계층적으로 정리하기 위한 도구입니다.
- 지원 자원: 6종 모두(데이터셋·코드·파이프라인·지식·대시보드·에이전트). 모든 자원이 백엔드의
folder_id를 가지며, 같은 폴더에 여러 타입의 자원을 함께 둘 수 있습니다. - 최대 깊이: 5단계까지 중첩 가능합니다.
- 폴더 자체의 컬렉션 간 이동: 미지원(자원 단위 이동만 가능).
- 권한: 폴더에 공유를 부여하면 하위 자산에 일괄 적용됩니다.
주요 기능
- 6종 자원 트리 leaf: Dashboard·Agent를 포함한 6종 자원이 트리에 직접 보입니다. 도메인 페이지(
/dashboard,/pipelines,/knowledge,/agents)는 cross-collection 카탈로그 렌즈로 계속 유지됩니다. - 생성 마법사 통합: 단일 위자드로 컬렉션을 생성하며, 자원 타입은 컬렉션 안에서 항목 추가 시 선택합니다.
- AI 보조: 컬렉션·자원 이름을 입력하면 설명·별칭·태그를 AI가 자동 제안합니다.
- Quick Upload (CSV/JSON 미리보기 + AI 컬럼 명명): CSV/Parquet/JSON/Python/SQL 파일을 드래그 앤 드롭하면 확장자 기반으로 자산 유형이 분류되고, 테이블형 파일은 헤더 편집 가능한 미리보기 + AI 컬럼명 제안이 함께 제공됩니다.
- 파일 탐색기 UX: 체크박스 다중 선택 + 일괄 이동 다이얼로그로 여러 자산을 다른 컬렉션/폴더로 한 번에 옮길 수 있습니다.
- 드래그 앤 드롭 이동: 6종 자원 모두 트리에서 직접 드래그하여 폴더/컬렉션 사이로 이동할 수 있습니다.
- 공유 및 권한: 컬렉션 단위로 사용자·그룹에 소유자/편집자/뷰어 역할을 부여하며, 컬렉션의 권한이 하위 자산의 상한선(Ceiling)이 됩니다.
- 소유자 호버 미리보기: 어디서나 소유자 아바타에 마우스를 올리면 소유자의 사용자/그룹 정보를 미리 볼 수 있습니다.
- 비동기 정리 패널: 데이터셋/컬렉션 삭제처럼 오래 걸리는 작업은 플로팅 패널에 진행률이 표시되며, 다른 작업을 계속할 수 있습니다.
- ZIP Import/Export: 매니페스트 기반으로 컬렉션 전체 구조를 패키징하여 환경 간 이관에 사용합니다(헤더 Export 버튼에서 직접 트리거).
공유와 권한 용어
컬렉션의 접근 제어는 관계 기반 권한 모델(ReBAC)을 사용합니다. 화면 위치에 따라 사용하는 용어를 다음과 같이 구분합니다.
| 위치 | 사용 용어 |
|---|---|
| 진입점(컨텍스트 메뉴, 액션 버튼) | 공유 / Share |
| 모달 타이틀, 상세 페이지 탭 | 공유 및 권한 / Share & Permissions |
| 모달 내부 섹션, 기술 문서 | 권한 / Permissions |
자세한 권한 정책 관리 방법은 공유 및 권한 문서를 참고하세요.