2.6 Server Settings

Thru Server contains upload protocol related settings that can be used to change or optimize the behavior of the client application.

Currently, these settings are not being exposed by any web service method. For instance, the Java applet is receiving these setting values directly from the hosting web page. The web server code is injecting the values in the rendered APPLET tag. For other types of clients, it will be necessary to create a specific web method (or modify an existing one) to return the upload protocol related settings.

These are the upload protocol related settings

Upload Protocol Related Server Settings

Setting

Description

UploadAppletChunkMinSizeMB

The minimum size (in Megabytes) of a file chunk uploaded by the applet to the server. If a file size is larger than this value, it should be broken is smaller chunks and have each chunk uploaded in a separate HTTP request. Current production value is 600 (MB).

UploadAppletChunkMaxSizeMB

The maximum size (in Megabytes) of a file chunk uploaded by the applet to the server. Current production value is 1000 (MB).

UploadAppletBatchMaxCount

The maximum number of files uploaded in batch by the applet to the server in a single HTTP request. To indicate that there should be no limit, the returned value is 0 (current production value).

UploadAppletDeleteOnCancelDefault

Indicates whether the default behavior for the client on the cancellation of an upload operation should be to delete partially uploaded files.

UploadAppletDeleteOnCancelEnabled

Indicates whether the user should be able to decide about the behavior for the applet on an upload cancellation. If true, user can decide if partially uploaded file will be deleted or not; false, if user does not have a choice and the decision about the deletion of partially uploaded files is dictated by the UploadAppletDeleteOnCancelDefault setting.

UploadAppletChunkCount

The maximum number of chunks to divide a file to be uploaded by the applet, before the client should start increasing the chunk size from the minimum size (UploadAppletChunkMinSizeMB). Current production value is 20.

UploadAppletZippingEnabled

[Not currently being used]. Indicates whether the client should try to compress the file content before uploading.

CompressedFileTypes

[Not currently being used]. The list of standard extensions of compressed files (e.g.: zip, arj) separated by comma. In case upload with compression is enabled (if UploadAppletZippingEnabled is set to true), this list indicates which files should not have its content compressed before upload, since its data is already compressed.

UploadAppletZippingMinFileSizeKB

[Not currently being used]. The minimum size of a file (in KB) for a client application to try to compress its data before upload, if upload with compression is enabled (if UploadAppletZippingEnabled is set to true).

As stated above, if a file size is larger than UploadAppletChunkMinSizeMB, the client should consider it a candidate to have its content divided in chunks for a chunked upload. The suggested algorithm for the client to calculate the size of the chunks is:

  1. Given a file with size S, start by calculating the size of an upload chunk based on maximum number of allowed chunks for a file. That translates to this formula. chunkSize = S / UploadAppletChunkCount

  2. Then choose the minimum size between initial size choice and the maximum allowed chunk size. chunkSize = MIN chunkSize, UploadAppletChunkMaxSizeMB

  3. Finally, choose the maximum size between current size choice and the minimum allowed chunk size. chunkSize = MAX chunkSize, UploadAppletChunkMinSizeMB