Closed metacosm closed 5 years ago
Makes sense to have both options, as people would most likely otherwise be confused and type odo component <action> ...
Since in the tool, we're looking for simplicity, and we think that everything a user would alias come by default, we should keep both options. Potentially, giving a hint of the shortest notation on the long notation (configurable as an option), so we educate users at the time we prevent them from getting mad for this intentional lack of consistency.
I would prefer to do either one or the other. Doing both just adds confusion :-|
In the original design, the odo component <name>
was meant to be used for switching current components.
Then we wanted to add aliases for component commands under odo component
. That caused problems as odo component <name>
couldn't work anymore (component name conflicting with component commands).
I think that having clear consistent structure for every command like odo <entity> <action> <options>
without any exceptions will benefit UX more than short commands.
I would like us to have both - the full consistent and stable approach, plus shortcuts.
Whenever shortcut is used odo
would print an info message that the user used a shortcut to
That would imho strike some kind of compromise to provide both ease of use and consistency. odo
would be educating people that shortcuts may disappear when use-cases show that the shortcut should be used for something more important.
odo
could also consider "short forms" of the subjects, e.g. odo component
might be as well accessible through odo c
- similar to what oc
and kubectl
tools do.
@kadel
Should we go ahead with this implementation?
I see that we've opened up https://github.com/redhat-developer/odo/issues/998 which is another issue related to these semantics.
Should we go ahead with this implementation?
with what? @cdrage can you please write a summary of what you propose?
With the above comments, I'd like to implement this via this approach:
odo create
commands to odo component create
as well as other commands (odo list
) in order to have it consistent with other commands for odo
.odo create
will link to odo component create
odo component create
rather than odo create
, but the option for aliasing is there.@jorgemoralespou what do you think? Does it make sense to have short aliases but refer to full command everywhere in our documentation?
Yes, I think I commented that I agree somewhere else. https://github.com/redhat-developer/odo/issues/953#issuecomment-437037247
Yes, I think I commented that I agree somewhere else. #953 (comment)
ah, yes. Sorry, I forgot about that one :-(
Right now,
component
actions are triggered directly (odo create
,odo watch
) and there is some value to this model as components could be considered the core entity thatodo
deals with. However, since other commands follow theodo <entity> <action> <options>
language, this makes for an inconsistent UI and reduces learnability/discoverability when compared to a UI where components actions would also follow theodo component create
grammar. Wouldn't it make sense to unify the grammar for all commands?