Contents
- Domma CMS User Manual
- 1. Using the CMS
- 2. Tutorials
- 3. Components
- 4. API Reference
- 5. Tools
Plugins
Updated by Darryl Waterhouse on 29 September 2026 · 4 min read
Plugins add features to the CMS: new admin screens, server routes, shortcodes and public-site scripts. You get them from the Marketplace - System > Plugins in the sidebar (#/plugins). Once switched on, a plugin is a Tool and has its own place in the sidebar. Each plugin lives in a folder under plugins/.
The Marketplace screen
- Installed lists what is on this site. The built-in Tools come first, then your plugins, with filters for All, On, Off and Needs attention (a plugin that is on but not licensed, or waiting for something it needs).
- Click a plugin for its details and settings. Right-click it (or use the row menu, or Shift+F10) to switch it on or off, configure, update, view its source, export it as a
.dcmspluginfile or uninstall it. Licensed plugins cannot be viewed or exported. - Browse lists what this site can get from its manager, with an Update button where a newer version is available. A plugin that needs a newer Domma CMS shows Needs newer CMS and the version it needs instead of Install or Update; click it to see both versions. A site that is not managed installs from a file instead: Install from file in the banner.
Installing and updating
- A new plugin arrives switched off. Switch it on when you are ready.
- A paid plugin installed from Browse arrives licensed to this site. A plugin that is on but has no valid licence does not run, and the Marketplace says so.
- An update keeps the plugin's data. If it fails, the version you had is put back.
- A plugin that needs a newer Domma CMS (its
minCmsVersion) is refused, naming both versions - update the CMS first. An update refused this way leaves the installed version in place. - Installing an unsigned file, replacing a newer version with an older one, or updating one already installed each asks you first. A site with
requireSignedPluginsset inconfig/server.jsonrefuses unsigned files outright. - Uninstalling removes the plugin's files and its
data/folder, and any roles it added (their users move touser). Switch a plugin off instead if you may want it back. - Some plugins rely on extra npm packages (listed as
npmDependenciesin the catalogue). The CMS does not install these for you - if a plugin says a package is missing, ask whoever runs your server.
When a restart is needed
A plugin's routes and screens are read when the server starts, so:
- Switching a plugin on or off restarts the server for you when something will bring it back (pm2 or the Domma manager). The screen waits and tells you when the site is live again. Several switches in a row cost one restart. Set
restartOnPluginToggle: falseinconfig/server.jsonto restart by hand instead. - Installing, updating or uninstalling takes effect after the next restart - the screen tells you when one is due.
- Saving a plugin's settings never restarts anything.
Built-in Tools and switches
Contacts, Notes, Todo, Analytics and SEO are part of the CMS and on unless you switch them off at the top of the Installed tab. A Tool that is off disappears from the sidebar and its screens and API stop answering, but nothing is deleted: switch it back on and everything is where it was. A switch marked Locked is held by your site's manager and can only be changed there.
What plugins depend on
- Requires - a plugin that cannot work without a Tool or another plugin goes off with it. Switching it on switches on what it needs.
- Uses - a plugin that only uses something (Calendar invites contact groups) stays on, and you are told which feature it loses.
- You are shown what a switch will change, and asked, before anything moves. A plugin whose requirement is off is not started.
- Supersedes - a Pro edition replaces the free one it supersedes (Blog Pro and Blog): while the Pro plugin runs, the free one registers nothing. A Pro plugin can also take over a built-in Tool's screen (Contacts Pro and Contacts). Nothing is written down, so if a licence lapses the free plugin or built-in Tool is simply back after the next restart, with its data.
Plugin settings
Open a plugin and choose Configure. Settings are merged with the plugin's defaults and saved to config/plugins.json. Many plugins also have a settings cog in their own screen's banner.
Security
Only files inside a plugin's admin/ and public/ folders are served to browsers. Server files (plugin.js, config.js, data/) are never served. A plugin's code runs on your server with full access, which is why unsigned files ask before installing.
See also
- Plugin guides - one page per installed Marketplace plugin: what it does, its screens, settings and permissions.
- Editions & Licences - free and Pro, rental and perpetual licences, and what happens when one ends.
- Writing a Plugin - build your own.