Skip to content

Sharing Concept Direct Sharing

Raphael Matile edited this page Mar 18, 2016 · 4 revisions

Note: This is part one (of three) of creating a concept for file identifiers. Part two can be found here, part three here.

Direct sharing, i.e. sharing files and directories on the path they are, requires a lot of work to be consistent over all clients and sharers. See the following directory structures on Client1 resp. Client2 which belong to different users:


Client 1
========

|- dir11
|  |
|  |- innerDir11
|  |
|  |- innerDir12
|     |
|     |- file.txt
|     |- sharedFile.txt (should be shared with Client2)



Client 2
=======

|- dir21

When trying to share the file sharedFile.txt with Client2, the whole directory tree up to the file has to be created. Having large, nested directories, such an approach will quickly become messy. Another issue here is the moving of files. What if multiple files on different levels in the tree are shared with Client2 and then moved on Client2 to a non-existent directory (i.e. not shared directory) on Client1? The whole creation of the target directories must be performed and merge procedures applied, if any element on the path to the directory already exists on Client1.

Therefore, such a solution is not considered.