Spillway CMSStructured content like Drupal. Page building like Puck. Setup like Ghost. AI that drafts, people who approve.
Menu

Add a department section

Hand a part of the site to a department: its editors manage everything under one path prefix and one menu, and nothing else.

Before you start: a manager or admin account (site.settings for the section, users.manage for the role assignments). The department's pages, if they exist already, should sit under one path such as /engineering.

Steps

  1. Site settings → Sections → New section. Key engineering, label School of Engineering, path prefix /engineering. If the department has its own navigation, create a menu first (Menus → New, key engineering) and pick it as the section's menu.
  2. Save. Every published or draft page whose path is /engineering or starts with /engineering/ is assigned to the section at once; new content saved under the prefix joins it automatically.
  3. Users → the department's editor → Section roles. Add engineering with the role editor (publishes) or author (drafts only). A user who holds only section roles sees nothing outside the section.
  4. Ask the editor to sign in. Their content list shows only the section's pages; New page places new slugs under /engineering/ unless they type the full path.

Check the result

  • The section editor can open and edit /engineering/labs but gets 403 on a page outside the prefix, and cannot open Settings, Types or Forms.
  • The editor can edit the engineering menu under Menus but not main.
  • GET /api/auth/me for the editor lists the section under sections with its permissions; the site-wide permissions hold only the ambient subset (view drafts, create, submit, upload, AI).
  • The audit log has user.section_roles rows for the assignment.

Notes

  • A section is per site. On a multisite instance, give the editor a site role instead when they should manage a whole site.
  • Deleting a section clears the assignment on its entities and removes the role rows; nothing is deleted from the site.

Going further

Spillway 0.1.0 · Edit this page on GitHub

Was this page helpful?