Red Stet
← Back to Help
Help · For teachers · Tier 2 — Day-to-day teaching

Returning work to a student

Returning hands the submission back. Inline comments, summary comment, and rubric travel together. Two paths: finalize the grade, or ask for a revision. This doc covers both and what carries over on resubmit.

When to return vs. just grade

Two end-states. Finalize: the rubric is the answer; score lands in the gradebook, passes back if LMS-bound. Return for revision: provisional; the student takes another swing, the next score replaces this one.

Return when something specific should change and attempts remain. Finalize when the submission is the work. maxAttempts: 1 can't be meaningfully returned.

Heuristic: comments about process ("missing thesis," "weak evidence in ¶3") suggest a return; comments about polish ("comma splice") suggest finalize. Work rushed in one 11 p.m. block often improves more with a return.

Finalize the grade
Save rubric → student sees Graded → score posts to LMS gradebook.
Return for revision
Save rubric (or skip), click Return for revision, type a reason → student sees Returned banner → their resubmit uses one attempt.
Two end-states, two status pills, two notifications. Pick what matches what you want the student to do next.

The two comment channels

Inline comments pin to a selection in the doc. The summary comment frames the whole piece.

Inline comments marks · notes

Highlight to comment. Proofreader marks (ins, del, cap, r-o) attach to a character range; longer notes attach to a paragraph.

Summary comment assignmentMessages

The per-student message thread, for holistic notes. Persistent across attempts. Own notification kind.

Use both, but not for the same thing. If your summary reads "see inline notes," skip it. The summary adds meta-feedback about the piece as a piece.

The novel's narrator spends three chapters describing the river before any action takes place. This pacing —

Ms. Chen · Inline
Good observation. Can you tie this to why the narrator lingers here? What does the river represent for him?
Summary comment
"Strong opening paragraph, clear voice. The middle loses focus around the river description — try cutting it down and tying it to a single image. Let's revise."
On the submission

The rubric at return time setRubricScore

Pick one level per criterion. Save writes the rubric and flips status to graded.

Leave criteria unselected on a return — the student sees what you scored and what you skipped. Unscored criteria don't contribute to LMS passback.

The LMS score is normalized to 0–100: sum of chosen levels divided by sum of max, times 100. Skipped criteria count as zero on finalize, so a partial rubric posts low if finalized.

Return doesn't trigger LMS passback. Save grade posts to Canvas / Schoology; Return for revision writes the status flip + banner only. Partial rubrics survive a return — the next pass picks up where you left off.
Argument
1
2
3
4
Evidence
1
2
3
4
Style
Mechanics
Two scored, two skipped — useful when you want the student to fix the lower half before you score the rest.

The return action itself

Two side-by-side actions in the grading sidebar. Save rubric finalizes. Return for revision opens a modal with one required field: the reason. OK flips status to returned-for-revision, stamps your reason, fans the notification.

Server-side on return:

  1. status flips to returned-for-revision.
  2. Reason lands on submission.returnReason with returnedAt + returnedByUserId.
  3. submission-returned notification (icon ) fans to the student. Bell badge increments, assignment card gets a red border, message thread carries the reason as banner.

Doesn't decrement attempts, lock the doc, change the recording, or post to LMS.

Auth: gradeSubmissions — same as saving a rubric, so TAs can return.

Reason for return (required)
Cancel Return for revision
One required field, one primary action. The reason becomes the student's banner verbatim.

What the student sees

A red-accented banner at the top of the assignment info panel: your reason, return timestamp, Acknowledge & continue button.

Status pill changes from to Returned. Stays Returned after acknowledgement — only resubmit flips it back, and that's when the attempt counter ticks up.

Submit button relabels to Resubmit; attempts-remaining text updates. Acknowledge is one click confirming they've read it; the banner stops blocking.

↺ Your teacher returned this for revision.
Returned Oct 14, 11:18 AM · 2 attempts remaining
Strong opening — tighten the middle. The thesis in paragraph 2 needs evidence, and the conclusion restates the prompt.
A return doesn't refund an attempt — your next submit still counts toward your cap.
Acknowledge & continue
Returned Attempt 1 of 3
Last submitted Oct 14, 9:42 AM
Resubmit
2 attempts remaining

The resubmit flow

Resubmit edits the same doc — no fork, no branch. Marks, comments, recording stay on one canvas; resubmit is a state change, not a content event.

The student edits, clicks Resubmit. That fires submissions.setStatus('submitted'), bumps attemptCount, records a new submittedAt. Partial rubric scoring stays.

Inline comments don't auto-clear. They stay anchored to their text — you see which suggestions the student addressed. Deleted underlying text detaches the mark gracefully ("stale" render).

An update gates resubmit. If you edited the prompt, rubric, or due date between submissions, the student must acknowledge before Resubmit lights up.
Attempts used
1 of 3
In progress
After resubmit
2 of 3
Each resubmit costs an attempt. The return itself doesn't.

What happens to the recording

The provenance recording continues across the return. Resubmit is a continuation — same timeline, more keystrokes, the whole revision visible end-to-end.

The scrubber stretches, with markers at the original submit and the resubmit. Scrub to "writing after my return" and watch only that portion.

A student who reworks writes hundreds of new characters between return and resubmit. A copy-paste of a friend's revision shows a tall spike with no surrounding session. The recording tells those apart.

Recording timeline
Original draft Revision
One session, two arcs. Scrub between them to compare.

When attempts are at the cap maxAttempts

Cap of 1 + a submission = zero attempts left. Return leaves Resubmit disabled and the banner inert — finalize is your only path.

Two enforcement points. The submit check rejects resubmit when attemptCount >= maxAttempts. Return still works at the cap — you can leave a written return even when no cycle can run.

To re-enable, bump maxAttempts from the edit modal. That bumps the assignment version and fans an assignment-update notification.

Teachers bypass the cap. Teacher-side setStatus sidesteps the attempts check — for testing or recovery (browser crash, student emails you the doc). Sparingly.
Attempts used
3 of 3
No attempts left — finalize Save grade
Return still writes at the cap, but Resubmit stays disabled. Bump maxAttempts to re-enable the cycle.

Signalling "revise" vs. "final"

The return action tells the student why they're seeing the rubric. Finalized reads "this is the score." Returned reads "this is what I'm seeing so far — try again." The status pill and banner make it loud.

If your class is new to revision, spell it out in the summary: "I've returned this — fix the thesis and the evidence in para 3, then resubmit. Other scores stand." Makes the partial rubric legible and the return directive.

The opposite signal also helps. Finalize with "Solid work; not asking for a revision on this one" when a class defaults to many attempts.

"Revise" message
"I've returned this — fix the thesis and the evidence in para 3, then resubmit. Other criteria stand."
"Final" message
"Solid work — not asking for a revision on this one. Score is locked."
Same surface, opposite signals. Be deliberate.

The notification stack on return submission-returned

The student gets a bell-flyout entry and a red-badged count on the assignment card.

Payload:

  • kind: 'submission-returned' — distinct from submission-graded, grouped with the glyph.
  • title — assignment title prefixed "Returned: …".
  • body — the first ~120 characters of your reason.
  • refKind: 'submission', refId — click lands on the info panel with the banner expanded.

Students mute kinds in Settings → Notifications. Muting submission-returned drops bell and email and suppresses the Nudge surface.

Returned: "The Frontier Essay"
Strong opening — tighten the middle. The thesis in paragraph 2 needs evidence, and the conclusion restates the prompt.
2 minutes ago
Bell row: assignment title + first chunk of your reason. Click lands on the info panel with the banner expanded.

Nudging a missing-submission student submissions.nudgeStudent

Non-submitter rows carry a Nudge button. One click sends an in-app notification plus email. Reads as a reminder, not a reprimand.

What the student sees

Bell row with kind: 'nudge', assignment title, one-line body ("Your teacher is waiting on this one"). Email mirrors with a deep link.

24-hour dedupe

A second Nudge within 24h is a no-op. Server checks reminderLog for audience 'nudge' on { assignmentId, studentUserId }. Toast confirms.

Mute-aware

Muted nudge: no bell row, no email. Button still records; dedupe still applies.

Custom-message variant

The caret next to Nudge opens a one-line field to replace the default body. Logs on reminderLog.

"The Frontier Essay"
Your teacher is waiting on this one. Open the assignment to keep going.
just now
The student's bell row. The email mirrors it with a deep link.
Throttle: 24h per student per assignment via reminderLog audience 'nudge'.
Mute: if the student has muted nudge, in-app and email both suppress; the log row still records the attempt.

Returning a second time

You can return as many times as maxAttempts allows. Each cycle: banner, edit, resubmit, counter advances.

Recording stretches; thread keeps every message; inline marks accumulate. A three-time-returned student has a richly annotated doc and a full revision recording.

Returning the same work repeatedly without changing the ask is a signal your rubric isn't doing its job. If your attempt-2 comments echo attempt-1, the criterion needs a clearer level description.

Finalize at any point. A twice-returned student can be finalized on attempt 3 even with attempts left. The cap is a ceiling, not a quota.
Multi-return cycle
Draft 1 Revision 1 Revision 2
Three submissions, two returns, one recording.

Related

Something missing or wrong? Email feedback.