Integration of cloud storage services

Registered by Arturo Torres Sánchez

There are many cloud storage services available (Ubuntu One, Dropbox, Google Drive), but since they are relatively new, each one of them implement the service independently.

The files being synced by these services are special, because the can be shared online, edited by multiple people, and so on. However, file browsers are not aware of this.
There are plugins for Nautilus and Marlin that do some integration (e.g. syncing badges, context menu options for sharing), but they are incomplete.

This blueprint proposes that files from these services should be treated differently.
First of all, any active service should appear in the sidebar in a separate section (“Online”), with a bar showing quota available.
After clicking the entry, the folder is displayed with all the folders and files. These should have the following attributes:
–Name
–Type
–Size (showing whether it sums up to the quota available)
–Owner (not the owner in the device, but the owner in the service; this should be a name or email)
–Last modified (with information about who last modified it)
Properties dialog should show a section (“Sharing”) with options to set the file as private/public, and a list of people (name/email) with access to the file, allowing to add/remove people.
Finally, syncing badges should only show if syncing is in progress or if there is a problem.

I made a mockup to show how it would look like (it currently does not show the quota available).
http://fav.me/d5bdkky

Blueprint information

Status:
Not started
Approver:
Mario Guerriero
Priority:
Low
Drafter:
None
Direction:
Approved
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Not started
Milestone target:
milestone icon juno-beta1

Whiteboard

To clarify, would clicking the service icons in the sidebar open a 'virtual folder' showing all files and directories synced with the given service, or would it display the default synchronisation directory only? I draw this distinction, as several such cloud services allow the end-user to sync files and directories that lay outside of their default service folders (e.g. Ubuntu One and Dropbox if memory serves).

It'd also be nice if any context menu entries for sharing were grouped somehow (needs some thought does that). If each individual cloud service has its own entry/menu-tree in the context menu, it could get very messy, very quickly. Perhaps, however, that is a fringe consideration; how many people use more than 1 or 2 such cloud services?

Also, how's about displaying a cloud services quote on it's default directory (e.g. ~/dropbox) icon a'la planks progress bar overlay? This is obviously in addition to whatever means of displaying the quote in the sidebar is chosen.
— Anubeon

I would expect the sidebar to open the default sync folder; otherwise, showing all synced files could create confusion as where the file is actually stored in the system. For files outside the default folder, an emblem could be displayed.

For the context menu, I was thinking that only a menu item “Sharing...” be displayed, and then all available options for that be displayed in a popover window.
— Arturo Torres

Yes, that's a fair assessment regarding the virtual/default folder dichotomy.

I'd prefer to have sharing functions in a sub-menu (of the context menu) as is the case with the status quo Ubuntu One plug-in. Redirecting to a popover window seems a little 'disruptive' if you get my meaning. Certainly needs a bit of thought though, regardless of whether sub-menus or popovers are the order of the day.

Nice mock-up by the way. Tighter integration of cloud services, both with respect to file-managers and an (as yet hypothetical) universal cloud/sync indicator, is a long time coming in my view. :-)
— Anubeon

Looks like we want to be using the new Cloud Provider stuff: https://csorianognome.wordpress.com/2015/07/07/cloud-providers/ --DanRabbit

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.