Details
-
Type: Improvement
-
Status: Open
-
Priority: Minor
-
Resolution: Unresolved
-
Affects Version/s: 4.4.4
-
Fix Version/s: Unscheduled
-
Component/s: Core CiviCRM
-
Labels:None
-
Versioning Impact:Patch (backwards-compatible bug fixes)
Description
The civicrm_setting table does have a is_domain column. I do not clearly know how this is used or managed today.
However, this opens the possibility to have a generic mechanism to lock settings in a multi-site/multi-domain environment: if that column has value 0, it could mean that the setting has a global effect on all sites, and that it can only be modified by the administrator of the primary site/domain (ie domain_id = 1).
This behavior could easily be implemented in a generic fashion in class CRM_Admin_Form_Setting:
- if domain = 1, put a 'lock setting' checkbox next to each setting, if turned on this saves the setting with is_domain = 0 in the database.
- if domain > 1, grey-out the setting when is_domain = 0 in the database.
I have had a customer ask me for such functionality, as well as generally having more freedom in deciding which applies globally vs to each site in a multi-site environment (ie. memberships, event templates, mailing templates, etc). The current CiviCRM defaults might not fit all use cases.