Skip to content
This repository has been archived by the owner on Dec 20, 2022. It is now read-only.

Implement proper preference framework #21

Open
d-gs opened this issue Oct 8, 2021 · 0 comments
Open

Implement proper preference framework #21

d-gs opened this issue Oct 8, 2021 · 0 comments
Assignees
Labels
Prio: High High Priority Status: Accepted Issue or PR is accepted Type: Feature Issue or PR is a new feature

Comments

@d-gs
Copy link
Member

d-gs commented Oct 8, 2021

Feature request

Expected Behavior - What were you expecting to happen?

This feature should be for the core framework for preferences. With this ticket a simple preference to switch/change the log-level for both GEM and third-party ones should be implemented.

Current Behavior - What happens?

Current framework for preferences is not used and not flexible enough, as it is just a draft. The solution to this issue should be also a draft but more refined as it might be changed when UI for preferences is implemented. By now, it should be usable so the file-based configuration can be edited by hand and the preferences being picked up.

Possible Solution

The preference framework should contain:

  1. Preferences for the core and also plug-in specific preferences, stored as a HOCON config on the GEM application folder to be consistent with our file-based config structure.
  2. A way to communicate plug-in preferences to the UI the different kind of preferences to display properly (the UI part should be a different feature request). A new provider should be available to configure preferences.
  3. Resolution of preferences should use also the configuration, so plug-ins can request preferences instead of configuration for their plug-ins. This will also make more flexible the framework so for example for the new JIRA plug-in (see Add JIRA feature branch provider #3) some JQL parts can be part of the preferences (e.g., user-name on JIRA).
  4. A way to set by default some preferences values with the configuration and/or programatically.
  5. New configuration entry for framework that allows to include on the configuration resolvable preferences not determined by source code (e.g., the user-name for JIRA).

Context

The context is to enable user-preferences at the core level (not UI) to allow user-input on the behavior of GEM core and plug-ins.

Notes and further information

Follow up this ticket the UI counterpart should be created (see next ticket).

@d-gs d-gs added Prio: High High Priority Status: Accepted Issue or PR is accepted Type: Feature Issue or PR is a new feature labels Oct 8, 2021
@d-gs d-gs self-assigned this Oct 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Prio: High High Priority Status: Accepted Issue or PR is accepted Type: Feature Issue or PR is a new feature
Development

No branches or pull requests

1 participant