User
/AnhSach/cde-self-host-npd/AnhPaste/20260830_130018_7f65149f.png
1.9. Users
(Quản lý Người dùng & Thành viên dự án)
1.9.1. Mục đích
1.9.2. Cấu trúc màn hình Users
1.9.3. Groups
(Danh sách Nhóm)
1.9.4. Everyone
(Tất cả thành viên)
1.9.5. Danh sách User theo Group
1.9.6. Company
(Doanh nghiệp của User)
1.9.7. Full name
(Họ và tên)
1.9.8. Phone
(Số điện thoại)
1.9.9. Email
1.9.10. CreatedBy
(Người tạo hoặc nguồn tạo User)
1.9.11. IsActive
(Trạng thái hoạt động)
1.9.12. User Information
(Thông tin Người dùng)
1.9.13. Role (from data)
(Vai trò từ dữ liệu User)
1.9.14. Permissions (direct allow)
(Quyền cấp trực tiếp cho User)
1.9.15. Gán Direct Permission cho User
1.9.16. Gỡ Direct Permission khỏi User
1.9.17. Project Roles (per project)
(Vai trò của User trong Project)
1.9.18. Gán ProjectRole cho User
1.9.19. Gỡ ProjectRole khỏi User
1.9.20. New Group
(Tạo Nhóm mới)
1.9.21. Invite
(Mời Người dùng)
1.9.22. New User
(Tạo Người dùng mới)
1.9.23. Add to Group
(Thêm User vào Group)
1.9.24. Remove
(Loại User khỏi Group)
1.9.25. User có thể thuộc nhiều Group
1.9.26. Các nguồn quyền của User
1.9.27. Ví dụ hoàn chỉnh
1.9.28. Lưu ý khi quản lý User
1.9.29. Nguyên tắc cốt lõi
1.9. Users
(Quản lý Người dùng & Thành viên dự án)
1.9.1. Mục đích
Chức năng Users dùng để quản lý người dùng tham gia Project, tổ chức người dùng theo Group và cấu hình quyền hoặc ProjectRole trực tiếp cho từng cá nhân khi cần.
Màn hình Users đồng thời cho phép người quản trị:
- xem thành viên theo từng Group;
- xem toàn bộ thành viên của Project;
- mời người dùng;
- tạo người dùng mới;
- thêm người dùng vào Group;
- loại người dùng khỏi Group;
- xem thông tin người dùng;
- cấp Direct Permission cho cá nhân;
- gán một hoặc nhiều ProjectRole cho cá nhân trong Project.
Users là lớp cuối cùng trong cấu trúc tổ chức và phân quyền:
Company
→ Group
→ User
và:
ProjectRole
+
Group Permission
+
User Permission
→ Effective Permission.
--------------------------------------------------
1.9.2. Cấu trúc màn hình Users
Màn hình Users được chia thành ba khu vực chính:
1. Groups
Danh sách các Group của Project.
2. Danh sách User
Hiển thị các User thuộc Group đang được chọn.
3. User Information
Hiển thị thông tin và cấu hình quyền của User đang được chọn.
Cách tổ chức này giúp người quản trị vừa quản lý thành viên, vừa kiểm tra ngay User đang thuộc nhóm nào và được cấp quyền gì.
--------------------------------------------------
1.9.3. Groups
(Danh sách Nhóm)
Khu vực Groups bên trái hiển thị các nhóm người dùng của Project.
Ví dụ:
- Chủ đầu tư.
- Everyone.
- Khách.
- Nhóm Kiểm duyệt.
- Nhóm quản lý dự án.
- Nhóm thi công.
- Nhóm Thiết kế.
- Nhóm triển khai.
Số trong ngoặc phía sau tên Group thể hiện số lượng User đang có trong Group.
Ví dụ:
Chủ đầu tư (10)
có nghĩa Group Chủ đầu tư hiện có 10 User.
--------------------------------------------------
1.9.4. Everyone
(Tất cả thành viên)
Everyone là nhóm dùng để xem toàn bộ người dùng đang tham gia Project.
Ví dụ:
Everyone (19)
có nghĩa Project hiện có 19 người dùng được hệ thống ghi nhận trong danh sách thành viên.
Everyone giúp người quản trị nhanh chóng kiểm tra toàn bộ thành viên mà không cần mở từng Group.
Không nên hiểu Everyone là một Group nghiệp vụ giống như Nhóm Thiết kế hoặc Nhóm thi công.
Nó chủ yếu đóng vai trò tập hợp toàn bộ thành viên của Project để tra cứu và quản lý.
--------------------------------------------------
1.9.5. Danh sách User theo Group
Khi chọn một Group, danh sách User ở giữa màn hình sẽ hiển thị các thành viên thuộc Group đó.
Ví dụ:
Group:
Chủ đầu tư
Danh sách bên phải hiển thị những User thuộc Group Chủ đầu tư.
Các thông tin đang được hiển thị gồm:
- Company.
- Full name.
- Phone.
- Email.
- CreatedBy.
- IsActive.
--------------------------------------------------
1.9.6. Company
(Doanh nghiệp của User)
Company xác định User thuộc doanh nghiệp hoặc tổ chức nào.
Ví dụ:
BIM Revit NPD
Công ty BDG
Một Project có thể có nhiều User đến từ nhiều Company khác nhau.
Quan hệ có thể hiểu:
Company
→ tổ chức.
User
→ cá nhân thuộc tổ chức.
Group
→ nhóm làm việc trong Project.
ProjectRole
→ vai trò của cá nhân trong Project.
--------------------------------------------------
1.9.7. Full name
(Họ và tên)
Full name là tên đầy đủ của người dùng.
Thông tin này được sử dụng để nhận diện User trong:
- danh sách thành viên;
- Group;
- Workflow;
- Task;
- Review;
- Clash;
- Notification;
- và các nghiệp vụ khác.
--------------------------------------------------
1.9.8. Phone
(Số điện thoại)
Phone lưu số điện thoại liên hệ của User.
Trường này phục vụ mục đích liên hệ và quản lý thông tin thành viên.
--------------------------------------------------
1.9.9. Email
Email là thông tin nhận diện và liên hệ quan trọng của User.
Email thường được sử dụng khi:
- mời thành viên;
- xác định tài khoản;
- gửi Notification;
- liên kết User với tài khoản đã tồn tại trong hệ thống.
Mỗi User nên sử dụng email chính xác và ổn định.
--------------------------------------------------
1.9.10. CreatedBy
(Người tạo hoặc nguồn tạo User)
CreatedBy cho biết User được thêm vào hệ thống hoặc Project từ nguồn nào.
Ví dụ có thể thấy:
invite
hoặc tên người thực hiện thao tác.
Thông tin này hỗ trợ truy vết cách User được tạo hoặc được đưa vào Project.
--------------------------------------------------
1.9.11. IsActive
(Trạng thái hoạt động)
IsActive xác định User hiện có đang hoạt động hay không.
IsActive = Yes
→ User đang hoạt động.
Đối với User đã phát sinh lịch sử hoạt động trong Project, nên ưu tiên chuyển trạng thái hoặc thu hồi quyền phù hợp thay vì xóa dữ liệu người dùng một cách tùy tiện.
--------------------------------------------------
1.9.12. User Information
(Thông tin Người dùng)
Khi chọn một User trong danh sách, khu vực User Information bên phải hiển thị thông tin chi tiết của người đó.
Các thông tin hiện có gồm:
- Full name.
- Email.
- Role (from data).
- Permissions (direct allow).
- Project Roles (per project).
Đây là khu vực quan trọng để kiểm tra quyền trực tiếp của từng User.
--------------------------------------------------
1.9.13. Role (from data)
(Vai trò từ dữ liệu User)
Trường Role (from data) hiển thị Role có sẵn từ dữ liệu User nếu hệ thống đã lưu thông tin này.
Trường này cần phân biệt với Project Roles được gán riêng theo từng Project.
ProjectRole thực tế của User trong Project nên được kiểm tra tại khu vực:
Project Roles (per project).
Do đó không nên chỉ dựa vào Role (from data) để kết luận quyền của User trong Project hiện tại.
--------------------------------------------------
1.9.14. Permissions (direct allow)
(Quyền cấp trực tiếp cho User)
Ngoài quyền nhận từ ProjectRole hoặc Group, User có thể được cấp trực tiếp một hoặc nhiều Permission.
Đây là Direct Allow dành riêng cho cá nhân.
Ví dụ:
Một User thuộc Group Thiết kế nhưng cần thêm quyền Review Document.
Thay vì thay đổi Permission của toàn bộ Group, người quản trị có thể cấp riêng quyền này cho User nếu nghiệp vụ thực sự yêu cầu.
Cơ chế này giúp xử lý các trường hợp ngoại lệ mà không làm ảnh hưởng toàn bộ Group.
--------------------------------------------------
1.9.15. Gán Direct Permission cho User
Để cấp Permission trực tiếp:
1. Chọn User cần cấu hình.
2. Tại khu vực Permissions (direct allow), chọn "Chọn quyền...".
3. Chọn Permission cần cấp.
4. Permission được bổ sung cho User.
5. Lưu cấu hình nếu hệ thống yêu cầu.
Direct Permission chỉ nên sử dụng cho các trường hợp đặc biệt.
Trong cấu hình thông thường, nên ưu tiên cấp quyền thông qua:
ProjectRole
hoặc
Group
để hệ thống dễ quản lý hơn.
--------------------------------------------------
1.9.16. Gỡ Direct Permission khỏi User
Permission trực tiếp đang được gán có thể được gỡ khỏi User.
Việc gỡ Direct Permission chỉ loại bỏ nguồn quyền trực tiếp của cá nhân.
User vẫn có thể có Permission tương ứng nếu quyền đó được nhận từ:
- ProjectRole;
- Group;
- hoặc các nguồn quyền hợp lệ khác.
Do đó:
Gỡ Direct Permission
không đồng nghĩa
User chắc chắn mất quyền.
CDE cần tính lại Effective Permission từ toàn bộ nguồn quyền.
--------------------------------------------------
1.9.17. Project Roles (per project)
(Vai trò của User trong Project)

Mỗi User có thể được gán một hoặc nhiều ProjectRole trong Project hiện tại.
Ví dụ:
User:
Hoàng Nam Long
ProjectRole:
BIM Coordinator
ProjectRole này chỉ áp dụng trong phạm vi Project đang làm việc.
Cùng một User có thể giữ vai trò khác trong Project khác.
Ví dụ:
Project A
→ BIM Coordinator.
Project B
→ Reviewer.
Đây là lý do ProjectRole cần được quản lý theo Project thay vì coi là thuộc tính cố định của User.
--------------------------------------------------
1.9.18. Gán ProjectRole cho User
Để gán ProjectRole:
1. Chọn User.
2. Tại khu vực Project Roles, chọn "Chọn Project Roles...".
3. Chọn một hoặc nhiều Role phù hợp.
4. Role được bổ sung cho User trong Project hiện tại.
5. Lưu cấu hình nếu hệ thống yêu cầu.
Một User có thể được gán nhiều ProjectRole nếu nghiệp vụ của Project yêu cầu.
--------------------------------------------------
1.9.19. Gỡ ProjectRole khỏi User
Mỗi ProjectRole đang được gán có dấu × bên cạnh.
Chọn dấu × để gỡ Role khỏi User.
Việc gỡ ProjectRole sẽ loại bỏ nguồn quyền đến từ Role đó.
Tuy nhiên User vẫn có thể giữ một số Permission nếu quyền đến từ:
- Group;
- Direct User Permission;
- hoặc ProjectRole khác.
--------------------------------------------------
1.9.20. New Group
(Tạo Nhóm mới)
Nút New Group cho phép tạo Group mới ngay từ màn hình quản lý Users.
Chức năng này thuận tiện khi người quản trị đang tổ chức thành viên và phát hiện cần thêm một nhóm làm việc mới.
Group được tạo tại đây vẫn thuộc hệ thống Group của Project và có thể tiếp tục cấu hình:
- ProjectRole;
- Permission;
- thành viên.
--------------------------------------------------
1.9.21. Invite
(Mời Người dùng)
Invite dùng để mời một người dùng tham gia Project.
Đây là phương thức phù hợp khi cần đưa một người đã có hoặc sẽ có tài khoản vào Project thông qua thông tin liên hệ, thông thường là email.
Sau khi được mời và hoàn tất quy trình tương ứng, User có thể được:
- đưa vào Project;
- thêm vào Group;
- gán ProjectRole;
- cấp Permission phù hợp.
Chi tiết các trường của cửa sổ Invite được trình bày theo giao diện Invite thực tế.
--------------------------------------------------
1.9.22. New User
(Tạo Người dùng mới)
New User dùng để tạo mới một User trực tiếp trong hệ thống.
Chức năng này khác với Invite:
Invite
→ mời một người tham gia.
New User
→ tạo một User mới trực tiếp.
Việc lựa chọn phương thức nào phụ thuộc vào cách quản trị tài khoản của hệ thống.
Chi tiết các trường nhập được trình bày theo cửa sổ New User thực tế.
--------------------------------------------------
1.9.23. Add to Group
(Thêm User vào Group)
Add to Group dùng để đưa User đang chọn vào một Group.
Quy trình cơ bản:
1. Chọn User.
2. Chọn Add to Group.
3. Chọn Group cần thêm.
4. Xác nhận thao tác.
Sau khi được thêm vào Group, User có thể nhận:
- ProjectRole của Group;
- Direct Permission của Group;
- Notification gửi theo Group;
- Task hoặc Workflow giao theo Group.
--------------------------------------------------
1.9.24. Remove
(Loại User khỏi Group)
Remove dùng để loại User khỏi Group đang được chọn.
Việc Remove khỏi Group không đồng nghĩa xóa User khỏi Project.
Sau khi bị loại khỏi Group:
- User vẫn có thể tồn tại trong Everyone;
- User vẫn có thể thuộc Group khác;
- User vẫn có ProjectRole riêng;
- User vẫn có Direct Permission riêng.
Những quyền chỉ đến từ Group vừa bị Remove sẽ không còn là nguồn quyền của User.
--------------------------------------------------
1.9.25. User có thể thuộc nhiều Group
Một User có thể tham gia nhiều Group nếu nghiệp vụ Project yêu cầu.
Ví dụ:
User A
→ Nhóm triển khai
→ Nhóm Kiểm duyệt
Khi đó User có thể nhận quyền và tham gia Workflow từ cả hai Group.
Việc tổ chức nhiều Group nên có chủ đích rõ ràng để tránh quyền của User trở nên khó kiểm soát.
--------------------------------------------------
1.9.26. Các nguồn quyền của User
Quyền thực tế của User có thể đến từ nhiều nguồn.
Có thể hình dung:
ProjectRole trực tiếp của User
+
ProjectRole từ Group
+
Direct Permission của Group
+
Direct Permission của User
=
Effective Permission
Do đó khi kiểm tra quyền của một User, không nên chỉ nhìn một nguồn duy nhất.
--------------------------------------------------
1.9.27. Ví dụ hoàn chỉnh
Giả sử:
User:
Nguyễn Văn A
Company:
Công ty ABC
Group:
Nhóm triển khai
ProjectRole của Group:
Designer
Direct Permission của Group:
Upload documents
ProjectRole riêng của User:
BIM Coordinator
Direct Permission riêng của User:
Review Document
Khi đó quyền của User A có thể được hình thành từ:
Permission của Designer
+
Upload documents từ Group
+
Permission của BIM Coordinator
+
Review Document cấp trực tiếp.
CDE tổng hợp các nguồn trên để xác định Effective Permission cuối cùng.
--------------------------------------------------
1.9.28. Lưu ý khi quản lý User
Nên ưu tiên tổ chức quyền theo thứ tự:
1. ProjectRole
2. Group
3. Direct User Permission
Direct User Permission chỉ nên dùng để xử lý trường hợp ngoại lệ.
Nếu cấp quá nhiều Permission trực tiếp cho từng User, hệ thống sẽ khó kiểm soát khi số lượng thành viên tăng.
Khi User chuyển bộ phận hoặc thay đổi trách nhiệm, nên kiểm tra:
- Group.
- ProjectRole.
- Direct Permission.
Không nên chỉ sửa một trong ba mà bỏ qua các nguồn quyền còn lại.
Khi người dùng báo không có quyền hoặc có quyền ngoài mong muốn, cần kiểm tra toàn bộ Effective Permission.
--------------------------------------------------
1.9.29. Nguyên tắc cốt lõi
Company
→ User thuộc tổ chức nào.
Group
→ User thuộc nhóm làm việc nào.
ProjectRole
→ User giữ vai trò gì trong Project.
Permission
→ User được phép thực hiện hành động nào.
Effective Permission
→ quyền thực tế sau khi CDE tổng hợp tất cả các nguồn.
Có thể hình dung toàn bộ chuỗi:
Company
→ User
→ Group
→ ProjectRole
→ Permission
→ Effective Permission.