A key challenge with the way KoBo currently works is that each data collector needs to create their own account in order to get permission to submit data. For self-hosted KoBo, users can be created and managed in Django, but this is confusing for admins who then need to manage users on two completely different interfaces. This is a critical problem for large deployments of dozens or hundreds of data collectors, making it extremely time-consuming to deploy KoBo.
I suggest we add, in the KoBo app, an easy way to:
create users: a user (let’s call that user “super admin”) should be able to create other user accounts directly within KoBo. This wouldn’t require an email address for each account created: it would only require a username, a password, and what permissions are granted.
They could be an option to add an email address and require the new user to confirm that email address. For those accounts that don’t have an email address, password reset is don’t by the super admin.
import large numbers of users: by uploading a spreadsheet with username, password, email address (if applicable), and permissions, the super admin could create dozens or hundreds of users.
export the list of users, including usernames and passwords: in order to facilitate the onboarding of new users and communicate their credentials (for example during training workshops).
edit users: the super admin should be able to reset users’ passwords, manually changing it or generating a new one (thanks to an integrated password generator), or change their permissions
delete users: after a deployment is over or when some groups of users are done working, the super admin could delete users
I’ll be happy to help with the UI/UX part of this development. I can see how a table would easily achieve all the tasks above.