Sometimes when I’m working with someone and I want to share stuff my go-to option is using google docs, since it doesn’t require them downloading any software or creating a new account (they most likely already have a google account). However when I need something that’s more than plain web access, I wish I could be using seafile instead of anything else, usually this is when my colleagues or clients are willing to install the seafile client, but making an account for them and going trough the setup process is kinda tedious just for a one time thing.
This feature would allow you to share a directory or library in the following manner:
- From seahub, choose a library or directory, click the share button and choose the “Sync link” option.
- Choose the kind of access: read, write. Set a quota for write access. Set a time limit for the share, or after which time the share goes read-only.
- A link is generated, share it.
- When ephemeral user clicks link, it prompts to install the seafile client or it opens the client if already installed.
- Prompts ephemeral user to sign in with SSO if required, in which case the link is now tied to that SSO account. Otherwise it invalidates link.
Additionally, if seaf-cli
supports this feature, it would make it possible to selectively sync libraries or directories from any user without having to go trough the login process on a CLI which can be tedious.
Advantages over a dedicated user:
- Users don’t need to be admins to create these ephemeral users, and have full control over them.
- Ephemeral users would not get access to “shared with all” libraries or any details about other users, or the server. The only concerns are the shared library/directory.
- Simpler to manage than a dedicated user/smaller footprint.
- User could get notifications whenever the ephemeral user makes a set of changes.
Sync clients would need to support this ephemeral user in parallel with regular users to allow sharing to computers where the user already has the sync client installed and tied to some account, likely on a different server. Not to mention changes that would need to be made on the server.
Extra features:
- Ephemeral users could be tied to groups and not just users.
- Link renewal when SSO is not tied to sync link.
I’ve purposely been inconsistent with the feature name as I wasn’t able to come up with something descriptive enough. What do you think about this? Would you like for something like this to be added to seafile? Why (not)?