Practice Flow - Information Architecture
DomainsDOL EnglishUX717 words4 min read
Practice Flow - Information Architecture (Entry, Attempt, Result)
Phần tiêu đề “Practice Flow - Information Architecture (Entry, Attempt, Result)”Reading Rule
Phần tiêu đề “Reading Rule”- Nếu câu hỏi là shell rule, program context, hoặc boundary giữa
Hôm nay / Khóa học / Luyện tập / Từ vựng / Tiến độ, đọc../ENG_Navigation_00_Overview.mdtrước rồi mới xuống file này. - File này chỉ giữ IA nội bộ của
PRA; shell rule và destination boundary vẫn đọc từ navigation docs trước.
Purpose
Phần tiêu đề “Purpose”- Vấn đề: Nếu không có IA chung, mỗi điểm vào sẽ tự định nghĩa flow làm bài khác nhau.
- Đối tượng chính: Team thiết kế kiến trúc flow học tập và team triển khai route.
- Tín hiệu thành công: Tất cả entry contexts map về cùng IA của PRA mà không mất ngữ cảnh chương trình.
Shell Fit
Phần tiêu đề “Shell Fit”- File này mô tả IA nội bộ của destination
Luyện tậpsau khi program context đã được resolve. Entry Context,Attempt Session,Result Summary, vàImpact Synclà các lớp nội bộ của PRA; chúng không tạo thêm primary destination mới trong shell.- Nếu attempt/result được surfacing ở
Hôm nay,Khóa học, hoặcTiến độ, deeplink xem sâu vẫn phải quay về PRA canonical flow.
Elements / Scope
Phần tiêu đề “Elements / Scope”- IA lõi của PRA:
Entry Context(Home Exercise Bank / Course Detail).Attempt Session(làm bài).Result Summary(xem kết quả).Impact Sync(LM + Vocabulary conditionally).
- Input metadata bắt buộc ở tầng Entry:
source_contextprogramexercise_idreturnTo
- Output metadata bắt buộc ở tầng Result:
attempt_idcompletion_statusscore_summarysync_status
Logic
Phần tiêu đề “Logic”- Mọi entry phải được chuẩn hoá qua
PRA_Entry_Routing_Contractstrước khi vào attempt. - Attempt chỉ xử lý quá trình làm bài; không xử lý thống kê dài hạn.
- Attempt execution baseline:
- modes:
untimed(default) vàtimed(simulation/full-test), - draft safety + resume cho attempt chưa nộp,
untimeddraft TTL = 7 ngày;timeddraft chỉ sống trong timer window,- timed mode không manual pause và timer tiếp tục khi background,
- submit review non-blocking (answered/unanswered summary),
- submit idempotent để tránh double-finalization,
- submit transient failure auto-retry tối đa 3 lần trước support CTA,
- timed expiry đi vào timeout-submit path rồi chuyển Result.
- modes:
- Result là điểm duy nhất phát tín hiệu sync sang module khác.
- Sync vocabulary chỉ xảy ra khi result có
vocab_suggestion_payloadhợp lệ.
UI / Behavior
Phần tiêu đề “UI / Behavior”- Entry luôn hiển thị rõ user đang vào flow nào (
self_studyhoặccourse). - Attempt ưu tiên tập trung hoàn thành bài, tránh nhiễu thông tin bên ngoài.
- Result hiển thị tóm tắt kết quả và CTA đi tiếp:
- quay lại bank,
- làm bài tiếp,
- xem thống kê chi tiết tại LM.
State model / Edge cases
Phần tiêu đề “State model / Edge cases”Entry metadata thiếu field bắt buộc:- chặn start attempt và fallback về nguồn entry gần nhất.
Nộp bài không thành công:- giữ state attempt để user retry submit.
- không mất state câu trả lời.
Sync LM thất bại tạm thời:- đánh dấu pending sync và retry nền.
Vocab payload không hợp lệ:- bỏ qua sync vocabulary nhưng vẫn giữ kết quả bài.
References
Phần tiêu đề “References”./PRA_00_Overview.md./PRA_Entry_Routing_Contracts.md./PRA_Result_Impact_Contracts.md./Practice Types/PRA_Practice_Types_00_Overview.md../../../../Shared/Shared Capabilities/Smart Search Platform/SSP_00_Overview.md../../../../Shared/Shared Capabilities/Smart Search Platform/contracts/SSP_Context_Pack_Adapter_Contracts.md
Change log
Phần tiêu đề “Change log”- 2026-03-19: Repoint Smart Search references sang canonical shared capability path.
- 2026-03-06: Liên kết IA với
Practice Typesđể lớp loại bài luyện tập sống trongPracticethay vì rơi vào docsHome. - 2026-02-21: Deepening IA với policy cụ thể cho draft TTL, timed no-pause/background timer continuity, và submit auto-retry threshold.
- 2026-02-21: Bổ sung attempt execution baseline vào IA: timed/untimed, draft resume, submit non-blocking + idempotent, timeout-submit path.
- 2026-02-11: Bổ sung tham chiếu Smart Search Platform để đồng bộ metadata vào/ra giữa Search và PRA IA.
- 2026-02-07: Khởi tạo IA cho Practice Flow với 4 tầng Entry, Attempt, Result, Impact Sync.