There are two main files involved in configuring sugar's system settings.
config.php (located in the root of the application folder) is intended to provide general system settings. Several years ago, before our new upgrade wizard, people were unzipping patches on their production systems. This file was particularly vulnerable.
config_override.php (also located in the root of the application folder) is intended to provide overrides for values in config.php and also allow for machine specific settings.
Consider a simple setup that consists of two copies of Sugar, one for development and one for production. If you put your database credentials (which would be different between the two) in the appropriate config_override.php file, then you can safely copy config.php along with all of the base settings over the production config.php.
This two file scheme makes it easier to manage server specific configurations without having to edit files. When Sugar is loaded, config.php is loaded first, then if config_override.php is present, it is loaded. It does have one drawback. If you are looking at a nice pretty setting in config.php and you want to change it, you need to make sure that config_override.php is where it is set or that it is not set in config_override.php. If the setting is in config_override.php and you modify config.php only then your shiny new setting will be blown away when config_override.php is read. I have had several occasions where I modified a setting, reran a test, and then put the setting back only to realize that the setting had no effect at all because someone had placed a value for that setting in config_override.php.
Going forward, I expect that more and more settings will be stored in the database.
Jacob


LinkBack URL
About LinkBacks




Bookmarks