Configuration managed by the deployment
This page is for administrators, developers and hosting teams of public bodies whose change process requires that production changes go through version control, review and a deployment. Without the switch, the administration's INI editor, toolbar and menu editors and template editor write files into the release directory, where version control does not see them. With it, they cannot (Configuration managed by the deployment).
Contents
The switch
Off by default, per siteaccess, since 6.0.15:
# settings/siteaccess/<admin siteaccess>/site.ini.append.php (from version control)
[ConfigurationSettings]
ManagedByDeployment=enabledWhat it locks
In a web request, with the switch on:
- the settings editor, the toolbar and menu editors, the template editor, the setup wizard, extension activation, the code generators (RAD wizards) and package upload, install, uninstall, create and export answer like a disabled view, whatever the roles say; the list lives in code, so a settings file cannot weaken it;
- menus and links to those views are hidden;
- every INI write from a web request is refused (
eZINI::save()returns false), including writers from extensions; - the setup wizard does not start, whatever
CheckValiditysays.
What stays open
- Read-only views: settings view, template and package lists, cache management, system information, logs.
- Command-line scripts and the deployment itself, including
./console exp:ini. - Keys the code generates on first use (audit keys, the mail preference secret).
Introducing it
- Put every setting the administration used to write into version control
(
settings/siteaccess/..., extension settings); secrets stay insettings/overrideoutside version control. - Turn the switch on for the production administration siteaccess in a versioned file.
- Deploy, then check: Setup > Ini settings shows values but no edit;
/setup/radanswers as disabled. - Tell administrators that settings changes are now change requests.
Limits
- Installing a package from the command line still writes to the database.
- File permissions on the release directory remain the stronger measure (code read-only for the web server's user); the switch is an application-level guard.
Related pages
- Configuration managed by the deployment
- Deploying
- File permissions and ownership
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.