New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Role based trust + activities #2361
Comments
This issue is marked as stale because it has not had any activity for 90 days. It doesn't mean it's not important, so please remove the stale label if you like it, or add a comment saying what it means to you :) However, if you just leave it like this, I'll close it in 7 days to help keep your issues tidy! Thanks! |
This issue is marked as stale because it has not had any activity for 90 days. It doesn't mean it's not important, so please remove the stale label if you like it, or add a comment saying what it means to you :) However, if you just leave it like this, I'll close it in 7 days to help keep your issues tidy! Thanks! |
This issue is marked as stale because it has not had any activity for 180 days. If it's still important for you add a comment saying what it means to you, remove the stale label, and/or add the "important" label :) However, if you just leave it like this, I'll close it in 30 days to help keep your issues relevant! Thanks! |
This issue is marked as stale because it has not had any activity for 180 days. If it's still important for you add a comment saying what it means to you, remove the stale label, and/or add the "important" label :) However, if you just leave it like this, I'll close it in 30 days to help keep your issues relevant! Thanks! |
(This issue is to focus on the code implementation of the discussion over here --> https://community.foodsaving.world/t/applicant-trial-pickup-proposal/575/30)
Background
Currently users go from: not a member -> apply to join -> newcomer member of group -> get enough trust -> editor member of group.
One need that has come up regularly is to have trial activities, when people are new to the group, they should be able to join some activities along with more experience members, so the group can get to know them better, and show them how things work. Later, if they are approved they will be able to participate in other activities too.
Currently we only have one explicit role in use (editor) and one implicit role (newcomer = not editor), and they don't currently have any impact on joining activities.
Concept
To meet these needs we can introduce two new concepts:
We also would introduce a new role approved (and in the future perhaps customized roles per group), and possibly hide these features behind a group setting if they might confuse groups that don't need the feature (but ideally it should be simple enough to understand).
One complication with 2. is that to be able to trust users for role A, you might need to have role B (concretely for our initial case, only editors should be able to trust for approved role, but anyone can trust for editor role - if this is confusing, think "trusting for editor" is kind of like elections, and once an editor, can do things like approving people...).
Using these features the group can create three different scenarios for activities:
Design and implementation
I actually did some initial work on the backend to implement activities with a role requirement (karrot-dev/karrot-backend#1105) but the work stalled because we lacked a good UX concept for the "trust for specific role" part. That bit is really crucial as it's
(On the other hand it has the potential to make it easier to understand as it's more explicit what the trust is actually for...).
I did this drawing to try and make it clearer how the "trust for role" could function (but not really thinking about UI/UX more deeply):
This is the existing trust UI:
I think there might be two areas to work on here:
... and then there is the work to make the activities with role requirement display correctly:
We might want to create more issues for the separate parts of this, sorry it's a bit long!
The text was updated successfully, but these errors were encountered: