Access model for Notes
@anoe would like to bolt on an access model on top of plain Notes. In a nutshell, the place where we create a Note node determines its permission model.
Requirements
- When creating a
Notein the Private folder, we should always default as a private note, i.e. we should place it behind the proxy (if available) so that published links will be visibile only to Garg users; - When creating a
Notein the Shared folder, users should be prompted with the choice of creating a "Public" vs a "Private" note, where the former doesn't use the proxy, the latter does. The actual difference is, once again, in the sharing: sharing a public note uses thewriteframeservice directly, and its links are obfuscated but otherwise accessible from the world. - When creating a
Notein the Public folder, we should always default to a public note, i.e. one usingwriteframedirectly, without the proxy.
Technical details
- Probably in the frontend, notes should be represented differently (different colour? different icon?) whether they are public or private. This means that the backend/model should also store the information (at the node/note level) about the access model;
- Probably if the user drags a
Notefrom one folder to the other, the move should be forbidden if this clashed with its access model (we cannot move a private note into public etc).