Re: [foreman-dev] Organization titles in CLI

2017-04-12 Thread Marek Hulán
On úterý 11. dubna 2017 14:30:50 CEST Tomas Strachota wrote:
> Thanks, i get it now. It's also viable solution.
> One complication is that we would need to find a way how to deprecate
> current usage of --parent in update commands and replace it with
> --new-parent. But it's probably more consistent with how katello works

Sounds reasonable to me

--
Marek

> 
> On Tue, Apr 11, 2017 at 1:51 PM, Andrew Kofink  wrote:
> > Correct. If there are 2 orgs with the same name under different parents,
> > then not specifying `--parent` would result in an error such as "More than
> > one record found".
> > 
> > On Tue, Apr 11, 2017 at 7:08 AM, Tomas Strachota 
> > 
> > wrote:
> >> I'm not sure I understand. It is currently possible to update parents
> >> of organizations. Did you mean to use the parent parameter as a
> >> compound identifier together with names?
> >> 
> >> i.e. for changing a name and a parent you would use:
> >> $ hammer organization update --name Brno --parent EMEA --new-name Krno
> >> --new-parent ...
> >> 
> >> and for info:
> >> $ hammer organization info --name Brno --parent EMEA
> >> 
> >> Did I understand it correctly?
> >> 
> >> On Mon, Apr 10, 2017 at 6:12 PM, Andrew Kofink  
wrote:
> >> > Tomas,
> >> > 
> >> > Would it be easier to print the parent with list/info commands and
> >> > allow
> >> > updating that attribute (i.e. --parent/--parent-id)? We already have a
> >> > handler in the ID resolver when multiple records are returned when only
> >> > one
> >> > is expected, though the error message does not tell the user how to
> >> > further
> >> > filter the results.
> >> > 
> >> > - Andrew
> >> > 
> >> > On Mon, Apr 10, 2017 at 11:09 AM, Tomas Strachota 
> >> > 
> >> > wrote:
> >> >> I recently found out hammer uses only short names for identifying
> >> >> organizations. Names aren't globally unique, which makes it impossible
> >> >> to modify or delete an org when there are two of the same name but
> >> >> nested under a different parent org. See [1] for details.
> >> >> 
> >> >> I opened a preliminary PR [2] that adds option --organization-title to
> >> >> all commands that consume taxonomies and a column "Title" to output of
> >> >> the list command. This is simple solution, consistent with how it
> >> >> works in hostgroups, but I don't think it's the best from the
> >> >> usability point of view. Both options --name and --title as well as
> >> >> table column labels feel redundant (columns contain the same data if
> >> >> orgs aren't nested).
> >> >> 
> >> >> An alternative approach is to completely replace names with labels in
> >> >> hammer internally. We would have to change id resolver and let the
> >> >> list commands print titles (in a column labeled "Name"). That's how
> >> >> it's displayed in UI.
> >> >> 
> >> >> Pros:
> >> >>   - users wouldn't notice the change, it should be seamless in most
> >> >> 
> >> >> cases
> >> >> 
> >> >>   - no need to add extra options
> >> >>   - consistent with the UI, where column labeled "Name" contains
> >> >> 
> >> >> titles in taxonomy tables
> >> >> 
> >> >> Cons:
> >> >>   - name isn't the same as title and it might not feel natural to
> >> >> 
> >> >> update
> >> >> 
> >> >> as:
> >> >> hammer location update --name 'emea/brno' --new-name 'krno' which
> >> >> 
> >> >> would then be displayed as 'emea/krno'
> >> >> 
> >> >> The con I mentioned could be fixed by checking if a user passed a name
> >> >> containing '/' and using only last part of title in such cases. That
> >> >> would make even --new-name 'emea/krno' work.
> >> >> 
> >> >> Theoretically it could be used also for changing organizations parent.
> >> >> --name 'emea/brno' --new-name 'europe/krno' would change parent to an
> >> >> organization with title 'europe' and rename to 'krno'. But that's
> >> >> maybe too much.
> >> >> 
> >> >> How do you find the alternative approach? Do you see any other options
> >> >> how the commands could work? Any idea is welcome.
> >> >> I'd like to change hostgroup commands to use the same style and make
> >> >> it consistent across the whole cli when we find a good solution. Are
> >> >> there any commands in plugins (looking mainly at hammer-cli-katello)
> >> >> that use resources with nested names?
> >> >> 
> >> >> T.
> >> >> 
> >> >> [1] http://projects.theforeman.org/issues/19157/
> >> >> [2] https://github.com/theforeman/hammer-cli-foreman/pull/299
> >> >> 
> >> >> --
> >> >> You received this message because you are subscribed to the Google
> >> >> Groups
> >> >> "foreman-dev" group.
> >> >> To unsubscribe from this group and stop receiving emails from it, send
> >> >> an
> >> >> email to foreman-dev+unsubscr...@googlegroups.com.
> >> >> For more options, visit https://groups.google.com/d/optout.
> >> > 
> >> > --
> >> > Andrew Kofink
> >> > akof...@redhat.com
> >> > IRC: akofink
> >> > Associate Software Engineer
> >> > Red Hat Satellite
> >> > 
> >> > --
> >> > You received this message because you are subscribed to the Google
> 

Re: [foreman-dev] Organization titles in CLI

2017-04-11 Thread Tomas Strachota
Thanks, i get it now. It's also viable solution.
One complication is that we would need to find a way how to deprecate
current usage of --parent in update commands and replace it with
--new-parent. But it's probably more consistent with how katello works


On Tue, Apr 11, 2017 at 1:51 PM, Andrew Kofink  wrote:
> Correct. If there are 2 orgs with the same name under different parents,
> then not specifying `--parent` would result in an error such as "More than
> one record found".
>
> On Tue, Apr 11, 2017 at 7:08 AM, Tomas Strachota 
> wrote:
>>
>> I'm not sure I understand. It is currently possible to update parents
>> of organizations. Did you mean to use the parent parameter as a
>> compound identifier together with names?
>>
>> i.e. for changing a name and a parent you would use:
>> $ hammer organization update --name Brno --parent EMEA --new-name Krno
>> --new-parent ...
>>
>> and for info:
>> $ hammer organization info --name Brno --parent EMEA
>>
>> Did I understand it correctly?
>>
>>
>> On Mon, Apr 10, 2017 at 6:12 PM, Andrew Kofink  wrote:
>> > Tomas,
>> >
>> > Would it be easier to print the parent with list/info commands and allow
>> > updating that attribute (i.e. --parent/--parent-id)? We already have a
>> > handler in the ID resolver when multiple records are returned when only
>> > one
>> > is expected, though the error message does not tell the user how to
>> > further
>> > filter the results.
>> >
>> > - Andrew
>> >
>> > On Mon, Apr 10, 2017 at 11:09 AM, Tomas Strachota 
>> > wrote:
>> >>
>> >> I recently found out hammer uses only short names for identifying
>> >> organizations. Names aren't globally unique, which makes it impossible
>> >> to modify or delete an org when there are two of the same name but
>> >> nested under a different parent org. See [1] for details.
>> >>
>> >> I opened a preliminary PR [2] that adds option --organization-title to
>> >> all commands that consume taxonomies and a column "Title" to output of
>> >> the list command. This is simple solution, consistent with how it
>> >> works in hostgroups, but I don't think it's the best from the
>> >> usability point of view. Both options --name and --title as well as
>> >> table column labels feel redundant (columns contain the same data if
>> >> orgs aren't nested).
>> >>
>> >> An alternative approach is to completely replace names with labels in
>> >> hammer internally. We would have to change id resolver and let the
>> >> list commands print titles (in a column labeled "Name"). That's how
>> >> it's displayed in UI.
>> >>
>> >> Pros:
>> >>   - users wouldn't notice the change, it should be seamless in most
>> >> cases
>> >>   - no need to add extra options
>> >>   - consistent with the UI, where column labeled "Name" contains
>> >> titles in taxonomy tables
>> >>
>> >> Cons:
>> >>   - name isn't the same as title and it might not feel natural to
>> >> update
>> >> as:
>> >> hammer location update --name 'emea/brno' --new-name 'krno' which
>> >> would then be displayed as 'emea/krno'
>> >>
>> >> The con I mentioned could be fixed by checking if a user passed a name
>> >> containing '/' and using only last part of title in such cases. That
>> >> would make even --new-name 'emea/krno' work.
>> >>
>> >> Theoretically it could be used also for changing organizations parent.
>> >> --name 'emea/brno' --new-name 'europe/krno' would change parent to an
>> >> organization with title 'europe' and rename to 'krno'. But that's
>> >> maybe too much.
>> >>
>> >> How do you find the alternative approach? Do you see any other options
>> >> how the commands could work? Any idea is welcome.
>> >> I'd like to change hostgroup commands to use the same style and make
>> >> it consistent across the whole cli when we find a good solution. Are
>> >> there any commands in plugins (looking mainly at hammer-cli-katello)
>> >> that use resources with nested names?
>> >>
>> >> T.
>> >>
>> >> [1] http://projects.theforeman.org/issues/19157/
>> >> [2] https://github.com/theforeman/hammer-cli-foreman/pull/299
>> >>
>> >> --
>> >> You received this message because you are subscribed to the Google
>> >> Groups
>> >> "foreman-dev" group.
>> >> To unsubscribe from this group and stop receiving emails from it, send
>> >> an
>> >> email to foreman-dev+unsubscr...@googlegroups.com.
>> >> For more options, visit https://groups.google.com/d/optout.
>> >
>> >
>> >
>> >
>> > --
>> > Andrew Kofink
>> > akof...@redhat.com
>> > IRC: akofink
>> > Associate Software Engineer
>> > Red Hat Satellite
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups
>> > "foreman-dev" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> > an
>> > email to foreman-dev+unsubscr...@googlegroups.com.
>> > For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "foreman-dev" group.
>> To unsubscribe from this group a

Re: [foreman-dev] Organization titles in CLI

2017-04-11 Thread Andrew Kofink
Correct. If there are 2 orgs with the same name under different parents,
then not specifying `--parent` would result in an error such as "More than
one record found".

On Tue, Apr 11, 2017 at 7:08 AM, Tomas Strachota 
wrote:

> I'm not sure I understand. It is currently possible to update parents
> of organizations. Did you mean to use the parent parameter as a
> compound identifier together with names?
>
> i.e. for changing a name and a parent you would use:
> $ hammer organization update --name Brno --parent EMEA --new-name Krno
> --new-parent ...
>
> and for info:
> $ hammer organization info --name Brno --parent EMEA
>
> Did I understand it correctly?
>
>
> On Mon, Apr 10, 2017 at 6:12 PM, Andrew Kofink  wrote:
> > Tomas,
> >
> > Would it be easier to print the parent with list/info commands and allow
> > updating that attribute (i.e. --parent/--parent-id)? We already have a
> > handler in the ID resolver when multiple records are returned when only
> one
> > is expected, though the error message does not tell the user how to
> further
> > filter the results.
> >
> > - Andrew
> >
> > On Mon, Apr 10, 2017 at 11:09 AM, Tomas Strachota 
> > wrote:
> >>
> >> I recently found out hammer uses only short names for identifying
> >> organizations. Names aren't globally unique, which makes it impossible
> >> to modify or delete an org when there are two of the same name but
> >> nested under a different parent org. See [1] for details.
> >>
> >> I opened a preliminary PR [2] that adds option --organization-title to
> >> all commands that consume taxonomies and a column "Title" to output of
> >> the list command. This is simple solution, consistent with how it
> >> works in hostgroups, but I don't think it's the best from the
> >> usability point of view. Both options --name and --title as well as
> >> table column labels feel redundant (columns contain the same data if
> >> orgs aren't nested).
> >>
> >> An alternative approach is to completely replace names with labels in
> >> hammer internally. We would have to change id resolver and let the
> >> list commands print titles (in a column labeled "Name"). That's how
> >> it's displayed in UI.
> >>
> >> Pros:
> >>   - users wouldn't notice the change, it should be seamless in most
> cases
> >>   - no need to add extra options
> >>   - consistent with the UI, where column labeled "Name" contains
> >> titles in taxonomy tables
> >>
> >> Cons:
> >>   - name isn't the same as title and it might not feel natural to update
> >> as:
> >> hammer location update --name 'emea/brno' --new-name 'krno' which
> >> would then be displayed as 'emea/krno'
> >>
> >> The con I mentioned could be fixed by checking if a user passed a name
> >> containing '/' and using only last part of title in such cases. That
> >> would make even --new-name 'emea/krno' work.
> >>
> >> Theoretically it could be used also for changing organizations parent.
> >> --name 'emea/brno' --new-name 'europe/krno' would change parent to an
> >> organization with title 'europe' and rename to 'krno'. But that's
> >> maybe too much.
> >>
> >> How do you find the alternative approach? Do you see any other options
> >> how the commands could work? Any idea is welcome.
> >> I'd like to change hostgroup commands to use the same style and make
> >> it consistent across the whole cli when we find a good solution. Are
> >> there any commands in plugins (looking mainly at hammer-cli-katello)
> >> that use resources with nested names?
> >>
> >> T.
> >>
> >> [1] http://projects.theforeman.org/issues/19157/
> >> [2] https://github.com/theforeman/hammer-cli-foreman/pull/299
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "foreman-dev" group.
> >> To unsubscribe from this group and stop receiving emails from it, send
> an
> >> email to foreman-dev+unsubscr...@googlegroups.com.
> >> For more options, visit https://groups.google.com/d/optout.
> >
> >
> >
> >
> > --
> > Andrew Kofink
> > akof...@redhat.com
> > IRC: akofink
> > Associate Software Engineer
> > Red Hat Satellite
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "foreman-dev" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to foreman-dev+unsubscr...@googlegroups.com.
> > For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups
> "foreman-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to foreman-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Andrew Kofink
akof...@redhat.com
IRC: akofink
Associate Software Engineer
Red Hat Satellite

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...

Re: [foreman-dev] Organization titles in CLI

2017-04-11 Thread Tomas Strachota
I'm not sure I understand. It is currently possible to update parents
of organizations. Did you mean to use the parent parameter as a
compound identifier together with names?

i.e. for changing a name and a parent you would use:
$ hammer organization update --name Brno --parent EMEA --new-name Krno
--new-parent ...

and for info:
$ hammer organization info --name Brno --parent EMEA

Did I understand it correctly?


On Mon, Apr 10, 2017 at 6:12 PM, Andrew Kofink  wrote:
> Tomas,
>
> Would it be easier to print the parent with list/info commands and allow
> updating that attribute (i.e. --parent/--parent-id)? We already have a
> handler in the ID resolver when multiple records are returned when only one
> is expected, though the error message does not tell the user how to further
> filter the results.
>
> - Andrew
>
> On Mon, Apr 10, 2017 at 11:09 AM, Tomas Strachota 
> wrote:
>>
>> I recently found out hammer uses only short names for identifying
>> organizations. Names aren't globally unique, which makes it impossible
>> to modify or delete an org when there are two of the same name but
>> nested under a different parent org. See [1] for details.
>>
>> I opened a preliminary PR [2] that adds option --organization-title to
>> all commands that consume taxonomies and a column "Title" to output of
>> the list command. This is simple solution, consistent with how it
>> works in hostgroups, but I don't think it's the best from the
>> usability point of view. Both options --name and --title as well as
>> table column labels feel redundant (columns contain the same data if
>> orgs aren't nested).
>>
>> An alternative approach is to completely replace names with labels in
>> hammer internally. We would have to change id resolver and let the
>> list commands print titles (in a column labeled "Name"). That's how
>> it's displayed in UI.
>>
>> Pros:
>>   - users wouldn't notice the change, it should be seamless in most cases
>>   - no need to add extra options
>>   - consistent with the UI, where column labeled "Name" contains
>> titles in taxonomy tables
>>
>> Cons:
>>   - name isn't the same as title and it might not feel natural to update
>> as:
>> hammer location update --name 'emea/brno' --new-name 'krno' which
>> would then be displayed as 'emea/krno'
>>
>> The con I mentioned could be fixed by checking if a user passed a name
>> containing '/' and using only last part of title in such cases. That
>> would make even --new-name 'emea/krno' work.
>>
>> Theoretically it could be used also for changing organizations parent.
>> --name 'emea/brno' --new-name 'europe/krno' would change parent to an
>> organization with title 'europe' and rename to 'krno'. But that's
>> maybe too much.
>>
>> How do you find the alternative approach? Do you see any other options
>> how the commands could work? Any idea is welcome.
>> I'd like to change hostgroup commands to use the same style and make
>> it consistent across the whole cli when we find a good solution. Are
>> there any commands in plugins (looking mainly at hammer-cli-katello)
>> that use resources with nested names?
>>
>> T.
>>
>> [1] http://projects.theforeman.org/issues/19157/
>> [2] https://github.com/theforeman/hammer-cli-foreman/pull/299
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "foreman-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to foreman-dev+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
> Andrew Kofink
> akof...@redhat.com
> IRC: akofink
> Associate Software Engineer
> Red Hat Satellite
>
> --
> You received this message because you are subscribed to the Google Groups
> "foreman-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to foreman-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [foreman-dev] Organization titles in CLI

2017-04-10 Thread Andrew Kofink
Tomas,

Would it be easier to print the parent with list/info commands and allow
updating that attribute (i.e. --parent/--parent-id)? We already have a
handler in the ID resolver when multiple records are returned when only one
is expected, though the error message does not tell the user how to further
filter the results.

- Andrew

On Mon, Apr 10, 2017 at 11:09 AM, Tomas Strachota 
wrote:

> I recently found out hammer uses only short names for identifying
> organizations. Names aren't globally unique, which makes it impossible
> to modify or delete an org when there are two of the same name but
> nested under a different parent org. See [1] for details.
>
> I opened a preliminary PR [2] that adds option --organization-title to
> all commands that consume taxonomies and a column "Title" to output of
> the list command. This is simple solution, consistent with how it
> works in hostgroups, but I don't think it's the best from the
> usability point of view. Both options --name and --title as well as
> table column labels feel redundant (columns contain the same data if
> orgs aren't nested).
>
> An alternative approach is to completely replace names with labels in
> hammer internally. We would have to change id resolver and let the
> list commands print titles (in a column labeled "Name"). That's how
> it's displayed in UI.
>
> Pros:
>   - users wouldn't notice the change, it should be seamless in most cases
>   - no need to add extra options
>   - consistent with the UI, where column labeled "Name" contains
> titles in taxonomy tables
>
> Cons:
>   - name isn't the same as title and it might not feel natural to update
> as:
> hammer location update --name 'emea/brno' --new-name 'krno' which
> would then be displayed as 'emea/krno'
>
> The con I mentioned could be fixed by checking if a user passed a name
> containing '/' and using only last part of title in such cases. That
> would make even --new-name 'emea/krno' work.
>
> Theoretically it could be used also for changing organizations parent.
> --name 'emea/brno' --new-name 'europe/krno' would change parent to an
> organization with title 'europe' and rename to 'krno'. But that's
> maybe too much.
>
> How do you find the alternative approach? Do you see any other options
> how the commands could work? Any idea is welcome.
> I'd like to change hostgroup commands to use the same style and make
> it consistent across the whole cli when we find a good solution. Are
> there any commands in plugins (looking mainly at hammer-cli-katello)
> that use resources with nested names?
>
> T.
>
> [1] http://projects.theforeman.org/issues/19157/
> [2] https://github.com/theforeman/hammer-cli-foreman/pull/299
>
> --
> You received this message because you are subscribed to the Google Groups
> "foreman-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to foreman-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Andrew Kofink
akof...@redhat.com
IRC: akofink
Associate Software Engineer
Red Hat Satellite

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[foreman-dev] Organization titles in CLI

2017-04-10 Thread Tomas Strachota
I recently found out hammer uses only short names for identifying
organizations. Names aren't globally unique, which makes it impossible
to modify or delete an org when there are two of the same name but
nested under a different parent org. See [1] for details.

I opened a preliminary PR [2] that adds option --organization-title to
all commands that consume taxonomies and a column "Title" to output of
the list command. This is simple solution, consistent with how it
works in hostgroups, but I don't think it's the best from the
usability point of view. Both options --name and --title as well as
table column labels feel redundant (columns contain the same data if
orgs aren't nested).

An alternative approach is to completely replace names with labels in
hammer internally. We would have to change id resolver and let the
list commands print titles (in a column labeled "Name"). That's how
it's displayed in UI.

Pros:
  - users wouldn't notice the change, it should be seamless in most cases
  - no need to add extra options
  - consistent with the UI, where column labeled "Name" contains
titles in taxonomy tables

Cons:
  - name isn't the same as title and it might not feel natural to update as:
hammer location update --name 'emea/brno' --new-name 'krno' which
would then be displayed as 'emea/krno'

The con I mentioned could be fixed by checking if a user passed a name
containing '/' and using only last part of title in such cases. That
would make even --new-name 'emea/krno' work.

Theoretically it could be used also for changing organizations parent.
--name 'emea/brno' --new-name 'europe/krno' would change parent to an
organization with title 'europe' and rename to 'krno'. But that's
maybe too much.

How do you find the alternative approach? Do you see any other options
how the commands could work? Any idea is welcome.
I'd like to change hostgroup commands to use the same style and make
it consistent across the whole cli when we find a good solution. Are
there any commands in plugins (looking mainly at hammer-cli-katello)
that use resources with nested names?

T.

[1] http://projects.theforeman.org/issues/19157/
[2] https://github.com/theforeman/hammer-cli-foreman/pull/299

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.