-
-
Notifications
You must be signed in to change notification settings - Fork 817
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Standalone System - bring default Civi::paths factories in line with installer defaults #31150
Conversation
🤖 Thank you for contributing to CiviCRM! ❤️ We will need to test and review this PR. 👷 Introduction for new contributors...
Quick links for reviewers...
|
There's some crossover between this and #31150 I will attempt to take the paths stuff out of that PR because this one is a more logical package 📦 |
More than a little crossover. I'd say they are identical! 😉 |
(just to note the upgrade tests are failing for other reasons) |
Better to get rid of the cruft now than later. |
Overview
#29960 updated the default Standalone directory structure in a somewhat brute force way - by setting path overrides in the installer, that are then written out into
civicrm.settings.php
This returns to
CRM_Utils_System_Standalone
to bring the underlying defaults in line with the directory structure changes.Before
civicrm.settings.php
contains many path overridesEven though they just reiterate our intended defaults, removing them will cause your system to crash because the underlying defaults are different.
After
The above overrides will all still be set by the installer.
But if you haven't diverged from the default, those lines can be safely removed.
This is a helpful step to reduce reliance on
civicrm.settings.php
in a portable context (e.g. Docker container).Technical Details
In many cases having these paths fixed in your
civicrm.settings.php
makes sense: if the defaults ever change in the codebase, your folders will still be where they were at install time, so the "frozen" copy of the paths is helpful.But we shouldn't rely on the settings file to provide defaults.
Some extraneous bootstap code in
CRM_Utils_System_Standalone
is removed which otherwise caused a crash by trying to read directly$civicrm_paths
. The line is trying to reload the autoloader - which is always handled in Standalone context bycivicrm.standalone.php
.