Note that all ScreenSurfer URL commands start with the string "/SURFER/". This provides a consistent path off of the HTTP URI root for a Web Server plug-in or extension to indirect HTTP requests to the ScreenSurfer service.
Current product plans are for ScreenSurfer to integrate with the Netscape
family of servers (using the NSAPI or WAI interfaces) as well as the Microsoft
Internet Information Server (IIS) using the ISAPI filter extension
type.
If the user already has an active session, he or she will be reconnected to that session. If a user needs to have more than one session active, the /SURFER/CONNECTNEW command should be used.
The LU GROUP parameter should be of the form LU_GROUP_n where "n" is a number from 1 to 10, and is the same as the subject groups position in the current ScreenSurfer settings page.
If the CONNECT URL is successful, the next page displayed will be from the first host screen displayed after a terminal activation, depending on the LU group and the host programming. This first page may be created using the Global.Default template section or from a customization section described in a template file. Note that the first page displayed following a CONNECT command is not cached so that the user can bookmark / re-key the connect command and not get a cached (dead) page.
In addition, on a successful connection, the client will be sent the special cookie SurferKey which is used to reconnect the user to any existing session if the /SURFER/CONNECT command is given while that session exists.
Typically, a page resulting from the CONNECT command will include an HTML form which contains a number of elements related to the screen displayed, and having an action URL which calls the EMULATOR command.
The EMULATOR command has a required parameter, SessionKey, which is always included in any generated URL's using the <TEMACRO SessionKey> tag.
The EMULATOR command calls the ScreenSurfer emulation processor, which
scans for any HTML name-value pairs of the following form:
F_offset_length | Defines field data to be updated directly to the host screen at the specified offset and length |
E_Enter | The Enter key-- usually set as the name of a button |
C_Pos | Cursor position, will contain a zero-based offset to set current cursor position |
IAID.X, IAID.Y | Horizontal PFKey image map was clicked-on -- see <TEMACRO TERMHKEYS> |
VAID.X, VAID.Y | Vertical PFKey image map was clicked on -- see <TEMACRO TERMVKEYS> |
A_AidKeyString | The AidKeyString can be of the EHLLAPI form (as in @E for ENTER) or the mnemonic form ([ENTER] for ENTER). |
Following data entry from the inbound web data, the EMULATOR command
will send the ENTER or PFkey (depending on operator input) to the host,
and then call the Screen Recognition Engine in order to identify
the next host screen. Note that by using the <TEEVENT>
tag, any exceptions on the current host screen can be caught and processed,
without "diving" into the general screen recognition rulebase.
The SessionKey is used to validate the user and if the user owns the session indicated by the sessionkey, the current host screen is redisplayed through the appropriate template (if the screen is known by ScreenSurfer).
See the /SURFER/CONNECT URL for situations
where the SessionKey is not available but the user has a current session
active.
If the SessionKey is valid, the host screen session will be disconnected
from the user and the user will be presented with the Global.Home
HTML page.
KeyString can be any sequence of host keys (see Valid Keystroke Mnemonics for Host Keys, but should end with an AID key, such as "[enter]").
An example of generating a link in a template follows: it homes the cursor, enters three fields then sends a PF1:
<A HREF="/SURFER/SENDKEYS/<TEMACRO SESSIONKEY>/[home]data1[tab]data2[tab]data3[pf1]/<TEMACRO
SCREENID>">
Note that the name-value pairs for SessionKey and ScreenID are required
for any transaction which will be accessing an active session. The
<TEMACRO TRANURL> is specifically
designed to generate user-defined transactions with the correct inclusion
of SessionKey and ScreenID.