A standard requirement when doing PeopleSoft maintenance is to change the normal sign in page. When the system is offline, we often like to display a maintenance page that informs users that the system will be down and prevents them from logging in. This is done easily enough by changing the
signin.html page, adding a message and removing the login form.
However, there is one more requirement that is a little tricky. Once the maintenance is complete, there are often tasks that need to be completed before handing the system back to the end users. These can be configuration changes, running batch processes or simply completing validation that everything was applied correctly and is in working order. How can the core team sign on to the system and complete these tasks, all while preventing end user access?
<div> with an
id=loginbox. I would suggest starting before the
ptLabelUserid and ending after the
<div> containing the submit button. Lastly, you need to add
hideLogin(true); to the
body onload attribute.
Keep in mind the key doesn’t have to be Ctrl+Space, it can be any key combination really.You will see in the comments of the script a link to information about other keycodes that can be used.
Updated: 10/11/2016 Instead of hard coding a
true value for your
hideLogin() parameter, why not use a Custom Property set in the Web Profile? You can create any Custom Property you would like, for example:
login.isLoginHidden and set to
true. Then reference the property in your
signin.hmtl page like this:
hideLogin("<%=login.isLoginHidden%>"). This will allow you to toggle the hide login functionality by updating the web profile and bouncing the server.
Click here to see a working demo. Enjoy!
8 thoughts on “Maintenance Page with Backdoor Login”
Nice and thank you. Might use this. We current (as another option for anyone not wanting to allow any way in) is we install and additional PIA domain on a port number only open to our VPN. We can get in at anytime using that hostname and port number. To avoid editing the signin page we have our load balancer have a final failover service to go to when all others are down. Most LBs have this. This service is a simple apache install with mod_rewrite to rewrite any and all requests to index. That index page is a simple outage message with the date and time of the work.
Matt – that sounds similar to solutions I’ve done in the past – a separate site/domain that only power users know about. But the issue we always ran into is that a separate domain runs on a different port or you can use a different site name. That causes issues with the report repository, etc. Do you have a solution for that, or does your VPN domain have limitations that users are aware of (eg, know that reports aren’t accessible)?
Dan, how did you add a Web Profile variable to the script? I believe you mentioned doing so in podcast #45.
I’m going to do an update to this post shortly that will explain how to accomplish this. Check back soon!
Can you mail me the exact signin.html , am not able to get the above said functionality , when I add the above said code in signin.html, noting is happening as expected.
I have updated the JS and HTML to work with PeopleTools 8.60 here: https://gist.github.com/iversond/090669f6972a3a3a15b67a8a6f9684ac