Abstract:
A method for saving a file stored on a third-party system to a cloud storage system includes receiving, at a cloud storage server of the cloud storage system, a save request from the third party system. The save request is generated in response to a user selecting, via a user interface presented on a client computer, the file from a plurality of files stored on the third-party system, the file to be saved to the cloud storage server. The save request comprises a file identifier of the file and information identifying the user. The information identifying the user allows access to a user account of the user on the cloud storage system without use of the client computer as intermediary service, and the third-party system stores the file associated with the file identifier. The method further includes authenticating the save request, based at least in part on the information identifying the user, creating a copy of the file at the cloud storage server, and associating the copy of the file with the user.
Abstract:
A method for saving a file stored on a third-party system directly to a cloud storage system includes providing a third-party system with an embeddable user interface for saving a plurality of files stored on the third-party system to a server hosting the cloud storage system. The method further includes receiving at the server a save request from a user on a client computer using the embeddable user interface to select the first file to be stored on the server, where the save request comprises information identifying a first file in the plurality of files. The method further includes authenticating the save request, downloading the first file from the third-party system directly to the server using the information identifying the first file, and saving the first file on the server.
Abstract:
Systems and methods are disclosed for multi-tiered registration of file formats for applications. A processor receives a registration request from a developer of an application to register an application with a list of primary formats and a list of secondary formats. The processor associates the list of primary formats and the list of secondary formats with the application, and the processor receives an open request from a user to open a file having a file format. The application is determined to be associated with a primary format corresponding to the file format, and the application is selected to open the file.
Abstract:
A method for saving a file stored on a third-party system directly to a cloud storage system includes providing a third-party system with an embeddable user interface for saving a plurality of files stored on the third-party system to a server hosting the cloud storage system. The method further includes receiving at the server a save request from a user on a client computer using the embeddable user interface to select the first file to be stored on the server, where the save request comprises information identifying a first file in the plurality of files. The method further includes authenticating the save request, downloading the first file from the third-party system directly to the server using the information identifying the first file, and saving the first file on the server.
Abstract:
Methods and systems provide embeddable user interface widgets to third-party applications so that the widgets can be securely embedded in, and securely used from within, the third-party applications. An embeddable widget may be authorized to access a first-party cloud storage system from a third-party application based on the cloud storage system authenticating a request received from the widget. The authentication may be based on an application identifier, an origin identifier, and/or one or more document identifiers received from the third-party application through the embedded widget. The disclosed methods and systems may significantly mitigate security concerns caused by embedding software in third-party sites, such as clickjacking.
Abstract:
Systems and methods are disclosed herein for exporting a file to an application. A processor receives a request from a user for access to a file stored on a web-based storage system. The request includes a designation of an application to open the file, and the file is associated with a native format. The processor determines that the application is not configured to import the file in the native format and determines whether the file can be converted to an importable format that can be imported by the application. The processor converts the file from the native format to the importable format and exports the converted file in the importable format to the application, which opens the converted file.
Abstract:
A cloud storage system provides remote access to a file associated with the cloud storage system. In response to a request to access the file, the cloud storage system identifies applications available to the request generator and capable of accessing the file, which may include both online web-based applications and applications installed on a device with which the user is accessing the file. The cloud storage system determines an application type of an identified application, and provides file access to the identified application based on the application type.
Abstract:
Systems and methods are disclosed herein for performing operational transforms on a document. A first operation is received at a first server that includes a first object of an electronic document. In response to receiving the first operation, the first server prohibits a second server from having write access to the first object. The first server applies the first operation to the first object to obtain a transformed first object. In response to obtaining the transformed first object, the first server allows the second server to have write access to the first object. These steps are repeated for a second object associated with a second portion of the electronic document that is different from the first portion of the electronic document.
Abstract:
Systems and methods are described to provide consistent cross-reference between electronic documents from distributed storage servers. A first document server may receive a query relating to a first document referencing a second document. The first document is stored on the first document server, and the second document is stored on a second document server. The first document server may obtain data relating to a copy of the second document associated with a revision number. The first document server may then send, to the second document server, an update request including the revision number, and then receive from the second document server, data relating to operations that have been committed to the second document after a time associated with the revision number. The first document server may apply the operations that have been committed to the second document to update the copy of the second document, and respond to the query based on a previously stored copy of the first document and the updated copy of the second document.
Abstract:
A cloud storage system provides remote access to a file associated with the cloud storage system. In response to a request to access the file, the cloud storage system identifies applications available to the request generator and capable of accessing the file, which may include both online web-based applications and applications installed on a device with which the user is accessing the file. The cloud storage system determines an application type of an identified application, and provides file access to the identified application based on the application type.