Files
website-enchun-mgr/docs/prd/planning-update-summary.md
pkupuk f6b806617e docs: add research assets, screenshots and guides
Include supplementary documentation, research notes on Lexical/UX, and setup guides.
2026-02-11 11:51:35 +08:00

9.4 KiB
Raw Blame History

規劃更新摘要 - Story 1.2 Payload CMS Collections

更新日期: 2025-01-30 更新類型: 詳細規劃調整 影響範圍: Story 1.2, 1.9, 1.10, 1.12


📊 執行摘要

根據用戶要求「調整規劃,更新相關的 stories」我已完成

  1. 創建詳細的 Payload CMS 修改計劃
  2. 更新 Story 1.2 執行計劃
  3. 重新估算時間(減少 50%
  4. 定義相關 Stories 依賴關係

📁 新增/更新的文檔

1. 新增文檔

📄 docs/prd/payload-cms-modification-plan.md

  • 用途: Story 1.2 的詳細實作指南
  • 內容:
    • 7 個詳細任務定義Task 1.2.1 - 1.2.7
    • 每個任務的完整代碼範例
    • Webflow → Payload 欄位對應表
    • 驗收標準和測試計劃
    • 相關 Stories 依賴更新

2. 更新文檔

📄 docs/prd/epic-1-execution-plan.md

  • 更新部分: Story 1.2 詳細執行計劃
  • 主要變更:
    • 重寫 Story 1.2 章節(原 74-280 行)
    • 階段化實作計劃Phase 1-3
    • Webflow 欄位對應表
    • 角色權限矩陣
    • 更新 Sprint 0 和 Sprint 1 時間估算

🎯 關鍵決策更新

Story 1.2 時間估算

項目 原估計 更新後 變化
Story 1.2 8-12 小時 4 小時 -50% ~ -66%
Sprint 0 8-12 小時 2.5 小時 -75%
Sprint 1 24-30 小時 3 小時 -90%

理由:

  1. Payload CMS 架構清晰,修改簡單直接
  2. Access control 模式一致,易於批量應用
  3. 詳細計劃減少了不確定性和反覆修改
  4. 大部分欄位是標準類型text/select/upload

Story 1.2 任務結構

原計劃: 5 個 tasks定義模糊 更新後: 7 個 tasks詳細定義

Phase Task 內容 時間
Phase 1 1.2.1 創建 Portfolio Collection 1 小時
(Critical) 1.2.2 完善 Categories Collection 30 分鐘
Phase 2 1.2.3 完善 Posts Collection 30 分鐘
(Enhancement) 1.2.4 完善 Users Collection 30 分鐘
Phase 3 1.2.5 創建 Access Control 函數 30 分鐘
(Security) 1.2.6 應用 Access Control 30 分鐘
1.2.7 驗證和測試 1 小時
總計 4 小時

🔗 相關 Stories 依賴更新

Story 1.9: Blog System更新

新增依賴項:

Story 1.9 依賴 Story 1.2 完成:
+ Categories.textColor/backgroundColor → category badge theming
+ Posts.excerpt → article list display150-200 字)
+ Posts.status → filter published postsdraft/review/published

Task 1.9.2Blog Listing Page更新

+ 從 Payload API 載入已發布文章where: { status: 'published' }
+ 顯示 category badge使用動態顏色 category.textColor/backgroundColor
+ 顯示文章摘要(使用 post.excerpt最多 200 字)

Task 1.9.4Category Page更新

+ 分類顏色主題(使用 category.textColor/backgroundColor
+ Badge 使用動態顏色而非固定顏色
+ 分類名稱顯示 category.nameEn如果存在

Story 1.10: Portfolio更新

新增依賴項:

Story 1.10 依賴 Story 1.2 完成:
+ Portfolio collection 必須存在7 個欄位)
+ 所有欄位必須定義才能實作前端頁面

Task 1.10.1Design Portfolio Architecture簡化

- 決定是否使用 Payload CMS collection
+ Portfolio collection 已在 Story 1.2 創建Task 1.2.1
- 欄位規劃
+ 欄位已在 Story 1.2 定義:
+   title, slug, url, image, description, websiteType, tags
+ 此 Task 改為專注於前端路由和組件架構設計

Task 1.10.2Implement Portfolio Listing Page更新

+ Portfolio card 顯示:
+   - Project image (image 欄位)
+   - Project title (title 欄位)
+   - Description (description 欄位)
+   - Tags (tags array)
+   - Website type badge (websiteType 欄位)

Story 1.12: Authentication更新

新增依賴項:

Story 1.12 依賴 Story 1.2 Phase 3 完成:
+ Users.role 欄位必須存在admin/editor
+ adminOnly/adminOrEditor 函數必須創建
+ 所有 Collections 必須應用 access control

Task 1.12.5Implement Role-Based Access Control簡化

- Users collection 添加 role 欄位
+ Users collection 已在 Story 1.2 Task 1.2.4 添加 role 欄位
- 建立 access/adminOnly.ts
+ access/adminOnly.ts 已在 Story 1.2 Task 1.2.5 創建
- 建立 access/adminOrEditor.ts
+ access/adminOrEditor.ts 已在 Story 1.2 Task 1.2.5 創建
- 更新 Collections 的 access rules
+ Collections 已在 Story 1.2 Task 1.2.6 應用 access rules
+ 此 Task 改為專注於測試驗證角色權限

📋 Collection 完成度總覽

Story 1.2 完成後狀態

Collection 當前 Story 1.2 後 新增欄位
Portfolio 0% 100% 7 個欄位
Categories 40% (2/6) 100% +4 欄位
Posts 60% (9/13) 100% +4 欄位
Users 70% (3/4) 100% +1 欄位
Media 90% 100% -
Pages 100% 100% -

Access Control 完成度

組件 當前 Story 1.2 後
Access 函數 3 個 5 個
Collections 應用 部分 全部
Globals 應用 完整
角色權限測試 完成

🔄 Sprint 調整影響

Sprint 0: Infrastructure Completion

調整前:

  • Story 1.1: 40 分鐘
  • Story 1.2: 不明確
  • 總計8-12 小時

調整後:

  • Story 1.1: 40 分鐘
  • Story 1.2 Phase 1: 1.5 小時
  • 總計2.5 小時-75%

理由: 專注於 Critical BlockersPortfolio + Categories解除 Story 1.9 和 1.10 的阻礙

Sprint 1: Collections Completion

調整前:

  • Story 1.2 完成: 不明確
  • Story 1.3 遷移: 12-16 小時
  • 總計24-30 小時

調整後:

  • Story 1.2 Phase 2-3: 3 小時
  • Story 1.3 遷移: 延後到 Sprint 2
  • 總計3 小時-90%

理由: 將 Story 1.2 拆分到 Sprint 0 和 Sprint 1先完善 Collections 再遷移內容

Sprint 2: Migration & Layout新增建議

建議內容:

  • Story 1.3: Content Migration Script (12-16 小時)
  • Story 1.4: Header/Footer Components (8-10 小時)
  • 總計20-26 小時

理由: Collections 完成後,開始內容遷移和全局組件開發


📊 時間線總結

Epic 1 整體時間估算

階段 原估計 更新後 變化
Sprint 0 (Infra) 8-12 hr 2.5 hr -75%
Sprint 1 (Collections) 24-30 hr 3 hr -90%
Sprint 2 (Migration) - 20-26 hr 新增
Sprint 3-5 (Pages/Apps) 90-120 hr 90-120 hr 無變化
Sprint 6 (Production) 40-50 hr 40-50 hr 無變化
總計 162-212 hr 155.5-201.5 hr -4%

關鍵變化:

  • Sprint 0 和 Sprint 1 時間大幅減少(詳細規劃的效果)
  • 新增 Sprint 2 專注於內容遷移和全局組件
  • 整體時間線略微縮短,但更有組織性

驗收清單

Story 1.2 完成標準

Collection 完整性

  • Portfolio: 7/7 欄位title, slug, url, image, description, websiteType, tags
  • Categories: 6/6 欄位title, nameEn, order, textColor, backgroundColor, slug
  • Posts: 13/13 欄位(含新增的 excerpt, ogImage, showInFooter, status
  • Users: 4/4 欄位email, name, role, password
  • Media: 100%
  • Pages: 100%

Access Control 完整性

  • 5 個 access 函數完整
  • 7 個 collections/globals 應用 access rules
  • 角色權限矩陣測試通過
  • Admin 可完整權限Editor 僅內容管理

功能驗收

  • 所有 collections 在 admin panel 可見
  • 所有欄位可編輯
  • 型別生成成功(pnpm generate:types
  • 開發環境正常運行
  • R2 上傳測試通過

📝 後續行動建議

選項 A開始執行 Story 1.2(推薦)

Phase 1 - Critical Blockers今天

  1. Task 1.2.1: 創建 Portfolio Collection (1 小時)
  2. Task 1.2.2: 完善 Categories Collection (30 分鐘)

預期成果:

  • Story 1.9 和 1.10 的阻礙解除
  • Portfolio 和 Categories 可用於前端開發

選項 B繼續規劃其他 Stories

可以並行規劃:

  • Story 1.3: Content Migration Script
  • Story 1.4: Header/Footer Components
  • Story 1.5-1.8: 頁面實作細節

選項 C調整整體計劃

可能的調整:

  • 重新評估 Story 1.3 的優先級(是否先遷移還是先實作頁面)
  • 調整 Sprint 結構
  • 修改時間線

📚 參考文檔

主要文檔:

  1. docs/prd/payload-cms-modification-plan.md - Story 1.2 詳細實作指南
  2. docs/prd/epic-1-execution-plan.md - Epic 1 執行計劃(已更新)
  3. docs/prd/epic-1-stories-1.3-1.17-tasks.md - Stories 1.3-1.17 任務定義

相關文檔: 4. docs/prd/01-project-analysis.md - 項目分析 5. docs/prd/payload-cms-slimming-report.md - Payload CMS 瘩身報告

Payload CMS 官方文檔:


文檔版本: v1.0 最後更新: 2025-01-30 適用於: Payload CMS 3.59.1 狀態: 規劃完成,等待執行確認