Frameworks
Frameworks are long-form research pieces that render on /research/[slug]. They power the Research pillar and can be featured on the homepage.
Admin path
/admin/frameworks → New framework → /admin/frameworks/new
Fields
| Field | Purpose |
|---|---|
| Title | Framework name |
| Slug | URL segment — auto-generated if blank |
| Category label | Display label (e.g. "Research") — text only, not linked to category FK |
| Summary | Card text and default teaser |
| Visibility / Teaser | See Access & gating |
| Accent color | Hex color for framework cards (e.g. #2563EB) |
| Order index | Sort order on listings — lower numbers appear first |
| Sections (JSON) | Structured body content |
| Featured on homepage | Shows in homepage research section |
| Published | Live on public site |
Sections JSON format
The body is stored as JSON — an array of sections, each with a heading and paragraphs:
[
{
"heading": "The premise",
"paragraphs": [
"First paragraph of this section.",
"Second paragraph — blank lines in the CMS become separate paragraphs."
]
},
{
"heading": "Implications",
"paragraphs": ["One paragraph here."]
}
]
Rules:
- Must be valid JSON (use double quotes)
- Each section needs
"heading"(string) and"paragraphs"(array of strings) - Plain text only — no Markdown in paragraph bodies
Step-by-step: publish a framework
/admin/frameworks/new- Title, summary, accent color
- Paste or edit the Sections JSON (start from the template in the form)
- Set Order index if you want a specific sort position
- Check Published and optionally Featured on homepage
- Save → verify at
/research/[slug]
Public behavior
| Flag | Effect |
|---|---|
| Published | Visible on /research listing and detail page |
| Featured | Eligible for homepage featured research block |
| Order index | Controls sort on /research |
Signed-in members can Save frameworks to their account (/account).
Tips
- Copy the JSON template from a new framework form and edit incrementally
- Validate JSON in a formatter before saving — invalid JSON will fail on submit
- Use Category label for display grouping; it does not filter pillar pages
- Framework slugs appear in podcast Research links JSON — keep slugs stable