Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Settings page improvements #274

Open
BenMusch opened this issue Oct 22, 2019 · 0 comments
Open

Settings page improvements #274

BenMusch opened this issue Oct 22, 2019 · 0 comments

Comments

@BenMusch
Copy link
Member

BenMusch commented Oct 22, 2019

Two areas from improvement:

  1. Add a section grouping, which can either be added like:
high_opp_penalty:
  ...
  section: Pairing algorithm

Or like:

- section: Pairing algorithm
  description: Modify the weights of the pairing algorithm
  settings:
      - high_opp_penalty:
         ...

and then use this to group in the UI to organize things clearly as we add more to the yaml file

  1. Add another type: enum (like boolean)

Based on recent doomthreads constructive discussions it seems like there's strong support to at least have the option to pair judges based on a middle-out style, and some other tweaks like this. Though a boolean may make sense in some instances, an enum is probably a better choice so support the possibility of having more than 1 way to pair judges.

The yaml file could look like:

judge_pairing_strategy:
  type: enum
  options:
    - "Middle out"
    - "Top down"
    - "Randomized within bracket"

On the UI, this would lead to a select box where the display is the listed option and the value is the index in the list

Additionally, we could add support for a function on the TabSetting module like:

def coerced_value(self):
  # parse the yaml config based on self.name
  if yaml_config["type"] == "boolean":
    return self.value == 1
  elif yaml_config["type"] == "enum":
    return yaml_config["options"][self.value]
  else:
    return self.value
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant