Showing posts with label Task Based UI. Show all posts
Showing posts with label Task Based UI. Show all posts

Thursday, November 26, 2020

Workspace issues in Siebel 20.3

Hi there ! Long time, no post, no see, eh ? As it turns out, a pandemic filled year leaves one no free time. 

After losing track in lower versions of the trusted Siebel CRM , I have now had the chance to work on an upgraded version. Siebel 20.3. Work started earlier this year, with a massive upgrade on my customer's systems.

And I must say, I am impressed. But also frustrated. 

The new workspace system fixes some of the issues in an earlier checkin/checkout system, but it opens up a whole bunch of new ones.

Like, you have to choose which workspace to merge into, at the time of creation, not at the time of delivery. Strange.



Also, you can't checkin the same workspace to more than one delivery branch. The only way I know to do this is to take SIF backups, and check them into a new workspace under a different branch.



But the one that frustrates the most...is that...there are still some tools objects that do not stay inside workspaces. 

Like Tasks. Of the famous Task Based UIs.

And ...get this...Tables !

These two objects, when modified, or created, immediately get delivered to the main branch !!




Currently, the following object types and their child objects remain as non-workspace objects:
    Table
    Dock Object
    EIM Interface Table
    Repository
    Workflow Policy Column
    Workflow Policy Object
    Workflow Policy Program
    Task
    Task Group
    Project

Now, I am on 20.3 version, so some of these might have been fixed on a newer version. But we are going to be on this version for a while longer so...


...need more coffee.

Saturday, May 14, 2011

Scripting and Task Based UIs

Siebel 8's task based user interface (TBUI) is a nifty feature, but it still needs some more polishing though. A really simple looking requirement came up the other day, and I was surprised that there was no out of box feature I knew to support it.

The requirement was to conditionally disable tasks in the Task View pane applet. The Task Groups have to be associated with the triggering views, and when the logged in user enables the tasks by clicking on its button, an applet opens up in the UI on the left side, always showing all the tasks associated with the current opened view.

Now we wanted to conditionally disable certain tasks depending upon the user's position, and there was no way of achieving this. On searching on the bookshelf, I found a way to trigger the task  from script.


if (name == "Test")
{
var inputPropSet;
var outputPropSet;
var taskUIsvc;
inputPropSet = theApplication().NewPropertySet();
outputPropSet = theApplication().NewPropertySet();
taskUIsvc = theApplication().GetService("Task UI Service (SWE)");
inputPropSet.SetProperty("TaskName","Create a Contact");
the outputPropSet is created. outputPropSet is not used to send results back to the task UI--!>
taskUIsvc.InvokeMethod("LaunchTaskFromScript",inputPropSet,outputPropSet);
return ("CancelOperation");
}


So now, instead of showing the tasks in the task pane applet,  we trigger it from scripts behind buttons in the UI. We have buttons for different tasks, and the buttons themselves are enabled/disabled based on positions.

I'm hoping Siebel provides an vanilla way of achieving conditional task enabling/disabling in the UI soon.