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.
