getodk / central

ODK Central is a server that is easy to use, very fast, and stuffed with features that make data collection easier. Contribute and make the world a better place! ✨🗄✨
https://docs.getodk.org/central-intro/
Apache License 2.0
126 stars 155 forks source link

Customizable user roles #737

Open matthew-white opened 1 month ago

matthew-white commented 1 month ago

We know that there is interest in user roles beyond the ones we currently offer. We're tracking specific ideas for additional roles at #736. One option is that we simply add new fixed user roles, but another idea is that we add the ability for users to create their own roles. For each role, users would specify a name and a list of verbs that the role should confer.

Implied verbs

One piece of complexity in this area is that currently, some verbs imply other verbs:

We would want to make these verb implications clear in Frontend. One approach that we've discussed to make verb implications more explicit is getodk/central-backend#1205. That PR adds a database table for verbs, as well as a table for verb implications. If such a table existed, then one idea is that Backend could return a list of verb implications to Frontend.