Skip to main content
The CMS panel is the day-to-day editing surface for everyone who isn’t writing code. It lives in the right pane of the /v3 editor. Switch the pane to CMS mode to get a Webflow-style editing experience for the structured content declared in your manifest. This page is a tour of every part of the panel.

Opening the CMS Panel

1

Open your project in /v3

From the dashboard, click your project to open it in the editor.
2

Switch the right pane to CMS

The right pane has three modes — Preview, Code, and CMS. Click CMS in the pane header.
If your project doesn’t have a manifest yet, the panel shows an Initialize CMS button. Click it to scaffold hiveku.cms.json with a default blog collection. See Initialize Your CMS for details.
3

Pick a collection

The collections rail on the left of the panel lists every collection from the manifest. Click one to load its entries.

The Collections Rail

The left rail lists every collection declared in your manifest, with a live entry count beside each. Collections that share a group label in the manifest cluster together under a header — handy for projects with many collections (“Marketing”, “Pages”, “Settings”). At the bottom of the rail sit two non-collection destinations:
  • Assets — the project’s media library: every image and file uploaded through the CMS, browsable and reusable
  • Manage collections (gear icon) — opens the Collection Manager for editing the manifest itself: add collections from presets, build fields visually, reorder and configure them. See Collections.

The Entries Table

Picking a collection opens its entries as a real table:
  • Search — filters the loaded page of entries as you type
  • Status chipsAll / Draft / Published / Scheduled / Archived filter the list by derived status, server-side
  • Filters — a disclosure with per-field filter controls
  • Columns — a column picker popover: check which fields appear as columns, drag to reorder them, and switch row density. Built-in columns include Status, Slug, Updated, and (for routed collections) URL
  • Sort — defaults to the manifest’s defaultSort; click any sortable column header to change it
  • Pagination — 25 / 50 / 100 entries per page, with true server-side page counts
  • List / tree toggle — collections that declare a hierarchy can render as a tree
  • + New entry — opens a fresh form
Select entries with the checkboxes and a bulk actions bar appears: Publish, Unpublish, Archive, Set field… (write one field across all selected entries), and Delete. Bulk operations report per-row results, so one bad entry never silently sinks the batch. For bulk imports from CSV or JSON, see Bulk Import.

Entry Statuses

Every entry shows one derived status badge, computed from the entry’s publish fields (status, published, archived, publishAt): The same truth table drives the site itself, the entries table, and the entry editor — the badge never disagrees with what your site renders.

The Entry Editor

Click an entry to open it. The form is generated from the manifest’s field definitions — there’s no separate form template to maintain. Each field type renders a dedicated control:
  • string → text input
  • markdown → split-pane editor with live preview
  • image → drop-zone with media library picker
  • select → dropdown
  • array → reorderable list (galleries and repeaters included)
  • reference → searchable picker
See Field Types for the full mapping. Cmd+Z / Cmd+Shift+Z undo and redo within the form, and Cmd+K opens search.

Drafts and Autosave

You never lose work in the entry editor, and you never accidentally publish it either:
  • As you type, changes autosave into a private draft copy of the entry — the quiet line under the status pill reads “Saving draft…” then “Draft saved 7:41 PM”.
  • The live entry (and your site) don’t change until you Save or Publish, which apply the draft.
  • A published entry with pending draft edits shows the amber dot on its badge, plus Publish draft and Discard draft actions in the sidebar.
  • If someone else changed the entry while you were editing, the panel says so and lets you reload or retry — it never silently overwrites their work.

Validation

Validation runs in two passes:
  1. Client-side — required fields, length limits, patterns. Errors appear inline as you type.
  2. Server-side — manifest-aware checks (reference target exists, slug is unique within the collection). Returned with field-level messages on save.
A validation summary at the top of the form lists every problem at once — click any item to jump straight to the offending field. Save stays disabled until they’re resolved.

Live Preview Sync

As you type, the preview pane updates in near real time (changes are debounced by a fraction of a second).
Live preview needs a routePattern on the collection — the panel uses it to point the preview at the entry’s URL. Collections without a route still save fine; you just won’t see the entry rendered until your code reads from the CMS.

The Entry Details Sidebar

To the right of the form sits the Entry details sidebar — one place for the entry’s status and everything that acts on it.

Status and Actions

The status pill at the top is live — a staged change moves it immediately. Beneath it are exactly the actions that make sense for the current state:

Deploy State

Publishing writes to your project files; your live site updates on the next deploy. The sidebar’s Deploy state section keeps that honest:
  • Rows for Production, Staging, and Dev show when each environment last deployed relative to your content edits.
  • When published content hasn’t shipped yet, an amber card reads “Published changes aren’t live yet” with a one-click Deploy button.
Publishing never deploys automatically. Scheduled publishing is the deliberate exception — a schedule deploys at fire time unless you opt out.

Everything Else in the Sidebar

  • Schedule annotation — when the entry has a pending schedule: when it fires, where it deploys, and any failure from the last attempt
  • Slug — with a rename action that keeps references intact
  • File and URL — the entry’s file path and, for routed collections, an Open on the preview site link
  • Referenced by — entries in other collections that point at this one, each a click away
  • History and Activity — this entry’s version history, and the project-wide CMS activity log

Version History

Every save creates a version. Click History in the entry sidebar:
1

Browse versions

A drawer lists versions chronologically — most recent first, each with its timestamp and author.
2

Compare or restore

Click any version to see it as a diff against the current content. Click Restore this version to bring its content back into the form.
Restore brings the version’s content into the form but doesn’t auto-save — you can preview a restore without committing to it.

Image and File Upload

The image and file field controls support:
  • Drag-and-drop from your file system
  • Paste from clipboard (image only)
  • Click-to-browse
  • Choose existing — opens the Assets library showing every previously uploaded file
Uploads go to your project’s media bucket and are served through Hiveku’s CDN. The path stored in the entry is a project-relative URL like /uploads/2026/08/hero.jpg.

References Picker

A reference field renders as a search box that opens a popup with the target collection’s entries. Type to filter; click to select. If the entry you need doesn’t exist yet, you can create it inline without leaving the form. Multi-references (an array of references) show the picked entries as removable chips. Collections with a declared hierarchy get cascading pickers that walk the chain (State → City → Service).

Troubleshooting

Your project doesn’t have hiveku.cms.json yet. Click Initialize CMS to scaffold it, or follow Initialize Your CMS.
Check the validation summary at the top of the form — it lists each failing field, and clicking an item jumps to it. Common causes are missing required fields, a slug conflict with another entry, or a reference pointing at an entry that no longer exists.
Publishing marks the entry live in your project files; the live site updates on the next deploy. Check the sidebar’s Deploy state section — if it shows “Published changes aren’t live yet,” click Deploy.
The collection might not have a routePattern, or the preview is on a different page. Use the sidebar’s Open on the preview site link to navigate the preview to this entry’s route.
Check the field’s validation rules and your project’s media quota. Very large files are rejected by default.
Versions are captured per save. A brand-new entry won’t have history until you’ve saved it at least twice — the drawer shows what came before the current state.

What’s Next?

Scheduled Publishing

Publish at a future time, with an automatic deploy

Bulk Import

Import many entries at once from CSV or JSON

Field Types

See every form control in detail

References

Link collections with the references picker