Please note: This is entirely a technical discussion. The actual behavior of groups, per requirements, will not be affected by this
Good news (I think!)! Excluding migrations and tests, the only references to joinableBy in the codebase are:
- The model itself
- The
group
service in itscreate*
methods h.db
’s__init__
where the world group is created (once) with ajoinableBy
ofNone
h.views.activity
in one or two spots that I think Sheetal is removing as I type this
Other group-related services and views don’t give a hoot about joinableBy
and I’d argue, neither should we. Removing it would simplify the “group type” matrix and relieve confusion about what “joining” actually means. There’s nothing in our data model that actually prevents a membership relationship from being created, and the fact that the creator is immediately added as a member to a new restricted group “violates” the notion of joinableBy = None
anyway, in some ways.