Using the Personalization Feature in Reflection for the Web
Technical Note 1807
Last Reviewed 02-Jun-2011
Applies To
Reflection for the Web 2014 (All Editions)
Reflection for the Web 2011 (All Editions)
Reflection for the Web 2008 (All Editions)
Summary

This technical note provides an overview of Reflection for the Web's Personalization feature. The basic implementation uses a default plug-in and data source.

Note: For information about how to personalize Reflection for the Web sessions with information stored in an SQL Server database (or any database with a JDBC driver), see Technical Note 1835.

In this note:

What is Personalization?

Personalization is the ability to customize the applet parameters for a Reflection for the Web session based on an attribute of the end user, such as identity, IP address, or DNS name. Any valid Reflection for the Web applet parameter, including device name and declans (VT answer back), can be customized based on which user is running the Reflection session.

Terminology

Refer to the following terms when using the personalization feature.

Plug-in: a piece of code that enables the Reflection for the Web management server to read personalization data from a data source. Reflection ships with a default plug-in, which can be used to read personalization data from a flat file (p13n_data.txt) on the Reflection management server. You can also write a custom plug-in to read from whatever data source you prefer to use.

Data source: a file used to store data mappings of user attributes to applet parameter values. A compatible plug-in is required to read the data source.

p13n_data.txt: a flat file stored on the Reflection for the Web management server that acts as a data source file for the default plug-in. The file can be used to store personalization data. Each line in the file utilizes four fields, separated by colons, to define these attributes:

User identity
DNS name or IP address of the end user machine
Session name
A comma-delimited list of applet parameters and their values

The p13n_data.txt file ships with Reflection for the Web management server and contains comments describing how to use it.

Note: The basic implementation described in this technical note uses a default plug-in and a flat file data source. However, other data sources and plug-ins, including SQL databases, are also supported. If you are interested in a custom plug-in, contact Attachmate Technical Services, http://www.attachmate.com/Products/Technical+Services/.

About ID Manager

Personalization enables you to customize a variety of applet parameters, including Terminal IDs and device names. The ID Manager component has been added to Reflection for the Web to provide a web-based user interface that allows you to view pooled terminal IDs, track ID usage, and manage inactivity timeout values for specific users, thereby conserving terminal ID resources.

Beginning in Reflection for the Web 2008 R3, we recommend that you use the ID Manager to manage terminal IDs for Airlines Printing, ALC, T27, and UTS sessions. For more information, see Technical Note 2517.

Beginning in Reflection for the Web 2011, we recommend that you use the ID Manager to provide device names and terminal IDs to clients for all session types, except VT sessions. For more information, see the Reflection for the Web 2011 product documentation about ID Manager.

Enabling Personalization Using the Default Plug-in

To enable the Personalization feature, you must edit two files in the ReflectionData folder to identify the default plug-in and to create the data source.

Locate the ReflectionData Directory

The default location of the ReflectionData directory depends on your version of Reflection for the Web and the platform on which you run Reflection for the Web. If you install to a non-default location, use the path to which you installed.

Windows XP and Windows 2003

Reflection for the Web 2011:

C:\Documents and Settings\All Users\Application Data\Attachmate\ReflectionServer\ReflectionData

Reflection for the Web 2008:

C:\Program Files\ReflectionServer\ReflectionData

Other Windows Platforms

Reflection for the Web 2011:

C:\ProgramData\Attachmate\ReflectionServer\ReflectionData

Reflection for the Web 2008:

C:\Program Files\ReflectionServer\ReflectionData

UNIX/Linux Platform

Reflection for the Web 2011:

/var/opt/attachmate/reflectionserver/reflectiondata

Reflection for the Web 2008:

ReflectionData located in the management server installation directory.

Specify the Default Plug-in

  1. Edit the PropertyDS.XML file to specify that the Reflection for the Web management server use the DefaultPlugin.

Open ReflectionData\PropertyDS.XML and locate the following lines:

<CORE_PROPERTY NAME="AC.P13nPlugin">
<STRING></STRING>
</CORE_PROPERTY>
  1. Insert DefaultPlugin (shown in red below) between the two STRING tags to read as follows:
<CORE_PROPERTY NAME="AC.P13nPlugin">
<STRING>DefaultPlugin</STRING
</CORE_PROPERTY>
  1. Restart the Reflection Server.

Note: Parameter values must be enclosed in quotes, " ", for example, PARAM="VALUE".

Create the Data Source

Follow the steps in this section to create a customized data source by inserting your preferred data mappings into the p13n_data.txt file.

  1. Decide which parameters and properties you want to map.

Parameters. For information on valid parameters, see the Administrative WebStation > Advanced > Applet Attributes and Parameters > Index of Attributes and Parameters.

Personalization is most commonly used with the parameters for device name, declans (VT answer back), and terminal IDs. For example:

    • With IBM emulation, the parameter is deviceName, and the values are strings that correspond to logical units (LUs). See About ID Manager.
    • With Answerback (only on VT systems, the parameter is declans, and the value can be any string.

Airline Protocols. The terminal IDs for Airlines Printing, ALC, T27, and UTS sessions can be configured using applet parameters. See About ID Manager.

    Emulation
    Protocol
    Parameter
    Value
    Notes
    Airlines Printer & ALC
    Airgate
    airgateTerminalID
    any string
     
     
    Apollo
    atstcpWorkstationName
    any string
     
     
     
    atstcpGTID
    an integer
    GTID Value
     
     
    atstcpGTIDIndex
    an integer
    GTID Index
     
    Lantern
    lanternTerminalAddress
    2-byte hex value (00 - FF)
     
     
    Matip
    matipAddressH1
    2-byte hex value (00 - FF)
     
     
     
    matipAddressH2
    2-byte hex value (00 - FF)
     
     
     
    matipAddressA1
    2-byte hex value (00 - FF)
     
     
     
    matipAddressA2
    2-byte hex value (00 - FF)
     
     
     
    matipAddressA2
    2-byte hex value (00 - FF)
     
     
     
    matipAddressTA
    2-byte hex value (00 - FF)
    for UTS, this will set the SID property
     
    Sabre
    sabreLniataAddress
    6-byte hex value (000000 - FFFFFF)
    specify either sabreLniataAddress or sabreLniataClass
     
     
    sabreLniataClass
    any string
    specify either sabreLniataAddress or sabreLniataClass
     
    Shares
    udpfradLNIATA
    6-byte hex value (000000 - FFFFFF)
     
    T27
    Tcpa
    TcpaTerminalID
    any string
    in Reflection for the Web 2008
     
     
    TxTerminalID
    any string
    in Reflection for the Web version 9.6
    UTS
    Int1
    int1TerminalID
    any string
     
     
    Matip
    (see Matip list above)
     
     
     
    Pepgate
    pepgateSCRID
    any string
    specify either pepgateSCRID or pepgateRIDSID
     
     
    pepgateRIDSID
    RxxSxx, where xx is 2-byte hex value
    specify either pepgateSCRID or pepgateRIDSID

Properties. Many properties can also be used with personalization. For a list of valid properties, see the Administrative WebStation > Advanced > API and Scripting > API Reference.

  1. If you want to personalize a setting based on a user's identity (user distinguished name, user ID, or LDAP distinguished name), Reflection for the Web must be configured to use an authentication method that establishes user identity: LDAP, Portal, SiteMinder, X.509, Single Sign-on through IIS, or Single Sign-on through Windows.

Note: If you want to personalize a setting based on a client machine IP address or client machine domain name, an authentication method that establishes user identity is not required.

    1. Verify the current access control method in Reflection for the Web. In the Administrative WebStation, click Access Control Setup. The Current Settings table lists the type of authentication in effect.
    2. To configure or change the access control method, click the Configure button on the Access Control Setup page.

Note: If the authentication method is None, then the identity of the end user cannot be determined.

  1. Open the ReflectionData\p13n_data.txt file, to which you will add your data mappings. Note the traits of the file:
    • The file contains comments describing the required format. Each line that begins with a # symbol is a comment.
    • Each line in the data source contains four fields, which are separated by colons (:).
    • The syntax is for data mapping is
[USER DN | ID]:[DNS | IP]:[SESSION]:[PARAM="VALUE"] [,PARAM="VALUE"]
    • The pipe symbol (|) means "or." For example, the first two fields in the line above would be interpreted as
[USER DN or ID]:[DNS or IP]
    • DN means "distinguished name" (for LDAP configuration).
    • A field can either be blank or contain an asterisk (*) to indicate "all."
    • In the fourth field, each parameter=value set is separated by a comma.
  1. Edit the p13n_data.txt file by adding uncommented lines that contain your desired data mappings. Use the sample data source and the scenarios below as a guide. After you complete your edits, save the file.

Sample Data Source

The following table describes and displays sample values for each field in p13n_data.txt.

Field 1
Field 2
Field 3
Field 4
User Identity
(see Note below)

DNS name or IP Address of end user machine
Session name
Comma-delimited list of applet parameters and values
[USER DN | ID]
[DNS | IP]
[SESSION]
[PARAM="VALUE"] [,PARAM="VALUE"] ...
john
machine1.atm.com
session1
testParam="ddd"
cn=john,ou=sales,
dc=acompany,dc=com

150.215.70.5
 
testParam1="ddd", testParam2="eee"
 
150.215.70.*
 
 
 
150.215.*.*
 
 
 
150.*.*.*
 
 

Note: When the default plug-in is used, LDAP groups cannot be used for User Identity (Field 1). Other plug-ins and methods, however, can provide this functionality.

Scenarios

The following scenarios may help you determine how to enter specific lines to map your data preferences in the p13n_data.txt file. The scenarios progress from less specific entries to more specific (and therefore more restrictive) entries.

Scenario A

Set the device name to aaa and set all session titles to Company XYZ Session for all users:

::: deviceName="aaa", title="Company XYZ Session"

The three colons (:::) are equivalent to wildcards for the User Identity, DNS/IP, and Session name fields.

Scenario B

Set the device name to bbb for a session named session1, regardless of the user identity or DNS/IP address.

::session1: deviceName="bbb"

The two leading colons (::) are equivalent to wildcards for the User Identity and DNS/IP fields.

Scenario C

Set the device name to eee for any user accessing session1 from this IP address, 10.125.170.120.

:10.125.170.120 : session1 : deviceName="eee"

The leading colon (:) is a wildcard for the User Identity field.

Scenario D

Set the device name to eee for any user accessing session1 from this IP address, 10.125.170.*.

:10.125.170.* : session1 : deviceName="eee"

The leading colon (:) is a wildcard for the User Identity field. The asterisk (*) acts as a wildcard for the last octet of the IP address and will match any address in the 10.125.170.* subnet.

Scenario E

Set the answerback value to a specified value for each listed user when session2 is accessed from a machine with DNS name *.xyz.company.com.

maryc:*.xyzcompany.com:session2: declans="abc"
johnd:*.xyzcompany.com:session2: declans="def"
janee:*.xyzcompany.com:session2: declans="ghi"

The asterisk (*) acts as a wildcard in the domain name, *.xyzcompany.com.

Airlines Printing Sessions

In Airlines Printing sessions, there can be multiple routes per session. To specify which route the parameter is intended for, use this syntax:

[AirlinesRoute\:ROUTE.PARAM="VALUE"] [, AirlinesRoute\:ROUTE.PARAM="VALUE"]

Note: For personalization, the colon (:) must be preceded by a backslash (\) because the personalization data parser uses a colon as a field separator.

Follow these examples.

  • Configuring an ALC session using MATIP:
johnd:*.xyzcompany.com:session2: matipAddressA1="10", matipAddressA2="20", matipaddressH1="30", matipAddressA4="40", matipAddressTA="50"
  • Configuring an Airlines Printing session using MATIP:
johnd:*.xyzcompany.com:session2: AirlinesRoute\:MyRoute1.matipAddressA1="10", AirlinesRoute\:MyRoute1.matipAddressA2="20", AirlinesRoute\:MyRoute1.matipaddressH1="30", AirlinesRoute\:MyRoute1.matipAddressA4="40", AirlinesRoute\:MyRoute1.matipAddressTA="50"

Verify the Changes

After you enter the lines into the data source and save the p13n_data.txt file, open a session for which you added personalized settings, and verify that the affected fields are populated.

Here are some ways to verify the changes:

  • Verify that the terminal session behaves as expected.
  • Check the values in the Reflection for the Web emulator user interface.

For example, the declans applet parameter is used to set the VT Answerback. To view the Answerback value, run the VT session and click Setup > Terminal > Emulation (tab) > Advanced (button). The Answerback message field is in the middle of the Advanced VT Options dialog box.

Note: the Setup Terminal dialog is only visible if the session is configured for Advanced or Administrator menus.

  • Verify the values of the applet parameters in the HTML for the terminal session. To view the HTML:
    1. In the Administrative WebStation, click Session Manager and click a session name to edit the session.
    2. Choose the radio button to Display session embedded in a web browser window. Click Save settings.
    3. Launch the session or ask a user to run the session. In the browser, view the HTML source for the session web page.

The applet parameter and desired value should appear in the HTML source.

Related Technical Notes
1835 Personalizing Reflection for the Web Using the SQL Plug-in

Did this technical note answer your question?

           



Need further help? For technical support, please contact Support.