It would be nice to have an extra check box in the group options to set a group as a users’ primary group if and only if they do not already have one.
Currently, users are primarily grouped in whatever group they join last with the automatic setting applied. While this is great for groups like staff or site leaders, there are are lesser groups that it would be handy to set as a user’s primary group if and only if they don’t already have one set. This would also make it much easier to distribute flair without potential unintended consequences.
I can confirm that this function works as I wrote in the link added by @jcoates .
The problem here is that administrators tend to use the primary group function incorrectly because it is not possible to customize the secondary groups (except for titles and trust levels).
In theory each site should have only one primary group, not two or ten (as @codinghorror said in another topic some time ago).
But, because people want to display a flair for each group or customize each group in other ways, they modify them as primary (that is basically a wrong way).
And when the same person belongs to several primary groups, the problem begins because an administrator must decide which primary group should be shown manually changing it.
When you have to decide which group to show for a few users it takes a few minutes, but if users are tens and dozens …
What happen if you have 99 users who are not in a primary group and 1 user who already belongs to another primary group?
I would be in favor of a user profile setting so that each user can decide which primary group to show themselves (if they belong to more than one primary group).
All 100 would still be in the group in question, but 99 would have that group as their primary group, one would still have their old primary group as their primary group.
I’m not saying they should alter the current check box’s functionality. Instead, they should add a second option to set it the group as a primary group only if the user does not currently have one.
This will in effect create a helpful hierarchy of groups (1) Top level that always become primary when joined, (2) ones that will become primary if the user has no other primary group, and (3) low level groups that never become primary groups automatically.
Best practice imo would be to have a small number of important (1) top level groups, set virtually any group with flair as a (2) semiautomatic group, and use (3) non-automatic groups mostly for admin selecting/permission groups.
Nothing is special about a primary group other than it being set as that user’s primary group. As far as I am aware, any group to which a user belongs can be set as a primary group.
Having a place on the profile to select your primary group would be really nice. We would probably want to have an option on the admin side “allow users to select this group as their primary group.”
Despite the attribute value bloat wouldn’t having group names made available for CSS be enough?
I can’t really see the benefit outweighing the cost of implementing hierarchy, settings, and the code that would be involved for doing anything more complicated than that for the purpose of adding flair.