問題描述
ETL 管理介面有多項 UX 問題,增加操作門檻:
1. Create view 17 個欄位擠在一頁
EtlJobDefinitionVM 的 Create/Edit view 將所有欄位(連線設定、排程設定、watermark 設定、進階設定)混合在兩欄 layout,認知負擔大。WatermarkColumn、WatermarkTimeZone、InitialWatermarkValue 只在 WatermarkType != FullLoad 時有意義,但表單不會根據選擇動態顯示/隱藏。
2. 無進度視覺化頁面
_EtlMonitorController 的 Running 和 Progress 端點存在,但沒有對應的前端頁面,管理者只能用 API 工具查看 JSON。
3. Cron 表達式無即時驗證
CronExpression 欄位使用普通 textbox,輸入時無即時格式驗證,也不顯示「下次觸發時間」。後端有 CronExpression.IsValidExpression() 可呼叫,但未串接前端。
4. Job 列表缺少行級別操作按鈕
TriggerNow、Pause、Resume、Abort、SkipNext 都是 POST API,但 Index 頁面的 grid 沒有行級別按鈕,操作者必須直接呼叫 API。
預期行為
- Create 表單按「基本設定 / 排程設定 / Watermark 設定 / 進階設定」分組,非必要欄位動態隱藏
- 提供 ETL Job 執行進度頁面(進度條 + 即時更新)
- Cron 輸入框在 blur 或 input 時顯示驗證結果及下次 3 次觸發時間
- Job 列表每行提供「立即執行 / 暫停 / 中止」快捷操作按鈕
影響範圍
- 對象:ETL 管理者的日常操作效率
- 嚴重度:P2(可用但操作不便)
Priority: P2