Service Setup: Configuring FTP, Virtual Terminal (VT), and AI Assist services

FTP Session

In HOD Hex Client, users can create an FTP Session to connect the Host machine and transfer files from Local to Host and vice versa. By default, FTP sessions will be disabled in the HOD Hex Client. To view FTP sessions in the HOD Hex Client, the “EnableFTPsession=true” parameter should be added to the web.properties file.

Note:
Users cannot upload and download folders but can upload/download multiple files. By default, the files are downloaded as zip.

Flow of events:

  1. Users can create an FTP session using the Deployment Wizard.
  2. Once the page is created successfully in the Deployment Wizard, access the page in the browser.
  3. Once the page is accessed, click the FTP icon and start the session.
  4. Once the session is established, log in to the FTP using your username and password.

    Note:
    • FTP Supports FTP, FTPS, SFTP(SSH-FTP) protocols.
    • FTPS use tls_keystore_path, tls_passphrase, wellknown_keystore_path, wellknown_keystore_passphrase properties in prodConfig.properties file for login.
  5. FTP-SSH supports Password and Public Key Authentication.
    • Password Authentication: For Password authentication, a user can give a username and password to log in.
    • Public key Authentication: The user must enter the following values to perform FTP-SSH Public Key Authentication.
      • KeyStore Password
      • Public Key Alias
      • Keystore File
    Note:
    Enable the SSH public key authentication for the page to see the keystore password and public key alias fields.
  6. The user can either perform an upload or download at a time. If the transfer is in progress and the user tries another transfer operation, a “Transfer in progress” message will appear.

Toolbar Icons:

In the FTP toolbar, users have Duplicate, Properties, ASCII, Binary, and Close icons.

Upload Section:

Users can upload files using this option.

Steps to upload the files:

  1. Click the Browse button.
  2. Browse and select the required files.
  3. File names will be displayed in the browse span.
  4. Click the Upload button.

    Note:
    • Users can see file transfer information in the transfer progress table.
    • Users can also see the number of files added in files added.
  5. Click the Cancel button to remove all files from the browse span.

Remote Directory Section

Objects:

  • Users will have Refresh, Home, Delete, and Download buttons in the Objects tab and a Host table to list files.
  • In Addition, create folder and file icons were present for creating folder and file.
  • Users have options for sorting the files and changing the view of the table to Sort by and View by.
  • Users can see the host table in a more readable format by clicking the Maximize icon.
  • Use right-click to rename/delete a single file.

Sharing:

This tab displays limitations for the file transfer for both uploads and downloads. The user can choose the maximum file size up to 2GB (combined size of selected files), and three files can be transferred (upload/download) at a time. Zip and Parallel file transfer modes are available in the download section, and the default mode is Zip. Use the Reset button to reset values to default.

Transfer Progress Table:

This table gives the following information about the transfer:

  • TaskID
  • Source
  • Destination
  • Status
  • Percent

By default, the table is minimized. Use the maximize icon to display the table. The Zip file download progress is Indeterminant.

FTP Backend:

FTP Backend service must be started externally on the server side. Users can use start and stop scripts provided for the FTP Backend service by changing the appropriate path in those files.

FTP Backend Properties:

To configure the FTP backend, the user must specify configuration details in the prodConfig.properties.

#ftp backend port
port=3090
#ftp frontend url (CORS)
url=http://localhost:8080
#https
secure=false
#/lib/
keystore_path=default
keyAlias=serverlabel
passphrase=hodpwd
#tlsdetails
tls_keystore_path=default
tls_passphrase=hodpwd
#welknowncertificatedetails
welknown_keystore_path=default
welknown_keystore_passphrase=hodpwd
#No Of FTP_Users
no_of_users=3
  • port: Port on which the FTP backend (Node js) is running.
  • URL: The user can add multiple app server URLs separated by a comma (,) used for the CORS mechanism. Only specified URLs are authenticated to access the FTP backend.

    Syntax: http://AppserverMachineIp:AppserverPort

    Example: http://127.0.0.1:8080

  • secure: Boolean variable enables the https in the backend server.
  • keystore_path: By default, the value for this property is “default”, which means it will take /bin/HODServerKeyStore.jks file for https. If the user wants to use a different JKS, the user must give the complete path of the JKS.
  • keyAlias: Alias to the key that needs to be used for https.
  • passphrase: Passphrase for the keystore.

Below are applicable only for FTP Backend:

  • tls_keystore_path: By default, the value for this property is “default”, which means it will take /HOD/CustomizedCAs.jks file for FTP-TLS login. If the user wants to use a different JKS, the user must give the complete path of the JKS.
  • tls_passphrase: the password for the TLS keystore.
  • wellknown_keystore_path: By default, the value for this property is “default”, which means it will take the /HOD/WellKnownTrustedCAs.jksfile for FTP-TLS login. If the user wants to use a different JKS, the user must give the complete path of the JKS.
  • wellknown_keystore_passphrase: the password for the Wellknown keystore.
  • no_of_users: Number of concurrent users login that the backend can support. (If the user tries to log in but concurrent login capacity is already occupied, then the ‘Number of users exceeds’ error will appear).
Note:
  • Make sure that the user adds FTP backend URLs in ftpBackend params in web.xml of HOD Hex Client, respectively.

    Syntax: http://FtpBackendIP:FtpBackendPort

    Example: http://127.0.0.1:3090
    <context-param>
    	<param-name>ftpBackend</param-name>
    	<param-value>http://localhost:3090</param-value>
    	</context-param>
  • Issuer certificate should be added in JKS, which is used for FTP-TLS.
  • CN (Common Name) of the certificate must match the Destination address for FTP-TLS login.
  • Supported algorithms for SFTP are listed FTP/VT SSH Support List.
  • JKS holding your private key for public key authentication of SSH protocol will be transferred from the client machine to the server machine.
  • Minimum requirements for FTP Backend Service are.
    • 10 users
    • 8 GB RAM
    • 500 GB memory

FTP Caching of the Delta Changes:

The cache data is stored/captured on the “Sharing Tab” of the FTP main screen at the browser level (not the session level).

Note: Delta changes will remain until the cache is cleared.

FTP Performance Improvements:

  1. Upload Stream Changes:

    FTP uploads will be streaming rather than buffer uploads, i.e., the uploaded file will be transferred directly to the host rather than saved on the backend server and then to the host. Request Timeout property is added in the config file which can be modified by the user (default value is 20 minutes) but will stop 1 minute before the timeout (RequestTimeout-1) to close the connections properly.

  2. SSH Ciphers/Algorithm:

    The default settings of the SSH do not support SHA-1 algorithms. Thus, we are overriding the default algorithm. For more details on the algorithms and ciphers supported by the Nodejs SSH library, refer FTP/VT SSH Support List.

Starting of FTP as a Java Admin Console service:

To start FTP services in Admin Console, enable AUTO-START for FTP service in HOD_Distribution/private/NSMprop. C:\Program Files\HCL\ZIEForWeb\private

Download the required files from Fix Central, place the files in the appropriate folder (as shown in Figure 1), and then restart the HOD service.

Note:
  • Make sure FTP service ports are available. Once the HOD service is started, users can see the FTP service status in Adminconsole ➔ Services.
  • After pasting the files, ensure that the ftpstop.bat file properties are enabled using the settings below.

    image-20240618151955-1

Enabling FTP Backend Server Configuration from Admin Console:

FTP Backend will be running on the HOD server. For the initial release, make the required changes to the server configuration properties and save the configuration under <distribution Directory>/lib/node/ftp_build/config based on the environment.

HOD Distribution folderFigure 1

To configure FTP Backend Server Properties:

  1. Login to the Admin Console.
  2. Click the Services tab in the Admin Console.
  3. Click the FTP Backend Server Configure button, and a popup appears with all the FTP server configuration properties.
  4. Update the required configuration properties and Click Save.
  5. Restart the server to reflect the modified configuration.
Note:
  • requstTimeout: Timeout for the request sent.

VT Disaplay Session

The following features are introduced for the VT Display session in HOD Hex Client 4.0 .

  • SSH: VT Support only SSH Protocol. SSH (Secure Shell) is a protocol for conducting a secure session over a non-secure network. VT-SSH supports Password and Public Key Authentication.
    • Password Authentication: For Password authentication, a user can give a username and password to log in.
    • Public key Authentication: The user must enter the following values to perform VT-SSH Public Key Authentication.
      • KeyStore Password
      • Public Key Alias
      • Keystore File
    Note:
    The above information will appear only for public key authentication.
  • Terminal properties: The following terminal properties are available for the VT Display session.
    1. New-Line Operation
    2. Backspace
    3. Reverse Screen Image
    4. History Log

VT Backend:

VT Backend service can be started using the Admin Console “Service” tab. Users can perform start and stop operations here.

Note:
If a user wants to restart the NCServiceManager, the VT service should be stopped before restarting the NCServiceManager.

VT Backend Properties:

To configure the VT backend, the user must specify configuration details in the prodConfig.properties.

#ftp backend port
                port=3090
                #ftp frontend url (CORS)
                url=http://localhost:8080
                #https
                secure=false
                #/lib/
                keystore_path=default
                keyAlias=serverlabel
                passphrase=hodpwd
                #tlsdetails
                tls_keystore_path=default
                tls_passphrase=hodpwd
                #welknowncertificatedetails
                welknown_keystore_path=default
                welknown_keystore_passphrase=hodpwd
                #No Of FTP_Users
                no_of_users=3
  • port: Port on which the VT backend (Node js) is running.
  • URL: The user can add multiple app server URLs separated by a comma (,) used for the CORS mechanism. Only specified URLs are authenticated to access the FTP backend.

    Syntax: http://AppserverMachineIp:AppserverPort

    Example: http://127.0.0.1:8080

  • secure: Boolean variable enables the https in the backend server.
  • keystore_path: By default, the value for this property is “default”, which means it will take /bin/HODServerKeyStore.jks file for https. If the user wants to use a different JKS, the user must give the complete path of the JKS.
  • keyAlias: Alias to the key that needs to be used for https.
  • passphrase: Passphrase for the keystore.
Note:
  • Make sure that the user adds VT backend URLs in vtBackend params in web.xml of HOD Hex Client, respectively.

    Syntax: http://VtBackendIP:VtBackendPort

    Example: http://127.0.0.1:3001
    <context-param>
    	<param-name>vtBackend</param-name>
    	<param-value>http://localhost:3001</param-value>
    	</context-param>
  • Supported algorithms for VT-SHH are listed FTP/VT SSH Support List.
  • JKS holding your private key for public key authentication of SSH protocol will be transferred from the client machine to the server machine.

Starting of VT as a Java Admin Console service:

To start VT services in Admin Console, enable AUTO-START for VT service in HOD_Distribution/private/NSMprop. C:\Program Files\HCL\ZIEForWeb\private

Download the required files from Fix Central, place the files in the appropriate folder (as shown in Figure 1), and then restart the HOD service.

Note:
  • Make sure VT service ports are available. Once the HOD service is started, users can see the VT service status in Adminconsole ➔ Services.
  • After pasting the files, ensure that the vtstop.bat file properties are enabled using the settings below.

    image-20240618151955-1

Enabling VT Backend Server Configuration from Admin Console:

VT Backend will be running on the HOD server. For the initial release, make the required changes to the server configuration properties and save the configuration under configuration under <distribution Directory>/lib/node/vt_build/config based on the environment.

HOD Distribution folderFigure 1

To configure VT Backend Server Properties:

  1. Login to the Admin Console.
  2. Click the Services tab in the Admin Console.
  3. Click the VT Backend Server Configure button, and a popup appears with all the VT server configuration properties.
  4. Update the required configuration properties and Click Save.
  5. Restart the server to reflect the modified configuration.

Printer Session

In the HOD Hex Client, Printer Icon support was introduced. Associated printer session properties will be managed in printer icon properties. The display session has the option to enable printer support by choosing available printers. For the config server-based model, the client-end property changes will be updated on the server end and vice versa.

Windows Printer Support

Print view jobs page is to list the printed files of active session, which done through Host file printing.

Here, showing status of associated printer connectivity and LUName/WorkstationID of printer which is associated with appropriate display session.

In the table, contains the list of printed files along with download and delete options to download/delete the particular file. And, check box available in the list to select one or more files.

Download as Zip option used to zip the selected files while downloading. Uncheck, if want to download selected files one by one (only when downloading using Download Jobs button).

One more option called Print, used to print the file. This option listed only when Windows Printer option is enabled in the printer icon properties.

Customization:

Enabled the customization for Print View Jobs page like HOD Next Client customization. User can customize the UI design of the Print View Jobs web page by specifying a custom template.

Need to specify the printViewJobsURL (parameter name) and value is the full specified path of the custom template file location in web.properties file. If the file is not available, then default Print View Jobs page will be shown

Printer Icon

In the HACP EE client, Printer Icon support was introduced. Associated printer session properties will be managed in printer icon properties. The display session has the option to enable printer support by choosing available printers. For the config server-based model, the client-end property changes will be updated on the server end and vice versa.

Custom UI for Print View Jobs:

In HACP EE, customization for the print view jobs window is enabled. Using the custom UI option, you can include buttons, input fields, checkboxes, etc. To add additional fields, you need to follow some steps on the custom page. Existing field styles can be changed, but not the functionality. The custom page location needs to be added to the parameter printViewJobsURL in the web.properties file.

Intelligent Typing Assistance with Deep Neural Networks

This feature suggests complete commands on the Presentation window of the green screen, based on the first 3-4 characters typed by the user using the Deep Neural Network.

The Intelli service Enables to start intelli service in Admin Console, enable AUTO-START for intelli service in HOD_Distribution/private/NSMprop.
Note:
Make sure intelli service port is available. Once the HOD service is started, you can see intelli service status in Adminconsole -> Services

Train: Upon clicking the train button, it will fetch the data and tokenize each command and convert it into the tensor form. Once training starts, current Epoch, current accuracy, current loss, and progress can be seen in the status box. While training, train and Fetch button will be disabled.

Fetch: Upon clicking the fetch button, Latest model.json and weights.bin file will be fetched in the WAR file.

Back-end port: Port number on which Node backend server is running

Front end URL: Front end where HOD Next Client is running.

Batch size: The number of training samples processed together in one forward/backward pass Larger batches speed up training but use more memory.

hidden units: The number of neurons/memory cells in the LSTM layer. More units increase model capacity but risk overfitting.

Final accuracy: The percentage of correct predictions made by the model on a dataset.

Save: This button will update the properties in the file.