Master Data — Case thường gặp
Account holder avatar không hiện
Kiểm tra Contact.ProfileImage, upload endpoint/entity type và URL construction. Không tìm Account.ProfileImage vì account không sở hữu avatar.
Ví dụ thực tế: Avatar của phụ huynh không hiện ở trang account. → Tìm đúng nơi lưu ảnh thay vì đoán nhầm. → Avatar nằm ở
Contact.ProfileImage, không phảiAccount→ kiểm tra contact đó.
Customer/attendee bị lọc sai theo BU/site
Đối chiếu relationship BusinessUnitAccount, BusinessUnitAttendee, Org_Account, Org_Attendee và request context. BU scope sai có thể gây lỗi bảo mật hoặc dữ liệu “mất”.
Ví dụ thực tế: Staff site B mở danh sách nhưng thấy thiếu trẻ đang học ở site B. → Đảm bảo scope theo BU đúng, không lộ/giấu nhầm dữ liệu. → Thiếu liên kết
BusinessUnitAttendeecho BU đang chọn → bổ sung quan hệ, không nới scope query.
Session không xuất hiện trong booking
Kiểm tra term, TPS, term product, site-program link, category rule và capacity. Booking chỉ đọc availability từ setup; nếu setup thiếu, booking không tự tạo session.
Ví dụ thực tế: Admin mở booking cho Term 3 nhưng không thấy buổi nào để chọn. → Hiểu booking chỉ đọc setup, không tự sinh buổi. → TPS chưa link site/program hoặc chưa sinh term product → hoàn tất setup thì session mới hiện.
Image upload bị bắt crop
First-class UI images phải crop theo policy; generic file upload được exempt. Avatar/profile image thường 1:1, wide course/activity image thường 16:9.
Ví dụ thực tế: Admin upload ảnh khóa học bị buộc crop 16:9, còn đính kèm tài liệu thì không. → Giữ ảnh hiển thị đồng nhất, nhưng không cản file thường. → Ảnh first-class crop theo policy; generic upload được exempt.
Custom URL conflict
Enterprise.CustomUrl phải unique với enterprise active. Site initiator phải detect conflict và ghi error thay vì ghi đè custom URL.
Ví dụ thực tế: Mở enterprise mới đặt custom URL trùng với một enterprise đang hoạt động. → Tránh hai đơn vị cùng URL gây nhầm truy cập. → Site initiator phát hiện trùng, ghi error thay vì ghi đè URL của enterprise kia.