Bỏ qua, đến nội dung

@digiforce-nc/plugin-multi-space

Plugin đa không gian làm việc — cho phép một instance Digiforce phục vụ nhiều workspace (space) độc lập, mỗi space có dữ liệu và cấu hình riêng.

Plugin này làm gì?

Tương tự concept workspace trong Slack hoặc Notion. Plugin cho phép tạo nhiều space trên cùng một instance: mỗi space có collection, data, permission và UI riêng biệt. User có thể thuộc nhiều space và chuyển đổi giữa chúng.

Sáu nhiệm vụ chính

#Nhiệm vụChi tiết
1Multi-spaceNhiều workspace độc lập trên cùng instance
2Data isolationDữ liệu cách ly hoàn toàn giữa các space
3Space switchingChuyển đổi space nhanh qua header hoặc UI
4Per-space configCấu hình riêng (theme, menu, settings) cho từng space
5Cross-space userUser thuộc nhiều space với role khác nhau
6Space adminMỗi space có admin riêng quản lý users và permissions

Kiến trúc

Cách ly dữ liệu

Space routing

Phương thứcVí dụCách xác định
HeaderX-Space: marketingClient gửi header trong mỗi request
Subdomainmarketing.app.comTự detect từ hostname
Path prefix/spaces/marketing/api/...Parse từ URL path

API endpoints

EndpointMô tả
spaces:createTạo space mới
spaces:listDanh sách space user thuộc về
spaces:updateCập nhật cấu hình space
spaces:destroyXóa space (admin toàn cục)
spaces:inviteMời user vào space
spaces:membersDanh sách thành viên của space

Database

BảngMô tả
spacesĐịnh nghĩa space: tên, slug, cấu hình, trạng thái
spaceMembersLiên kết user ↔ space (M2M), kèm role trong space

Thành phần client

Thành phầnMô tả
SpaceSwitcherDropdown chuyển đổi space hiện tại
SpaceManagerTrang quản lý danh sách space
SpaceSettingsCài đặt riêng cho space (theme, menu, branding)
InviteToSpaceDialog mời user vào space
SpaceMemberListDanh sách thành viên và phân role

Dependencies

PackageVai trò
@digiforce-nc/serverServer framework
@digiforce-nc/databaseDatabase ORM
@digiforce-nc/clientClient UI framework
@digiforce-nc/plugin-aclPhân quyền per-space

Mục lục chi tiết

(Xem trang tổng quan ở trên)