March 5, 2008
The "Powered By" Page
I've previously written about our self service project and some of the things
we have done to the system to allow it to appear differently to specific
groups of users based on their roles. One change was to remove most of the links
in the header bar and remove the side menu for users who are authorized for
self service only.
In particular, we want a self service user to see our "menu"
(a regular page) immediately when signing in. The easiest way to do this is
to publish a link directly to that page. When the users follow that link, they
will be stopped temporarily at the login page and then forwarded to the destination
upon successful login. At that point, we can use scripts or other techniques to
modify the look of the page.
But what happens if the user logs out or times out? These actions take the user
back to the login page, but there is no destination in the URL after that point. To solve this,
I have a script on each custom self service page that "rewrites" the destination of
logout or timeout events. That works just fine. Except that it didn't end up on
every page. I forgot about a few. Yesterday we had a user who just happened
to log out or time out of one of those pages and then apparently bookmarked where
he was (on the login page). That's bad, because once he entered his user ID and
password he was dumped onto the blank starting page with an abbreviated side menu
The "blank" page I'm talking about is what you see just after a normal login.
It actually contains an image way down in the corner: "Powered by PeopleSoft".
I decided to try to take over this page and use it to forward
everyone to our self service menu page. A search on the image (PT_PORTAL_POWEREDBY.gif)
showed that this page is built by WEBLIB_PORTAL.PORTAL_HOMEPAGE, FieldFormula, function IScript_HPPoweredBy().
I added a %Response.Write() there to send a script block that includes the following:
window.location = '/psp/environment_name/...';
It's a big kludge at this point but it seems to work fine. The
self service menu page appears and then its own scripts take over. We're still in
a normal PeopleSoft page environment at that point, so we can display the menu
and title bar for users who need them. There are probably other solutions and my
client is working on an option using the portal settings but we haven't really
completed that yet. In the meantime, this is an added safety mechanism to prevent
our users from getting lost or confused in the system.
Until next time...