Open alphalambda opened 7 years ago
@parvmor Can you take a look at this? I haven't tried the sharing feature yet, but I think if a folder is shared, then everything in that folder ought to be shared automatically.
The current folder sharing is static. I can make the sharing to be dynamic. But If we keep the sharing to be one-sided meaning that the user who shared the folder would only be able to make changes then it poses the following constraint: The user who accesses the folder will not be able to modify and save it. To overcome this I can introduce an update option that would bring the folder upto date as it is in the master folder but at the same time all local changes would get lost.
@parvmor That sounds like a reasonable start. To be sure we understand correctly:
This leaves open the possibility of writable shared folders in the future. They would come after you have collaborative editing features in place.
I think it should not be possible to save code into a read-only shared folder, but it should be possible to edit code from a read-only folder and run the modified version. The "Save As..." option could then be used to choose a local folder to save a modified copy. This behavior is similar to how "Save" works for files. You can edit them and run the modified version, but it is not updated until you click "Save". I think this is a great feature. Being able to run modified code that you later choose whether to discard or save is very helpful.
Yes, we should not make the folder to be in read-only mode but allow a scope for modifications and testing while preventing the saving feature. This way user can play around and also save the copy separately if required.
Okay. If "Save As" allows you to save the file elsewhere, that's perfect.
Currently, though, there is no way to use "Save As" to save to a different folder. If that continues to be impossible, then I think it's important not to allow people to start editing the file, only to discover later that they cannot save it. Instead, they should be left to copy the project elsewhere, and make their edits on the copied version.
I tested the new folder sharing option with some users, and they found it very confusing and cumbersome to use. Here is an example: User 1 saves File 1.1.1 under Folder 1.1 and then shares Folder 1.1. Then, User 2 adds the shared folder as Folder 2.1, and sees File 1.1.1 under Folder 2.1 Now, User 1 adds File 1.1.2 to Folder 1.1, but that file is never shared with User 2. If User 1 and User 2 want to share File 1.1.2, then User 1 needs to share again Folder 1.1, and User 2 needs to save it again, so that User 2 ends up with 2 folders: the original Folder 2.1 with 1 file, and the new Folder 2.2 with 2 files. Every time either User 1 or User 2 make a change to a shared folder, both need to go through this process again. This behavior is unexpected, because files do not work like that. If a user changes a file and saves it, the user does not end up with two files in the list. On the contrary, the file name is adjusted to point to the modified file. Similarly, the folder entry should be updated to point to the latest modified folder. If this is not possible to do in both directions, at least it should be done in one direction, so that there is a "master" folder that is shared to other users, and everyone can see changes to the "master" folder immediately without having to re-share it.