EFT 8 - Registry setting at Advanced Properties

EFT 8 - Registry setting at Advanced Properties


Advanced Properties


  • Prior to version 8, EFT would read the Advanced Properties settings from the Windows Registry; when you upgrade from 7.4.x to 8.x, the registry settings in the previous version that are not using the default settings are copied to AdvancedProperties.json and then deleted from the registry.
  • Refer to the Advanced Properties PDF for al list of advanced properties.

JSON is an open-standard file format similar to XML that is human-readable and easy to edit. The JSON file contains name/value pairs or objects surrounded by " (double quotation marks). An object begins with { (left curly brace) and ends with } (right curly brace). Each name is followed by : (colon) and the value. (See an example in the procedure below.) Refer to https://tools.ietf.org/html/rfc8259#section-3  for more information about JSON files.

  • AdvancedProperties.json is created for you during installation in the ProgramData folder for EFT (e.g., C:\ProgramData\Globalscape\EFT Server Enterprise). You do not have to create the file. If you change the file name, introduce a typo, or created a duplicate file with a different name, EFT will ignore it.
  • EFT reads AdvancedProperties.json anytime the EFT server service is started.
  • If you don't see the ProgramData folder, in Windows File Explorer, click View, then select the check box next to Hidden items. You could also select the check box for File name extensions to see the JSON extension.



  • Before you start editing this file (if it is not blank, meaning you have non-default settings defined), please make a backup copy with a different name in case you need to roll it back.
  • A JSON value MUST be an object, array, number, string, or one of the following three literal names: false, null, or true. (The literal names must be lowercase. No other literal names are allowed.)
  • JSON file entries are case sensitive. You must enter the format as expected, otherwise the EFT service will fail to start.
  • EFT doesn't validate the JSON file itself for acceptable or unacceptable names and values. It only reads names and validates their values.
  • If the "value" is wrong or malformed, the EFT server service will not start, and an error is written to the log.
  • If the Advanced Property name is misspelled, it is ignored, but the service will start. That is, if EFT was expecting for "EncryptPersonalData" but you spelled it "EncryptPersonelData" EFT will ignore it.






To edit or view the Advanced Properties file

  • Navigate to the EFT installation folder, then open AdvancedProperties.json in a text editor (such as Notepad). In a new installation of EFT, or in an upgrade with only default EFT-related registry settings defined, the file will be blank, except for two curly brackets: {}


If you are upgrading from a prior version with non-default registry settings, EFT will import them and you can view them in the JSON file.


  • As shown above, to add a new name/value pair:
  1. Add a new line after the opening bracket.
  2. Type the name of the object, with the name surrounded by double quotation marks, followed by a colon (:), then a space, then the value. Strings must be enclosed in quotation marks; numbers and literal names (false, null, or true) do not need quotation marks. (See screenshot above.)
  3. For multiple objects, add a comma before the next object.
  4. Add a new line after the name/value pair, before the closing bracket.
  • Save the file.
  • Stop and restart the EFT server service, and then refresh the user database (View > Refresh User Database).


ARM Queue Size: V8.0.2

In v8.0 and later, create the name:value pairs in the AdvancedProperties.json file in this format:

{
"ARMQueueSize":"1000"
"ARMLogStalledThreadMinDuration":2000
}


ARMQueueSize

  • The maximum size of the ARM auditing queue. You should first enable DEBUG logging and set the “ARMLogMinStalledThreads” registry setting (below) to 1, then review the EFT.log file and see if it is logging WARN messages about stalled threads. This would be evidence that the queue is falling behind.
  • Type: REG_DWORD
  • Default when not specified: 10 (1000 in v7 and later)
  • Minimum allowed when specified: 10 (1000 in v7 and later)


ARMLogStalledThreadMinDuration

  • Type: REG_DWORD
  • Default when not specified: 1000 (1 second)
  • Minimum allowed when specified: 1000 (1 second)
  • The duration to use to determine if a thread should be considered “stalled.” Meaning if this is set to 1000 then any thread that waits longer than 1 second is classified as stalled. This is used just for logging purposes.


ARMLogMinStalledThreads

  • Type: REG_DWORD
  • Default when not specified: 0
  • The number of stalled threads that must be present before logging. If it is set to 1 or higher, information about stalled threads is logged to EFT.log under the ARM logger. Set this to 1 temporarily to see if anything shows up in the log. Be aware that in extreme situations this could, in theory, make it log a ton of WARN messages. If so then a higher value should be used to lessen the verbosity.


To revert to the legacy SSH library

{
"UseLegacySFTP":"1"
}


Calculate, show, or hide user disk quota

To specify the disk quota options, create the following registry settings or advanced properties

{
"showQuotaControls":"1"
}

(Show or hide quota controls)

  • 0 = off/hidden; 1 = show controls
  • Prior to v8: Although the controls are not displayed when hidden, the functionality is still there.
  • v8 and later: If the function is enabled, the quota controls are not hidden

{
"DiskQuotaBaselineCalculationFrequencyInDays":"1"
}

(Specify number of days before EFT is to calculate used disk space.)

Default = 1
Min = 0 (user quota is checked upon user login)
Max = 30

{
"DiskQuotaBaselineCalculationTimeoutInSec":"20"
}

Default = 20 
Min = 0
Max =


Registry settings for HA server drain and coherence

{
"ClusterCoherenceQueueMsmqType":"msmq-iterative"
}


  • To use the TCP instead of MSMQ Broadcasting, set the Advanced Registry key ClusterCoherenceQueueMsmqType to msmq-iterative
  • To use MSMQ Broadcasting, either delete the key or set the ClusterCoherenceQueueMsmqType = msmq-broadcasting


DrainingTimeoutSecs

Draining timeout in seconds allows you to adjust the time for ongoing event rules and transfers to complete before draining starts.

{
" DrainingTimeoutSecs":"900" OR “86400”
}

Default is 900 Seconds and 86400 is for 24 Hours. If Set to 0(Zero) then immediately shutdown and do not drain.


Web Transfer Client/Plain Text Client Session Timeout

{
WTCTimeout":”00000005”

}

The default value is 5 minutes for HTTPs WTC ideal session timeout. Restart the server service for the change to take effect.



Help Document for Entire Registry Setting