Showing posts with label Toolbar. Show all posts
Showing posts with label Toolbar. Show all posts

ImposSiebel Toolbar, About Label

I had a conversation with some Siebel architects not too long ago, and we were talking about Siebel 6. One of the best things about the interface (probably the only thing that was good), was the fact that, when you hovered over any label on the client, it would reveal the actual BC field name in the application status bar.

This was a golden nugget for developers, because instead of going to the applet, viewing the layout, inspecting the control, scrolling down the properties window to get the field name. Siebel 6 provided this information plainly to anyone who cared to look.

The person who designed this functionality was obviously an engineer, and the person who killed the feature in Siebel 7.0 was most likely a marketing person. Siebel professionals who came from the 10 year batch, will remember this feature, and will be happy to know that i've brought this feature back.

This feature is provided for pure nostalgia, but will not have any practical value anymore and I'll explain why soon.

[About Label]

Rather than borrow design cues from a 10 year old interface, i've come up with something a little more modern.

'About Label' provides the developer with detailed information about the label of any form applet inside a floating window, which can be interacted with to show low level BC information.

To invoke this feature, goto any form applet, and pay attention to the labels. When you hover over a suitable label, the background of the label will change color, indicating that this feature is enabled.

Double click on the desired label to call 'About Label'. A dialog will appear showing the following summary information about the field, if it is available.

Calculated fields will not have mapped columns, VBC fields will not have a Table, and System fields will have no definition.

So depending on the kind of field you are inspecting, the following information is displayed.

1. Field Name
2. Column
3. Calculated Value
4. MVL Name
5. Dest Field
6. Dest BC Name
7. Picklist Name
8. Picklist Type Value
9. Table Name

Click on the toggle icon, and the dialog will expand to show the entire list of configured properties for the field.

And finally the field name will be displayed in the status bar for those Siebel 6 hippies who want to do some reminiscing. Give me a Hi-5 in the comments, if you're a hippie.


1. List applet support
This feature is sorely missing, but it is a tough one, and requires an overhaul of the current design to work, so dont expect it on your radar anytime soon.

2. Popup applet support
This also requires some new design to work, but consider it a weak bleep on your radar.

3. Home pages/SI mode support
SI support is possible with a little tweak and some further testing, but hasnt been enabled. Consider this one a phantom bleep that might appear anytime soon.

4. MVF Column/Table name
'About Label' doesnt show the mapped column/table name for MVF fields. This is a personal annoyance for me, but i dont have a quick solution, so this will be a future enhancement.

[Whats on the horizon?]

Theres still a few features of "Super About View" that i have yet to port over to the ImposSiebel toolbar. The most notable are listed below.

1. About Script

Displays all browser and server script related to the current BC and Applet in an explorer tree. This is useful to inspect the behaviour behind a button, or action on the UI, without going into Tools.

2. About Applet & About BC

Displays low level details about the user properties, and object properties of the Applet and BCs. This is useful to see why fields are read only, or what user properties could contribute to the UI behaviour.

3. 40 second Repository Search

As the feature title suggests, the Impossible Siebel toolbar can scan the repository in roughly 40 seconds, and display a detailed report on the repository reference to any string, field, applet or view definition. Try this with a standard Siebel full repository search, and you'll hang your tools for a few hours!

This will be the last major release for this year, and mostly likely the early part of next year. I must admit, i skipped some corners to get this release out in time, and also deliver the ABS articles. So i will focus on refactoring the code, and creating object wrappers, so its more scalable for future enhancements.

Although this is mostly under the hood enhancements, the foundations will make the above enhancements easier. But to keep you guys/gals happy, i'll provides some nice easter eggs along the way so you dont get bored with all this stability, and scalability nonsense.

ImposSiebel Toolbar, Version 0.54 Release Information

This is the anticipated version of the Impossible Siebel Toolbar, with the "About Label" feature, which was the winner of our last poll.

"About Label" should be fairly obvious to use (hint, its has something to do with Labels). If you can't figure it out, a follow up article will be posted soon to explain how "About Label" works.

Before you skim over this article, the new XML configuration file is mandatory for the "SQL Profiling", and "About Label" to work. This is required for new and existing users.


1. Existing Users

Managed Option
Under the ImposSiebel Toolbar options, just click on "Refresh

Bookmark Option
If you are using the server copy, i've already uploaded the new

2. New Users

Follow the instructions in the first article

[XML configuration file]

This new component is critical for "About Label" and other future
functionality to work.

Create a XML file called "ISConfig.xml" with the following contents and put it in the following directory.

C:\Program Files\Impossible_Siebel\
                     <dsn>Your Local Siebel DSN</dsn>
                     <username>datasource username</username>
                     <password>datasource password</password>

This directory will already be there for users who have opted for the "Managed" version.

[New Features]

1. About Label
This feature provides the developer with detailed information about the label of any form applet.

Keep an eye out for the next article, and i'll provide a tutorial on how to use this functionality.

2. Current Applet and Id
Next to the [IS Menu], i've added dynamic information on the current active applet, and the current Row Id.

When you hover over this text, it will be copied to your clipboard automatically. This is useful, when you have a popup window and want to know its name.

3. Position sensitive "About View", "About Label"
The most annoying behaviour of the previous version, was "About View" only appears in a hard coded position near the top. So if you have a long screen, and try to invoke "About View", you wont see it until you scroll up.

"About View" is now position sensitive to where you double click. This enhancement also applys to "About Label", however other dialogs are still hardcoded.


1. Invoking "About View"

In the previous version, "About View" was invoked by double clicking on any free space in the main view. The term "main view" dosnt really mean anything to anyone except me.

So i've made it more user friendly, by allowing the user to double click on any free space in the application, and this will bring up "About View"

2. Active position/Login information
This information has been shifted from the right of the toolbar to the left

3. SQL Profiler Total Operations

SQL Profiler shows the top 10 operations ordered by SQL cost. There are some cases where you could get thousands of small transactions taking a large amount of resources. In this case the top 10 operations wont reveal the whole picture.

I've added the Total number of SQL operations, so if you have a nasty piece of rescursive SQL, this new information will reveal the proper context of the top 10.


"About View" Smart Script Crash

Fixed an issue that caused the toolbar to die under a smart scripts

[Known issues]

Cannot establish connection to local database
In Siebel 8, if you are connecting to an encrypted local database, you need to have Tools open at the same time.

You need to open Tools and re-start the client for the changes to take effect.

Server DSN issues
A server DSN can be configured, but it is not recommended because it can be slow. Also the toolbar has only been tested on DB2, and therefore is not guaranteed to work with any other DB vendor.

SI About Label
"About Label" has not been implemented in SI.

ImposSiebel Toolbar, UI Search Spec

In this article, we'll use the IS Toolbar to reveal the following information

1. Find hidden search specs
2. Find the BC field name without going into tools

Hidden Search Spec

The UI Search Spec feature is quite un-assuming, but it deserves some attention, because it can come in handy when trouble shooting problems.

When talking about search specs, people immediately think of Applet or BC search specs. These are a couple of objects in tools where we can configure hard search specs in the application.

We can also set search specs in script, but this can be dynamic and is harder to tell if the search spec is applied or not. Damn those crazy scripters for making our lives more complicated.

The same thing happens when we go to a view with a PDQ applied. The PDQ applies a runtime filter on top of the BC and Applet search specs.

The UI Search Spec feature dosnt (yet) pin point where these conditional search specs are hidden, but it does reveal if theres a hidden search spec applied.

The UI search spec feature will reveal any runtime search specs, and allows the user to see what is not obvious.


1. Goto any view with a PDQ, or where you know there is script that sets a search spec, such as in the PreQuery event, or simply execute a UI query (this will set a UI search spec)

2. Double click on any Applet title bar to bring up About view

You should see the About View dialog, with the UI search spec information.

Find BC Field Name

By the very nature of UI Search Specs, we can also reveal the BC field name behind applet field labels.


1. Goto any applet and find a field to investigate

2. Click on the Siebel Query button, and type in "AAA" in that field.

3. Execute the Query

Now, double click on the Applet title bar to bring up About View again, and you will see the BC field name for that label in the UI Search Spec.

I tried this on the First Name control label on an Activities applet and got the following information.

And we can see that the actual field name is [Act First Name].

Its simple and time saving but to be honest its kind of a hack, but i have a much more elegant solution in mind. This is on the horizon, so keep your eyes peeled for this feature.

For the record, here is the list of places in the application where you can set search specs.

Applet SearchSpec
BC SearchSpec
Picklist SearchSpec
Link SearchSpec
Script SetSearchSpec
Script SetSearchExpr
Script SetNamedSearch
WF Siebel Operation SearchSpec
Report SearchSpec
Task SearchSpec

Theres also the implicit search spec on Drilldowns, which catches some people off guard, because you do not actually set a search spec, but it is implied when you set the source id.

ImposSiebel Toolbar, SQL Profiling

How many of us actually care about SQL performance? Mostly, only Solution Designers, but its important that we *all* consider how much impact our config has on the system.

Have you ever clicked on a button and waited a good 30 seconds before the system comes back? If yes, then this article is for you.

There could be a number of factors contributing to performance issues, but i'm going to focus on SQL performance.

Siebel produces a spool file for us to analyse, which is really useful, but only a speed reading SQL geek would be able to correlate the SQL generated with the Application usage and add up the SQL cost in their head on the fly.

For the rest of us, we have the ImposSiebel SQL profiling feature.

This feature brings SQL profiling to the masses. The idea is, that any junior should be able to use this to identify parts of the config that is taxing the system, and suggest ways of improving performance.

Before you start, make sure you are running a thick client connection, and have specified a spool file. This can be done, by adding " /s c:\spool.sql" to your Siebel Client shortcut.

Identify a part of your application that takes a long time to respond.

It could be a button, or navigating to a certain view, or triggering a bunch of scripts, or generating some data.

Find it, but dont touch it.

Profile it!
I assume at this point, you already have the ImposSiebel toolbar running.

Now click the SQL profile icon, its that funny looking icon, which looks like two cyclinders behind a refresh icon. It should be next to the IS menu.

This starts the profiling feature. The first time you click this, it will prompt you for the location of your SQL spool file. The default is c:\spool.sql, just accept this if you've followed the instructions above or enter your own file location.

If you want to specify another file, this can be accessed by the following menu option.

Now engage your performance hogging function, and wait until it has finished.

Click that SQL profiling icon again to toggle it off. We are now ready to analyse the SQL.

You should be presented with the following dialog.

This shows you the total SQL cost of your function, and also displays the top 10 SQL ordered descending by Cost, along with the corresponding line numbers in the spool file.

When a button is taking 30 seconds to return control, its usually caused by 1 or 2 bad SQLs, with this tool, we can instantly identify the culprit, and focus our efforts in reducing this cost.

Click on the cost for the desired result, and the offending SQL will be shown to you.

Now, unless that speed reading geek has photographic memory as well, i think we have the competitive advantage here, and have just saved ourselves atleast 30 minutes, swimming around neck deep in SQL statements.

Although this tool was designed for analysing SQL, another un-intended benefit, is general troubleshooting.

This dialog can reveal some interest things, just browsing the application can trigger database updates, such as read audit insert/updates in Siebel 8, docking inserts and unexpected write records.

I hope this encourages people to think more about the SQL cost of their config, and proactively address any issues before it becomes a BAU problem.

ActiveX warning

This dialog needs to be accepted. The profiling feature needs ActiveX to function.

IE Settings

If you are still having problems. Go into your IE Trusted Zone security settings, and enable the above options.

Remember to add and your localhost to your trusted zone.

ImposSiebel Toolbar, Version 0.52 Release Information

ImposSiebel Toolbar, Version 0.52 Release Information


[New Features]

  • Introduced SQL Profiler
    Keep an eye out for the next article, and i'll provide a tutorial on how to use this functionality.

  • Added UI Search Spec information to About View
    This search spec is in addition to what you configure in your Applet and BCs. Apply a PDQ, put some dynamic code in the PreQuery event or simply run a query, and you'll see what i mean.

    This feature will display the search spec that is applied during runtime.

    Note. The actual Applet and BC search specs have not yet been implemented.


  • Removed Set PA/Get PA buttons
    Setting and getting profile attributes can be accessed through the menu.

  • Removed About View button
    To streamline the user experience, the About View functionality can be accessed by double clicking on any free space in the main view. SI users currently still have to use the menu for About View.

  • Added life meter
    This shows that the toolbar is running in the background. When this stops, or there is a red box next to it, the Toolbar has encountered an error and needs to be restarted.

[Known issues with Toolbar]

  • Issue: Refreshing IE or clicking Back disables all application hooks.
    Recompiling Tools also causes IE to be reloaded and will have the same effect.
    Cause: This is standard IE behaviour and cannot be avoided.
    Resolution: Restart IE.

  • Issue: A red marker is appearing next to the IS button.
    Cause: An unexpected error has occurred.
    Resolution: Restart IE, and report steps to reproduce to [email protected]

  • Issue: About View dosnt appear.
    Cause: This happens in a view with a lot of vertical scrolling. About View appears near the top of the main view.
    Resolution: Scroll up to see the About View dialog.

  • Issue: All my ActiveX has dissappeared.
    Cause: ActiveX hasnt been cleaned up.
    Resolution: No worries. Double click on a free area of the view, and when About View appears, click [X] to close it, this will restore the ActiveX

[Known issues with SQL Profiler]

  • Issue: SQL Profiler always returns 0 Cost.
    Cause: 1. The wrong spool file is supplied or 2. Two thick clients are open at the same time and have severed links to the spool file.
    Resolution: Close down all thick clients, and only start 1 thick client session.

  • Issue: ActiveX warning always appears.
    Cause: The toolbar needs ActiveX to profile the SQL.
    Resolution: Click Okay to accept, add to your IE browser trusted zone, and add your localhost to your trusted zone.

Not available  

Siebel 7.8+  
Siebel 8+  
Siebel < 7.8  
Siebel eService  
Siebel Employee Relationship management  
Siebel Call Center  

 Features HI SI
About View    
Invoke applet method    
Invoke BC method    
Invoke application method    
Invoke control method    
Set UI field    
Get UI field value    
Set profile attribute    
Get profile attribute    
Show current user personalization    
Resize window    
Reload personalization    
SQL performance profiling    
Display UI Search Spec    
Set read only fields    
Toggle applet labels into field names    
Browser script tracing    
Show label/field/column table info    
Create applet level menus    
Draggable and position sensitive dialogs    
MVG, Popup applet support    
List applet interaction support    
Display Applet and BC Search Spec    
Config Repository Search    
Perform Config Review    

ImposSiebel Toolbar Beta

A few years back, i started developing Super About View, in a nutshell, this is a program which allows developers to hook into any Siebel session, in any environment, and get quick access to the Siebel objects without going into Tools.

For more background on this topic, these articles should serve as good primers.

A lot of people have asked for copies of Super About View, but it has never been ready for distribution. One of the reasons for this, is that i was already succeeding it with a better program.

The result of this, is the ImposSiebel Toolbar, it is essentially the same tool, which has been re-built from scratch to be more robust and given a new interface.

The toolbar is released to the public in v0.50 Beta, and is completely free!

Current Features

  1. Displays true applet information
  2. Displays graphical representation of applet order
  3. Highlights the currently selected applet
  4. Shows the corresponding Applet BC
  5. Displays current Row Id
  6. Dynamic Get/Set Profile Attributes on the fly
  7. Get/Set applet fields from the BC level
  8. Reload personalization
  9. Resize Siebel window
  10. Invoke Method on Applet
  11. Invoke Method on BC

There are two options to install this toolbar

  • Option 1 - Managed

    This option is the easiest and least hassle. The toolbar will always pull the latest update of the program from the server and maintain itself.

    The toolbar software is 1.5Mb for the dlls and exe, but the actual logic is only 26Kb, this is cached by the browser or your proxy when the program is initiated. When your cache expires, this logic file will be redownloaded again.

    1. Download the Impossible Toolbar from

    2. Install the toolbar

    Untick the following options
    * Set the Impossible Siebel customized Web Search as my default in Internet Explorer
    * Enable me to get instant alerts, which display the latest community news

    3. Once the toolbar is installed, go into Toolbar Options and uncheck the following options

    * Enable search history
    * Suggest searches from search history
    * Send statistics (help us improve our toolbar)
    * Add selected text on the web page to the search box

    4. Click 'START' to initiate the Toolbar

  • Option 2 - Bookmark

    1. Create a bookmark

    2. Change the URL to the following

    javascript:if(document.getElementById('fs') != null){document.getElementById('fs').removeNode(true);};

    3. Click the favourite to initialize the Toolbar

    Although not as elegant as the Managed method, this option is more portable (if you need it to be), but the security of your machine, or the machine you are using may prevent you from installing a script from an external source, the Managed option does not have this problem.

    If you insist on using this method, and want to get around this security obstacle, you can reduce the security of your browser zone to low, or download the JS file onto your local machine, but you lose the portability and live updates.
The toolbar should be intuitive and quite self explanitory. I'll be adding more features in future, and will put together a document when it gets more complicated.

Here's a couple of screenshots of the toolbar in action.

I've also set up a poll that determines what features will make it into the next version of this tool. Put your votes in to shape the development.

The ImposSiebel toolbar has been tested with Internet explorer 6, in HI and SI applications in Siebel 7.8, 8.1. If you are having any problems, leave a note in the comments, and i'll look into it.

Have fun.