Uniqueness scoped by organization/location

Currently, names are required to be unique to be valid (for most objects). Does it make sense to change this constraint to validate unique only within a location/organization.

Here are the objects that currently have a many-to-many relationship within locations/organizations:

Users - doesn't make sense to scope by org/loc
Smart Proxies - does this make sense USA/puppet vs Europe/puppet?
Subnets - could there for two "test" subnets in different locations with the same name?
Compute Resources - does this make sense US/QA-EC2 vs Europe/QA-EC2?
Media - does this make sense to scope by US/Fedora Mirror vs Europe/Fedora Mirror
Config Templates - doesn't make sense to scope by org/loc
Domains - doesn't make sense to scope by org/loc
Environments - makes sense to have US/production and Europe/production, but Puppet Environments must be unique
Hostgroups - doesn't make sense to scope by org/loc

One challenge is when a user is viewing 'In Any Context', how to show the name? If an object only belonged to one location, then a title could be shown (i.e. USA/puppet). However, since the objects above have a many-to-many relationship with locations/organization, this is not practical. Thus, how to display objects with the same name that are scoped by multiple locations/organizations.

Any thoughts?

Regards,

Joseph

Would adding a column to the list of resources to show organization(s) and location(s) be enough to distinguish two that are named the same?

Name Organization
test ACME Corporation
test Mega Corporation
··· ----- Original Message ----- > Currently, names are required to be unique to be valid (for most objects). > Does it make sense to change this constraint to validate unique only within > a location/organization. > > Here are the objects that currently have a many-to-many relationship within > locations/organizations: > > Users - doesn't make sense to scope by org/loc > Smart Proxies - does this make sense USA/puppet vs Europe/puppet? > Subnets - could there for two "test" subnets in different locations with the > same name? > Compute Resources - does this make sense US/QA-EC2 vs Europe/QA-EC2? > Media - does this make sense to scope by US/Fedora Mirror vs Europe/Fedora > Mirror > Config Templates - doesn't make sense to scope by org/loc > Domains - doesn't make sense to scope by org/loc > Environments - makes sense to have US/production and Europe/production, but > Puppet Environments must be unique > Hostgroups - doesn't make sense to scope by org/loc > > One challenge is when a user is viewing 'In Any Context', how to show the > name? If an object only belonged to one location, then a title could be > shown (i.e. USA/puppet). However, since the objects above have a > many-to-many relationship with locations/organization, this is not > practical. Thus, how to display objects with the same name that are scoped > by multiple locations/organizations. > > Any thoughts? > > Regards, > > Joseph > > -- > 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+unsubscribe@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. >

> Currently, names are required to be unique to be valid (for most objects). Does it make sense to change this constraint to validate unique only within a location/organization.
>
> Here are the objects that currently have a many-to-many relationship within locations/organizations:
>
> Users - doesn't make sense to scope by org/loc
> Smart Proxies - does this make sense USA/puppet vs Europe/puppet?
> Subnets - could there for two "test" subnets in different locations with the same name?
> Compute Resources - does this make sense US/QA-EC2 vs Europe/QA-EC2?
> Media - does this make sense to scope by US/Fedora Mirror vs Europe/Fedora Mirror
> Config Templates - doesn't make sense to scope by org/loc
> Domains - doesn't make sense to scope by org/loc
> Environments - makes sense to have US/production and Europe/production, but Puppet Environments must be unique
> Hostgroups - doesn't make sense to scope by org/loc
>

My two cents…instead of thinking of whether a user might have a use
case to have any of the items above, why not just make
every model taxable? Maybe with the exception of User itself.

Coming from a consulting background, and going to many many
organizations that are using Red Hat and F/OSS products, they have
as many ideas about how to control access, categorize things, and name
things as there are grains of sand on a beach. I can assure you some
user somewhere will want to keep templates in a specific org.

And why not host groups? In reality it’s a kind of system definition…
and QA and Production could certainly want a host group for the “Widgets
Inc Webservers.”

I don’t know that it takes anything away from a user who doesn’t care
about the taxonomies of a specific model to make that model taxable.
The reverse isn’t true.

> One challenge is when a user is viewing 'In Any Context', how to show the name? If an object only belonged to one location, then a title could be shown (i.e. USA/puppet). However, since the objects above have a many-to-many relationship with locations/organization, this is not practical. Thus, how to display objects with the same name that are scoped by multiple locations/organizations.

Organization and Location columns in the view/arrays in the API ?

··· On 09 Mar 2014, at 16:49, Joseph Magen wrote:

Any thoughts?

Regards,

Joseph


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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

I believe Compute Resources and Media shouldn't be scoped by taxonomies.
The reason being simply that as a Foreman user in Europe, I might want to
use US mirrors for whatever reason (I used to use Fedora's US mirrors
because most European mirrors were slow).

For Compute Resources, it's a little trickier I'd say:
Would a Host associated with a Compute Resource in the 'US' Location show
up when my current Location is 'Europe'?
Would an User need to be included in the 'US' Location to create hosts
there because the Compute Resource is scoped by Location = 'US'? If so, the
user needs to be extra careful with the permissions, since you might want
the user to have X,Y,Z privileges in Location 'Europe' but more restricted
privileges in Location 'US'. The new Filters in Foreman 1.5 would solve
this issue fairly elegantly, but still it requires the user to understand
very well how Foreman works.

I think this is about finding whether the trade-off between more
customization options vs UX coherence is worth it.

··· On Sun, Mar 9, 2014 at 8:39 PM, Tom McKay wrote:

----- Original Message -----

Currently, names are required to be unique to be valid (for most
objects).
Does it make sense to change this constraint to validate unique only
within
a location/organization.

Here are the objects that currently have a many-to-many relationship
within
locations/organizations:

Users - doesn’t make sense to scope by org/loc
Smart Proxies - does this make sense USA/puppet vs Europe/puppet?
Subnets - could there for two “test” subnets in different locations with
the
same name?
Compute Resources - does this make sense US/QA-EC2 vs Europe/QA-EC2?
Media - does this make sense to scope by US/Fedora Mirror vs
Europe/Fedora
Mirror
Config Templates - doesn’t make sense to scope by org/loc
Domains - doesn’t make sense to scope by org/loc
Environments - makes sense to have US/production and Europe/production,
but
Puppet Environments must be unique
Hostgroups - doesn’t make sense to scope by org/loc

One challenge is when a user is viewing ‘In Any Context’, how to show the
name? If an object only belonged to one location, then a title could be
shown (i.e. USA/puppet). However, since the objects above have a
many-to-many relationship with locations/organization, this is not
practical. Thus, how to display objects with the same name that are
scoped
by multiple locations/organizations.

Any thoughts?

Regards,

Joseph


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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Would adding a column to the list of resources to show organization(s) and
location(s) be enough to distinguish two that are named the same?

Name Organization
test ACME Corporation
test Mega Corporation


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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Daniel Lobato

@elobatoss
blog.daniellobato.me
daniellobato.me

GPG: http://keys.gnupg.net/pks/lookup?op=get&search=0x7A92D6DD38D6DE30