⚡️ Ideas
Mark McCoy Mark McCoy Mar 9, 2023

Team Collaboration Across Workspaces - Shared schema and user 'permissions'

Explain the problem as you see it

I have multiple workspaces
For example: Master, personal, work (overall), work (client 1), work (client 2))

I have a problem "aggregating" relevant information in the right places
For example:

  • Master (Mark): projects, tasks, etc. from all workspaces
  • Master (Collaborator): Projects, tasks, etc. from their personal workspace, client 1 workspace
  • Personal: projects, tasks, etc. from personal workspace
  • Work (overall): projects, tasks, etc. from all work workspaces (inc. client 1, client 2, client n)
  • Work (client 1): projects, tasks, etc. from client 1 workspace

Why is this a problem for you?

For security, privacy, and "collaborators not knowing how to develop schema" reasons, I can't share all workspaces with all team members.

My current workaround is to create parent workspaces with "shell" tags (e.g., project (root)), and child workspaces with "extension" tags (e.g., project (client)). That's enabled me to query, in the root workspace, projects across all children. I've further created a grandparent root workspace so that I can query across work and personal workspaces.

The problem is that this workaround requires shell tags, redundant (sometimes blank workspaces), duplicating schema (and manual updates to schema anytime I make a change or add a new workspace). And, if I wanted to create a 'view' for another collaborator I would need to create workspaces and shell tags that only aggregate the workspaces I want them to access.

Suggest a solution

(this definitely seems like a problem that could have MANY solutions. Providing one solution)
A Schema (e.g., Supertags and Fields) that can be shared across workspaces.
Querying permissions such that a query run in a particular workspace can only pull instances from workspaces it 'allows content from'