You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The handbook is a VitePress static site — markdown in doc/, edited only via git/PRs, which excludes non-technical staff and can't restrict who reads a page. We're moving off VitePress. Earlier prototypes were rejected: Wiki.js (no custom frontend, content leaves git) and a git-based CMS (edit access = repo write, all-or-nothing; per-reader access can't be served statically). Per-reader permissioning forces a runtime backend + database anyway, so we'll run a POC of a self-hosted headless CMS behind a custom frontend, delivering:
a fully custom frontend on the house Astro stack
on-page editing for non-technical staff (built-in CMS editor, no git/PRs)
editor vs read-only roles (per-page edit rights as a follow-up)
per-page reader access: public / internal / group-restricted
identity via Google Workspace OAuth; reader access driven by Google Groups
fully runnable locally first (Docker, localhost OAuth)
Scoped as a POC: it proves the server-side enforcement engine with manually-assigned groups. Automatic Google Group → role sync (Admin SDK + domain-wide delegation, needs a Workspace super-admin) is a separate pre-prod spike. Specification and test plan to follow in the linked PR.
Requirement
The handbook is a VitePress static site — markdown in
doc/, edited only via git/PRs, which excludes non-technical staff and can't restrict who reads a page. We're moving off VitePress. Earlier prototypes were rejected: Wiki.js (no custom frontend, content leaves git) and a git-based CMS (edit access = repo write, all-or-nothing; per-reader access can't be served statically). Per-reader permissioning forces a runtime backend + database anyway, so we'll run a POC of a self-hosted headless CMS behind a custom frontend, delivering:Scoped as a POC: it proves the server-side enforcement engine with manually-assigned groups. Automatic Google Group → role sync (Admin SDK + domain-wide delegation, needs a Workspace super-admin) is a separate pre-prod spike. Specification and test plan to follow in the linked PR.
Notes
Related Issues
osbrjp/handbook—wikijs-prototypebranch (rejected: no custom frontend, content leaves git)