Add to Ubuntu One File Sharing the possibility of synchronizing folders that are not inside ~/Ubuntu One. This user defined folders can be downloaded or not from every machine. This functionality is related to symlink support, so we define both together.

Release Note

Added support for symlinks. Added support for syncing folders not under ~/Ubuntu One


This is the current #1 user request for Ubuntu One File Sharing. We cant ask the user to put all his files under ~/Ubuntu One, so we must take ~/Ubuntu One to them.

User stories

Use Cases:

user wants to sync symlinks:

  • if the user creates a symlink (or shortcut) inside a folder that is being shared, the symlink will be uploaded as a symlink and downloaded like that on the other ends. It will have the same target (eg, "../someotherdir") even if that means that it will be broken on the other machines The contents of the the target (file or directory) will NOT be synced The symlink will have an emblem to make it clear that we wont sync past it

user wants to sync an user-defined-folder (UDF)

  • when the user wants to sync a folder that is not inside ~/Ubuntu One he will:
  • - right click on the folder -> "sync with ubuntu one..." - Select a name for the folder (defaults to the folder name) - from the list of machines that he has authenticated, he can select for each one:

    • if he wants to download the files to that machine (default: yes)
    • where he wants to put this folder ( default ~/Ubuntu One/Folder Name)
    - the folder will start uploading and appear in all the machines that he selected - if the folder is going inside ~/Ubuntu One and there is already a file with that name, the UDF will be renamed on that machine only. - if at a later time a file with the name of the UDF appears, the UDF will be renamed.

user wants to share an user-defined-folder (UDF) Syncing with ubuntu one is very similar to sharing with yourself. So we need to decide how to create the interaction for when the user want to share a folder that is not yet synced with ubuntuone. (maybe just add a space to add people to share with in the 'sync with u1' dialog)

user wants to move the location of a user-defined-folder (UDF) If the user wants to change the location to where a UDF syncs, he can right click on the folder -> "u1 settings..." and change the location to another folder. How can he select the folder to be synced into ~/Ubuntu One again? Just selecting ~/Ubuntu One/ as the path? too much magic?

user wants to stop downloading contents from a UDF to this machine right click on the folder -> "u1 settings...", dont download here

user wants to start downloading contents from a UDF to this machine here the user can: a) go to the global list of UDFs b) we could have a folder inside U1 (or some other location the user may have chosen) with an emblem showing that this is an UDF that is turned off, and do right click to enable it.

new machine added to u1 When a new machine is added, a list of all the UDF should be presented so he can select which ones he wants (all by default) and configure special locations for some

user wants to see and configure all his UDF The user may want to know what parts of his system are under control of u1 and understand the disk usage involved in this. Also, being able to enable/disable UDF from a central location may make it easier for him to manage them. Applications->Internet->Ubuntu One should have a tab that lists all UDF and their preferences

Integration tests

UDF Integration Tests

Unresolved issues

UDF == Share? UDF behave very much like shares. So maybe there is a way we can present them as the same or a similar way to make things easier (you could define locations for shares. you could choose not to download a share in one machine)

move/configure regular folders? If you have a UDF inside U1 you do right-click to move it. But then, if you try the same in a regular folder inside ~/Ubuntu One you wont find these settings. should we not put UDF close to normal folders? should we give normal folders all the capabilities of UDFs? This would be expensive to implement. Would it be possible to manage that mess?

Folder Names inside ~/Ubuntu One and conflicts if we keep UDFs inside ~/Ubuntu One, we have to name them so they dont conflict with regular files or folders. Even renaming them as they appear. Will this confuse the user?

symlinks and shares there might be security considerations or opportunities for social engineering when i share a folder to you that contains a link to /etc/passwd or stuff like that.

BoF agenda and discussion

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.


Specs/LucidUbuntuOneSymlinksAndUDFs (last edited 2010-02-08 18:09:02 by joshuahoover)