Advanced user management: easily create and manage data collectors and admins

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:

  1. 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.

  2. 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.

  3. 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).

  4. 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

  5. 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.

I agree. I need teachers to use Kobo in a rural setting. Why not provide an easy way for the superuser to add new users - instead of forcing them to open their own accounts. As it is these new users will need access to the internet and face a steep learning curve. The current situation defeats the purpose.

that would be great for whole organizations using Kobo!

Noting that “servers” can only accommodate up to 100 users - is there an easy way to delete or upload (predefined) groups of users ?

@raph Do you have time to create some wireframes for how this would look in reality? Especially steps 1, 4, and 5 would be really useful to visualize. Seeing the different fields you think would be necessary and the suggested user flow would help clarify some of the assumptions behind this suggestion.

1 Like

@tinok I would be happy to work on wireframes, though for the next few weeks I don’t have much bandwidth. I will try to get on it soon. In the meantime, I can describe how I would implement it:

  • A simple table, similar to the one currently used to share a form (see below)
  • Just three buttons to “Create user”, “Import bulk users”, and “Export users”
  • Clicking on “Create user” would open a dialog with three required fields: username, password, and permissions; and optional fields like first name, last name, email address (these optional fields will be for the user to keep track of who is who)
  • Saving the new user information would create a user account that is immediately ready to collect data (if they have the permission for it)
  • When clicking on a user in the table, a dialog would open with all the information about the user (the password would be obfuscated, with a button to make it visible). And in the dialog, there would be an “edit” and a “delete” button
  • Clicking the “edit” button would make the fields editable, and would allow for changing the password.

I hope this helps. I’d love to hear your thoughts on this

1 Like

This would be super helpful for the super admins and save a lot of their time. Is this doable? What would be the ETA on this?

Thanks in advance.

1 Like