Bỏ qua

User Story: Khai báo thủ công danh sách field cho đơn vị

1. Description

Là Manager, tôi muốn nhập tay thông tin metadata cấu trúc (tên field, kiểu dữ liệu, mô tả, tên bảng gốc) cho đơn vị Sở/Ban/Ngành khi đơn vị không có sẵn file CSV hay SQL DDL, để đảm bảo mọi đơn vị đều có thể đưa metadata vào hệ thống phục vụ cho quá trình matching.

2. Acceptance Criteria

2.1 Happy Path

  • GIVEN Manager đã đăng nhập hệ thống với vai trò Manager và đang ở màn hình Danh sách nguồn metadata
  • WHEN Manager nhấn nút "Nhập metadata", chọn phương thức "Khai báo thủ công", chọn đơn vị Sở/Ban/Ngành từ danh sách
  • THEN hệ thống mở form cho phép Manager nhập danh sách field gồm: tên field (bắt buộc), kiểu dữ liệu (tùy chọn), mô tả (tùy chọn), tên bảng gốc (tùy chọn)

  • GIVEN Manager đã nhập đầy đủ thông tin các field và chọn đơn vị

  • WHEN Manager xác nhận lưu
  • THEN hệ thống tạo Metadata Source với file_type = MANUAL, parse_status = COMPLETED, gắn với đơn vị đã chọn, đồng thời tạo các bản ghi Extracted Field tương ứng với matching_status = PENDING

  • GIVEN Manager đang khai báo thủ công

  • WHEN Manager nhập nhiều field cùng lúc
  • THEN hệ thống cho phép thêm nhiều dòng field trong cùng một lần khai báo, mỗi dòng gồm: tên field, kiểu dữ liệu, mô tả, tên bảng gốc

2.2 Alternative Paths

  • GIVEN một đơn vị đã có nguồn metadata từ upload file
  • WHEN Manager muốn bổ sung thêm metadata bằng khai báo thủ công cho cùng đơn vị
  • THEN hệ thống cho phép tạo nguồn metadata thủ công mới, không ghi đè lên nguồn metadata cũ (khai báo thủ công và upload file là hai phương thức song song)

  • GIVEN Manager đang nhập field và chỉ điền tên field mà không điền kiểu dữ liệu và mô tả

  • WHEN Manager xác nhận lưu
  • THEN hệ thống chấp nhận và tạo Extracted Field chỉ với tên field, các trường kiểu dữ liệu và mô tả để trống

2.3 Error Cases

  • GIVEN Manager đang khai báo thủ công
  • WHEN Manager không nhập tên field (để trống trường bắt buộc) và xác nhận lưu
  • THEN hệ thống hiển thị thông báo lỗi "Tên field là trường bắt buộc" và không lưu bản ghi

  • GIVEN Manager đang khai báo thủ công

  • WHEN Manager không chọn đơn vị Sở/Ban/Ngành
  • THEN hệ thống hiển thị thông báo lỗi yêu cầu chọn đơn vị trước khi lưu

  • GIVEN Manager đang khai báo thủ công

  • WHEN Manager nhập danh sách field rỗng (không có field nào) và xác nhận lưu
  • THEN hệ thống hiển thị thông báo lỗi yêu cầu nhập ít nhất một field

3. Business Rules

  • Chỉ Manager có quyền khai báo metadata thủ công
  • Mỗi lần khai báo phải được gắn với một đơn vị Sở/Ban/Ngành cụ thể
  • Khi khai báo thủ công, hệ thống tạo Metadata Source với file_type = MANUAL và parse_status = COMPLETED (không cần parse)
  • Tên field là bắt buộc, kiểu dữ liệu và mô tả là tùy chọn nhưng khuyến khích điền đầy đủ
  • Tên bảng gốc là tùy chọn, dùng để nhóm các field theo entity
  • Các field được tạo ở trạng thái matching_status = PENDING, sẵn sàng cho bước matching
  • Khai báo thủ công và upload file là hai phương thức song song -- Manager có thể kết hợp cả hai cho cùng một đơn vị

4. Traceability

Feature: Khai báo Metadata Thủ công

Related Use Cases: - UC-DISC-001: Upload và trích xuất metadata từ đơn vị

Screens: - SCR-DISC-11: Popup Nhập metadata

Business Flows: - BPF-01: Vòng đời Quy hoạch Dữ liệu Thành phố

Business Entities: - Metadata Source - Extracted Field

Role Matrix: - RM-001: Manager – Quản trị dữ liệu kỹ thuật

Third-Party Integrations: Không áp dụng

5. Out of Scope

  • Upload file CSV/DDL (thuộc EP-03-001)
  • Matching field với Anchored Data (thuộc EP-03-004)
  • Import hàng loạt từ file Excel hoặc các định dạng khác
  • Data Owner tự khai báo metadata cho đơn vị mình (chỉ Manager thực hiện)