Directory settings

You use these settings to define and configure an Upload Directory for use with NetStorage.

An upload directory is a root directory in a storage group, represented by a CP code that has been provisioned for use with NetStorage. You later associate this upload directory with an upload account, to grant it access to this storage group.

Several settings can be applied and are broken down into various categories:

Upload Directory

The settings here are used to select the CP code to serve as the upload directory. (Here, you set up a "CP code root" for the storage group).

  1. Click + Upload Directory to add a new upload directory.
  2. Do you have a CP code provisioned and available for use?
    • Yes: Select the applicable one. (If you have only one, it is default selected.)
    • No: You're given an option to add a new one. A CP code name can be up to 128 alphanumeric characters, but cannot include _ , # ' " % or non-printable characters. It can take up to two hours for a new CP code to provision.


  3. Additional settings are revealed that allow you to configure the upload directory. They are discussed in the sections that follow.
Note: Some or even all of these options may not be accessible. (They are shown, but grayed-out.) If this is the case, contact your Account Representative for assistance in applying these settings.

Security and Advanced Settings

These settings allow you to determine how various requests will be handled by the storage group.

Setting Description
Security Settings
Download Security These options are used to determine the level of security that should be applied to incoming download requests.

As download requests come for content from your selected upload directory via Edge Servers, you can define the level of security that must be met to obtain access:

  • All Edge Servers - Download requests that target this upload directory will be allowed from all Edge Servers.
  • Streaming Only - Download requests that target this upload directory will be allowed only from Edge Servers dedicated to streaming media.
  • G2O and All Edge Servers (Warn) - This security uses a combination of G2O ONLY and All Edge Servers security. Requests for downloads from all Edge Servers are allowed, but a warning will be issued. However, requests that include an appropriate G2O token are automatically allowed, with no warning.
  • G2O ONLY (Strict) - With this security set, strict NetStorage authentication is enforced for downloads. Every request to NetStorage must include a G2O token ("Key") which must be set up in the appropriate Edge metadata. (All requests that do not have an appropriate token are denied.)
SSL Replication Content in all of your storage groups is replicated to other persistent systems within the NetStorage network to ensure accessibility (via Geo Replication settings applied in the storage group).

When this option is set to “ON”, contents within the selected upload directory will be replicated securely via Secure Sockets Layer (SSL).

Note: While this offers added protection for your content, it can take slightly longer for the replication to process.
Advanced Settings
Force Case Based on your environment, you may have specific file-naming conventions pertaining to the use of upper vs. lowercase text. Additionally, some web services require that filenames also adhere to a specific case usage model. For example, a web-based database application may require that all file names be lowercase, but your environment requires the use of capital letters. The Force Case functionality can be incorporated in these cases, to change case-usage of your files during upload.
  • Pass through all requests without modifying...: With this option selected, filenames will remain as is, in regards to case usage when uploaded to the upload directory.
  • Convert all requests to lowercase: This forces lowercase character use for all filenames when content is uploaded to the upload directory. For example, “ FileA101.mpg” would be converted to “ filea101.mpg” after upload.
  • Convert all requests to uppercase: This forces uppercase character use for all filenames when content is uploaded to the Upload Directory. For example, “ FileA101.mpg” would be converted to “ FILEA101.MPG” after upload).
Note: NetStorage doesn't automatically apply the Force Case setting to Index requests. If using the Force Case option, you must manually name your index.htm file accordingly. For example, if the Force case setting is set to Convert all requests to uppercase, then you would change the Index Name to INDEX.HTM instead of index.htm.
CAUTION: Before modifying case settings, ensure any files that currently exist in the targeted storage group conform with the selected setting. For example, if Convert all requests to lowercase is selected, all existing files in the storage group must currently be all lowercase. If an option is selected, but existing files do not conform to the selected case setting, a denial of service will result for your end users.
Path Name Mode NetStorage doesn't adhere to a traditional directory-based file system. As a result, characters such as “/” can be used within a directory name. For example, you could actually name a directory “/files”, in which case, NetStorage would establish the path to the directory as “//files ” (adding an additional "/" as a path separator). Use this drop-down to define how path name requests made to the selected upload directory should be interpreted.
  • Don't check on incoming paths: With this selected, paths are not checked. The path set in an upload or download request is acknowledged exactly as input.
  • Disallow improper paths on upload: With this mode selected, paths using naming conventions outside of what is supported for use as an explicit or implicit directory name are blocked, and an error message is displayed on upload.
  • Translate all incoming path names to a canonical directory-friendly format: With this option selected, a “ /” will be seen as a path delimiter and repeat instances are treated as a single instance in an upload path. For example, if an upload request is sent to target the directory, “//files/new///mp4/movie1.mp4”, the file is uploaded to “/files/new/mp4/movie1.mp4,” and non-existent directories within the path are auto-generated to exist as explicit ones.
  • Disallow improper paths on upload, but perform translations on download requests: This disallows improperly formatted path names on an upload request, but translates improper paths called out in download requests, similar to what is discussed for “Translate all incoming path names....”. For example, if a download request is issued for the path, “//files/new///mp4/movie1.mp4”, NetStorage looks to the path, “/files/mp4/movie1.mp4” to find the file.
Send Content MD5 Header
  • On: A content item's MD5 digest values are sent in the HTTP “Content-MD5” response header.
  • Off: If you are not concerned about sending this header data.
Query String Mode If a request targeting the upload directory has a query string value appended to it, determine how the string should be handled. (This applies to both upload and download operations targeting the upload directory.)
  • Strip all incoming query strings: With this selected, the string is removed from a request.
  • Apply ACS query string conversion: With this mode enabled, as content is uploaded, its query string content is reviewed. A new, “stripped down” instance of the string is applied to it, based on what is defined in the accompanying fields (see below). Finally, a hash of this new string is generated and appended to the stripped down string. Once a download is requested for the content, the query string within that request is processed using the same conversion and the hashes are compared. If they match, access is granted. The accompanying fields within the NetStorage Configuration API are mutually exclusive and used as follows:
    • Key Order: Input individual query string values that should be included, in the specific order they should be interpreted. Separate multiple entries with a single whitespace. Any string left out of the this field that exists in an actual query string is automatically excluded.
    • Exclude: Input specific query string values that should be excluded from the conversion, separating multiple entries with a single whitespace.
    CAUTION: If the final path component for an uploaded file is in excess of 200 characters after conversion, some of the stripped down query string will be truncated to meet the 200 character maximum.
  • Leave incoming query string as is: If this is selected, the string is left alone and interpreted, as applicable.
Quick Delete Set this switch to "On" to enable use of the "quick-delete" operation available in the NetStorage Usage API and the CMShell. This allows you to target a specific directory in this storage group and recursively delete all of its content. Specific usage requirements and caveats apply.

Detailed instructions on the use of quick-delete along with the NetStorage Usage API and CMShell can be found in the NetStorage Usage API and NetStorage - User Guide, respectively.

Note: Enabling this option changes the default CMShell behavior of the "rm -r" command. Enabling this option changes the command to operate as a “quick-delete” rather than its default setting. See the NetStorage - User Guide
Encoding, Key Order and Exclude These options allow you to select and enforce the type of encoding to be used when displaying paths in XML-aware contexts. For example, this applies to call response output for the “ dir,” “ list” and “ stat” calls via the NetStorage Usage API, as well as for file names and paths displayed in the NetStorage Groups UI. Via the Encoding drop-down, you can select from the following:
  • iso-8859-1: This is the default. With this selected, file names and paths are encoded and displayed using iso-8859-1, 8-bit, single-byte coded graphic character sets. (This is the “Latin alphabet no. 1,” that consists of 191 characters from the Latin script.) This method treats all byte sequences as valid.
  • UTF-8: With this selected, file names and paths are encoded and displayed using variable length, 8-bit code units via UTF-8 character encoding. UTF-8 sees some sequences as invalid. In this case, the XML encoding cannot represent file names that do not comply with the encoding. Therefore, the XML output changes the attribute from “X” to “X_base64” (and provides the raw octet stream as the base64-encoded value).

Enforce Encoding: When set to On, upload operations will verify that all path values defined within the URL for target content are properly formatted using the selected Encoding method. If the path is not properly formatted to meet the selected method, an error will be returned.

Note: This only applies to the use of UTF-8 as an encoding method. If you have selected iso-8859-1, the Enforce Encoding slider is grayed-out and unavailable.
Serve from Zip
  • On: NetStorage will dynamically examine archived files to directly serve individual files from within the archive.
  • Off: Archive files will need to be completely decompressed to access and serve its contents. Specific usage conditions and requirements apply.
Index Name, Limit and Search on 404

These options, as well as the related, Search on 404 option account for the unique file system supported by NetStorage. They are used to define an "Index File" that should be accessed for requests that do not end in a specific file name and extension. (For example, a request for an object that ends in a trailing slash -- "/".) The "Index File" is similar in functionality to that of Apaches "directory index" auto-index feature. Use these fields as follows:

  • Index Name: A file specified here will be served if the request does not end in a specific file name and extension. Use single white-spaces to include multiple entries, the system will use the first entry found.
    Note: The file(s) named here is served for HTTP download requests that end with a trailing slash (“/”), as well as those that actually end in the value input here. NetStorage doesn't automatically apply the Force Case setting to Index requests. If using the Force Case option, you must manually name your index.htm file accordingly. For example, if the Force case setting is set to Convert all requests to uppercase, then you must set to the filename to INDEX.HTM instead of index.htm.
  • Index Limit: If desired you can truncate or hide the file path displayed in the HTML directory listing for the Index Name file. Input an integer value here that represents the number of directories in a path that should be revealed:
    • -1: Unlimited objects in directory displayed.
    • 0: Do not serve directory listings, but continue to search for the requested Index Name file.
    • Any Value > 0: Limit directory listings in the path to this number. Directories will be listed based on root first, up to the number specified here, with sub-directories in excess of this quantity omitted and revealed as “...” in the path
    Note: When using unlimited or values in excess of 1000, directories with a large number of entries may result in extremely slow requests. The server may choose to limit the number of entries returned.
  • Search on 404: Select the action that should be taken in the event of a 404 error. (The client was able to access NetStorage, but the requested content or directory could not be found.)
    • Do not look for a directory: Select this to stop additional searches, and return an “Error 404.”
    • Look for an explicit directory entry: Select this to have the system look for an explicit directory matching the path specified in the request. (For example, any superfluous “/” are stripped out in the path that might have been inadvertently included in an attempt to access an implicit directory).
    • Always look for an implicit or explicit directory, before serving a 404: Select this to have the system look for both an explicit directory (as discussed in the point above), as well as an implicit one that may match a path defined in the request.
    • Note: A “Search on 404” can not be established if you have an “Index Limit” set to “0.” (A directory listing can not be generated if directory listings are not allowed. This is the case if “Index Limit” is set to zero (“0”)).