# Implement Configuration Options

File | Action
--- | ---
`src/config/config_val.h` | Add enum member to `ConfigVal` before `MAX`, values after `MAX` are for attributes and auxiliary options.
`src/config/config_definition.cc` | Define logic for loading in vector `complexOptions`. There are several ConfigSetup sub types that support automatic parsing, e.g. Numbers, Strings, Booleams, Paths, Arrays and Dictionaries.
Add support for sub attributes in web ui in map `parentOptions`.
Avoid automatic loading by adding to map `dependencyMap`.
`src/config/config_manager.cc` | Add special treatment and verifications if necessary.
`src/config/config_generator.cc` | Add here if you want it to be part of the generated default config or example config file. In this case do not forget to updated the fixtures under `test/config/fixtures`.
`test/config/fixtures/*.xml` | Configuration files and snippets for tests. Checked against xsd. Add example values to `full-example-for-xsd.xml`.
`web/assets/gerbera-config-*.json` | Add entries for display and editing in web ui.
`doc/config*.rst` | Supply some useful documentation.
`config/config2.xsd` | Adjust xsd for config file validation.