Not gracefully logging out of Siebel is one of those user habits which is hard to kill. Especially because in the high-interactivity days, closing the browser would gracefully end the Siebel session on the server. Well… that changed with the OpenUI client because there is no way in which the browser ‘X’ button to either close a tab or the browser all together can be intercepted (similarly for the back button).
End result: having potentially many orphan sessions, waiting until the session times-out. Well, that can be considered still a positive scenario: the session will time-out. But might you have message broadcasting enabled, it won’t. Unless, again, you take preventive measures explained in this post about white-listing certain events.
But another, yet worse scenario to happen is that an user has uncommitted data, pending to be committed. What will happen using the ‘X’ approach? You can guess what, you will loose whatever is pending. Likely that it happens? Sure! And this will hurt your user adoption and creates frustration among the user base, guaranteed. The same obviously goes for that so-often used back button, that set aside.
In a previous post I discussed one possible approach, indicating users they have unsaved data. I’m about to write a post, with an alternative solution for the same issue. Keep a close eye on the blog :-)
But back to logout. I firmly believe the standard’s theme ‘logout option’ hidden behind the ‘user’ button, is, well, too much hidden. The same goes for the logout option in the application menu. So I decided (and others will have done similar, for sure) to add the logout button where everybody would expect such a button: top-right corner or the browser’s window.
Added a tiny bit of additional functionality:
a) Greying-out the background
b) Enabling the spinning Siebel wheel ‘busy’ cursor
I decided to keep it purely an image (or better: glyph), to prevent any localization. If I’d have opted for a ‘logout’ text (either with our without the glyph), I would rather have created the logout button through Siebel Tools, leveraging translation through a symbolic string. Changing the behavior (e.g. moving it to the far-right and adding the logout code, would then still be done client-side by javascript plus CSS).
Here I decided to generate the button during postload, with some basic CSS. You can simply add this code to your existing postload. Otherwise, you need to create one.
I created the CSS for Aurora. Technically it does work for the Synergy theme. You just need to tweak the CSS a bit more.
Enjoy!
– Jeroen
