Quantcast
Channel: Siebel Unleashed
Viewing all articles
Browse latest Browse all 5

TBUI-Closing the task pane

$
0
0

Task Based UI was one of the most hyped feature of Siebel 8.0. It was one of the main reason for customers to move to Siebel 8.0 apart from the Fusion road map laid by Oracle. TBUI turned out to be the worst implemented feature of Siebel 8.0. Even a simple TBUI would land you into problem that would later be identified as product defects without any workarounds. Some of the common issues were pointed out in the comments section of my earlier post about TBUI

The scenario has improved a lot with Siebel 8.1 but still TBUI has a long way to go before you can think of implementing complex functionalities in TBUI proving its worth and hype. Recently we implemented moderately complex functionality using TBUI (regretting it later) and ended up in burning our fingers badly.

The worst problem that we faced (out of all other problems) was the performance issue. We implemented TBUI on Siebel 8.1.1.3 and got caught up in performance issues.

Problem:
After working a while (typically 15-20 minutes) in TBUI the users would start facing the performance issues in that particular session. The scrolling within a view would became slow, the navigation between views was impacted and eventually user had to end the session and login again in the application before they could start working normally. In case if user refreshed the session (using F5) it resulted in session crash and core dumps (fdr files) would get created.

After the initial investigation of trying to find out memory leaks (the symptoms pointed in that direction) the root cause was identified as Task Pane. Task Pane is kind of Sidebar from which you invoke Tasks and also acts and users guide in session highlighting the steps users is performing.

image

As soon as we closed the Task Pane the performance issue would go away. The initial thought was to ask users to just close the Task Pane as soon as it opened but that again proved to be challenge as Task Pane opened up repeatedly while navigating the task by clicking Previous and Next button. So, it would become pain for users to close it at every step.

Solution:
In the end it was decided to find a way to close the task pane programmatically (This is a feature that is listed in Oracle’s roadmap of future releases of Siebel) but it turned out that it is not as easy as it sounds. Impossible Siebel came to the rescue here and the code provided by Jason at Impossible Siebel became the base of our solution.

The only thing that we need to find out was, the right place to put this code in. After exploring the various options we ended up writing browser script code in Task Playbar Applets that house the Previous, Next, Finish and the Cancel Buttons and we had used “Task Playbar Applet – Top” in our Tasks.

image

The code we wrote to close Task Pane automatically in applet browser scripts was:

Applet PreInvoke Method:

function Applet_PreInvokeMethod (name, inputPropSet)
{
try
{
if(name == “NavigateNext” || name == “NavigatePrev” || name == “CancelTask” || name == “PauseTask”){
var taskPaneObj = top.SWEFindFrame(top,”SS_TaskUIPane”).TaskObj();
if(taskPaneObj != null) taskPaneObj.HandleClose();
}
}
catch(e){/* do nothing */}

return (“ContinueOperation”);
}

Applet Load Event

function Applet_Load ()
{
try
{
var taskPaneObj = top.SWEFindFrame(top,”SS_TaskUIPane”).TaskObj();
if(taskPaneObj != null) taskPaneObj.HandleClose();
}
catch(e){/* do nothing */}

}

I hope this information might be helpful for somebody in distress due to TBUI :) and maybe somebody out there might be able to provide a better way to do it. Keep your feedback, comments and experience coming.


Viewing all articles
Browse latest Browse all 5

Trending Articles