Background Uploader Module


Since the beginning of SkyDriveExplorer project (now SDExplorer) we had received a lot of suggestions and questions regarding our product. In particular we've got many complaints on low file uploading speed in OneDrive, inability to resume uploading, and also the suggestion to shut down the computer upon finishing an upload.

We have to clarify, that SDExplorer is a Windows Explorer extension. So, SDExplorer merely extends the functionality of Windows Explorer, while inheriting both its advantages and drawbacks. In particular, it can copy only one file at a time of all files selected for uploading, and if an error occurs, the user confirmation is required to continue uploading.

The above limitations are not critical when you need to process a small amount of files; however they become a bottle-neck if a large portion of data is to be uploaded to OneDrive. Hence, users with a high-speed Internet connection experience slow copying of files, because their available bandwidth isn't utilized in full. Also a long uploading process requires a user to monitor possible error messages while copying. We have analyzed those limitations and accurately considered all suggestions we had received. As the result, we have developed a new uploading module: SDExplorer Background Uploader Module.

This brand new module is available starting from SDExplorer Advanced Edition version 3.5. As the name says, it allows you to simply upload any selected file or folder to OneDrive in the background, plus it automatically repeats uploading attempts if a connection error occurs.

Surely, the default drag & drop uploading method is still supported in SDExplorer, but for large amounts of data to upload we recommend using SDExplorer Background Uploader Module instead.

How to start?

So in order to upload files or folders to OneDrive, open Windows Explorer and select all objects you want to upload to a server. Then bring up the right-click menu (see fig. 1) and select the "Add to the SDExplorer's upload queue" command.

Uploader Context Menu
Fig. 1. Background Uploader context menu

Upon running this command you should see a destination folder selection dialog (fig. 2) for the selected objects.

Destination folder selection Dialog
Fig. 2. Destination folder selection Dialog

The "OneDrive" destination folder corresponds to the root folder of your OneDrive account. Bring up the OneDrive folder selection dialog using the button to the right of the input box, and choose where you want to upload the selected files and folders to (fig. 3).

Browse for Folder Dialog
Fig. 3. Browse for Folder Dialog

After you have successfully selected a folder and closed the dialog, the full path to the selected folder is displayed in the input box. In our case (fig. 4) files will be copied to the "New Folder" folder.

If you select the "Set as default folder and do not show this dialog again" option, Uploader Module remembers the selected folder and will never display any dialogs or windows again. Therefore, a single click in the context menu (fig. 1) will add files to the uploading queue.

Destination folder selection Dialog
Fig. 4. Destination folder Dialog after the selection

If you want to select another target folder in OneDrive, to bring up the dialog again, just hold the SHIFT key while selecting context menu command.

What's next?

Take a look at icons in the Notification Area. You should see the new SDExplorer Background Uploader Module icon (fig. 5).

Uploader Module Icon
Fig. 5. Uploader Module Icon

The left-click on the icon opens the main window of the module, while the right-click brings up the context menu (fig. 6):

Uploader Icon Context Menu
Fig. 6. Uploader Icon Context Menu

Show Uploader Window - opens the main window of the program

Settings - Displays the settings window

Scheduler - Displays the scheduler window

Close - Stops all uploads and exits the program

When all uploads in the queue are finished, you should see the following tooltip (fig. 7):

Uploader Module Tooltip
Fig. 7. Uploader Module Tooltip

Main Window

The major part of module's main window (fig. 8) is occupied by the upload list (queue).

Uploader Module Main Window
Fig. 8. Uploader Module Main Window

Each element in the queue has the following properties:

You can adjust the list to your preferences by changing columns' position and width. You can sort the contents of a column by clicking its header. Sorting is useful when you need to quickly find some upload in the long list of other elements.

Above the list there is a toolbar. You can use it to quickly perform various operations over the selected uploads in the list, bring up the settings window or sign in or out of your OneDrive account.

Also there's a right-click context menu in the list (fig. 8). This menu duplicates commands from the toolbar, except the change priority command which is only available in the context menu.

Below the upload list there is a minimized error log window.

Signing In and Signing Out

Uploader Module works only with SDExplorer and cannot work as a standalone application. Moreover, your LiveID credentials are used synchronously both in SDExplorer and in the Uploader Module. This means you cannot login to SDExplorer under one LiveID account and in Uploader module under another one.

Whenever you Sign Out in SDExplorer, you simultaneously Sign Out in Uploader Module too (thus all your uploads are stopped). The same is true for signing in - your LiveID credentials are used in both applications.

Uploader Module stores uploading queue for all accounts in its internal database. However you cannot upload files to two or more OneDrive accounts simultaneously: only files associated with the currently logged in account are uploaded.

Upload States and Commands

Each element in the queue can be in 5 different states: "Waiting", "Running", "Error", "Stopped" and "Completed". For each file in the queue its state is indicated in the "Status" column with an icon and a corresponding label.

Each newly added file is automatically set in to the "Waiting" status.

If Uploader Module is ready to upload a file, its status is set to "Running". Anytime you can stop uploading with the "Stop" command. The status of an object is changed to "Stopped" in this case. You can prohibit uploading a file with the "Waiting" status also with the "Stop" command. Generally, the "Stopped" status means Uploader Module won't try to upload that file unless you enable that with the "Queue" command.

After a file has been successfully uploaded, its status is changed to "Completed". If some errors have occurred while a file was uploaded or there were some connection issues and Uploader Module has abandoned uploading after several attempts, the status of the file is changed to "Error".

You can try to repeat the uploading of those files with the "Queue" command.

IMPORTANT: OneDrive server does not support resuming file uploading. This means that if a connection error has occurred, the next upload attempt will have to start from the beginning. The exception is large files (over 100 MBs). Since they are uploaded in parts, if an error has occurred, the upload will be continued starting from the last successfully uploaded part, not from the very beginning of the file.

The "Error" status is also assigned to files and folders having illegal symbols in their filenames, if a file has zero length, or if folder structure hierarchy nesting has exceeded 9 levels.

Description of commands:

Stop - this command interrupts the uploading of the selected files and sets their state to "Stopped".

Queue - this command changes the status of the selected files to "Waiting". Usually, you may want to use this command to repeat uploading files with the "Error" state or to resume uploading after the "Stopped" status.

Remove - this command deletes the selected files from the uploading queue. If a file is being uploaded to OneDrive right now, the uploading process is terminated.

Settings - shows the settings window.

Sign In/Sign Out - sign in or sign out of you OneDrive account.

Priority - Sets the priority of an upload in the queue: the higher the priority is, the sooner that file will be uploaded. Possible values are Low/Normal/High. The default value is Normal.

Name conflict resolution - Sets the mode of resolving the filename conflicts while uploading.

Name conflict resolution

SDExplorer Background Uploader allows to resolve conflicts during uploading a file to OneDrive, when the name of uploading file is the same as the name of the file existing in the online storage. Conflict resolution can be made in automatic or manual mode. In manual mode you can set the way of resolving conflict for each file or group of files.

There are 4 options:

Default conflict resolution mode for all new items in the upload queue is defined in the application settings. You can change the mode for a file or group of files in the upload queue using the 'Name conflict resolution' command from the context menu.

Conflict resolution mode is shown for each element in the separate column as a pictogram.

Error handling

Uploading is often accompanied with errors. As mentioned before, they can be divided into two categories: errors related to temporary connection problems or wrong settings of anti-viruses and firewall; and errors caused by internal limitations of the OneDrive service itself. If an error of the first category occurs, Uploader Module performs several attempts to repeat uploading, and if it finally fails, it changes the status of that upload to "Error". If a OneDrive limitation error has occurred, the recurring attempts are not performed - Uploader Module immediately changes the status to "Error".

Whenever an error occurs, Uploader Module adds the information about it to the special error log window (fig. 9). By default this floating window is minimized in the very bottom of the main window. You can pin it up, or move to any place on the screen.

Uploader Module Error Window
Fig. 9. Uploader Module Error Window

This window has the list of errors with a short description of each one, a full path to the source file and also OneDrive destination folder and the date when this error happened.

There are two buttons above the list:

Clear Log - clears the log of all errors

Pin Up Window - pins up or down the log window

Settings Window

You can bring up the Uploader Module settings window (fig. 10) using the content menu of the Notification Area icon (fig. 6), or using the corresponding command on the toolbar.

Uploader Module Settings Window
Fig. 10. Uploader Module Settings Window

"Visual Appearance" Settings Group

"Automatically hide successful uploads from the list" - when this option is enabled all successfully finished uploads are hidden from the queue. This makes the list much clearer as it will only contain active and unfinished uploads. If the option is off, the list displays all uploads. By default this option is on.

"Show the full path to the file" - if the option is on the list shows the full path to the file If it is disabled, the list shows the filename only. The default value is "off".

"Launch Uploader at Windows Startup" - set this flag to automatically start Uploader Module with Windows. Thus Uploader Module will be able to continue your uploads right after you login to Windows. The default value is "on".

If this option is "off", Uploader Module will be started after you add files to the queue.

Note: if in the SDExplorer login dialog you haven't ordered to remember your LiveID and password, you will be asked for your credentials every time on launch Uploader Module.

"Minimize Main Window on pressing 'Close (x)' button" - when this option is enabled everytime you press the Close 'x' button, Main Window will be minimized to tray instead of closing. The default value is "on".

"Upload Queue" Settings Group

"Add items in Stopped state (put in the list, but do not upload)" - if the option is "on", all your uploads will be added in the Stopped state (will not be uploaded until you manually start them). If it is disabled, all added items will be immediately queued. The default value is "off".

"Prevent the system from entering the Sleep Mode when uploading files" - if it is enabled, Uploader Module will prevent Windows from entering the Sleep Mode while there're active uploads in the queue. By default is "on".

"After all uploads are completed" - here you can assign a certain action that Uploader Module should perform when all uploads will be completed (i.e. when the queue is empty). By default no actions are performed. Possible actions are: do nothing, go to the Sleep Mode, hibernate or turn off the computer.

"Maximum number of the concurrent uploads" - the value between 1 and 5. This option allows you to adjust the number of files uploaded to OneDrive simultaneously. The default value is 3. The more simultaneous uploads you have, the faster all files are uploaded. On the other hand, if you have an unstable internet connection, this will increase the number of connection issues and reconnection attempts and will slowdown the uploading. If you have a bad or an unstable internet connection, or if you experience many errors during uploading, we recommend reducing this value.

"Name conflict resolution" - the mode of resolving the filename conflicts while uploading. The default value is "Replace"

"Maintenance" Settings Group

"Keep successful uploads in the database for:" - this option allows you to set the period of time before Uploader Module will purge successfully finished uploads from its database. Periodical cleaning helps to keep your upload queue fresh & compact and therefore to make Uploader Module work fast. The default value is "week". Possible values are: keep forever, clean after 24 hours, clean after a week, or after a month.

Scheduler Window

Uploader Module Main Window
Fig. 11. Scheduler Window

Post Action Confirmation Dialog

After Uploader Module has finished all uploads in the queue, a certain action specified in the Settings is performed. The action runs after 20 seconds rather than immediately. Within that time Uploader Module displays a confirmation window (fig. 11).

Post Action Confirmation Dialog
Fig. 12. Post Action Confirmation Dialog

If you're at your workplace at this time, you may decide not to perform that action. To cancel it, click the "Cancel" button before the time runs down. If the command wasn't cancelled, Uploader Module executes it.


This section isn't ready yet. It will be gradually filled up basing on your questions on Uploader Module usage.

Download the latest 3.5 build of the SDExplorer Advanced

Web design by Orice Media.