I'm working on the design for a Multi-Tenant SaaS app. I've run up into an interesting usability challenge. Here's what the user is trying to accomplish:
- Within the administrative area, an admin will connect the app to a database provider (e.g., Oracle, SQL Server, etc.)
- Once connected, we'll get back a list of all the table names in the database - this could be as small as a few tables, or as high as 75-100 tables
- The admin then must select which tables to grant access to
The most rudimentary interface would be a giant list of checkboxes, however at 75-100 tables, that becomes a huge list to work through. I'm looking for ideas on how to best make this interface usable. It doesn't have to be a giant list of checkboxes, it's more about managing the True/False permissions to have access to a table.
A few of the constraints:
- This is a multi-tenant SaaS app, so there are no groupings that I can predict - it will always be different each time it's run
- The basic concept that an admin can manage this must continue to exist (i.e., I can't not have this level of permission management exist)
- By default most database tables will be selected, so I'd like to stay away from something where each table has to be manually selected, or at least have a fallback like "select all" and then uncheck the unwanted few
Any thoughts on good design patterns for managing this?