When an FD application is launched it will contact the FDDM server to see if there are any special config settings it should apply. This is used by most FD applications such as FD, Connector, RemoteHid. Here is the priority order in which Configs are interpreted by FD:
- LocalSettings.config (located in programData)
- Command line args
- ServerSettings.config (this is what is downloaded from FDDM)
- LocalSettings.config.DEBUG
If you wanted to force a client to ignore a specific setting from the server you could do one of 2 things:
- Rename the element name in LocalSettings.config from 'config' to 'locked'. Locked local configs are not overridable by the command line or the server.
- Place the config into the LocalSettings.config.DEBUG file. This file always triumphs over all.
To verify which configs are applied and from what source they came from you can look in the log file for that application. At the top there will be a complete list of all effective configuration keys, their values, their source, and in the case of the Server config it will show what config group it came from.
- When the Updater asks FDDM for the latest config settings it will pass a list of group names and use a '$' symbol as the separator
- Case insensitive
- Must be unique
- ALL clients ask for the 'mmodal' group.
- At least 1 is required. No upper limit
- In most cases, any configs specified on FDDM will override values specified in the Client's localSettings.config file
- Given that it's very easy to lose track of _why_ a custom config was created, it is heavily advised to add a comment explaining the reason - and when it can be removed
- Comments can be left on both the entire config group and each individual config key
- Optional (barely)
- This is the config's ID that FD uses as a lookup
- Case insensitive
- The value read and interpreted by FD
- Potentially case sensitive
- For possible values for a specific config key, reference the LocalSettings.config file or contact an FD developer
- Defaults to 0.
- Given that multiple groups are requested at once, it is possible that two groups have the same key but with different values. Whichever group has the highest Priority wins.
- In the event of a tie, the first group in the list supplied by the Client will win.
- MModal is always supplied first