Byline CMS
  • Home
  • Docs
  • About
Byline CMS
View on GitHub
  • Getting Started
    • Overview
    • CLI
    • Development environment and example application
    • Configuration
    • Upgrading from 3.21 to 4.x
    • Upgrading from 4.11 to 4.12
    • Upgrading from 4.19 to 5.x
    • PostgreSQL v5 Cutover
    • MySQL v5 Cutover
    • Upgrading from 5.2 to 6.x
  • Why Byline
    • Overview
    • Mission & Vision
    • Content Management in the Time of AI
    • Byline for Collections
  • Key Architectural Decisions
    • Overview
    • Core Document Storage
    • Core Composition
    • Transactions
    • Path Grammar
    • Content history and document controls
    • Deployment Topologies
  • Collections
    • Overview
    • Fields
    • Blocks
    • Relationships
    • Document Trees
    • Document Paths
    • File / Media Uploads
    • Rich Text Editor
    • Collection Versioning
    • Singletons
  • Reading & Delivery
    • Overview
    • Client SDK (@byline/client)
    • Routing & API
    • Transports
    • Markdown Export
    • MCP Server
    • Caching
  • Search
    • Overview
    • Configure search
    • Indexing and reindexing
    • Search API
    • Search provider contract
    • Portable multilingual search analysis
    • PostgreSQL and MySQL search providers
    • Attachment extraction for search
    • Native search engines and backend portability
    • Semantic discovery and institutional standards
    • Extraction provider contract
  • Auth & Security
    • Overview
    • Authentication & Authorization
    • Auditability
    • Passkeys
  • Internationalization (i18n)
    • Overview
    • The host i18n system
    • Admin interface translations
    • Content locales
    • Administering content locales
  • Admin UI
    • Overview
    • UI Kit (@byline/ui)
    • Admin-config registration
    • Collection groups
    • Richtext field capabilities
  • API Reference
    • Overview
    • Configuration API
    • Collections API
    • Fields API
    • Client SDK API
  • Scheduling
    • Overview
    • Recurring tasks
    • Scheduled publication
  • Analytics
    • Overview
    • Analytics configuration
    • Analytics browser agent and consent
    • Analytics ingest and deployment
    • Analytics storage, rollups, and operations
  • Testing
  • Home

Admin UI

Companions:

  • Configuration — the admin config file, isomorphic schema boundary, and public-bundle isolation rules.
  • Collections — collection layouts, columns, preview URLs, and list-view extension points.
  • Configuration API — the exact AdminConfig and registration contract.

Byline's admin interface is assembled from a small, framework-agnostic component kit and wired into a host application through a deliberately code-split registration path. This section is for readers extending the admin surface or integrating it into their own app.

The Singletons guide explains how the admin dashboard, editor, history view, and upload controls represent a one-document resource without list or create routes.

  • UI Kit — @byline/ui, the framework-agnostic React primitives the admin is built from, and how to consume them in your own UI.
  • Admin-config registration — how the admin/editor configuration is registered on the client, why it is code-split away from public routes, and the trade-offs behind the current approach.
  • Collection groups — arranging dashboard collections into labelled groups, and filtering cards to the collections an administrator is allowed to read.
  • Richtext field capabilities — how a Lexical field decides which structures it accepts, how that differs from which controls it shows, and what happens to stored content a field no longer supports.

Document API view

The collection editor's API view shows the loaded document as an expandable JSON tree. It initially opens the document root and the next level, leaving deeper content collapsed. The content-locale and population-depth controls reload the document with the selected options.

Copy JSON and Download JSON sit just before the locale and depth controls, as icon buttons with tooltips. They export the complete loaded payload, including collapsed branches, as formatted JSON. They reflect the current locale and population depth; they do not fetch other locales or additional related documents. The downloaded file is named after the collection, document, locale, and any population depth above zero, such as docs-<id>-fr-depth2.json. If the browser refuses clipboard access, use Download JSON. This view inspects a document returned by the admin transport; it does not introduce a public HTTP API.

Concurrent editing and recovery

The editor loads a coherent current document together with its document-wide revision. Every mutation uses that observation. If another editor, SDK client, scheduler or structural operation commits first, Byline rejects the older mutation before it changes persisted state.

The editor retains the local form and shows a persistent warning near the document actions. All mutation controls for that editing session are blocked, including Save, workflow status, path, advertised locales, schedules, duplicate, delete, locale and tree actions. The editor can inspect or copy unsaved text, then choose Reload and discard my changes to fetch a coherent current form. Ordinary navigation continues to use the unsaved-change guard.

A confirmed database lock conflict uses a separate reload-required message. A committed after-hook failure says that the write committed and must not be submitted again. Missing revision payloads from an old browser fail closed and also require reload. These outcomes are transported as typed errors; the admin does not classify them by matching translated text or display raw database messages.

Document-wide revisions intentionally make edits in separate content locales conflict. All eight shipped admin-language bundles include the recovery copy; adding another admin locale requires translating the complete documentConcurrency.* key set before it can provide the same recovery flow. Locale-grain merging and unsaved-work recovery across a reload are outside the current interface.

PreviousAdministering content locales
NextUI Kit (@byline/ui)

On this Page

  • Document API view
  • Concurrent editing and recovery
Byline CMS

Building the future of content management, one commit at a time.

Project

  • Documentation
  • Roadmap
  • Contributing
  • Releases

Community

  • GitHub Discussions
  • Blog
  • Newsletter

Legal

  • Privacy Policy
  • Terms of Use
  • Cookies

© 2026 Infonomic Company Limited and contributors. Open source and built with ❤️ by the community.