Volto Hydra Documentation

A Visual Headless CMS using Plone as a server, providing true visual editing with drag-and-drop blocks and editable text — with any frontend stack you choose.

Why Hydra?

  • Visual + True Headless + Open Source — a unique combination in the CMS space
  • Framework agnostic — Next.js, Nuxt.js, Astro, plus server-only stacks (PHP, Django, Rails, Laravel) via the server-render pattern
  • Quick visual editing — enable it with simple HTML data attributes, no React or Vue required in your frontend
  • Omni-channel — switch between multiple frontends mid-edit
  • Enterprise features — versioning, i18n, workflow, and automated content rules
  • Customisable — both the admin interface and block definitions are fully configurable

Try the online demo

The fastest way to feel what Hydra does is to log into the hosted demo and edit a real page against a real frontend.

Open <https://hydra.pretagov.com>, log in, then:

  • Open user preferences (bottom-left).
  • Pick one of the preset frontends, or paste in your own frontend URL.
  • Edit any page — every change updates the live preview.

The default preset is a Nuxt.js frontend deployed as an SSG to demonstrate scale-to-zero editing on free hosting. An Astro example demonstrates the server-render pattern for static-first frameworks. See Build a frontend › Deployment patterns.

To run Hydra locally against your own frontend, see the Run Locally section of the project README.

Grid-Text block

The Grid block allows adding multi-column blocks. A grid block can contain between one and four columns of different blocks. Text, teasers, images and videos can be added in a grid block.

Custom Blocks

Define custom block types directly in your frontend configuration via the blocks option in initBridge. No Volto plugin deployment required. Each block type needs an id, title, and a blockSchema with its field properties.

Highlight

The highlight block allows you to highlight and tease a single piece of content. The content is displayed with a large image and a title and description in a banderole.

Selecting blocks

The editor has two modes when a block is selected: text mode (you're editing inside the block) and block mode (the whole block is selected as a unit).

Event

The event content type can be used to display an event on the website.