---
url: /panel.md
---
# The panel

The panel is the backend at `/evolve`. Editors write content here, webmasters change settings, developers switch modules on and off. This page is the map; the other pages in this chapter and the module pages describe the screens.

![The panel: sidebar with the core screens and one entry per enabled module, the dashboard, the developer bar at the bottom](/screenshots/panel-dashboard.png)

## Layout

* **Sidebar** in three groups. *Core*: dashboard, pages, navigation, forms and leads, media, global sections. *Modules*: one entry per enabled module the user may open. *System*, in the user menu at the bottom: profile, settings, users, languages, regions, static strings, redirects, tags, caches, activity log, health.
* **Action bar** at the top of every edit screen (since 2.13): breadcrumb and title, the context actions, Save and Save & close. It warns before leaving a screen with unsaved input.
* **Side drawer** for records (since 2.13): redirects, tags, languages, static strings, regions, sections, navigations, forms, leads, categories, events, participants, teams and media open on the right with a fixed Cancel/Save footer. Tasks such as the block editor and the page generator stay in a centred dialog.
* **Cmd-K** (or Ctrl-K, or the magnifier next to the logo) opens the command palette (since 2.15): every screen the user may open, actions such as "New page" or "Invite user", and content records. Views and actions filter in the browser and match the panel language, the English label and keywords, so "redirects" finds "Umleitungen". Content search is gated by `evolve.roles.search`.
* **Light and dark mode** follow the system and can be fixed in the profile. The panel is monochrome; the brand colour from `APP_BACKEND_THEME_COLOR` appears on the logo and the loading indicators only.
* **Environment select** in the sidebar (since 2.6) names the environment the panel runs on and links to the others declared for the project. The frontend shows a banner on every environment but live, see [Environments](/getting-started/environments).

![The command palette, opened with Cmd-K, listing views, actions and content](/screenshots/panel-command-palette.png)

![The page tree per language with visibility and the row menu](/screenshots/panel-pages.png)

## Core screens

| Screen | What it does |
|---|---|
| Dashboard | Page views from Google Analytics when `ANALYTICS_PROPERTY_ID` and a service account (`GOOGLE_APPLICATION_CREDENTIALS`) are configured; with a property ID but no service account file the card says so . The health status; recent activity. |
| Pages | The page list with visibility (public, hidden, private), sorting and a visibility filter (see [The page list](#the-page-list)), the block editor, the live editor with preview sizes, the SEO fields and the AI page report. See [SEO and Head](/site/seo-and-head) and [Editor AI](/panel/editor-ai). |
| Navigation | Menus and their items, linking pages, routeable records and external URLs. |
| Forms, Leads | The form builder and the submissions it collects. See [Forms and leads](/panel/forms-and-leads). |
| Media | The media library. See [Media library](/panel/media-library). |
| Sections | Global sections: block groups reused across pages, such as a footer or a contact band. |
| Users | Accounts, roles and invitations. Invitations are signed links (since 2.16); a magic link login is available next to the password. Roles are explained on [Roles](/getting-started/roles). |
| Languages, Static strings | The active frontend languages and the translatable strings the theme uses. A string maintained only in the fallback locale resolves on every language. |
| Regions | Country-based content variants, part of the regions module switch. |
| Redirects, Tags | Redirect rules with hit counts; tags for media and content. |
| Caches | Clear the application, config, route and view caches, the rendered images and the [page cache](/site/page-cache), or rebuild the page cache. These actions are POST requests with a CSRF token since 2.12. |
| Activity | The activity log: who changed what, with the before and after values. Entries name the record by type and current title with a link to it ("Page: Kitchen Sink"), the type filter uses short aliases in the URL (`?subjectType=page`, since 2.18). Feeds the `content` block of the health check that Fleet reads. |
| Health | The health dashboard, see [Health Checks](/site/health-checks). |
| Settings | The `.env` editor with tabs per topic. See [Settings](/panel/settings). |

## The page list

The page list opens in its default order: the home page first, then all other pages by title from A to Z (since 2.19).

* **Sort.** Click the column header Name / Page title, Permalink or Updated to sort by that column, click it again to reverse the order. Title and permalink follow the panel language. The Updated column shows the date of the last change to the page or one of its blocks; hover it for the time.
* **Back to the default order.** While a column sort is active, the button Default order next to the filter returns to the home page first, title A to Z order.
* **Filter by visibility.** The segmented control above the list shows All, Public, Hidden or Private pages. Pages have no scheduled or expired state; only blocks and posts have one.
* **Combine.** Filter, search and sort work together, and the address bar keeps them, so a filtered and sorted list can be bookmarked or shared: `/evolve/page?visibility=hidden&search=team&sortBy=updated_at&sortDirection=desc`. An unknown value in the address falls back to the default order or to All.

## Keyboard and conventions

* Enter saves a drawer form, Escape closes a drawer or the palette, Cmd-Enter in the palette opens the target in a new tab.
* Lists are 48 px rows with a row menu (⋮) that holds the secondary actions. Exactly one solid button per screen is the primary action.
* Every list has a search and, where it applies, a type filter as a segmented control.

## Overridden views

Projects may have published copies of panel views from earlier versions. After an update, `php artisan evolve:view-overrides` lists every copy and the changes the package made to the original since, so the copy can be brought in line or deleted. Module views (`blog::`, `event::` and so on) are not covered; compare those by hand. See [Upgrading](/getting-started/upgrading#overridden-panel-views).

## In this chapter

::: cards

* [Settings](/panel/settings)
  The `.env` editor with a fixed list of keys per tab, and the module switches on the Developers tab.
* [Settings Store](/panel/settings-store)
  Business configuration kept in the database and laid over the config at boot.
* [Forms and Leads](/panel/forms-and-leads)
  The form builder, the leads it collects, notifications, confirmations and the conversion event.
* [Form Spam Protection](/panel/form-spam-protection)
  The honeypot on every submission, reCAPTCHA on top once keys are set, and what the theme has to render.
* [Media Library](/panel/media-library)
  Uploads, image variants, metadata, and where a file is used.
* [Editor AI](/panel/editor-ai)
  Text commands in the editor, the page generator and the page report, all through OpenAI.
  :::
