Profile-Based Configuration Support

The Profile-Based Configuration Administration User Interface continues to be enhanced and built-out.

New Host Wizard now works well with difficult connections, such as non-standard TLS ports and required Logical Unit or Device names (3270 or 5250)

Can now set Icon size for the FVTerm Page both for Standard and Touch devices

Can now set the location of the icons – top or bottom of the page

FVTerm Web Terminal Emulation Feature

A new print-screen icon has been added that queues the current screen for printing. For typical 24 row terminal sessions this enables 2-up printing of screen images on a single page as well as providing the user the ability to group multiple print screens as a single document. A user can click on the print-Queue icon multiple times—for the final screen, the standard Print Screen icon, when clicked, will print all queued screens along with the current screen in 2-up fashion in a single document.

Continuous refinement of Touch Client support and integration and configuration with the new Profiles mode. This includes better client management (with a new settings option) of the on-page touch keyboard for devices that have both a touch screen and physical keyboard.

Added swipe tabbing to touch devices—swiping left, right, up or down moves the cursor accordingly (left and right are backtab and tab if a long swipe, cursor left or right if short swipe, up and down simply move the cursor up or down in same column).

Continuous refinement of the FVTermParent.js and FVSessions.js Javascript API’s

For licenses with the Javascript API active, a new web page can be provided to users: Sessions.html, which is designed to make it easy for a user to have multiple sessions tiled in a single web browser view. This replaces the SCTerm.html page when users commonly have multiple sessions active and want them tiled together instead of in independent browser windows.

Clipboard Paste further refinements to support word-wrapping in fields that extend past the current row as well as pasting in a block when rows of fields line-up, as in a mainframe source editor.

Added Active Directory Group filter to Profile Views, which enables selecting the view a user sees based on that user’s group membership

Tightened connections of new websockets to allow retry in case of a race condition from the initial AJAX start of the session as well as more consistent setting of the userid associated with the session across all security options

Support for null characters in entry fields and unformatted entry screens fixed so that the user can key anywhere on a clear screen (instead of just the start of the first line) and nulls are not sent, only the non-null data. Clear screens are now full entry fields on the whole screen, and a user can key the command for the clear screen anywhere

Improved details for websocket logging to enable correlation between the client and server side logs

Added a UserControl option for websockets—if set to false will no longer ask the user if he or she wants to switch to AJAX following too many web socket errors

Added support for cluster sharing of Profiles as well as an auto-update / replication of profiles in a cluster environment

Server macros will now timeout after 5 minutes waiting for a user response at the client to a messagebox, form, or other input request. This was previously an indefinite timeout, leading to stranded threads, session connections and small memory leaks should the session be timed-out by the emulation service.

Administration Console – added configuration option for user-based licenses: Maximum Sessions Per User, which enables exceeding the licensed sessions-per-user value which is typically 3 or 5. This will not increase the maximum concurrent users, nor will it increase the total possible sessions. What it does is enable users to go-over the configured maximum if sessions are available. Assumes that not all users will be hitting the configured sessions per users, leaving sessions available for certain users that may need more than the configured number.

Clustered Servers can now sync with each other when Console User Security is active. Prior to any builds up to January 19, 2019, console user security would break cluster syncing for available sessions between the servers.

IBM Distributed Certificate Access Server (DCAS) RACF Single-Signon support implemented. A sample FVTerm Server Extension is available from Inventu—email support@inventu.com for more information.

TLS – SSPI Client Certificate searches of the Windows Certificate Store provide better diagnostics for when a certificate is not found

Clustered server IP Address configuration was lost under certain conditions during a version update of an installed server

Clustered servers, in a group of 3 or more were not synchronizing completely, related to a memory-leak fix in the last major release

ViewerLib: Added new version of HostConnection.GetSessionUser that will now optionally return the Profile that a user is connected with along with the active Host Name

ViewerLib: Added a new Static call HostConnection.GetLastEventLogEntry() which will return the text of the last event log entry written, to help in error reporting / recovery scenarios

ViewerLib: Added new static call GetDCASPassTicket which passes AppID, UserID and gets back the active mainframe userID and pass ticket for the user

If the Windows operating system restarts during an update install in-between uninstall of prior version and install of new version, the installation will now pick-up on the next execution of the setup as if it was a continuous operation. Prior to this fix, the registry would be in an uncertain state without multiple installs, with possible loss of host configuration details.

Simulated Host

The Simulated Host can now support non-FV emulators better, which can help when identifying differences between a customer’s terminal emulator and the Flynet emulation service during a conversion project.

Flynet Viewer 2016DL Enhancements and Fixes

Security Enhancements to Flyserver.exe Emulation Service

New License Manager with Smoother Server Installations

Flynet Studio Adds WebApi RESTful JSON option for Web Service TaskModules as well as a new ScreenAPI Task Generation action–this includes generation of a SWAGGER.JSON file to enable integration with a broad variety of web application frameworks and other clients such as Xamarin c# apps.

New license verification integrates with the Inventu web service to ensure non-counterfeit versions of the Viewer server are being installed by customers.

License verification no longer requires the use of a license .fvl file to install on “locked-down” servers. If a server has no outbound http access, a dialog is displayed with a URL that can be copied and pasted into a web browser on the remote desktop client PC. This URL contacts the Inventu licensing server and returns a long text string to be copied back to the setup.

The FlyServer.exe now verifies that the active code-signing certificate is by Inventu Corporation and that no modifications to the binary have been made (security enhancement)

New PowerShell Scripts have been authored to assist customers in upgrading servers with new versions. These are available via the FlynetSoftware.com downloads page.

When updating an existing server during the uninstall of the prior version, if the Event Viewer was open on a FlyServer.exe event, it could cause the system to reboot! This has been fixed.

Introduction of new configuration user interface – FVTerm/Config/EditHosts.html provides new way to manage host definitions with integrated help and a “New Host” Wizard. This is first module in a family that will be integrated and provide far easier management of all the functionality in the Inventu Flynet Viewer Emulation Service. Future modules include full FVTerm web server (replacing directly editing web.config) and EditProfiles which introduces the Profile definition, providing flexible management of the client UI and connection options on a more granular basis.

Can now specify Codepage 1140 – UK with Euro

Evaluation keys are now limited to 10 sessions per server to prevent production use with unauthorized keys- evaluators needing larger configurations can request a short-term subscription key from Inventu

Added new Copyright Notice.rtf found in the .bin folder documenting all copyrights for the core emulation service

Added support for terminfo kend (end key) definitions

Added Codepage 1140 – UK with Euro

Better synchronization for file transfer operations

VT protocols now catch an undocumented protocol command that stops box-draw character mode

During IND$File, prevent a client timeout in FVTerm when the closed browser detection is active

Fixed bug with 3270 IND$File transfers and very large files

FVTerm Web Terminal Emulation Feature

Fixed a localStorage problem with initialization that causes some emulators to only show a blank welcome page on connection to the SCTerm.html page. Anti-virus programs and other settings can cause an exception when testing for the presence of localStorage. This will no longer break the emulation environment.

Websockets continued improvement in screen synchronization and error recovery, reducing the incidence of the client needing to refresh to clear an error due to network instability and tighter control of cleanly closing the socket.

Touch screens default to web entry field—in April versions, if default is a terminal emulator style, touch device users needed to know to touch the cursor to get a keyboard to use. With the update, the keyboard on touch devices will automatically display.

Added versioning to server-side macros so that a new version can be deployed to a live server without needing to over-write an in-use assembly

FVTermParent.js updated to sync with child FVTerm javascript at startup. Also added improvements to how events are bubbled-up if a screen update is managed by one function and the update should not be use to trigger the OnNewScreen event

FVTermParent.js added a completion function call to the StartMacro function as well as an “atServer” parameter to indicate the macro is server-side.

Updated server-side macros to include target host list and target active directory groups so that a server-side macro can be maintained in the root folder instead of copied to each host folder it applied to

New RPC Server-side macros can now be called by client-side javascript as a remote procedure call, with parameters passed instead of needing to display a dialog box with entry fields in the user interface

Added a <–Preserve Start –> section to Macros/MacrosMgr.htm to enable adding a persistent javascript block specifically to support document.domain in environments where the parent page using the javascript API is running from a different server and document.domain is needed to ensure access between iframe and parent pages.

Macros/CfgAdmin.htm has been updated with a few new configurable items interim to adding all the new configuration editors and wizards that are part of the configuration upgrades for Viewer 2018

Flynet Studio (Build: 5.0.0.210)

Flynet Studio Base Framework

Added the Roslyn Compiler to the install to enable support for the latest version of CodeSmith 8.0 generator. Further work was performed to make template caching fully functional between sessions. The result is vastly improved generation speed both for “first time” use and subsequent executions of the Flynet Studio.

Flynet Studio Web Services Design and Generation

Added new TaskModule Web Methods type: Web API

When Web API has been specified for a TaskModule, a new context menu item is available on the TaskModule: ScreenAPI / Generate New ScreenAPI Tasks for Module. This generates a GET and if screen has writable fields, a POST Web API method for each screen containing at least one FieldMap

The ScreenAPI / Generate New ScreenAPI Tasks for Module can be run at any time and any screen that has not had methods generated will have a new Screen GET added and a POST added if there are writable fields defined on the screen.

For Web API Modules, a full Swagger.json file is generated fully defining the GET and POST operations for each task in the module.

Added new TaskModule property – LogonAsPost which ensures that any credentials passed in a logon will not be part of the url (security enhancement)

Integrated Visual Studio Package Management for NuGet functionality for the necessary packages for the .NET Web API implementation. For workstations with no Visual Studio installed (not recommended for Studio!), NUGET will need to be installed – see https://docs.microsoft.com/en-us/nuget/what-is-nuget for more information

New session timeout option that is temporary and is cancelled by any activity on the session, enabling faster recycling of sessions as well as better management of user connections

FVTerm Web Terminal Emulation Feature

Client-side macros are now supported for ASCII protocol terminal sessions (VT220, Wyse and so on). Activated with web.config setting VTMacros=yes.

Improved web socket recovery when the internet connection between the server and client has poor reliability or web socket compatibility problems.

Back-button fix to take advantage of newer DOM options with the window.history object—results in fewer session issues when a user clicks the backbutton or accidently presses the backspace key outside of an entry field.

Startup URL can now include a filter to mask certain host tiles from displaying after the user has closed the initial session. Default tiles can be hidden while new tiles can be added with the filter.

Clipboard support improved to make use of Ctrl-C and Ctrl-V work naturally without the need for a popup. For block copies of screen data, the Clipboard copy icon works automatically to copy to the clipboard. Copying to multiple entry fields now will block copy using the original rows so that copying source code in mainframe environments works as with an IBM desktop terminal emulator.

A user “Problem Report” function can now be configured so that users can report issues with a simple form—a text file is created on the server in the FVTerm logs\reports folder which includes active the client-side websocket log.

If a load balancer is active, a web.config setting can be used to delete any load balancer cookie if the actively connected server is on-hold. This enables a smooth connection when a user’s server has been put on hold for maintenance.

Added support for the Windows Performance Monitor to track response times, web socket sessions and so on.

The FVTerm browser window title (default=”Flynet Viewer Host Access”) can now be controlled with a web.config entry to customize for customer environment

Added client response time statistics that are optionally written to a CSV file that can be analyzed in a spreadsheet. When a client closes his or her session, a record is written with the average response times both at the server and client, along with maximums and number of screen entries made during the session.

3270 Extended Attributes expanded to include attribute changes in text without an attribute byte required.

3270 auto-skip on unprotected fields is more consistent with desktop terminal emulators

Clickable function key buttons can now be transparent to minimize cosmetic differences from a desktop or java-based terminal emulator

All alerts, confirms and other javascript calls that can lock-up the active thread were replaced with non-blocking user interface elements that have “continue” logic connected. This ensures that background activities can continue if an alert or other element is displayed.

Added support for mouse-click detection (right, left or center) with ASCII protocols; sends a user-defined escape sequence with the button and cursor location of the click

To ensure version integrity, an option will force a user to upgrade active javascript as soon as connecting with out-of-date cached javascript and html.

A web.config setting (minWorkerThreads) can now be used to increase the minimum worker threads in the .NET FVTerm thread pool. Large configurations (over 500 sessions) should use this and set it to twice the configured sessions.

Can now configure that a double-click on a screen will act as an enter key

For ASCII terminal types, added support for function keys in the range 25-36 inclusive–setup in web.config and terminfo.txt

Added AutoPrint server-side macro support, with definition files providing compatible functionality with HOD ZipPrint—providing screen-prints spanning multiple screens. Any server macro can also create a print job that will appear at the client browser when the print job is closed.

Can now override the default font sizes for print screens with different font sizes for 80, 132 and 160 column screen formats.

Improved synchronization and performance of server-side and client-side macros

Server macros can now declare group membership internally, so that macros do not need to be copied to multiple host folder trees. A server macro can belong to multiple hosts and Active Directory groups based on attributes specified in the source of the assembly.

Server macros can now specify a version that enables updating an active macro without needing to recycling the FVTerm v4.0 application pool

Flynet Viewer Studio (Build: 5.0.0.209)

Development Environment

If both IIS and IIS Express are installed—a new Options property is displayed, IISExpressPreferred, which if set true will orient all development options to IIS Express (UI Web Preview Tab for example).

Generated Applications Framework

The TaskSession class is now generated with a TaskSessionCG (with methods and properties made virtual to enable overriding) and a customizable TaskSession class, which is a child of TaskSessionCG. The TaskSessionCode property has been added to the TaskProject so that user customization of the TaskSession Class can be saved in the Flynet Studio Project.

Debug class can now be extended by developers in Visual Studio in the generated solution; added DebugClassCode property on a TaskProject so that the Debug class can be customized and saved in the Flynet Studio project. Main body of original Debug is now the DebugCG class.

Now using the MSBuild included with VS2017 if VS2017 is present and selected. Prior to this, the active .NET MSBuild was always used—also now using x64 MSBuild if present

Added support for .NET Frameworks 4.6, 4.6.1, 4.6.2 and 4.7

Added support for IIS Express—can now develop without IIS and without being an Administrator

Pooled session encrypted credentials file can now be encrypted using a FIPS compliant AES crypto service—previously used a RijndaelManaged crypto-provider

All encryption libraries, including hashing for file versioning now is FIPS compliant in the Studio product

Improved dynamic menu option detection to include spaces in the menu number/letter portion of the menu Regular expression

Modernized Web UI Generation

Added the UI Base Controller (ViewControlBase) class which enables all UI controllers to have an additional location for customizations through overrides or additional methods or properties can be defined which will affect all UI controllers. Moved original body of ViewControlBase to ViewControlBaseCG.

Web Service Generation

Added clipboard cut/copy/paste of Task objects in the TaskTree using the mouse right-button context menu items

Added CustomMethodsCode property on a TaskModule so that any custom methods to replace or supplement web service methods can be saved and regenerated from the Studio project

Added support for resource folders for webservice generated Visual Studio projects, similar to the resource projects for UX projects

Visual Studio Add-In / Extension for Visual Studio 2015 and 2017

This extension is now completed and more stable and reliable than its first version—support has also been added for Visual Studio 2017 — the prior version did not actually work with VS2017