{"id":2011,"date":"2019-12-16T14:04:16","date_gmt":"2019-12-16T22:04:16","guid":{"rendered":"https:\/\/portal.staylinked.com\/sl\/kb\/?post_type=ht_kb&#038;p=2011"},"modified":"2025-10-28T09:02:40","modified_gmt":"2025-10-28T16:02:40","slug":"implementing-dynamic-smartte-steps","status":"publish","type":"ht_kb","link":"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/implementing-dynamic-smartte-steps\/","title":{"rendered":"Implementing Dynamic SmartTE Steps"},"content":{"rendered":"\n<h2>Implementation Steps<\/h2>\n\n\n\n<p>The following steps can be\ntaken to implement a SmartTE environment in your installation. These steps will\nvary based on the design and implementation of your host application. Examples\nof how these settings should appear to your devices have been included to help\ndemonstrate these features. This document is intended as a quick overview of\nimplementation, and contains only the most basic options and features.<\/p>\n\n\n\n<p>The following is a general\noverview of the steps to enable graphical features:<\/p>\n\n\n\n<ol><li>Create a tap spot\ncollection for your application<\/li><li>Select your telnet\nhost entry<\/li><li>Assign the tap spot\ncollection to your telnet host entry<\/li><li>Enable your\ndynamic settings in the host entry<\/li><li>Test, tune and\nexpand<\/li><\/ol>\n\n\n\n<h2>Create a Tap Spot Collection<\/h2>\n\n\n\n<p>Tap spots have been a part of StayLinked since nearly the beginning. With\nSmartTE, tap spots have been upgraded to allow regular expressions. These\nexpressions allow the StayLinked Server to watch screen text for patterns,\ninstead of being limited to static text elements.<\/p>\n\n\n\n<p>At this stage, your tap spot collection may contain only one static line\nas a placeholder. You simply want to create a collection that you can start to\nwork with and assign it to your host entry in the next step.<\/p>\n\n\n\n<p>The key indicator that your collection is for use with SmartTE is that it <strong>should not have any delimiters<\/strong>. The static mappings still work the way they used to, but each tap spot collection can include both static mappings and regular expressions. Regular expressions are noted with the [regex] mnemonic. More information on regular expressions can be found in the regular expressions guide, or using various internet sources.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"520\" height=\"304\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_1.jpg\" alt=\"\" class=\"wp-image-2012\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_1.jpg 520w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_1-300x175.jpg 300w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_1-50x29.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_1-60x35.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_1-100x58.jpg 100w\" sizes=\"(max-width: 520px) 100vw, 520px\" \/><\/figure>\n\n\n\n<p>Some of the common expressions that are used for tap spot collections may include the following:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>   \\d   <\/td><td>\n  A numerical digit\n  <\/td><\/tr><tr><td>   \\s   <\/td><td>\n  A space\n  <\/td><\/tr><tr><td>\n  |\n  <\/td><td>\n  This is an \u2018or\u2019 statement\n  <\/td><\/tr><tr><td>\n  (contents)\n  for $#\n  <\/td><td>\n  Capture argument of contents for use as a $ variable\n  <\/td><\/tr><tr><td>[caption #]<\/td><td>\n  Create a label of the next # of characters\n  <\/td><\/tr><tr><td>[caption #,#]<\/td><td>\n  Create a label starting at the first number position thru the next # of\n  characters such as \n  <\/td><\/tr><tr><td>   \\w*   <\/td><td>\n  Word or collection of\n  uninterrupted letters\n  <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2>Select your Telnet Host Entry<\/h2>\n\n\n\n<p>StayLinked connections fall into a device group. Each device group points to a telnet host group, which is a list of telnet servers that will be available to that connection. Each telnet host in the group has its own configuration for screen recognition and dynamic settings. You can create a new entry or use an existing one, but any host group that contains more than one host entry will present the users with a choice.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"396\" height=\"325\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_2.jpg\" alt=\"\" class=\"wp-image-2018\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_2.jpg 396w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_2-300x246.jpg 300w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_2-50x41.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_2-60x49.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_2-100x82.jpg 100w\" sizes=\"(max-width: 396px) 100vw, 396px\" \/><\/figure>\n\n\n\n<h2>Assign your Tap Spot Collection to the Telnet Host Entry<\/h2>\n\n\n\n<p>Once you have your telnet host, select the \u2018Tap Spots Collection\u2019 that was created in the previous step from the pulldown menu.<\/p>\n\n\n\n<h3>Enable Dynamic SmartTE Features<\/h3>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large\"><img loading=\"lazy\" width=\"253\" height=\"212\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic25.jpg\" alt=\"\" class=\"wp-image-3060\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic25.jpg 253w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic25-50x42.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic25-60x50.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic25-100x84.jpg 100w\" sizes=\"(max-width: 253px) 100vw, 253px\" \/><\/figure><\/div>\n\n\n\n<p>When you\u2019re ready to try out the graphical tap spots, open your telnet host entry and select the Manage pull-down menu. Select Dynamic Screen Settings and you\u2019ll get the dialogue as it appears here. Double click on Tap Spots and select Yes to enable the graphical version of your tap spots.<\/p>\n\n\n\n<p>Other options can be enabled or disabled from this dialogue. If you select a background image, be sure to review the appendix section on image file paths. Devices that cannot retrieve the file will not be able to display it as a background.<\/p>\n\n\n\n<p>As a note, the OIA setting will not affect VT emulation sessions.<\/p>\n\n\n\n<h3>Test, Tune and Expand<\/h3>\n\n\n\n<p>Once your basic settings can be tested and operate on your client, you can expand your tap spot collections or enable additional options in the Dynamic Setting panel.<\/p>\n\n\n\n<p>This expansion of options is demonstrated in the following section, which starts with basic configuration and then expands to capture additional content.<\/p>\n\n\n\n<p>Screens that do not easily conform to dynamic rules can be manually reformatted using screen recognition.<\/p>\n\n\n\n<h3>Sample Implementation<\/h3>\n\n\n\n<p>This demonstration begins after creating the telnet host entry and enabling the graphical tap spots. This section is essentially the demonstration of step 5 from the previous section, testing and adjusting the configuration to get our desired results.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large\"><img loading=\"lazy\" width=\"258\" height=\"182\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic26.jpg\" alt=\"\" class=\"wp-image-3063\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic26.jpg 258w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic26-50x35.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic26-60x42.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic26-100x71.jpg 100w\" sizes=\"(max-width: 258px) 100vw, 258px\" \/><\/figure><\/div>\n\n\n\n<p>Starting with a basic emulation screen, you would want to identify patterns or commands on the screen that you might want to turn into buttons. In this screen, there are two commands immediately apparent, the F10 and F3. They\u2019re a bit hard to see in the dark blue, so turning into buttons will help make them more obvious.<\/p>\n\n\n\n<p>There are two ways to approach this. The first would be to create a static tap spot and the second would be a regular expression. We\u2019ll use the F10 as a sample of fixed, and a regular expression for the F3. Adding these expressions to the tap spot collection (see the notes for details):<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic27.jpg\" alt=\"\" class=\"wp-image-3065\" width=\"369\" height=\"233\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic27.jpg 354w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic27-300x189.jpg 300w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic27-50x31.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic27-60x38.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic27-100x63.jpg 100w\" sizes=\"(max-width: 369px) 100vw, 369px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic28.jpg\" alt=\"\" class=\"wp-image-3066\" width=\"371\" height=\"233\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic28.jpg 354w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic28-300x189.jpg 300w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic28-50x31.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic28-60x38.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic28-100x63.jpg 100w\" sizes=\"(max-width: 371px) 100vw, 371px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large\"><img loading=\"lazy\" width=\"253\" height=\"192\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic29.jpg\" alt=\"\" class=\"wp-image-3067\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic29.jpg 253w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic29-50x38.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic29-60x46.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic29-100x76.jpg 100w\" sizes=\"(max-width: 253px) 100vw, 253px\" \/><\/figure><\/div>\n\n\n\n<p>After a disconnect and reconnect to resend the client screen, the emulation screen now looks like so:<\/p>\n\n\n\n<p>The default light grey buttons may make the text hard to read, so adding a color code to the caption provides a higher contrast. In this case, [rgb 004477]:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large\"><img loading=\"lazy\" width=\"253\" height=\"191\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic30.jpg\" alt=\"\" class=\"wp-image-3068\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic30.jpg 253w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic30-50x38.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic30-60x45.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic30-100x75.jpg 100w\" sizes=\"(max-width: 253px) 100vw, 253px\" \/><\/figure><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"354\" height=\"223\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic31.jpg\" alt=\"\" class=\"wp-image-3069\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic31.jpg 354w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic31-300x189.jpg 300w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic31-50x31.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic31-60x38.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic31-100x63.jpg 100w\" sizes=\"(max-width: 354px) 100vw, 354px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large\"><img loading=\"lazy\" width=\"240\" height=\"237\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic32.jpg\" alt=\"\" class=\"wp-image-3071\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic32.jpg 240w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic32-50x50.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic32-60x60.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic32-100x100.jpg 100w\" sizes=\"(max-width: 240px) 100vw, 240px\" \/><\/figure><\/div>\n\n\n\n<p>This shows that the buttons are applied, until I return to the previous screen. Notice the F3 button doesn\u2019t get created. Looking at the entry in more detail, the answer should stand out. This expression looks for the letter F and the number three, then a space and equal sign. On this screen, there is no space between the three and equals.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"354\" height=\"223\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic33.jpg\" alt=\"\" class=\"wp-image-3072\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic33.jpg 354w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic33-300x189.jpg 300w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic33-50x31.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic33-60x38.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic33-100x63.jpg 100w\" sizes=\"(max-width: 354px) 100vw, 354px\" \/><\/figure>\n\n\n\n<p>In this case, I\u2019ll create a single expression that looks for the F, then a number, an equals and a word. Since this will affect several functions, we\u2019ll put both the beginning and end parts in parenthesis so we can use them as variables. Here\u2019s the expression (below) with the results to the right.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large\"><img loading=\"lazy\" width=\"354\" height=\"223\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic34.jpg\" alt=\"\" class=\"wp-image-3075\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic34.jpg 354w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic34-300x189.jpg 300w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic34-50x31.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic34-60x38.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic34-100x63.jpg 100w\" sizes=\"(max-width: 354px) 100vw, 354px\" \/><\/figure><\/div>\n\n\n\n<p><strong>Be sure to avoid overlapping entries.<\/strong> Screen items that meet multiple regex entries will create multiple overlapping buttons. Each button will work, but will send more information to the client and may not paint properly. In this example, there are now two different arguments that would affect the F10 key if it is mapped to Prev Menu. Removing the original entry for F10 will prevent this conflict.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large\"><img loading=\"lazy\" width=\"354\" height=\"223\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic35.jpg\" alt=\"\" class=\"wp-image-3077\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic35.jpg 354w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic35-300x189.jpg 300w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic35-50x31.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic35-60x38.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic35-100x63.jpg 100w\" sizes=\"(max-width: 354px) 100vw, 354px\" \/><\/figure><\/div>\n\n\n\n<p>So far, this works great until I come across a screen with a two-digit function key and three word title. I\u2019ll copy my previous entry for single-digit functions, but add another \\d for the second function key digit. I\u2019ll also add another space \\s and word \\w* for each possible word in the button description.<\/p>\n\n\n\n<p>This means that my function keys have all been customized with a standard set of four rules, including the original entry that was a slightly different format.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"520\" height=\"271\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic36.jpg\" alt=\"\" class=\"wp-image-3078\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic36.jpg 520w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic36-300x156.jpg 300w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic36-50x26.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic36-60x31.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic36-100x52.jpg 100w\" sizes=\"(max-width: 520px) 100vw, 520px\" \/><\/figure>\n\n\n\n<p>Adding two more expressions makes a significant difference in the display of this standard IBMi 5250 screen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"354\" height=\"223\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic37.jpg\" alt=\"\" class=\"wp-image-3080\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic37.jpg 354w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic37-300x189.jpg 300w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic37-50x31.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic37-60x38.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic37-100x63.jpg 100w\" sizes=\"(max-width: 354px) 100vw, 354px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"354\" height=\"223\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic38.jpg\" alt=\"\" class=\"wp-image-3081\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic38.jpg 354w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic38-300x189.jpg 300w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic38-50x31.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic38-60x38.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic38-100x63.jpg 100w\" sizes=\"(max-width: 354px) 100vw, 354px\" \/><\/figure>\n\n\n\n<p>Notice the first expression looks for two initial spaces. As part of the expression, the spaces become part of the button and then both the single and double digit menu items will line up together.<\/p>\n\n\n\n<p>An IBM Client Access screen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"613\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic39-1024x613.jpg\" alt=\"\" class=\"wp-image-3083\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic39-1024x613.jpg 1024w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic39-300x180.jpg 300w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic39-768x460.jpg 768w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic39-50x30.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic39-60x36.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic39-100x60.jpg 100w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic39.jpg 1041w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The new expressions for the numeric items are found at the bottom of the previous page. The function keys follow the previous examples in the sample application.<\/p>\n\n\n\n<p>The Dynamically Created SmartTE Screen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"590\" src=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic40-1024x590.jpg\" alt=\"\" class=\"wp-image-3085\" srcset=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic40-1024x590.jpg 1024w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic40-300x173.jpg 300w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic40-768x443.jpg 768w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic40-50x29.jpg 50w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic40-60x35.jpg 60w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic40-100x58.jpg 100w, https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2020\/11\/DynamicGraphic40.jpg 1036w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>In this example, the caption is configured for 50 characters. This would need to be tested among other screens, since a menu with two columns may land within the 50-character configuration.<\/p>\n\n\n\n<p>It may be beneficial to create a flow chart of each screen in order to validate that each is tested with your dynamic configuration.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Implementation Steps The following steps can be taken to implement a SmartTE environment in your installation. These steps will vary based on the design and implementation of your host application. Examples of how these settings should appear to your devices have been included to help demonstrate these features. This document&#8230;<\/p>\n","protected":false},"author":7,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":[],"ht-kb-category":[57],"ht-kb-tag":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Implementing Dynamic SmartTE Steps &ndash; StayLinked<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.staylinked.com\/knowledge-base\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Implementing Dynamic SmartTE Steps &ndash; StayLinked\" \/>\n<meta property=\"og:description\" content=\"Implementation Steps The following steps can be taken to implement a SmartTE environment in your installation. These steps will vary based on the design and implementation of your host application. Examples of how these settings should appear to your devices have been included to help demonstrate these features. This document...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/implementing-dynamic-smartte-steps\/\" \/>\n<meta property=\"og:site_name\" content=\"StayLinked\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-28T16:02:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_1.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/portal.staylinked.com\/sl\/kb\/#website\",\"url\":\"https:\/\/portal.staylinked.com\/sl\/kb\/\",\"name\":\"StayLinked Knowledge Base\",\"description\":\"Partner Portal Resources and Support\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/portal.staylinked.com\/sl\/kb\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/implementing-dynamic-smartte-steps\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_1.jpg\",\"contentUrl\":\"https:\/\/portal.staylinked.com\/sl\/kb\/wp-content\/uploads\/2019\/12\/ImplentingDynamic-SmartTE_1.jpg\",\"width\":520,\"height\":304},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/implementing-dynamic-smartte-steps\/#webpage\",\"url\":\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/implementing-dynamic-smartte-steps\/\",\"name\":\"Implementing Dynamic SmartTE Steps &ndash; StayLinked\",\"isPartOf\":{\"@id\":\"https:\/\/portal.staylinked.com\/sl\/kb\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/implementing-dynamic-smartte-steps\/#primaryimage\"},\"datePublished\":\"2019-12-16T22:04:16+00:00\",\"dateModified\":\"2025-10-28T16:02:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/implementing-dynamic-smartte-steps\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/implementing-dynamic-smartte-steps\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/implementing-dynamic-smartte-steps\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/portal.staylinked.com\/sl\/kb\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Articles\",\"item\":\"https:\/\/portal.staylinked.com\/sl\/kb\/knowledge-base\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Implementing Dynamic SmartTE Steps\"}]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/ht-kb\/2011"}],"collection":[{"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/comments?post=2011"}],"version-history":[{"count":4,"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/ht-kb\/2011\/revisions"}],"predecessor-version":[{"id":5826,"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/ht-kb\/2011\/revisions\/5826"}],"wp:attachment":[{"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/media?parent=2011"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/ht-kb-category?post=2011"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/portal.staylinked.com\/sl\/kb\/wp-json\/wp\/v2\/ht-kb-tag?post=2011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}