Currently, when a form has an Entity List attached, all Entities are always sent to all users that request the Entity List. For some projects, this is a significant barrier to adoption of Entities either because of privacy concerns or because their Entity Lists are so large that it’s not practical to always download them fully. We’ve seen projects do things like split their forms (register_north, register_south) and Entity Lists (participants_north, participants_south) to get around this limitation.
We have been exploring how to approach this need for some months and have identified a number of related issues:
- App Users are often defined as roles (e.g., vaccinator) rather than individuals because the absence of bulk tools in Central makes it hard to manage App Users as individuals.
- Confusion between roles: App Users and Web Users with the Data Collector role feel like they should be very similar but they’re currently represented very differently.
- It’s easy to get lost while managing users: You can configure users and access from multiple pages
This led us to explore ways to fundamentally rework user management in Central. We made some prototypes and got some great feedback from user testing – shoutout to everyone that gave feedback so far!
For now, we have decided to come back to the underlying problem of limiting Entity access for App Users and Data Collectors and have some ideas for making improvements in that area in a phased way without taking on all user management issues at once.
We’re exploring the concept in a phased approach:
Phase 1: Single ownership
In this phase, there are two options for Entity access:
- Data Collectors and App Users will either be able to access all entities in a project
- Or only the entities they have created. This should benefit projects with many entities where users only need access to their own.
In this phase, we would enable changing Entity ownership through the API only. Changing Entity ownership is important to support cases where Entities were created through CSV upload and need to be given App User/Data Collector owners or where Entities created by one individual need to be reassigned to another individual.
Phase 2: Single ownership with the ability to change owners
If single ownership is enabled, Project Managers will be able to change entity owners. This should benefit projects with many entities where users only need access to a subset.
Phase 3: Group ownership
Project Managers can create groups and assign users to them, where users can be part of multiple groups. This should benefit projects where users need access to entities associated with roles or locations.
We’d love to hear from you on these approaches:
- How might phase 1 and 2 work within your projects?
- What potential challenges or concerns do you have?
- What questions are top of mind for limiting Entity access?