volto-controlpanel

March 24, 2026 · View on GitHub

Releases

Pipeline Lines of Code Coverage Bugs Duplicated Lines (%)

Pipeline Lines of Code Coverage Bugs Duplicated Lines (%)

Volto add-on that enhance Version Overview information in Control Panel:

  • Frontend Version
    • When it was updated and from which version
    • Link to Frontend changelog
    • Volto version and the list of all installed Volto add-ons
  • Backend Version
    • When it was updated and from which version
    • Link to Backend changelog
    • List of all Python eggs installed on Backend

Requirements

This addon requires a server-side package to be installed.

Features

Volto Control Panel

Environment Variables

You can control the information displayed in Volto Control Panel via the following environment variables:

  • RAZZLE_CHANGELOG_PREFIX - Default: https://github.com/eea - Used to compose the links to CHANGELOG
  • RAZZLE_CHANGELOG_SUFFIX - Default: releases - Used to compose the links to CHANGELOG
  • RAZZLE_FRONTEND_VERSION - Default: '' - Frontend version
  • RAZZLE_FRONTEND_NAME - Default: '' - Used to compose the links to CHANGELOG
  • RAZZLE_BACKEND_VERSION - Default: '' - Backend version
  • RAZZLE_BACKEND_NAME - Default: plone-backend - Used to compose the backend link to CHANGELOG

Upgrade Guide

Upgrading to 2.x

This version requires Volto >= 17 and adds full support for Volto 18+ (Cookieplone). It removes the hard-coded dependency on the project's root package.json and drops the node-fetch server-side dependency in favor of Node's built-in fetch.

Breaking changes

  • Removed the project package.json import. Previous versions used a relative import (../../../../package.json) to read the project's name and version as fallback values for frontendVersion and frontendName. This path only worked when the addon was installed under src/addons/ (Volto 17 layout) and crashed at build time in Cookieplone's packages/ layout. The import has been removed — RAZZLE_FRONTEND_VERSION and RAZZLE_FRONTEND_NAME environment variables (or config.settings.frontendVersion / config.settings.frontendName) are now the only way to set these values. If neither is provided, they default to empty strings.
  • Removed node-fetch dependency. The server-side updateSystemInfo call now uses Node's native fetch (available in Node 18+). If fetch is not available, the call is silently skipped.

Migration

  1. Ensure RAZZLE_FRONTEND_VERSION and RAZZLE_FRONTEND_NAME environment variables are set in your deployment (Docker, Rancher, etc.). These were already the recommended way to configure these values — this change only removes the automatic fallback from package.json.
  2. No code changes are required in your project if you were already setting these environment variables.

Getting started

Try volto-controlpanel with Docker

  git clone https://github.com/eea/volto-controlpanel.git
  cd volto-controlpanel
  make
  make start

Go to http://localhost:3000

make start now defaults to Volto 18. To run the same setup against Volto 17, use:

  VOLTO_VERSION=17 make
  VOLTO_VERSION=17 make start

Add volto-controlpanel to your Volto project

  1. Make sure you have a Plone backend up-and-running at http://localhost:8080/Plone

    docker compose up backend
    
  2. Start Volto frontend

  • If you already have a volto project, just update package.json:

    "dependencies": {
        "@eeacms/volto-controlpanel": "*"
    }
    

    and volto.config.js:

    const addons = ['@eeacms/volto-controlpanel'];
    
  • If not, create one with Cookieplone, as recommended by the official Plone documentation for Volto 18+:

    uvx cookieplone project
    cd project-title
    
  1. Install or update dependencies, then start the project:

    make install
    

    For a Cookieplone project, start the backend and frontend in separate terminals:

    make backend-start
    make frontend-start
    

    For a legacy Volto 17 project, install the package with yarn and restart the frontend as usual.

  2. Go to http://localhost:3000

  3. Happy editing!

Release

See RELEASE.md.

How to contribute

See DEVELOP.md.

The Initial Owner of the Original Code is European Environment Agency (EEA). All Rights Reserved.

See LICENSE.md for details.

Funding

European Environment Agency (EU) Funding

European Environment Agency (EU)