diff --git a/Sharing-Roadmap.md b/Sharing-Roadmap.md new file mode 100644 index 0000000..ca66b7f --- /dev/null +++ b/Sharing-Roadmap.md @@ -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. \ No newline at end of file