Thanks @danveg for the proposal! It’s definitely a topic that has come up before.
The “newcomer” thing shows people with a green bit under their little profile icon:
The discussion here so far is to get users to be able to do the introductory pickups before they get accepted to the group if I understand? Whereas these previous discussions were based on the idea they are inside the group, but with a special status that says they are not quite ready to do pickups.
I think this is quite a big difference to consider whether they are in the group or not. Not just from the code perspective, but for the person and the group.
My personal leaning (although maybe I am biased by the code perspective), would be to accept them to the group, but to then work in making the newcomer/trust/editor things more suitable for this trial pickup use case.
There is one idea (from the PR linked above) where after you do a pickup with someone you are prompted to give them trust, and I could imagine building on that by adding trial pickups for newcomers, and in the feedback the non-newcomers can decide whether to give them trust to get them beyond their newcomer state.
So, given we already have newcomer status in karrot, maybe it could be to just to be able to configure each activity (or series) to be:
- anyone can join (current situation)
- only non-newcomers can join
- non-newcomers can join normally, newcomers can join special trial slots
The code perspective is that we make a lot of assumptions that access to data is controlled by which group you are in, not by which groups you have an open application to. It already causes us some complication to allow the applying user to see the right user information. If we expanded on what applying users can do (as described in the initial proposal), then I would actually consider revisiting our earlier decision, and making even applying user in the group, but with a special “applying” role…
Sorry if this is hard to understand, I realise it could be a bit confusing to read!
In our weekly call last week we thought it would be a good idea to talk through this in our weekly call on 2020-11-29T11:00:00Z so if @danveg is available then, we can do that, otherwise maybe we schedule a special call at another time?