Notes on sharing

Nathan Gray 2020-04-03 11:28:24 -06:00
parent adf741fc87
commit 002bd7530d

34
Sharing-Roadmap.md Normal file

@ -0,0 +1,34 @@
## Backend stuff
Our initial backend was a little rough, partially due to how the VFS handles users and mounts. The plan is:
### 1. Allow Vfs/StreamManager to be mounted with a different user context
Rather than using the global current user, we'll allow specifying a user ID on the mount URL which will be used for all access checks for that mount point.
### 2. Global / User / Session mounts
Add a more persistent way to store per-account mounts that would supersede or add to the global fstab.
These would be stored in common or sqlfs preferences.
### 3. Anonymous
Normal users start with a default / safe fstab. Anonymous users would start with an empty one, and only things they have access to would be mounted into the root.
### 4. Sharing
Shares would get modified so that rather than mangling the fstab, we just start from / and mount the shared directory / directories in. If more than one share is visited, we'll add them in to the session fstab. File permissions will be handled by the Vfs instead of the UI.
## Better UI stuff
### UI Dialog
We need a better UI dialog that allows to choose options better than the mess of context menu actions.
The dialog should
* ask who the share is with
* allow an optional message
* rw access
Everything else should be hidden under 'Advanced...' or similar.
Advanced options can contain
* Extended permissions?
* hidden uploads
* re-share
* expiry & password (via etemplate hook?)
* merge
### Other stuff
* When shared with an egroupware user, shares should be mounted into /home/<user>/Shares/
* When a share is mounted into the Vfs, it should be mounted to the original file/folder name. User can change the mount name, but this does not change the original, just the mount.
* If a share is re-shared, it should be passing on the original with all its restrictions & security, still under the control of the original sharing user.