Granular tagging controls for comments

Feature request: Granular tagging controls for comments

In essence, I’m looking for more granular controls over who you can tag in comments. Right now, a user’s ability to tag other users is dependent on any permissions applied to Noloco’s User table. This makes sense, and its intuitive. For many use-cases, it’s sufficient.

However, I recently came across a scenario where this proved to be insufficient.

  1. In an app, we have multiple companies logging in and managing projects. The key thing here is that each company is a different party or entity type, not just a different company. For example, you might have the main company, a law firm, and a client organization all collaborating on the same project.
  2. Within the project, there are different document records that any combination of those three (or more) parties need to collaborate on.
  3. Within each document, there’s a comments block, and users should only be able to tag users who are (1) part of that particular project and who are (2) allowed to view that document record.
  4. The problem is that there’s no way to configure permissions for Noloco’s User table in a way that would accommodate each particular project AND each particular document within that project–in a dynamic way.
  5. This is because the current controls for who can be tagged in comments exists at the permissions level (which is global), thereby transcending the individual record where the comments are happening.

To further illustrate this issue, here’s the closest you could get to solving for that issue with User table permissions:

  1. Create a “Doc Collaborators” field in the AT Users table that rolls up (from the Documents table) all user IDs who are allowed to collaborate on those documents.
  2. Create the following Noloco permission based off that new field, which will allow users to only tag users who are a part of documents they’re also a part of:
User can access user records where:
1. logged in user > users (Airtable) > doc collaborators > ID (list) contains ID

Again, this just ensures that any user can only access (and therefore tag) any users that are collaborators on a doc with the current user. So that sort of works, but if I go to document A, Noloco doesn’t “know” I’m inside of document A in particular. Instead, according to that permission set above, it allows me to tag anyone who is allowed to collaborate with me in any doc.

So if I’ve collaborated with Bob inside of document B, I’ll also be able to tag him inside of document A. This is not only a problem of uncontextualized permissions, but it also exposes more names than are relevant. Furthermore, if someone tags a user that isn’t supposed to be in that document, it will send them Noloco’s default comments notification email, which will be confusing to the person that receives it (since its not relevant to them).

Solution

  • I guess the ideal solution would be some sort of configuration option in each comments block that allows you to control who can be tagged based on conditions the way conditions appear elsewhere in Noloco (while still respecting and giving precedence to the user table permissions, of course, since those are global).
  • So if that existed, I would solve my issue by applying this logic to the comments block → can tag any user records where user > documents > ID (list) contains document (current page) > ID
2 Likes