๐ฌ Simulate:
UC-FRM.01 harness ยท 6 scenarios
Discussion Forum
Somchai Vongkhamphanh ยท 24 May 2026
๐ฌ 5 replies
๐ 23 views
Ketsana Phommasack ยท 23 May 2026
๐ฌ 2 replies
๐ 14 views
Instructor Bounsavanh ยท 20 May 2026
๐ฌ 0 replies
Screen Flow โ UC-FRM.01
โ Forum List
โ select thread
Forum Thread โ
โ report post
Report Content Form โ
โ submit/cancel โ back to thread
Spec notes โ SCR-PLY.08 Forum List
Screen: SCR-PLY.08 โ Forum List
UC: UC-FRM.01 โ Discuss in Forum
Status: Detailed
Brief: Forum thread list screen. Displays threads sorted by most recent activity (default), a search box, filter by author or "unanswered only", scope tab bar (this course / cohort / system-wide / safeguarding โ shows only scopes the learner has permission to see), and a "New thread" button. The new thread form is inline on the same page. For scope = safeguarding, adds a "Post anonymously" option.
Regions: Scope selector ยท Thread list controls ยท Thread list ยท New thread form
Fields:
| # | Field | Type | Notes |
|---|---|---|---|
| 1 | scope_tab | enum | course / cohort / system_wide / safeguarding โ only tabs user has permission for are shown |
| 2 | search_query | text | Filters thread_title by keyword โ client-side or server-side |
| 3 | filter_mode | enum | all / unanswered_only / my_threads |
| 4 | thread_list | list | Each item: thread_title, author_name (or "Anonymous"), created_at, reply_count, view_count, unread_indicator, is_pinned |
| 5 | new_thread_title | text | Visible when new_thread_form = open |
| 6 | new_thread_body | html | Rich text; visible when new_thread_form = open |
| 7 | new_thread_anonymous | boolean | Visible only when scope_tab = safeguarding AND new_thread_form = open |
| 8 | safeguarding_notice | boolean | Visible when scope_tab = safeguarding โ privacy explanation banner |
| 9 | is_pinned_indicator | boolean | Pin icon shown per thread when is_pinned = true |
| 10 | unread_badge | boolean | Per thread โ new replies since last visit |
| 11 | author_display | text | "Anonymous" when is_anonymous = true; otherwise User.display_name |
| 12 | pagination_or_infinite_scroll | โ | Pagination approach TBD โ design phase |
| 13 | submit_error_notice | boolean | Visible in AF-5A โ thread post failed |
| 14 | scope_privacy_label | text | Short description of who can see posts in the current scope |
Actions:
| # | Action | Enabled when |
|---|---|---|
| 1 | select_scope_tab | always โ switches visible thread list |
| 2 | select_thread | always โ navigates to SCR-PLY.09 |
| 3 | open_new_thread_form | always โ shows inline form |
| 4 | submit_new_thread | new_thread_title not empty AND new_thread_body not empty |
| 5 | cancel_new_thread | always โ hides form, clears draft |
Additional requirements:
- Only scope tabs the learner has access to are visible (e.g., safeguarding tab only shown if FEAT-09.05 is enabled for this course).
- Pinned threads always appear at the top, regardless of sort order.
- Thread list updates in real-time (or near real-time) when another learner posts โ polling or WebSocket TBD.