Skip to content

Managing Features

How to enable, disable, and role-scope features in CampusCore. Read this if you're an institution admin and a CampusCore staff member tells you "the new feature is now available — you can turn it on whenever you're ready."

Screenshots will be added in a future revision. For now this is text-only.

What features are

Features are CampusCore capabilities that your institution can independently turn on and off. Some features are enabled by default. Others are unlocked by CampusCore as we ship them or as your subscription changes — when that happens, the feature appears in your Features list, but stays off until you explicitly turn it on AND pick which roles can use it.

You manage features in Settings → Features in the in-app UI.

The two-axis model + the role gate

Every feature has two on/off switches and a role gate that work together:

Switch Who controls it What it means
Available CampusCore "CampusCore has unlocked this feature for your deployment." If a feature isn't available, it doesn't appear in your list at all.
Enabled You (institution admin) "Your institution has turned the feature on." This is what you control in Settings → Features.
Visible to roles You (institution admin) "Which roles can see and use the feature." You MUST pick at least one role. There is no "visible to everyone" option.

A feature is visible to a user when all three are satisfied:

Available  AND  Enabled  AND  user has at least one of the chosen roles

If a feature you want isn't in your Features list, contact CampusCore support to request it.

Why no "visible to all" option?

This is intentional. Saying "everyone can see this feature" sounds simple but creates two problems:

  1. It hides who actually has access. A feature listed as "visible to all" is opaque — you can't audit who's using it without checking each user. Forcing you to pick roles makes the access list explicit.
  2. It bypasses your existing role discipline. If you've taken the time to set up roles, those roles should be the unit of access. A "visible to all" toggle would let a feature leak to brand new users before they're properly classified.

If you genuinely want every user to see a feature, pick every role in the picker. The result is the same and the access list is auditable.

How to enable a feature

  1. Open Settings → Features
  2. Find the feature in your list. Each feature shows its name, a short description, and the current state.
  3. Pick at least one role from the role picker — use the search box if you have many roles. Selected roles always remain visible at the top of the list even when you're searching.
  4. Toggle Enabled to on.
  5. Click Save changes.

If you try to enable a feature without picking any roles, the save is refused and you'll see a red banner: "Pick at least one role before enabling this feature."

The change takes effect immediately for everyone in your institution. Users with one of the selected roles will see the feature on their next page load.

Using the role picker

The role picker is a searchable multi-select. For each feature card:

  • Search box: type to filter the role list by name. Selected roles always stay visible regardless of the filter, so you don't lose track of what you've already picked.
  • Counter: shows "X of Y selected" so you always know the current state.
  • Required: the picker is marked with a red asterisk when the feature is enabled. You cannot save a feature in an enabled state with zero roles selected.

To restrict a feature to fewer roles

  1. Uncheck the roles you no longer want to grant access to
  2. Click Save changes
  3. Users in the unchecked roles will lose access on their next page load

To grant access to additional roles

  1. Search for or scroll to the additional roles
  2. Check them
  3. Click Save changes
  4. Users in the newly checked roles see the feature immediately

The available roles in the picker come from your role catalog — these include CampusCore's standard roles (Student, Faculty, Staff, Advisor, Registrar) plus any custom roles your CampusCore admin has created for you. Roles are normally synced from your SSO provider's groups; users get them automatically on login.

What happens when you disable a feature

  • Users immediately stop seeing it on their next page load. UI elements disappear, related menu items vanish, and any direct URLs return a "you don't have access" response.
  • No data is deleted. If a feature stores data (e.g., knowledge folders, advising notes, exported files), that data stays in the database untouched. Re-enabling the feature later restores everything as it was.
  • In-progress sessions are not interrupted. A user with the page already open won't get logged out or kicked. They'll see the change on their next interaction.
  • The role list is preserved. When you re-enable later, the same roles you had picked before are still selected. You don't need to redo your role choices.

In short: disabling is a visibility control, not a destructive action. You can flip features on and off freely without worrying about data loss.

What if a feature I want isn't in my list?

If you don't see a feature in Settings → Features, it means CampusCore hasn't unlocked it for your deployment yet. Reasons this might happen:

  • The feature is part of a higher subscription tier
  • It's still in beta and rolling out gradually
  • It hasn't been added to your contract

Contact CampusCore support to request access. Once they unlock it, the feature will appear in your list and you can enable it on your schedule.

Audit trail

Every change to a feature's state is recorded in the audit log with full detail:

  • Who flipped the toggle (the institution admin's user account)
  • When the change happened (timestamp)
  • What changed:
  • enabled_changed: whether the feature was turned on or off
  • is_enabled: the new state
  • roles_added: the slugs of any roles newly granted access
  • roles_removed: the slugs of any roles whose access was revoked

For example, if you enable a feature and select advisor and staff, the audit entry will show enabled_changed=True, is_enabled=True, roles_added=["advisor", "staff"], roles_removed=[]. If you later remove staff from the list, a second audit entry shows enabled_changed=False, roles_added=[], roles_removed=["staff"].

You can review the audit log via Django admin under Audit Logs if you have access. Look for entries with action=feature_state_updated.

Roles vs features — what's the difference?

These two things sound similar but answer different questions:

  • A role is "what is this user authorized to do?" — Advisor, Registrar, Faculty. Roles are properties of users.
  • A feature is "what can be enabled or disabled in this deployment?" — Knowledge Folders, Advising Notes Export. Features are properties of the deployment.

The connection: when you enable a feature, you pick which roles can see it. The role IS the access list.

You manage roles in Settings → Roles & Permissions (mostly read-only — roles are managed by CampusCore support). You manage features in Settings → Features (you control these).

See also

  • Configuring SSO Roles — how IdP groups are mapped to CampusCore roles
  • The architecture and developer-facing documentation lives in docs/project/ — your CampusCore engineering contact can point you at the right files if you need them.