CDE Self-Host NPD

Group

## 1.7. Group
(Quản lý Nhóm người dùng)

1.7.1. Mục đích

1.7.2. Danh sách Group

1.7.3. Group Information
(Thông tin Nhóm)

1.7.4. ID

1.7.5. Group Name
(Tên Nhóm)

1.7.6. Group Code
(Mã Nhóm)

1.7.7. Description
(Mô tả)

1.7.8. Active
(Trạng thái hoạt động)

1.7.9. Permissions
(Quyền trực tiếp của Group)

1.7.10. Gán Permission cho Group

1.7.11. Gỡ Permission khỏi Group

1.7.12. Project Roles
(Vai trò dự án của Group)

1.7.13. Gán ProjectRole cho Group

1.7.14. Gỡ ProjectRole khỏi Group

1.7.15. Hai nguồn quyền của Group

1.7.16. Quan hệ giữa Group và User

1.7.17. Quan hệ giữa Group và Notification

1.7.18. Group và ProjectRole khác nhau như thế nào?

1.7.19. Ví dụ hoàn chỉnh

1.7.20. Lưu ý khi cấu hình Group

1.7.21. Nguyên tắc cốt lõi


## 1.7. Group
(Quản lý Nhóm người dùng)

1.7.1. Mục đích

Chức năng Group dùng để tạo và quản lý các nhóm người dùng trong CDE NPD.

Group giúp gom nhiều người dùng có cùng chức năng, cùng bộ môn hoặc cùng trách nhiệm vào một nhóm để thuận tiện cho:

- phân quyền;
- gán ProjectRole;
- giao việc;
- gửi Notification;
- Review;
- RFI;
- Clash;
- các Workflow khác.

Thay vì cấu hình từng người dùng riêng lẻ, người quản trị có thể thiết lập quyền và vai trò ở cấp Group rồi áp dụng cho toàn bộ thành viên của nhóm.

--------------------------------------------------

1.7.2. Danh sách Group

Danh sách Group gồm các thông tin chính:

- ID
- Group Name
- Group Code
- Description
- Active

Ví dụ các Group hiện có:

- Nhóm Thiết kế
- Nhóm Kiểm duyệt
- Nhóm triển khai
- Chủ đầu tư
- Khách
- Nhóm quản lý dự án
- Nhóm thi công

Mỗi Group đại diện cho một nhóm người dùng có cùng mục đích hoặc phạm vi công việc trong Project.

--------------------------------------------------

1.7.3. Group Information
(Thông tin Nhóm)

Khi chọn một Group trong danh sách, CDE hiển thị khu vực Group Information ở bên phải.

Khu vực này cho biết:

- Group Name.
- Description.
- Active.
- Permissions được cấp trực tiếp.
- Project Roles được gán cho Group trong Project hiện tại.

Ví dụ:

Group:
Nhóm triển khai

Active:
Yes

Permissions:
- Upload documents
- Edit document metadata

Project Roles:
- BIM Manager

--------------------------------------------------

1.7.4. ID

ID là mã định danh nội bộ của Group trong hệ thống.

ID do CDE tự quản lý và người dùng không cần tự nhập.

--------------------------------------------------

1.7.5. Group Name
(Tên Nhóm)

Group Name là tên hiển thị của nhóm người dùng.

Ví dụ:

Nhóm Thiết kế

Nhóm Kiểm duyệt

Nhóm triển khai

Nhóm quản lý dự án

Nhóm thi công

Tên Group nên phản ánh đúng chức năng hoặc phạm vi công việc của nhóm.

--------------------------------------------------

1.7.6. Group Code
(Mã Nhóm)

Group Code là mã ngắn dùng để nhận diện Group.

Ví dụ:

GR_DES
→ Nhóm Thiết kế

GR_REVIEW
→ Nhóm Kiểm duyệt

GR_TRKH
→ Nhóm triển khai

GR_CDT
→ Chủ đầu tư

GR_QLDA
→ Nhóm quản lý dự án

Group Code nên:

- ngắn gọn;
- dễ nhận biết;
- không trùng;
- ổn định trong quá trình vận hành Project.

--------------------------------------------------

1.7.7. Description
(Mô tả)

Description dùng để mô tả mục đích hoặc phạm vi sử dụng của Group.

Ví dụ:

Nhóm Kiểm duyệt
→ Nhóm kiểm tra, duyệt tài liệu.

Nhóm triển khai
→ Nhóm triển khai công việc.

Description giúp người quản trị hiểu rõ chức năng của Group trước khi thêm User, Permission hoặc ProjectRole.

--------------------------------------------------

1.7.8. Active
(Trạng thái hoạt động)

Active xác định Group có đang được sử dụng hay không.

Active = Yes
→ Group đang hoạt động.

Nếu Group không còn được sử dụng, nên ưu tiên chuyển sang trạng thái không hoạt động thay vì xóa ngay khi Group đã phát sinh dữ liệu liên quan.

--------------------------------------------------

1.7.9. Permissions
(Quyền trực tiếp của Group)

Mỗi Group có thể được cấp trực tiếp một hoặc nhiều Permission trong Project.

Ví dụ:

Nhóm triển khai có thể được cấp:

- Upload documents.
- Edit document metadata.

Các Permission này là Direct Allow, tức quyền được cấp trực tiếp cho Group.

Người dùng thuộc Group có thể nhận các Permission này khi hệ thống tính Effective Permission.

--------------------------------------------------

1.7.10. Gán Permission cho Group

Để gán thêm quyền cho Group:

1. Chọn Group cần cấu hình.
2. Tại khu vực Permissions, chọn ô "Chọn quyền...".
3. Chọn Permission cần cấp.
4. Permission được bổ sung vào danh sách Direct Allow của Group.
5. Lưu cấu hình nếu hệ thống yêu cầu.

Một Group có thể được cấp nhiều Permission.

Chỉ nên cấp các Permission thực sự cần thiết cho chức năng của Group.

--------------------------------------------------

1.7.11. Gỡ Permission khỏi Group

Mỗi Permission đang được gán có dấu × bên cạnh.

Chọn dấu × để gỡ Permission khỏi Group.

Việc gỡ Permission tại Group chỉ loại bỏ nguồn quyền đến từ Group.

Người dùng vẫn có thể có Permission tương ứng nếu quyền đó được cấp từ:

- ProjectRole;
- User Permission;
- hoặc nguồn quyền hợp lệ khác.

--------------------------------------------------

1.7.12. Project Roles
(Vai trò dự án của Group)

Ngoài Permission trực tiếp, mỗi Group có thể được gán một hoặc nhiều ProjectRole trong Project hiện tại.

Ví dụ:

Nhóm triển khai
→ ProjectRole = BIM Manager.

Một Group có thể được gán nhiều ProjectRole nếu nghiệp vụ của Project yêu cầu.

ProjectRole giúp Group kế thừa bộ Permission được định nghĩa sẵn theo vai trò.

--------------------------------------------------

1.7.13. Gán ProjectRole cho Group

Để gán ProjectRole:

1. Chọn Group cần cấu hình.
2. Tại khu vực Project Roles, chọn "Chọn Project Roles...".
3. Chọn một hoặc nhiều ProjectRole phù hợp.
4. ProjectRole được bổ sung vào danh sách của Group.
5. Lưu cấu hình nếu hệ thống yêu cầu.

Có thể gán nhiều ProjectRole cho cùng một Group.

Ví dụ:

Một Group quản lý BIM có thể được gán:

- BIM Manager.
- Reviewer.

nếu Project cần Group đó thực hiện cả hai chức năng.

--------------------------------------------------

1.7.14. Gỡ ProjectRole khỏi Group

Mỗi ProjectRole đang được gán có dấu × bên cạnh.

Chọn dấu × để gỡ Role khỏi Group.

Việc gỡ ProjectRole sẽ loại bỏ nguồn quyền đến từ Role đó đối với Group.

Tuy nhiên các Permission được cấp trực tiếp cho Group vẫn được giữ nguyên nếu không bị gỡ riêng.

--------------------------------------------------

1.7.15. Hai nguồn quyền của Group

Group có thể nhận quyền theo hai cách:

Cách 1:
ProjectRole
→ cấp một bộ Permission theo vai trò.

Cách 2:
Direct Permission
→ cấp thêm Permission trực tiếp cho Group.

Ví dụ:

Nhóm triển khai
→ ProjectRole = BIM Manager
→ nhận các quyền cơ bản của BIM Manager.

Đồng thời Group được cấp trực tiếp:
→ Upload documents
→ Edit document metadata.

Khi đó quyền của Group là kết quả hợp nhất từ:

ProjectRole Permission
+
Direct Group Permission

--------------------------------------------------

1.7.16. Quan hệ giữa Group và User

User có thể được đưa vào một hoặc nhiều Group tùy theo tổ chức của Project.

Ví dụ:

User A
→ thuộc Nhóm triển khai.

Nhóm triển khai
→ ProjectRole = BIM Manager.
→ Direct Permission = Upload documents.

Khi đó User A có thể nhận quyền từ Group này.

Ngoài ra User A còn có thể có:

- ProjectRole riêng;
- User Permission riêng;
- hoặc thuộc các Group khác.

CDE sẽ tổng hợp các nguồn quyền để xác định Effective Permission cuối cùng.

--------------------------------------------------

1.7.17. Quan hệ giữa Group và Notification

Group cũng được sử dụng để xác định đối tượng nhận Notification.

Ví dụ:

RFI gửi theo nhóm
→ TargetMode = SpecificGroups.

Clash được giao cho nhóm xử lý
→ Notification có thể được gửi tới Group liên quan.

Do đó Group vừa là đơn vị tổ chức người dùng, vừa là một đối tượng quan trọng trong Workflow và Notification.

--------------------------------------------------

1.7.18. Group và ProjectRole khác nhau như thế nào?

ProjectRole trả lời câu hỏi:

"Vai trò này có trách nhiệm gì trong Project?"

Ví dụ:

- BIM Manager.
- BIM Coordinator.
- Designer.
- Reviewer.

Group trả lời câu hỏi:

"Những người nào đang làm việc chung trong một nhóm?"

Ví dụ:

- Nhóm Thiết kế.
- Nhóm Kiểm duyệt.
- Nhóm triển khai.
- Nhóm thi công.

Một Group có thể được gán nhiều ProjectRole.

ProjectRole định nghĩa bộ quyền theo vai trò.

Group tổ chức người dùng và có thể kế thừa các Role đó.

--------------------------------------------------

1.7.19. Ví dụ hoàn chỉnh

Giả sử có:

Group:
Nhóm triển khai

ProjectRole:
BIM Manager

Direct Permissions:
- Upload documents
- Edit document metadata

User:
Nguyễn Văn A

User A được thêm vào Nhóm triển khai.

Khi đó quyền của User A có thể được hình thành từ:

BIM Manager Permission
+
Direct Permission của Nhóm triển khai
+
các Permission khác mà User A được cấp trực tiếp.

CDE tổng hợp các nguồn trên để xác định Effective Permission.

--------------------------------------------------

1.7.20. Lưu ý khi cấu hình Group

Không nên tạo quá nhiều Group có chức năng giống nhau.

Nên tổ chức Group theo:

- đơn vị;
- bộ môn;
- nhóm công việc;
- nhóm kiểm duyệt;
- nhóm thi công;
- nhóm quản lý;
- hoặc nhóm nghiệp vụ thực sự cần thiết.

Nên ưu tiên:

ProjectRole
→ cấp bộ quyền chuẩn theo vai trò.

Direct Group Permission
→ chỉ dùng để bổ sung các quyền đặc thù của Group.

Không nên gán quá nhiều Direct Permission nếu quyền đó đã được bao phủ đầy đủ bởi ProjectRole.

Cách này giúp hệ thống Permission dễ hiểu và dễ bảo trì hơn.

--------------------------------------------------

1.7.21. Nguyên tắc cốt lõi

Group
→ tổ chức người dùng.

ProjectRole
→ cấp bộ quyền theo vai trò.

Direct Group Permission
→ bổ sung quyền đặc thù cho Group.

User
→ người thực tế tham gia Project.

Effective Permission
→ kết quả tổng hợp cuối cùng.

Có thể hình dung:

User
→ thuộc Group
→ Group có ProjectRole
→ Group có Direct Permission
→ CDE tổng hợp quyền
→ Effective Permission.