Alexander Hansal

In his Siebel Essentials blog, Alexander Hansal continues his exploration of  the Siebel Open UI.

As described in an article earlier last year, Siebel Open UI enables us to display individual applets as "portlets" in any web portal. As of the early versions 8.1.1.9 and 8.1.1.10, this was supported but the functionality was to be considered "basic".

 
As of Innovation Pack 2013, there have been some major enhancements around the possibility to display data from Siebel Open UI in external applications.
 
In the following article, I would like to point out these enhancements:
 
Standalone Applets
 
One of the enhancements in IP 2013 is the ability to display applets in external web pages as "standalone" applets, that is without a surrounding view. However, we still have to establish the context to a business object, which we do via a new applet user property named Business Object.
 
So in order to prepare an applet for display as a standalone applet, you must set that applet user property in Siebel Tools and compile the applet.
 
Siebel Tools: Quote List Applet with Business Object user property.
As you can see in the above screenshot, the Business Object applet user prop value is the name of the business object (Quote in the example).
 
URL Options
 
To expose a standalone applet in an external web page, you will have to construct a URL similar to the following:
 
 
And this is what I got in return for the above URL:
 
Quote List Applet standalone in a web browser.
Obviously, I have entered the minimalist phase of web design but I did this to demonstrate that you can pass the name of a UI theme as a parameter (see below list).
 
Here are the SWE URL parameters you need to return a standalone applet (you also might want to refer to the official documentation):
 
SWECmd=ExecuteLogin: needed when you don't want to resolve authentication with SSO or similar.
 
SWEUserName=[username]: needed in combination with the above.
SWEPassword=[password]: needed in combination with the above.
 
SWEAC: Additional command to be executed
 
SWECmd=GetApplet: Command to get a standalone applet (new in IP 2013)
 
SWEApplet=[applet name]: Name of the standalone applet
 
IsPortlet=1: Needed to specify the applet as a portlet.
 
SWESM=[Applet Mode]: Name of the applet mode such as Edit List.
 
KeepAlive=1: Avoid session timeout
 
PtId=[Name of Open UI theme]: Internal name (e.g. GRAY_TAB) of the Open UI theme to use (new in IP 2013)
 
Search Criteria
 
Once you have the base URL working, you can enhance it by adding search criteria, as described in the bookshelf guide.
 
These search criteria can be specified for fields in the applet BC or the parent BC using the following SWE URL parameter syntax:
 
BCFieldN=field_name&BCFieldValueN=field_value
 
where N is a sequence number starting at 0.
 
To provide search criteria for the parent BC, you use the following:
 
PBCFieldN=parent_field&PBCFieldValueN=parent_field_value
 
Again, N must be replaced with a sequence number starting at 0.
 
For example, after adding the following to my test URL, I got a list of quotes for a specific customer account:
 
&BCField0=Account&BCFieldValue0=BBBC+Inc.
 
Click to enlarge.
 
As stated in the documentation, we should be able to use criteria with query operators like "This Name OR That Name" but I wasn't able to get it to work in my test environment. Also, I found it impossible to use wildcard characters.
 
Displaying Views
 
It is also possible to display an entire view with all applets or just a specific applet which is accomplished by using the well known GotoView command. The bookshelf example is as follows (just showing the part after SWECmd)
 
SWECmd=GotoView&SWEView=view_name
 
Server Parameters
 
The Configuring Siebel Open UI guide specifies some new server component parameters which are meant to enable a secure channel to use Siebel UI artifacts such as applets or views programmatically in the context of other applications.
 
These server component parameters are:
  • PortletAPIKey: a string which is used as a security token by the portlet requester.
  • PortletOriginList: a comma separated list of requester domains which are granted access to the portlets.
  • PortletMaxAllowedAttempts: the maximum number of attempts before access is blocked by the Siebel server.
  • PortletBlockedInterval: the number of seconds how long the access is blocked.
The requester would be a script in the calling application. According to Oracle engineering, this would enable an external application to display a Siebel applet in its own context and trigger navigation without having to re-establish a session (which would happen using the SWE API described above).

Summary

With Innovation Pack 2013, more cowbell has been added to the already useful portal style integration which allows to display Siebel applets and views in another application's context.

have a nice day

@lex

This post originally appeared in the Siebel Essentials Blog.

Business Research Themes

Tags