Skip to content

Add a school ​

A school in GCM is the container for a class, course, or training track. Set up the school first, then enrol members and define objectives. This page covers the create / edit / delete flow.

Open the schools list ​

From the sidebar, click Schools. You land on the Schools tab, which shows every active school as a card with an enroled count and a graduated count.

Schools list

Create a school ​

Click Add school in the top right. A small dialog opens with a single field.

Add school dialog

Name ​

Type a short, recognisable name. Examples that work well:

  • Foundations β€” your intro class for new believers.
  • Membership Class β€” the path to formal membership.
  • Leadership 101 β€” first-rung leader training.
  • School of Ministry β€” long-form pastoral training.

Avoid versioning the name (Foundations 2026, Foundations v2). Schools are containers that span multiple cohorts; the cohort moves through, the school stays.

Click Save. The new school appears in the grid with 0 enroled and 0 graduated.

TIP

Stick to one school per curriculum, not per cohort. If you run Foundations three times a year, that's still one school β€” the three groups just show up as three separate enrolment windows.

Edit a school ​

Hover any school card and click the pencil icon. The same dialog opens, prepopulated. Change the name and save. The change carries through everywhere immediately β€” enrolment rows, graduations, the member's profile transcript.

WARNING

Renaming a school after issuing graduation certificates means existing certificates that referenced the old name will not be retroactively updated. Plan your naming carefully before your first cohort graduates.

You can also click the school card itself to open the detail page, then click Edit in the header. Same dialog, same result.

Delete a school ​

Hover the card and click the trash icon. What happens next depends on whether the school has members attached.

School with no members ​

You get a plain "this will soft-delete the school" confirmation. Click Delete and the school disappears from the list. The row is soft-removed (deleted_at is stamped) so it can be restored if needed.

School with members ​

GCM blocks the silent loss of enrolment history. The delete dialog shows you how many members are attached and asks what to do with them:

Delete with members dialog

Two options:

  • Remove from this school β€” soft-delete every enrolment and graduation row for this school. The members keep their profiles; their transcript just loses this school.
  • Reassign to another school β€” rewrite the foreign key on every enrolment and graduation row to point at the school you pick. Useful when you're consolidating two duplicate schools into one.

Pick one, click Delete. The junction rows are processed first, then the school itself is soft-deleted.

TIP

When in doubt, reassign. Soft-deleting enrolment rows means your year-over-year reports lose the history. Reassigning preserves it.

Bulk delete ​

When you select multiple schools (hover to reveal the checkbox on each card, then tick), a sticky action bar appears at the top of the page. Click Delete and you get the same reassign / remove dialog β€” but it applies the same option to every selected school's members in one batch.

Bulk select bar

Bulk delete is the right tool when you've inherited a messy schools list and need to consolidate twenty stale rows down to five β€” pick the five keepers as reassign targets and let the bulk action sweep the rest.

Hierarchy scoping ​

The hierarchy filter at the top of the page filters the member counts on each card, not the schools themselves. A school still exists organisation-wide; the filter just tells you how many of my region's members are in it.

This is how multi-campus churches share curriculum but track cohorts per campus. See the Schools overview for the data model.

Permissions ​

ActionAdminShepherdTeacher
Create schoolyesnono
Edit schoolyesnono
Delete schoolyesnono
Bulk deleteyesnono

Shepherds and teachers can read the schools list and manage enrolments, but only admins create or destroy the schools themselves. That keeps the curriculum catalogue stable.

What gets saved ​

The schools row stores:

  • id (UUID, auto).
  • name (your input).
  • deleted_at (null until soft-deleted).
  • created_at / created_by / updated_at / updated_by β€” audit trail shown on the detail page.

Everything else β€” enrolments, graduations, objectives, completions β€” lives in separate tables that reference the school by ID. That's why renaming, reassigning, and soft-deleting don't lose data.

Next steps ​

  1. Set up objectives β€” define what students must complete.
  2. Enrol your first members β€” fill the cohort.
  3. Record graduations β€” close the loop when they finish.