Privacy/Reviews/ThunderbirdBigFiles: Difference between revisions

Line 31: Line 31:


'''The main objective of this feature/product is:
'''The main objective of this feature/product is:
* store large file attachments in online storage
* cooperating with service providers on both a technical and business side
* can be pulblic services or private (ie. local ftp)
* Files are uploaded when you attach them, and normal attachments can be converted to online attachments from the compose window attachment pane.
* "attachment" UI
* receiving a mail would have a link with some annotations created by Thunderbird.


Allowing users to upload large file attachments to some storage service, be it a third party like Dropbox or YouSendIt, or a private storage service (a WebDAV server behind a corporate firewall, for example).
Links to the uploaded files are then inserted into the body of the email, making it easy for the recipient to download them.


'''Design Documents''':  
'''Design Documents''':  
Line 47: Line 44:
== Components  ==
== Components  ==


Each big file provider is an XPCOM component. The mail compose code uses the nsIMsgCloudFileProvider.idl interface to talk to the big file provider. The big file providers then use their own API to talk to their servers. This communication is specific to each provider. The general flow is authentication of the user, followed by uploading of file contents, and retrieval of a link to the shared file. This link is then included in the e-mail sent to the mail recipients.
Each supported storage service has a corresponding XPCOM component implementing the nsIMsgCloudFileProvider interface. These components are responsible for handling authorization, file upload, file deletion, and user profile retrieval from the service (where the user profile tells us things like how much space is left for the user to fill with their files).
 
A cloudFileAccounts component manages the creation and deletion of accounts, and instantiates instances of the appropriate nsIMsgCloudFileProviders when necessary.
 
The mail compose window calls out to the cloudFileAccounts component to determine what storage services are supported, and when requested by the user, uses cloudFileAccounts to create the appropriate nsIMsgCloudFileProvider instance, and then uploads the selected file(s) through it.
 
There is a pane in the Thunderbird preferences dialog that allows a user to add or delete storage accounts.  We currently only allow one account per account type, but this limitation might be overcome in future versions.
 


There is also UI to provision accounts, and UI to control account settings. This UI is specific to each provider.


=== YouSendIt Provider ===
=== YouSendIt Provider ===
Confirmed users, Bureaucrats and Sysops emeriti
1,006

edits