Ticket #11 (closed enhancement: fixed)

Opened 4 years ago

Last modified 4 years ago

Redesign the CMS settings system

Reported by: WanWizard
Priority: low Milestone: 7.0
Component: ExiteCMS Core Version: 7.0
Severity: Feature Keywords: core functionality

Description

Currently, all settings are stored in a single record in the settings table. This is very inflexible, as it doesn't allow dynamic modifications to the settings, p.e. when an optional module requires extra settings.

This should be changed into 1 record per setting, with:

  • name of the setting
  • type (integer, string, etc...)
  • value field
  • owner (module name, or 'core' for the CMS core code)
  • regex that should match any valid entry (if validation is needed)
  • locale filename for field descriptions
  • locale index for the fieldname
  • locale index for field comments

the way the locale info is stored probably depends on how we're going to make the CMS multilingual

Change History

comment:1 Changed 4 years ago by WanWizard

  • Status changed from new to assigned
  • Milestone changed from 7.1 to 7.0

New CMSconfig table introduced in changeset [909], and all CMS core code modified to use this new table instead of the old settings table.

Issue still to solve: when to drop the old settings table? It needs to be there until the rev909 upgrade has been installed, but if you upgrade an existing website from SVN, there is no telling what revision it runs. If it's to old, then core_functions can't find the settings file anymore.

comment:2 Changed 4 years ago by WanWizard

  • Status changed from assigned to closed
  • Resolution set to fixed

Decided that a completely modular config table is too complicated.

Modules can add there own config items to the table so a separate table is no longer needed, a module still needs to supply its own admin module to modify these config values.

The module_installer is responsible for creating the config record with a default value when the module is installed, and remove it when it is uninstalled.

The old settings table will be removed by the upgrade to version 7.1. Prerequisite for that upgrade will be that the site runs at least version 7.0 rev. 909.

We might decide to reopen this feature request at a later date.

comment:3 Changed 4 years ago by WanWizard

  • Priority changed from minor to low
Note: See TracTickets for help on using tickets.