Generate Seafile Internal Link

Hi, we’ve recently moved to seafile and everything is great, except linking to shared folders.

So User1 has a folder structure like so
Seafile > Library > Donor Data > Reports > Reports to share > (Client1),(Client2)… > (report subfolder name) > (report file)
and wants to share “Reports to share” with User2 which is fine and works, both User1 and User1 need to edit any and all of those files which again works fine.

However, User1 would see the directory structure as above but User2 would just see Seafile > Reports to share > (subfolders…), so when User1 wants to share a specific client folder or report subfolder or even single report, they click “generate internal link” which generates a link like
https://cloud.example.org/#common/lib/c7a12d8b-96e2-4e22-104a-a22fb3b83411/Donor%20Data/Reports/Reports%20to%20share/Client%201/Campaign%20Progress
If User2 tries that link, it comes up “Permission denied” which I understand, User2 doesn’t have access to that library, User2 needs to access that shared folder through this url “https://cloud.example.org/#common/lib/3e4be22c-6234-4f9d-672b-59027f9478d4/Client%201/Campaign%20Progress

So my question is, how can User1 share a folder with User2 and then link them to a specific file or folder (we don’t want to use download links as we don’t want to be copying the files and User2 can’t have access to the entire library), it’s going to be very difficult to have to manually direct users to dig down through several subfolders to find a file, we need perhaps some sort of way to create a bookmark for a file or folder that if given to any other user, as long as they have access to that file or folder in some way, no matter how they’ve gotten that access, whether they own the library, it’s shared to a group they’re in, shared to them specifically or public…

Does anyone have some sort of suggestion? We’ve moved from dropbox, and some people in the organization are very reluctant about it and this is causing a fair few issues…

If there’s some sort of API to generate this, that’d work too, I can work with that.

Cheers!

This is not possible what I know.

Theory:
I think this works right. Cause it’s security problem. It’s bad idea that user know there’s another inner file structure.

Solution:
Create users group(add user2 to this group) and share folder with this group like with user2. In client you have section Shared with groups. Go there find folder Reports to share (now it seems like library) and then just get internal link like before. It should generate right path(DIDN’T TEST IT!!!).

I hope this will help you solve this problem

There is a trick that should work:

User1 also needs to Sync the subfolder “Reports to Share” with his Seafile Client.
Therefore open the “Cloud File Browser”, right-click on the subfolder and click “Sync this Folder”).
Then he can use the “Cloud File Browser” of the synchronized subfolder to generate the internal link which then should also work for User2.

Hi guys, thanks for this
I do get that sharing the file or folder like that would be a security risk, and I agree that User2 shouldn’t know this structure.
The idea of syncing the subfolder is great, at least for now, it allows me to give a solution!

if I generate a share link as above by syncing the folder, User2 can access the files.
I still feel like there’s a better way to do this however, as User1 can access the same share link in this case.

I think I’m going to try and find a way so when you share a folder with someone, in the web client, you go to share admin > folders, you see all the folders you’ve shared, and rather the link to them being reference to your own library, it references the link they’d (User2) have access too (or put both links for the sake of ease) then at least User1 could use this to click through and then just copy the url for the folder

Thanks guys!

Did you try my way with share for groups? Sharing is not needed.

I don’t think I fully got what you meant until just now, that actually seems like a fairly good option, rather than “share with user” create a group that both you and the other person are members of and share with that group…

I most people at the charity are not computer literate so I need a simple solution and thinking about it the share with groups option is the most simple although will still have people going “this seems pointless”. They’re all used to sharing the same dropbox login (not a security risk or anything :smirk: ) so could literally share any file.

Thanks!

Practically it same as schlarbm’s solution without sync. Only difference is in section in seafile client.

Thanks, no you’re spot on, to be honest, in the organisation we should be more open, and teams should be sharing files in the team groups rather than between each other, but in the event it does need to happen, your solution is simple and is something that only needs to be done once per pair of people, the sync folder way works too but would have to be done every time a new folder is shared to a user… I think I’ll just have to put in a policy of “don’t share between individuals, create groups”

again, cheers.