Skip to content

Managing Classes and Rosters

benjamindobbs edited this page Sep 18, 2026 · 2 revisions

Managing Classes & Rosters

Everything about creating classes, getting students onto them, keeping them in step with PowerSchool, and handling students who join or leave partway through the year.

All of this lives in the Teacher Portal's Classes tab.


Creating a class

From PowerSchool (recommended)

With the DobbsCore extension installed and configured, open a section in PowerSchool and click Import Roster to DobbsCore. This creates the class, pulls every student (name + district Student Number + the internal PowerSchool ID used for attendance matching), and records the PowerSchool section ID so future syncs know which section this class maps to.

By hand

Click + New Class, name it, Create. Then open it and either:

  • Import CSV — a file with two columns, no header row: student ID, student name.
  • Add Student — type an ID and name, one at a time.

A hand-made class has no PowerSchool section ID, so the extension's grade-push and attendance features can't target it until you import that section's roster over it or add the section ID another way. For classes you'll never sync to PowerSchool, that's fine.


What a roster row is

Each roster entry has:

Field Meaning
Student ID The district-assigned student number. This is the join key to everything — the app account, PowerSchool, WBL records. Leading zeros are ignored (0012345 = 12345).
Name Display name. Safe to edit; re-syncs overwrite it with the PowerSchool name.
Enrolled The date the student joined this section (see enrollment dates). Blank means "was here before we started tracking dates" = counts for the whole of any grading window.
Status Active or Withdrawn.
Linked Account The signed-in app account this row is matched to, if any.

Linking students to their accounts

A roster row and a student's sign-in account are separate until linked. Grades only compute for linked students. An unlinked student always receives the No Submission grade.

  1. The student signs into classicaltech.org with their @students.hartfordschools.org account at least once.
  2. In the class, click Link Accounts. Every roster student who has signed in is matched by Student ID and linked.
  3. Re-run Link Accounts whenever more students have signed in.

You can also link or unlink a single row manually from the roster table if a match is wrong.

If a student's work isn't showing up in grades, the cause is almost always that they're not linked — check the Linked Account column first.


Re-syncing a roster mid-year

When a section's enrollment changes, do not re-import. On the PowerSchool section page, use the extension's Re-sync Roster button. It reconciles your DobbsCore roster against the live PowerSchool roster non-destructively:

Situation What happens
Student is new on the PowerSchool roster Added to DobbsCore, stamped with their PowerSchool section entry date if the extension can read it, otherwise today's date.
Student is still on both Name/PowerSchool-ID refreshed; nothing else touched.
Student is gone from the PowerSchool roster Withdrawn, not deleted. exited_on is set to today, reason "not on PS roster." All their scores and WBL history are kept.
A previously withdrawn student is back on the PowerSchool roster Reactivated — exited_on cleared, history intact.

Run it whenever you know enrollment shifted. It's safe to run any time; unchanged students are left alone.

The same reconcile exists for WBL program rosters — see Work-Based Learning Guide.


Enrollment dates

The Enrolled date (and, for withdrawn students, the exit date) controls which days of a grading window a student is held responsible for. Grades are computed one day at a time (see How Grading Works), and a student is only graded on the days inside their own enrolled span.

  • A student who joined partway through an assignment's date range is simply never graded on the days before they enrolled — there's no separate reduced requirement to work out, each day already carries its own per-day requirement.
  • A student whose enrollment doesn't overlap the window at all is exempt — left unscored rather than given a zero.
  • A blank Enrolled date means "here the whole time."

You can set or clear these dates by hand from the roster table (each is a date field; clearing the exit date is how you manually reactivate a withdrawn student). Re-sync Roster sets them for you from PowerSchool.

Exactly how the graded day set is built — including the school-days-vs-calendar-days distinction and attendance-based absence exemption — is in How Grading Works.


Withdrawn students

  • Withdrawn students are hidden from the roster by default. Tick Show withdrawn to see them.
  • Their scores and WBL records are never deleted by a withdrawal.
  • In a grade push, a withdrawn student is graded only for the part of the window before their exit date; if the window is entirely after they left, they're exempt (no score row is written).

Deleting things

  • Remove a student from a class — deletes that roster row only. Their app account and global score history are untouched (those aren't class-specific). Prefer withdraw over delete for students who actually left.
  • Delete a class — removes the class and its roster rows. Score history is global and survives; WBL program data is separate and survives.
  • Clear a user's data (from Student Lookup) — wipes an app account and all of its KenKen/SAT history, and unlinks it everywhere. Irreversible. Use only for test accounts or a genuine data-removal request.

Related

Clone this wiki locally