Comment by carlsverre

Comment by carlsverre a day ago

1 reply

If you're doing volume per user, but also want to do cross-user collab you might want to change the model slightly. Rather than one volume per user, consider one volume per "access unit". For example a document or group could be a volume.

As an example, let's say your building something like Google Sheets on top of Graft. Each document would be an independent Volume. This matches how Sharing works in Google Sheets, as each user added to the Volume could either be granted read or write permissions to the entire sheet.

ccorcos 32 minutes ago

Let's consider something like Notion or Slack. It's sort of document-based but not entirely -- you can mention other users and other channels names. Some users have access to some channels and not others. And in Notion's case, users may have unique access to 1000s of different documents.

It seems like your solution requires essentially sharding your data based on permission which can get pretty complicated for many collaboration-based apps with lots of shared content and granular permission controls.