Configuring a Multi-Branded Web Transfer Client


THE INFORMATION IN THIS ARTICLE APPLIES TO:

 DISCUSSION

The Web Transfer Client (WTC) supports customizations using Windows Registry entries within EFT Server to override the core file of the WTC. However, these mechanisms only allow you to override file(s) used by the WTC at the Server level. In other words, any override file will be reflected in all Sites in the Server. You can overcome this and provide custom WTC branding per domain using the procedure below. The procedure assumes that you can customize EFTStyle.css, Footer.js, and header.gif for each theme.

NOTES:

  • There must be one theme for each protocol (“http” or “https”), IP/Domain, and Port that can be used by the client (the format used for the theme is <PROTOCOL>_<IP/Domain>_<PORT>). If one theme is missing, then a default theme will be rendered in the browser.
  • In version 5.x and prior, all files are stored by default in C:\Program Files\GlobalSCAPE\EFT and WTC files are stored in \EFTClient\.

  • In version 6.0.x - 6.2.x, program files are installed by default in C:\Program Files\GlobalSCAPE\EFT Server or C:\Program Files\GlobalSCAPE\EFT Server Enterprise\. In v6.0.x WTC files are stored in the subfolder \Client\. In version 6.1.x and 6.2.x, WTC files are stored in in the subfolder \web\.

Steps to implement Multi-Branded WTC:

  1. Download and extract the files in the attached zip file. The zip file contains the directory structure shown in step 2, some example and default themes, the .reg files, and EFTWebClient.htm (for EFT Server v5.x).
  2. Copy the EFTClient.Custom directory structure from the zipped file to the EFT Server installation directory (or build it manually). The installation directory by default is installed under “%PROGRAMFILES%” or “%PROGRAMFILES% (x86)” for 64bits OS. Change the <PROTOCOL>_<IP/Domain>_<PORT> reference in the folder names to the <PROTOCOL>_<IP/Domain>_<PORT> at which users will access the WTC.

    For version 5.x:

    For version 6.0.x:

    For version 6.1.x - 6.2.x:

  3. Modify EFTWebClient.htm file:
    • For version 5.x, extract the EFTWebClient.htm file from the zip file (/EFTServer5 resource files/ EFTWebClient.htm) and place it in the GlobalSCAPE\EFT\EFTClient.Custom\ folder.

    • For version 6.0.x - 6.2.x:

      1. Copy the EFTWebClient.htm file from the GlobalSCAPE\EFT Server Enterprise\web\contrib\EFTClient\ folder and place it in the GlobalSCAPE\EFT Server Enterprise\web\custom\EFTClient.Custom\ folder.
      2. In the EFTWebClient.htm file, remove the following line (about line 19):

      3. <link href="/EFTClient/EFTStyles.css" rel="stylesheet" type="text/css">

        and add the code snippet  1 instead (see code snippet below procedure).

  4. Open the EFTContextOverride.reg (EFTContextOverride_64.reg for 64 bits OS) file (from the zipped file) and replace the virtual path (yellow text) for the themes that you want to add and make sure that physical path value (green text) is pointing to the correct location on your file system.

  5. Save the .reg file, then double-click it to insert these changes into the registry.

  6. Restart the EFT Server service:

    For version 5.x:

    For version 6.0 - 6.2.x:

    If you need to add more themes for more IP addresses or domains, you can edit the .reg file to add more folders and more registry entries.

Code snippet 1:

<script language="javascript" type="text/javascript">function parseURL(url) {var a =  document.createElement('a');a.href = url;return {source: url,protocol: a.protocol.replace(':',''),host: a.hostname,port: a.port,query: a.search, params: (function(){var ret = {},seg = a.search.replace(/^\?/,'').split('&'),len = seg.length, i = 0, s; for (;i<len;i++) {if (!seg[i]) { continue; }s = seg[i].split('=');ret[s[0]] = s[1];}return ret;})(),file: (a.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1],hash: a.hash.replace('#',''),path: a.pathname.replace(/^([^\/])/,'/$1'),relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [,''])[1],segments: a.pathname.replace(/^\//,'').split('/')};}function GetDefautlPortNumber(protocol) {if (protocol) {if (protocol == "http"){ return "80"; }else {if (protocol == "https"){ return "443"; }}}return "";}function GetThemeName() {var result = "Default";var URL = '<%=url%>';if (parseURL(URL).host) {if (parseURL(URL).port) {if (parseURL(URL).port != 0 && parseURL(URL).port != 80) {result = parseURL(URL).protocol + "_" + parseURL(URL).host + "_" + parseURL(URL).port;}else {result = parseURL(URL).protocol + "_" + parseURL(URL).host + "_" + GetDefautlPortNumber(parseURL(URL).protocol) ;}}else {result = parseURL(URL).protocol + "_" + parseURL(URL).host + "_" + GetDefautlPortNumber(parseURL(URL).protocol);}}return result;}var ThemeName = GetThemeName() ;document.write("<link REL='stylesheet' HREF='/EFTClient/Themes/Default/EFTStyles.css' TYPE='text/css'>");document.write("<script language='javascript' src='/EFTClient/Themes/Default/footer.js' type='text/javascript'><\/script>");document.write("<link REL='stylesheet' HREF='/EFTClient/Themes/" + ThemeName  + "/EFTStyles.css' TYPE='text/css'>");document.write("<script language='javascript' src='/EFTClient/Themes/" + ThemeName  + "/footer.js' type='text/javascript'><\/script>");</script>