"Added" means that this topic was added to the documentation on <date>. It came from the A-Shell Development Notes more or less intact, and was added as its own topic. Because the material is newly written, it is the same as a "Reviewed" topic in that the material is known to be accurate, complete and relevant as of the date it was added.
|
Build, Date |
Description |
|
1164, Nov 09 |
ATE server-based licensing improvements: Extend the timeout for the initial ATE handshake from 3 seconds to 8 seconds, in order to be more tolerant of connections with high latency or other intermittent pauses. |
|
1164, 04 Nov 09 |
Add new ATE License Detection logic and environment variable. |
|
1162, 15 Oct 09 |
Licensing protocol enhancement: The protocol for passing the server's ATE license to the ATE client on A-Shell startup has been streamlined in the case where the server has a "system" ATE license (meaning that ATE is allowed on all client connections). The new protocol only has an effect when both the server and client are running 5.1.1164.0+, but does not interfere when either side is older. When in effect, the job is no longer forced to execute LICENS/ATESRV to issue the license, with eliminates a few handshaking steps, speeding up the login and possibly avoiding some problems with slow connections and type ahead during complicated startup sequences. |
|
1153, 22 June 09 |
Server now informs ATE whenever a RUN program is starting and the keyboard channel is not being actively controlled by ATE. This allows ATE to start managing the keyboard data immediately, rather than waiting for the first ATE command issued by the program (and allowing typeahead characters to slip through in the meantime). While typeahead isn't necessarily a problem, it does complicate handling of ATE commands that require responses, and at best, slows down the connection due to excess round trips. |
|
1152, 22 June 09 |
Transport error messageboxes were leaving the main window suspended until the message was acknowleged, which is reasonable, but was leaving open the possibility that the message box could become covered by another application window, giving the user the impression that ATE was just dead for no reason. Also, there was no way to copy and paste text from the window, since clicking OK on the error message generally led to the window being closed. |
|
1148, 07 May 09 |
ATE Transport SSH implemented. |
|
1148, 07 May 09 |
SSH Login Failure Options implemented. |
|
1148, 07 May 09 |
When the server and client PC clocks are out of sync by more than 24 hours, the warning message is now slightly more helpful (showing the server date and explaining that ATE will have to operate in eval mode until the clocks are re-synchronized. The message text may also be configured by editing the system message files. |
|
1148, 07 May 09 |
Licensing refinement: Improve the handling of the situation where the client and server clocks are more than 24 hours out of sync. Previously it reported the fact but may have left users confused about its connection with the failure to license the ATE client. The new message is more clear, includes the server's date, and can be customized through the 003,xxx entries in the SYS:SYSMSG.lng file (where xxx is 010, 011 and 012). Also, once this error occurs, the server no longer retries, which was further confusing things. |
|
1146, 23 May 09 |
The default for the "GUI tokenize" option is now OFF within ATE itself, even though it is ON within the ATE configuration dialogs. Even though this seems illogical, it only affects sites who upgrade from ATE 5.0 to 5.1 without going through the ATE configuration dialog. (Since the default was OFF in 5.0, it makes sense to preserve that in 5.1 with existing profiles that have not been edited. (This probably only affects FMC.) |
|
1144, 02 Apr 09 |
In directing input (and especially typeahead) to the correct place (i.e. either the server or the client) when using GUI operations. (In a normal GUI program, virtually all of the real keyboard characters should be consumed on the client side, rather than sent directly to the server, but the reverse is true if the server uses any non-GUI input routines.) Previously, tiny timing gaps were allowing typeahead characters to sneak through when moving from one GUI input operation to the next, which sometimes led to confusion or dropped characters. |
|
1144, 02 Apr 09 |
Add AG_TRACE to Extended TAB(-10,x) Commands to clear/set/query ATE trace flags. |
|
1143, 23 Mar 09 |
Minor adjustment to TCP disconnect logic, hopefully to allow for cleaner client-initiated shutdowns. |
|
1143, 23 Mar 09 |
|
|
1143, 23 Mar 09 |
|
|
1140, 07 Mar 09 |
Modify AG_FILESTATS in Extended TAB(-10,x) Commands to return version and hash. |
|
1139, 02 Mar 09 |
Add AG_CHKPCNET in Extended TAB(-10,x) Commands to check the state connected status of PCs. |
|
1138, 19 Feb 09 |
The A-Shell server now keeps track of ATE client versions in JOBTBL.SYS, so that they can be displayed using SYSTAT/ATE (see below). |
|
1134, 20 Jan 09 |
It is now possible to Restore Profiles with ATECFX that have previously been virtualized to HKCU registry entries under Vista. |
|
1133, 02 Jan 09 |
Environment variable resolution refinement: ATE-related environment variables (e.g. ATECACHE, ATEPERMCACHE) are now recognized by any instance of A-Shell that is aware of an ATE configuration (i.e. via the -atecfg cfgname command line parameter). Practically speaking, this means that child processes launched by ATE (such as APEX, or the File>Open Local Session menu function), now understand filespecs containing ATE environment variables such as %ATECACHE%. This is particularly useful for the //META,FTP GDI directive, which is often processed by APEX in a child instance of ATE (and therefore previously didn't understand %ATECACHE%). |
|
1131, 15 Dec 08 |
Add update notes to Printing about APEX file names and the NULL: printer. |
|
1129, 31 Oct 08 |
Support new ATE profile emulation-related options: Top / Bottom Status, Disable field attributes (OPTIONS=NOFLDATTR), No space attributes (OPTIONS=NOSPACEATTR), Caps lock, Tokenize GUI text (OPTIONS=GUI_SPC_IND). |
|
1116, 13 June 08 |
You can now pass arbitrary command line arguments from ATE to ASHW32 using a new meta-parameter ashargs. (Later deprecated.) |
|
1104, 18 Feb 08 |
Add AG_OPTIONS in Extended TAB(-10,x) Commands to set/retrieve options for ATE. |
|
1104, 18 Feb 08 |
ATE 5.0 and 5.1 now have separate COM identifiers, so they can be run in parallel. Note: this also means that any COM XCALLs, such as FTPDLXCALL.DLL, are also specific to 5.0 or 5.1. If you have created your own COM XCALLs, contact us for details on converting them to 5.1. |
ATE enhancement: a new transport option, SSH, is now offered. SSH is similar to TUNNEL except: a) it doesn't require the telnet daemon on the server, nor its port, typically 23, to be open; b) it uses ASHNET.DLL (1.2.108+) instead of ATETUNNEL.EXE / WODTUNNEL.DLL; c) the connection will appear to the host as originating from your PC or local router, rather than from localhost; d) there is only one login operation, and you won't ever see the server prompts for it. (If there is a problem with the login, a local Windows dialog will display, allowing you to correct your name/password).
In most cases, the new SSH option will be preferable to the TUNNEL option, but the differences may not be that important to many users. (And there may be a shake-out period during which some SSH glitches may have to be resolved.)
ATECFX.SBX has been updated to 4.1(132) to support the new SSH transport option. Note that when the SSH transport is selected, the Telnet Port, Local Tunnel Port, Verbose Tunnel Interface, and "Wait for Login Prompt" fields are disabled, as they don't apply.
ATE enhancement: When using the SSH transport, if the login fails because of a problem with the name or password, a dialog will display, allowing you to adjust them and retry or cancel. If you make adjustments and succeed to connect, then your updated name and password will be saved in your profile, UNLESS those fields were blank in the profile initially.
The theory here is as follows: in more secure environments, including those where the password is forced to be changed frequently, the name might be stored in the profile, but the password left blank, forcing it to be entered interactively on each connection. Or, if multiple users share a PC and/or connection profile, you might leave them both blank to force both to be entered each time. In either of these cases, the fields which are initially blank in the profile will be left blank.
However, if you store a non-blank name and/or password in the profile, and there is a problem with one, and you make the necessary corrections while logging in, then your corrections will be saved in the profile.
The special value "[init]" may be entered into the server name, login name, and/or login password to cause it to prompt on the first try, and then to save the values you enter. (Actually, any values will give you the same effect, except for the initial attempt to connect. ATE recognizes the "[init]" and prompts immediately, before trying to connect.)
If the login name is updated, the FTP name will also be updated if it was non-blank in the profile and originally matched the login name, or if it was set to "[init]". Likewise with the FTP password. (Usually the login and FTP credentials are the same, but it is possible that you want the server to always prompt for FTP login (in which case leave those fields blank), or they are simply different (in which case you probably don't want the FTP credentials to change just because the login credentials did.)
ATECFX.SBX 4.0(126) now detects old HKLM profiles which have been virtualized under Vista to HKCU\Classes\VirtualStore\MACHINE\SOFTWARE\... and offers to migrate them back to HKCU\Software\...
The offer is only made for profiles that don't already exist in the regular HKCU or HKLM locations, and once the offer is made, regardless of the user's choice, a second option is given to delete them afterwards. (Since we are moving profiles that were originally intended to be shared by all users of the PC, into the HKCU where they will only be accessible by the current user, the idea of not deleting them after migration would be to allow the process to be repeated for other user logins.
Once made, a registry value is created which prevents the offer from being repeated over and over again. You can, however, reset the switch by deleting the value HKCU\Software\MicroSabio\JBCT\ATE\Settings\MigrateVHKLM.
ATE server-side protocol enhancement: New general purpose status code -15 indicates that ATE failed to respond to the server request within the normal time limit (5 seconds for most commands, 10-15 for a few). Sometimes commands that "should" respond almost instantly will take a long time, either because ATE is "locked up", or there is some other Windows hang-up, such as waiting on "elevation" or some other critical event. In such cases, if the command normally returns a numeric status code, we now return -15 to indicate time out. The affected routines include:
|
AUI_MENU |
MX_FILESTATS |
MX_MKDIR |
MX_SHELLEX |
AUI_ENVIRONMENT |
|
AUI_HTMLHELP |
MX_GDICALC |
MX_CHKPCNET |
MX_SHORTCUT |
MX_WINSETTINGS |
MX_SHELLEX enhancement for server side of ATE: New waitflag bit +4 disables the normal 10 second time out waiting for the ShellExecute operation to complete. Normally 10 seconds is more than enough time to determine whether the launch was successful or not, but there are some cases, most notably under Vista when the launch requires the user to confirm "elevation", that the server was otherwise timing out while ATE was still waiting for the ShellExecute to return. In such as case, an unreliable error status was often being returned, and then when the command finally did return, the normal response code was ending up in the keyboard buffer, possibly confusing the application. Specifying the +4 flag should not have any effect on older versions of A-Shell or under non-ATE situations.
Note that wait is independent of the existing waitflag option +1, which suspends ATE until the launched application completes. +4 only waits until the program is launched, not until it is closed.