Converting Siebel HI Projects into Open UI Projects

If you have Siebel HI projects, you can use a conversion utility, OpenSpan.SiebelAdapterConverter.exe, to help convert the Siebel adapter. The resulting adapter may not match perfectly after the conversion. The manual steps you may need to perform are outlined below. In addition, full regression testing on the converted solution is required to verify matching, timing, and control behavior.

Note: To request a copy of the conversion utility, contact your Pega Robotic Automation support representative.

Using the conversion utility

Here are some notes about the conversion:

SiebelCommonFactory

This target factory is no longer required for Open UI, so it was removed.

Top-level WebPage

A new top-level WebPage control is always added to the adapter. This represents the single document used in Open UI. It also becomes the new parent for FRAME WebPages that are converted to SiebelOpenUIViewControls (see below). The conversion utility determines whether a WebPage is a Siebel FRAME by the presence of at least one Siebel control in its child controls.

WebPage to SiebelOpenUIViewControl

In Siebel HI, Views are represented as FRAMEs. In Open UI, there is only the top-level document and Views are generated by AJAX calls. To account for this, the conversion utility changes all Siebel WebPage controls into SiebelOpenUIViewControl controls. To be a Siebel WebPage control, there must be at least one Siebel control child (SiebelControl, SiebelList, or SiebelNavControl). WebPages that do not meet this criteria are ignored.

After the WebPage is converted, the DocumentUrl match rule is removed (if present) and the DocumentTitle match rule is changed into the SiebelOpenUITitle match rule. The text of the DocumentTitle match rule is kept the same for the SiebelOpenUITitle  match rule, with one exception: if the title ends in the word "Page" (case insensitive), the word is removed.

SiebelControl/SiebelList controls

These controls undergo some internal changes that are not obvious from Studio. For instance, the TagName and TargetTypeString properties are updated to be compliant with Open UI.

SiebelNavControl control

In Siebel HI, the Visibility navigation controls had this ID: 's_vis'. In Open UI, the ID is 's_vis_div'. The control's ElementId and ElementId match rule are updated to reflect this.

In Siebel HI, the Detail navigation controls had this ID: 's_vctrl'. In Open UI, the ID is 's_vctrl_div'. The control's ElementId and ElementId match rule are updated to reflect this.

In Siebel HI, the Screen navigation control would have been interrogated as a child of the WebPage representing the FRAME above the View. Since a new top-level WebPage is created by the conversion utility, the interrogated Screen SiebelNavControl is moved to be a child of the new top-level WebPage instead.

Link/SPAN WebControl to BUTTON

In Siebel HI, many button-type controls were represented as anchor (A) or SPAN elements. In Open UI, many of these are represented as BUTTON elements. To allow for this, the conversion utility provides the following options.

Each option is paired with a set of name fragments to use when converting the controls. The default is "btn, button"

ControlChildren match rule

If any ControlChildren match rule contains a converted Link/Span (see above) control, it is updated to reference the new control type.

Performing the manual steps

While the conversion utility addresses most of the differences between Siebel HI and Open UI, there are a few steps that may need to be done manually. These issues are identified by the conversion utility and are logged in the "Conversion notes and followup tasks" section in its post-conversion log.

Handling Non-Siebel WebPages

The conversion utility converts Siebel WebPages into SiebelOpenUIViewControls (see section Conversion Utility). These are FRAME WebPages that contain at least interrogated Siebel-type controls. You must, however, convert non-Siebel WebPages manually.

Handling match rules

There are several match rules provided to support Open UI. When interrogating controls, these are automatically added as-needed, but when converting a project, it is not possible to add these rules during the conversion. In some cases, you may need to add them after the conversion.

DocumentTitle match rule

This applies more to a new interrogation than a conversion: When interrogating an Open UI page, the WebPage control that is created for the top-level document will have a DocumentUrl match rule and a DocumentTitle match rule. The DocumentTitle match rule matching text may contain data that prevents the document from matching in the future. This may include the view name currently displayed, or the name of the contact or account currently selected. Since there is only a single document, the DocumentTitle match rule is not normally required and you can delete it

SiebelOpenUIControlApplet match rule

In Siebel HI, SiebelControls have a single match rule, the SiebelControlName match rule. This match rule is also used in Open UI, however, it cannot always uniquely identify an AppletControl inside a view. For example, there could be two AppletControls called LastName, one in Applet A and one in Applet B.

To guarantee a unique match, use the SiebelOpenUIControlApplet match rule. This rule matches on the name of the applet that contains the control. The combination of this and the SiebelControlName match rule will uniquely identify the control.

SiebelOpenUIName match rule

In Siebel HI, views are represented internally by FRAMEs, and are interrogated as WebPage controls. In Siebel Open UI, views are represented by a static DIV element and a View Siebel JavaScript object that is created/destroyed as views are navigated.

During the conversion process, view WebPages are converted to Open UI View controls and the DocumentTitle match rule is converted into SiebelOpenUITitle match rule. The Open UI View can typically be uniquely identified with this rule, however, there are some cases in which multiple views have the same title. In those cases, they have different names. This  is where the SiebelOpenUIName match rule is needed. The name by itself is also not able to uniquely identify Views and may do a worse job than just the title.

You must add this rule in cases where Open UI View controls match to the wrong view.

Missing DocumentTitle match rules

When a Siebel WebPage is converted into a SiebelOpenUIViewControl, the DocumentTitle match rule is changed into a new Open UI rule. If the DocumentTitle match rule is missing, however, the new match rule cannot be created and the new View control may not match. You must correct these issues.

NavItem Data property

The SiebelNavItem control is a child of the SiebelNavControl. It represents a navigation item, which can be a tab or selection in a combo box. The control has properties named Data and MatchData. Each is a duplicate of the other, except MatchData is a TextData field so it also has Mode, Culture, and IgnoreCase fields. The value in Data is provided directly to the Siebel API when Navigate() is called to navigate to the view specified by the data.

In Siebel HI, Data contains what appears to be a *-delimited collection of values. Here is an example:

@0*0*1*0*2*CI3*0*2*VN23*NYCHA Contact List View

In Siebel Open UI, this string is meaningless, and only the View name is used. This is typically the last item in the *-delimited list, but it could also appear at other positions. You must make sure the Data and MatchData fields contain only the view name.

Handling HTML element type changes

There are several instances where HTML elements are interrogated to automate certain actions. An example is the New/Delete/Query buttons on ListApplets. The underlying HTML element type may have changed between Siebel HI and Open UI. In the case of these buttons, they are anchor (A) elements in HI and button (BUTTON) elements in Open UI. As noted previously, some of these can be converted automatically, depending on how the interrogated automation control is named.

The best practice is to set up the utility to convert all needed controls and then use the Replace Control option to correct the matching.

To get the utility to convert controls into the right type, change the name of all affected controls so these controls contain a string fragment that you can then use with the conversion utility to identify the controls to convert. For example, for Link controls that need to be converted to Buttons, add the string 'btn' to the name of every control that needs to be converted.

Handling Window-Type child controls of Siebel controls

In Siebel HI, when a SiebelControl, SiebelList, or SiebelNavControl control is interrogated, there may be additional child controls created beneath the Siebel control. These represent Win32 common controls that are created when the control is focused, allowing the control value to be edited. Your automations can reference these Win32 controls.

In Open UI, there are only HTML elements, so these controls will never match. You must update any automation that references these controls to only reference the parent Siebel control.

Cancelling events

The most significant difference between HI and Open UI is that Siebel-specific events are not cancellable in Open UI. For example, in an automation you cannot set the Cancel property to True for the SiebelControl.ContropPopupDisplaying event to prevent the popup from appearing.

 


Privacy | Trademarks | Terms of Use | Feedback

Updated: 18 June 2020

© 2016 - 2020 Pegasystems Inc.  Cambridge, MA All rights reserved.

 

OpenSpan data classification label