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
Note
in 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
Note
in 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 thewriteframe
service directly, and its links are obfuscated but otherwise accessible from the world. - When creating a
Note
in the Public folder, we should always default to a public note, i.e. one usingwriteframe
directly, 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
Note
from 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).