Add option to set primary group if no current primary group

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.

image

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.

1 Like

Are you absolutely sure about this? What is the repro?

I am going off of @trash’s explanation… I’ve shied away from using this feature because of the potential problems it could cause.

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).

5 Likes

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. :thinking:

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.”

1 Like

I suppose that building a hierarchy for groups requires a lot of work and I do not know if the team would support such a change even if it was made by an external developer.

But… who knows? :grinning:

Despite the attribute value bloat :unamused: 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.

The only simple change I support here is stopping the override, once a primary group is set, stop messing with it

5 Likes

That’s all I was really asking for… Just another check box that lets you set as primary group without overriding any current primary groups.

I don’t want to add a checkbox, there is no point in yet another option.

Just amend the default behavior to stop with all the overriding.

4 Likes

Sounds like a good call… fewer ways to blow your leg off.