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

Status:
Not started
Approver:
Lucio Torre
Priority:
High
Drafter:
Ubuntu One hackers
Direction:
Needs approval
Assignee:
Lucio Torre
Definition:
Approved
Series goal:
Accepted for lucid
Implementation:
Not started
Milestone target:
milestone icon ubuntu-10.04-beta-1

Whiteboard

===
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

===

NOTES from UDS
 * 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