- Issue created by @zanvidmar
Introduce a flexible, user-respecting group affiliation system with manual
control and automated suggestions.
This update implements a hybrid affiliation model where users remain in full
control of their group affiliations, while the system offers automated
suggestions that never override user preferences. Users can manually add,
remove, or reorder affiliations, and once an affiliation is marked as
user-owned, it cannot be reverted to system-added.
Affiliations are categorized into three states: user-owned (explicitly managed
by the user), system-added (suggested automatically based on membership or
configuration), and user-removed (groups the user has chosen to exclude from
automatic affiliation). These distinctions are stored in dedicated profile
fields: field_group_affiliation, affiliation_owned_count, and
user_removed_affiliations.
Transition rules between states are designed to respect user intent.
System-added affiliations become user-owned when interacted with, but once
user-owned, they cannot revert to system-added. If a user removes a
system-suggested group, it becomes user-removed and won't be re-added unless
the user explicitly restores it.
Affiliation order is meaningful: user-owned affiliations appear first in the
profile, followed by system-added affiliations ordered by platform
configuration. The system ensures that user modifications are always preserved.
Automatic affiliation is disabled by default but can be enabled and configured
through the social_profile.automatic_group_affiliations.{profile_type} key.
This allows developers to define which groups are suggested automatically and
how they are prioritized in the absence of user input.
N/A
N/A
N/A
N/A
N/A
Needs review
12.4
Profiles