RFC: Role name change

Scott Seago sseago at redhat.com
Tue Feb 21 15:11:44 UTC 2012


On 02/20/2012 05:50 PM, Jason Guiditta wrote:
> Hello list,
> I was just looking at seeds.rb to see about extracting our role names
> into i18n files so we can leverage the configuration I added there
> last week, and noticed what seems to me to be a minor inconsistency.
> Disregarding role with the name 'Administrator', it seems most of our
> roles are named:
> "{object name} user"
> or
> "{object name} owner"
>
> There are 2 exceptions I see to this - the Instance and Deployment
> objects.  These both use 'Controller' instead of 'User'.
>
> I would like to propose making those consistent as part of
> the patch I am working on, unless there is some reason they are like
> this of which I am unaware.  Thoughts?
>
> -j
>
I think that, historically, we gave those different names because they 
contained a different combination of privileges from the 'User' roles. 
However, now that some roles contain privileges from multiple levels 
(Pool admin has pool and instance privileges, etc) the distinction is no 
longer so relevant.

To clarify, your intent here is not to substitute the i18n strings when 
processing seeds.rb, but to actually put the i18-ready strings in the 
database, is this correct? i.e. instead of "Pool Administrator" the 
string in the db would have 't("obj_types.pool") 
t("roles.administrator")' -- or something like that? That way we'll be 
properly translating roles for the user's locale. Also, although the 
current set of role names fits nicely with "<foo> User" and "<foo> 
Administrator", it's not safe to assume this will always be the case. 
However, if what you're doing is just putting a string to be globalized 
into the db, that would work for more specific one-off roles that didn't 
fit this scheme so well.

On the other hand, having a separate string for each role name might be 
better in that it avoids the problem of word order being different 
depending on locale --i.e. "obj-type role-type" may be the correct order 
in english but perhaps not in all languages. You'd avoid this problem if 
you used t("roles.names.provider_administrator"), etc.

Scott




More information about the aeolus-devel mailing list