Project

General

Profile

Tracker #29939

Improve setting definition DSL and move setting registry to memory

Added by Ondřej Ezr almost 2 years ago. Updated 25 days ago.

Status:
Ready For Testing
Priority:
Normal
Assignee:
Category:
Settings
Target version:
-
% Done:

94%

Difficulty:
medium
Triaged:
Yes
Bugzilla link:
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

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

Related issues

Related to Katello - Refactor #30354: Use only public setting interface to update setting valuesClosed
Related to Foreman - Refactor #29257: remove x-editable-railsClosed
Related to Foreman - Bug #33791: Settings defined in settings.yaml do not take precedence in the new DSLClosed
Related to Boot disk - Refactor #34674: Use new DSL to define settingsClosed
Blocks Ansible - Refactor #32409: Use new DSL to define settingsClosed
Blocks Templates - Refactor #32410: Use new DSL to define settingsClosed
Blocks Discovery - Refactor #32411: Use new DSL to define settingsNew
Blocks foreman-tasks - Refactor #32412: Use new DSL to define settingsClosed
Blocks Foreman Remote Execution - Refactor #32413: Use new DSL to define settingsClosed
Blocks Statistics - Refactor #32414: Use new DSL to define settingsClosed

History

#1 Updated by The Foreman Bot almost 2 years ago

  • Status changed from New to Ready For Testing
  • Pull request https://github.com/theforeman/foreman/pull/7702 added

#2 Updated by Ondřej Ezr almost 2 years ago

  • Related to Refactor #30354: Use only public setting interface to update setting values added

#3 Updated by Amit Upadhye over 1 year ago

  • Target version changed from 2.2.0 to 2.3.0

#4 Updated by Ondřej Ezr over 1 year ago

  • Subject changed from Add extension point to setting defaults to Move setting registry into a memory

#5 Updated by Ondřej Ezr over 1 year ago

  • Description updated (diff)

#6 Updated by Ondřej Ezr over 1 year ago

  • % Done set to 0
  • Tracker changed from Feature to Tracker
  • Pull request deleted (https://github.com/theforeman/foreman/pull/7702)

#7 Updated by Ondřej Ezr over 1 year ago

  • Description updated (diff)

#8 Updated by Ondřej Ezr over 1 year ago

#9 Updated by Ondřej Ezr over 1 year ago

  • Target version changed from 2.3.0 to 2.4.0

#10 Updated by Tomer Brisker over 1 year ago

  • Target version deleted (2.4.0)

#11 Updated by Amit Upadhye over 1 year ago

  • Target version set to 2.5.0

#12 Updated by Ondřej Ezr about 1 year ago

  • Subject changed from Move setting registry into a memory to Improve setting definition DSL and move setting registry to memory

#13 Updated by Ondřej Ezr about 1 year ago

#14 Updated by Ondřej Ezr about 1 year ago

#15 Updated by Ondřej Ezr about 1 year ago

#16 Updated by Ondřej Ezr about 1 year ago

#17 Updated by Ondřej Ezr about 1 year ago

#18 Updated by Ondřej Ezr about 1 year ago

#19 Updated by Ondřej Ezr about 1 year ago

  • Target version deleted (2.5.0)

#20 Updated by Ondřej Ezr 7 months ago

  • Related to Bug #33791: Settings defined in settings.yaml do not take precedence in the new DSL added

#21 Updated by Ondřej Ezr about 2 months ago

Also available in: Atom PDF