KB-2CF4

GDDH — 7 view Lark công khai trên production (2026-08-20)

4 min read Revision 1
gddhlarkproductionpublic-sharepass

GDDH — 7 view Lark công khai trên production (2026-08-20)

Kết luận

PASS. Bảy shared view Lark đã được công khai và nhúng đúng vào bảy trang GDDH production.

Phạm vi

  • Kết quả bài kiểm tra: 135 học viên; mã học viên, mã lớp, ngày bắt đầu/kết thúc; điểm/kết quả để trống.
  • Điểm bài kiểm tra: 135 học viên; điểm để trống.
  • Đề xuất công nhận và cấp chứng chỉ: 24 dòng.
  • Quyết định cấp chứng chỉ: 24 dòng.
  • Vào sổ theo dõi chứng chỉ: 135 dòng.
  • Sổ giao bằng: 135 dòng.
  • Ảnh bằng lưu lại: 135 dòng; tệp ảnh sẽ được người dùng tải bổ sung.
  • Chạy nạp lại: 0 thêm / 0 sửa.
  • Excel master không bị sửa; SHA-256: 3b0a347f819bb8a675c4c3e6ace6eae38afa30fc43fe464a110953709e3fd476.

3 câu Tuyên ngôn

  • Vĩnh viễn: mỗi trang trỏ tới một shared view cố định; cập nhật dòng/tệp trong Lark tự hiện trên web.
  • Nhầm: chỉ dùng URL /share/base/view/shr...; quyền truy cập toàn bộ Base đã tắt ở từng view.
  • 100% tự động: sau khi nối ban đầu, không cần sửa code khi thêm danh sách hoặc tệp ký trong Lark.

Code và review

  • Commit: 802ab1f9f1d77d13bd488d0f7d3facbd6766c205.
  • PR: https://github.com/Huyen1974/web-test/pull/675
  • Merge commit: 7b374d4f0471ee747dbb7c5210c73504ce095aa4.
  • Phạm vi commit: web/config/gddh-menu.ts + báo cáo progress.
  • Không sửa PG, Directus, schema, Excel master hoặc logic nghiệp vụ.

Kiểm tra trước triển khai

  • git diff --check: PASS.
  • Nuxt typecheck: exit 0.
  • Nuxt production build: exit 0.
  • 7/7 shared token có trong build artifact.
  • GitHub: build PASS; Contract Schema Validation PASS; Counting Contract Check PASS; Pass Gate PASS; Quality Gate PASS; E2E Smoke Test PASS; Critical File Guard PASS; required-docs-guard PASS.
  • Enforce Table Rule FAIL do các <table> có sẵn từ commit nền; commit mission không thay file Vue nào và không tạo bảng HTML mới.

Triển khai

  • Workflow “Deploy to VPS” đã ở trạng thái disabled_manually từ trước mission, nên triển khai Nuxt-only qua SSH theo yêu cầu rõ của chủ.
  • Backup trước triển khai: /opt/incomex/deploys/nuxt-output.backup-gddh-lark-20260820T1533 (44 MB).
  • Chỉ đồng bộ build Nuxt và restart container incomex-nuxt.
  • Sau restart: NUXT_HEALTH=healthy.
  • Không đụng PostgreSQL, Directus, DOT, SQL migration hoặc dịch vụ khác.

Kiểm tra production thật

Với cookie truy cập GDDH hợp lệ, cả 7 route trả HTTP 200, chứa đúng shared token và có iframe:

  • gddh-ket-qua-bai-kiem-tra: PASS.
  • gddh-diem-bai-kiem-tra: PASS.
  • gddh-de-xuat-cong-nhan: PASS.
  • gddh-quyet-dinh-cap-chung-chi: PASS.
  • gddh-so-theo-doi-chung-chi: PASS.
  • gddh-so-giao-bang: PASS.
  • gddh-anh-bang-luu: PASS.

Bảy shared URL Lark được kiểm tra bằng phiên trình duyệt mới (user-agent trình duyệt + cookie jar rỗng): HTTP 200, URL cuối vẫn là /share/base/view/..., không chuyển sang trang đăng nhập.

OR / TD / handoff

  • OR: không cần cập nhật — không thay đổi quy trình vận hành.
  • TD: không tạo nợ kỹ thuật mới; trạng thái workflow deploy bị tắt là tình trạng có sẵn và đã được ghi rõ.
  • Handoff: không cần — cấu hình đã lên production và đã verify.