cafe-grader · guide · for instructors & admins

Who sees what — and who can submit

Visual companions to the access-control rules: one matrix for problem visibility and submitting, and a checklist for debugging “my student can’t see problem X.”

Authoritative text: wiki · Users, Roles & Access Control — these pages only add the pictures. Rules shown reflect the running application (group mode, normal operation).

The matrix: visibility and submitting, by role and switch

Roles are per group — Reporter/Editor privileges apply only inside groups where the user holds that role, and only while that membership row is enabled: a disabled membership grants no role at all (not member, reporter, or editor). “See” means the problem appears in the student list / its statement opens.

Scenario Function Not in group Member Reporter Editor Admin
Normalavailable ✓ · group enabled ✓ · in-group switch ✓ See
Submit
In-group switch OFFstudent-only hide, one problem in one group See
Submit ✓ editor
Problem Available OFFdraft or retired problem See
Submit ✓ editor
Group disabledarchived course See
Submit ✓ editor
allowed hidden / refused ✓ editor editor test-submit in their own groups (web, API, and viva start)

“Why can’t this student see / submit problem X?”

Walk the checks top to bottom — the first “no” is your answer.

1 · Is the user account enabled?User Admin → the user’s Enabled flag
NO → blocked everywhere, all problems.
↓ yes
2 · Is the site in contest mode?a site-wide setting — the whole server is in one mode
YES → different rules apply: students see only problems of their currently-active contests. (Contest-mode guide: to come.)
↓ no — normal operation
3 · Is group mode on?system.use_problem_group
NO → groups are ignored: every enabled user sees and can submit every Available problem. If they can’t, the problem isn’t Available.
↓ yes — group mode
4 · Is the student in a group that contains the problem?and is that membership row Enabled?
NO → invisible to them. Add them to the group (or re-enable the membership).
↓ yes
5 · Is that group Enabled?archived courses are disabled groups
NO → hidden from members and reporters. The group’s editors (and admins) still have access.
↓ yes
6 · Is the problem Available?the problem’s master switch
NO → hidden from members and reporters. Editors of its groups still see it (and can test-submit).
↓ yes
7 · Is the in-group switch Enabled for this problem in this group?the per-group toggle on the group’s problem list
NO → hidden from students in that group only. Reporters and editors still see it; only editors/admins can submit.
↓ yes
All checks pass → the student sees the problem and can submit. ✓

When group mode is off

Groups, per-group roles, and both enable switches are ignored entirely. Every enabled user — even one in no group — sees and can submit every Available problem. Problems with Available OFF are admin-only. Editors keep their problem-management pages, but their draft-submit privilege disappears with the rest of the group machinery.

Behavior on this page was measured against the running application (integration probe, 2026-08-22) rather than transcribed from code. Developers can read the full audit — entry-point matrices, findings, test-coverage gaps — in the submit-authorization report.