Project

General

Profile

Actions

Tracker #29939

closed

Improve setting definition DSL and move setting registry to memory

Added by Ondřej Ezr almost 4 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Settings
Target version:
-
% Done:

100%

Difficulty:
medium
Triaged:
Yes
Fixed in Releases:
Found in Releases:

Description

Currently we have all the settings (both changed and unchanged) in the database, but we have all the defaults in code as well, so it makes no sense to have quite a heavy code base to keep both in sync.
Instead I'd like to bring the setting inventory into memory and database would keep only the changed settings.

It should give as an easy way for plugins to extend settings category not just adding a new one.


Subtasks 28 (0 open28 closed)

Refactor #30860: Create SettingPresenter as a proxy for setting UI valuesClosedOndřej EzrActions
Refactor #30861: Move setting value collections to SettingPresenterClosedOndřej EzrActions
Feature #30862: Introduce SettingRegistry as a setting inventoryClosedOndřej EzrActions
Refactor #31471: Deprecate setting timestamps in API responsesClosedOndřej EzrActions
Feature #32286: Create a new setting definition DSLClosedOndřej EzrActions
Refactor #32287: Load Setting index page from memory registryClosedOndřej EzrActions
Refactor #32403: Add custom validations to new setting DSLClosedOndřej EzrActions
Refactor #32408: Use new DSL to define settingsClosedOndřej EzrActions
Refactor #11836: Rename Puppet settings to ConfigurationClosedActions
Refactor #32893: Use new DSL to define General settingsClosedOndřej EzrActions
Refactor #33589: Use new DSL to define Authentication settingsClosedOndřej EzrActions
Refactor #33595: Use new DSL to define Email settingsClosedOndřej EzrActions
Refactor #33596: Use new DSL to define Notification settingsClosedOndřej EzrActions
Refactor #33601: Use new DSL to define Provisioning settingsClosedOndřej EzrActions
Refactor #33607: Use new DSL to define Puppet settingsClosedOndřej EzrActions
Refactor #32415: Use only SettingRegistry to read and update the settingsClosedOndřej EzrActions
Bug #32489: Setting registry doesn't reload properly on autoreloadClosedOndřej EzrActions
Refactor #32583: Mandatory setting typeDuplicateActions
Refactor #32894: Add strong typing to Setting DSLClosedOndřej EzrActions
Katello - Refactor #33608: use new Settings DSL in KatelloClosedJeremy LenzActions
Refactor #33781: Deprecate the old setting definitions without "default_settings"ClosedOndřej EzrActions
Refactor #33782: Initialize Setting for tests without fixturesClosedOndřej EzrActions
Refactor #34305: Stop creating settings in the DBClosedOndřej EzrActions
Bug #34328: GraphQL is using Setting model directlyClosedOndřej EzrActions
Refactor #34335: Make GraphQL read settings from RegistryRejectedOndřej EzrActions
Refactor #34603: Deprecate other than DSL setting definitionsClosedOndřej EzrActions
Refactor #35013: Refactor config rake to use Setting DSLClosedOndřej EzrActions
Refactor #35793: Drop the settings category column from databaseClosedActions

Related issues 11 (1 open10 closed)

Related to Katello - Refactor #30354: Use only public setting interface to update setting valuesClosedOndřej EzrActions
Related to Foreman - Refactor #29257: remove x-editable-railsClosedOndřej PražákActions
Related to Foreman - Bug #33791: Settings defined in settings.yaml do not take precedence in the new DSLClosedOndřej EzrActions
Related to Boot disk - Refactor #34674: Use new DSL to define settingsClosedLukas ZapletalActions
Related to Discovery - Refactor #34677: Use new DSL to define settingsClosedLukas ZapletalActions
Blocks Ansible - Refactor #32409: Use new DSL to define settingsClosedAdi AbramovitchActions
Blocks Templates - Refactor #32410: Use new DSL to define settingsClosedOndřej EzrActions
Blocks Discovery - Refactor #32411: Remove the old Setting class, which now only holds helper methodsNewActions
Blocks foreman-tasks - Refactor #32412: Use new DSL to define settingsClosedOndřej EzrActions
Blocks Foreman Remote Execution - Refactor #32413: Use new DSL to define settingsClosedActions
Blocks Statistics - Refactor #32414: Use new DSL to define settingsClosedOndřej EzrActions
Actions

Also available in: Atom PDF