Ubuntu One Symlinks and User-Designated Folders

Registered by John Lenton

Currently, Ubuntu One doesn't handle symlinks nor user-designated folders (UDFs). We propose to start synchronizing symlinks as symlinks (not following them), and handling UDFs independently (via the client app).

Blueprint information

Not started
Lucio Torre
Ubuntu One hackers
Needs approval
Lucio Torre
Series goal:
Accepted for lucid
Not started
Milestone target:
milestone icon ubuntu-10.04-beta-1


Work items for lucid-alpha-3:
[verterok] DBus API documentation, autogenerate it: DONE
[verterok] Define new DBus API, discuss with Desktop, make them agree, test cases, code it: DONE
[nataliabidart] Use new messages from AQ (update EQ): DONE
[verterok] Handle new AQ events in DBus interface for the new messages: DONE
[nataliabidart] Support watches over UDFs: implement logic in EQ to know when the user breaks the UDF path to unsubscribe it. No test cases in Ubunet: DONE
[nataliabidart] Support watches over UDFs: change LR to add watches to UDFs parent. No test cases in Ubunet: DONE
[nataliabidart] Make AQ filter events from volumes that client is not subscribed to: DONE
[verterok] Implement the volume handling in VolumeManager: DONE
[nataliabidart] Add a new "volume" attribute to the StorageObject table and to the Shares table: DONE
[facundo] Create UDFs table: DONE
[facundo] Modify model.py and controller.py to use the new volume attribute (and change make_root, and all the stuff for which shareid previously was "" or a *share* id.): DONE
[nataliabidart] Add new messages to the protocol definition and protocol client: DONE
[facundo] Modify server.py and content.py to implement the new protocol messages, with a new capability: DONE
[verterok] refactor Share and UDF into Volume in VolumeManager: DONE
[verterok] add config option to en/disable UDFs "autosubscribe" : DONE
[verterok] Add DBus API to change UDFs "autosubscribe" config: DONE
[nataliabidart] Integration tests: DONE


 * Synchronize everything under ~/Ubuntu One and don't follow symlinks.
 * when syncing symlinks, dont do anything special about them
 * Allow users to define folders under their home directory that are
sync'd to Ubuntu One
   * The current Ubuntu One folder will be configured by default
   * These folders will be synchronized to the same location relative to
their home folder
   * How will these folders appear in the web UI?
   * Shared Folders will still appear inside ~/Ubuntu One/Shared With Me/
 * In the U1 Control Panel, display all Ubuntu One folders with the
ability to disable syncing a folder for this machine
 * when a machine is authorized, show the control panel or allow the
user to go there before starting to download files
 * much more value in UDFs than symlinks


Work Items