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 <[email protected]> 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 <[email protected]>
> 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 [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
> Andrew Kofink
> [email protected]
> 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 [email protected].
> 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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to