传统文档协作需要先注册账户、加入团队、然后才能编辑——门槛太高。mdocs 的邀请机制只针对「文档」这个最小粒度,且被邀请者不需要预先注册。
邀请记录存储在数据库中,关联了文档 ID、访客 ID 和权限等级。
| 权限 | 说明 |
|---|---|
| 只读(read) | 可查看文档内容,不可编辑 |
| 编辑(edit) | 可编辑文档内容 |
邀请仅由文档所有者管理。所有者可以随时撤销邀请。
一条重要约束:已是某域成员的人,不能再被该域内文档邀请。域成员已经拥有域内文档的读/写权限(取决于档位),invite 是给域外人员的通道。
domain_read(1) / domain_write(2) 档位语义,不需要也不应该被 invite| 域类型 | invite 的作用 |
|---|---|
| public | 对非 owner 补充写权限(public_read(3) 档文档默认仅 owner 可写);public_write(4) 档下用不到 invite |
| restricted | 非域成员通过 invite 获得某篇文档的读/写能力,同时在服务端呈现「经文档邀请」的域入口(不足以在域内任意新建文档;在域内随意创建内容需成为 domain_members 成员) |
| private | 非 owner 能否访问取决于文件档位 + invite 叠加。例如 private(0) 档文档,非 owner 只能通过 invite 进入 |