Feedback from learners¶
A private report somebody is meant to act on — not a comment thread.
The thread that used to sit under every question was a discussion nobody moderated. What it was actually used for was telling an educator something was wrong, so that is what this is now.
Leaving one¶
| About | Where | Endpoint |
|---|---|---|
| A question | The ⋯ menu in a session, and the question's page | POST /feedback/questions/{id} |
| An article, or one section of it | The article's feedback panel | POST /feedback/articles/{id} |
Any signed-in learner may. Three to 2,000 characters. A report naming a section that does not exist is refused at the moment it is written.
The writer can read their own reports and any replies — /mine on either
endpoint — so the loop closes. An earlier version let an educator write a reply
the learner had nowhere to read.
Who sees a report¶
Not "anybody with a grant". The report has to be about something you can edit:
| Kind | Test |
|---|---|
| Question | question_scope_predicate — the same answer the question editor gives |
| Article | can_edit_article |
The question queue uses the grant predicate rather than a set of categories, deliberately: a category set silently drops a question reached only through an additional category link, an exam or a folder grant — and the report on it then belongs to nobody.
Two earlier bugs this fixes, both worth knowing if you are reading old behaviour: reading and answering were once gated on having a grant rather than on the grant covering the question, so any educator could read and delete reports on the whole bank; and the queue was once narrowed by primary category alone.
The badge¶
GET /feedback/open — the count and the newest few, questions and articles
in one list. They are the same job to whoever is doing it, and a second badge
would be a second place to forget to look.
It appears in the site header as ⚑ N, refreshed every 60 seconds, and each
row links straight to the thing it is about. A row about a section that has
since been deleted says "(section removed)" on the row rather than leaving it
for the click.
The endpoint answers quietly with zero for somebody with no editorial access rather than refusing, so the header can ask without first working out who is asking.
Acting on one¶
Reports on a question also appear in the Feedback panel of the question editor, beside the fields they are about — the answer to almost every report is a change to the question.
| Action | Endpoint |
|---|---|
| Reply, resolve or reopen | PATCH /feedback/{id} — questions; PATCH /feedback/articles/reports/{id} — articles |
| Delete | DELETE on the same addresses |
status is open or resolved, and nothing else. A reply records who wrote
it and when.
Resolving keeps the report. A question with a history of the same complaint should visibly have one.