BACKGROUND

Determining an organizational structure or arrangement of content items on a remote storage device (e.g., a cloud-based content storage system) is an important part of storing the content items on the remote storage device. Specifically, organizing content items on a remote storage device can allow a user to more easily navigate the content items and find specific content items when accessing the remote storage device. For instance, users often have preferences for how they want content items to be stored for quickly finding the items at a later time, such as by storing related content items together in specifically marked folders, etc. Because content storage systems can store a large number of content items, effectively organizing the content items is important not only for ease of navigation for the user via a graphical user interface, but also for computing efficiency, storage efficiency, and performance of the content storage system.

For example, existing content storage systems typically allow users to select content items stored on a client computing device (e.g., desktop computer or mobile device) to upload to the content storage system. However, these existing content storage systems are unable to provide a graphical user interface to allow a user to navigate and modify the organization of content items within the content storage system until after the content items are uploaded to the content storage system. Indeed, existing content storage systems are unable to provide a user a graphical user interface to organize content items prior to completion of the upload because until the upload is complete, existing content storage systems do not have access to content item details of unreceived content items (e.g., file names, file sizes, etc.) nor have the existing systems defined a storage location within the content storage system until after receiving a content item.

The lack of content item details and the unknown storage location of content items that are yet to be uploaded result in an inefficient multistep graphical user interface and user experience. For instance, in many existing content storage systems, a user has to select files to upload, wait for the files to be uploaded to the content management system, access the files after completion of the upload to the content management system, and then finally organize the files after the content items have been uploaded. Moreover, due to often large uploads of content items (e.g., a large amount of data and/or a large number of content items), this multistep process can take a long time (e.g., ranging from several hours to even days depending on Internet connection speeds and amount of data to upload). Accordingly, existing content storage systems typically have an inefficient multistep graphical user interface and user navigation experience for uploading content items to the content storage system.

The inefficient multistep uploading process discussed above leads to other computing and storage inefficiencies for existing content storage systems. In particular, because existing systems first have to receive content items before allowing a user to organize the files, the result is an increased load on remote storage severs within the content storage system when a user organizes their content. For instance, with existing systems, the content storage system has to initially define the storage location for each received content item. Then, upon a user interacting with uploaded content items to organize the content items, the content storage system redefines storage locations and file hierarchies per user input. Again, because content item uploads can include a large number of content items, a user organizing content items on the content storage system can result in receiving hundreds or more discrete user inputs that results in the content management system executing thousands of instances of instructions based on the user inputs by changing storage locations, file names, creating folders, deleting folders, creating hierarchies, and other user initiated actions to organize content items on the content storage system. Thus, existing storage systems suffer from increased file management loads that result in computational and storage inefficiencies.

Furthermore, many existing systems utilize inflexible web-based applications for uploading content items to the content storage system. For instance, when an upload includes a large amount of data, often a user must end a web-based upload session prior upload completion of content items to the content storage system. Depending on the nature of a particular system, a disrupted upload session can result in uploading errors and thereby reducing the accuracy of an upload. To avoid uploading errors, some existing systems simply restart the entire upload process the next time the user logs in and thereby creating additional inefficiencies by deleting and reuploading previously uploaded items.

Accordingly, a number of disadvantages are present with regard to existing systems for storing content items.

SUMMARY

One or more embodiments disclosed herein provide benefits and/or solve one or more of the foregoing and other problems in the art with systems, methods, and non-transitory computer readable storage media that provide customization of content organizational structure prior to uploading the content to remote storage. For instance, the disclosed system can determine that a user desires to upload a set of content items to remote storage. The disclosed system can generate a visual representation of an organizational structure in which the content items will be stored at the remote storage before the user client device begins transmitting the content items. Additionally, the disclosed system can allow the user to interact with the organizational structure to customize the structure prior to uploading the content items (e.g., by creating folders/sub-folders or moving content items from one folder to another). After customizing the organizational structure, the disclosed system can identify a request to begin transmitting the content items to the remote storage and transmit and store the content items according to the customized organizational structure. The disclosed systems are thus able to provide an improved graphical user interface that allows a user, among other things, to indicate an organizational structure for content items prior to uploading the content items to remote storage device(s), which in turn reduces the number of steps and time needed within a graphical user interface to upload and organize content on the remote storage, and increases computational and storage efficiencies by uploading content items in a preconfigured organization structure.

Additionally, in one or more embodiments, the disclosed system increases system flexibility by uploading content items per the customized organizational structure across a plurality of applications for uploading content to remote storage. In particular, the disclosed system can allow a user to define a structural organization of content items and begin a process of uploading the content items in a web-based application. If the upload of content items is interrupted, the disclosed system can resume uploading the content items at a later time via a standalone client application. For example, the disclosed system can use the previously defined organizational structure provided via the web-based application to continue to upload content and store the content items uploaded via the standalone application. The disclosed system thus results in an increase in upload flexibility and an increase in upload and storage accuracy of content items.

Additional features and advantages of one or more embodiments of the present disclosure will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of such example embodiments.

