KB-4E4C rev 7
Module Protocol Standard
2 min read Revision 7
ssotmoduleprotocolstandardcomponent
Module Protocol Standard — Chuẩn xây dựng Module tái sử dụng
v1.0 | 2026-02-27 Mọi module phải tuân thủ chuẩn này. Đọc:
search_knowledge("module protocol standard")
1. Nguyên tắc
- Độc lập cao: Module hoạt động standalone, không phụ thuộc page parent
- Lắp ráp nhanh: 1 dòng import, truyền props, xong
- Nâng cấp dễ: Sửa module 1 chỗ → mọi nơi lắp đều cập nhật
- Protocol chuẩn: Đầu vào (props) + đầu ra (events) được định nghĩa rõ ràng
2. Cấu trúc mỗi Module
components/modules/<module-name>/
├── <ModuleName>.vue # Component chính (entry point)
├── composables/ # Logic riêng (nếu cần)
├── types.ts # TypeScript interfaces
└── README.md # Docs: props, events, ví dụ lắp ráp
3. Protocol Definition (mỗi module PHẢI có)
| Mục | Mô tả |
|---|---|
| Props (Input) | Danh sách props + types + required/optional |
| Events (Output) | Danh sách events emit ra ngoài |
| Data Source | Collection nào trong Directus, composable nào |
| Permissions | Ai được đọc/ghi (public, AI, user) |
| Slots | Customization points (header, footer, empty state) |
4. Module Registry (danh sách modules)
| # | Module | Trạng thái | Mô tả |
|---|---|---|---|
| M-001 | CommentModule | ✅ v2 COMPLETE | Chat + tabs + CheckpointPanel 3 tầng + annotation integration |
| M-002 | WorkflowModule | ✅ COMPLETE | Viewer + Modeler + annotation→comment pipeline — bpmn-js v18.12.1 |
| ... | ... | ... | ... |
5. Quy tắc phát triển
- Assembly First: Tái sử dụng composable/component có sẵn tối đa
- Đăng ký: Mọi module phải đăng ký trong bảng §4 + custom-code-registry.md
- Versioning: v1 → v2 → v3 — không phá API cũ khi nâng cấp
- Testing: Module tự verify — mount standalone phải hoạt động