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 about 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 #1

Updated by The Foreman Bot almost 4 years ago

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

Updated by Ondřej Ezr over 3 years ago

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

Updated by Amit Upadhye over 3 years ago

  • Target version changed from 2.2.0 to 2.3.0
Actions #4

Updated by Ondřej Ezr over 3 years ago

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

Updated by Ondřej Ezr over 3 years ago

  • Description updated (diff)
Actions #6

Updated by Ondřej Ezr over 3 years ago

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

Updated by Ondřej Ezr over 3 years ago

  • Description updated (diff)
Actions #8

Updated by Ondřej Ezr over 3 years ago

Actions #9

Updated by Ondřej Ezr over 3 years ago

  • Target version changed from 2.3.0 to 2.4.0
Actions #10

Updated by Tomer Brisker about 3 years ago

  • Target version deleted (2.4.0)
Actions #11

Updated by Amit Upadhye about 3 years ago

  • Target version set to 2.5.0
Actions #12

Updated by Ondřej Ezr almost 3 years ago

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

Updated by Ondřej Ezr almost 3 years ago

Actions #14

Updated by Ondřej Ezr almost 3 years ago

Actions #15

Updated by Ondřej Ezr almost 3 years ago

  • Blocks Refactor #32411: Remove the old Setting class, which now only holds helper methods added
Actions #16

Updated by Ondřej Ezr almost 3 years ago

Actions #17

Updated by Ondřej Ezr almost 3 years ago

Actions #18

Updated by Ondřej Ezr almost 3 years ago

Actions #19

Updated by Ondřej Ezr almost 3 years ago

  • Target version deleted (2.5.0)
Actions #20

Updated by Ondřej Ezr over 2 years ago

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

Updated by Ondřej Ezr about 2 years ago

Actions #22

Updated by Ondřej Ezr almost 2 years ago

Actions #23

Updated by The Foreman Bot about 1 year ago

  • Fixed in Releases 3.6.0 added
Actions #24

Updated by Ondřej Ezr about 1 year ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 95 to 100
Actions

Also available in: Atom PDF