-
Notifications
You must be signed in to change notification settings - Fork 268
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
Config file loading options #1012
Conversation
Signed-off-by: Louise Poubel <louise@openrobotics.org>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few grammar nits as well as a more general comment about loading order resolution.
`--gui-config` is provided explicitly, that is used, otherwise, the default | ||
config file is used. | ||
* `ignore`: Ignore the config file completely and load only plugins from SDF. | ||
* `prepend`: Load plugins from both the config file and the SDF file. The config |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only thing that I think could be troublesome here is if you had duplicate plugins. The scenario that I'm thinking of would be having "specific" configuration in the SDF file and "generic" configuration in the gui.config
file.
In that case, I think that you would want to prefer the "specific" configuration from the SDF file.
The implementation should take into account this scenario as well as the possibility of having duplicated plugins from the two configurations available.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah that's complicated to handle, because there are valid use cases for duplicate plugins, on both the GUI and the server. You may want multiple ImageDisplay
s or multiple WindEffects
, for example.
I don't have a good idea on how to handle that. Maybe each plugin can be responsible for shortcutting multiple instantiation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added a merge
option to cover this use case, with an example. Let me know what you think 4ab37d6. Coming back to this after so many months, now I think this will be my favorite option.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reduced the number of options to 2 in d7a7677 and will work on the implementation now
tutorials/gui_config.md
Outdated
The default behaviour can be overridden using the `--gui-config-options` | ||
command line argument, which offers options: | ||
|
||
* `force`: Force the use of the GUI config file, ignoring the SDF file. If a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about making force
override --gui-config
as well? Specifying both --gui-config-options force
and --gui-config
is a bit odd, and probably will never be done. However, it seems easier and cleaner to remember that force
is a complete force
without a caveat.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure I understand the proposal. Are you saying that --gui-config <path_to_file>
should imply force
? I believe that's already in the current proposal. If --gui-config
is provided and --gui-config-option
is empty, it works like a force
.
See these lines on the table below:
--gui-config | SDF `<gui>` | --gui-config-option | Result
---------------- | ------------ | ------------------------ | ------
provided | no plugins | empty / force / prepend | Load plugins from `--gui-config`
provided | has plugins | empty / force | Load plugins from `--gui-config`
I'll remove this from the |
Signed-off-by: Louise Poubel <louise@openrobotics.org>
I won't have time to go back to this soon |
🎉 New feature
Closes #796
Summary
Trying some documentation-driven-development ✍️
I'd like some feedback on the intended behavior before working on the implementation. See also the conversation on #796.
I'm not planning on changing the default behavior for Fortress because I couldn't come up with a migration plan that would have minimal impact on users, but I'm open to ideas.
Whatever is mentioned here for the GUI config will also apply to the server config.
Test it
TODO
Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge
🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸