I recently came across a problem statement at a client site and thought it would make good content to share for my blog article so without further ado here it goes...Background: The customer uses PA Local with native TM1 security and has recently added a new TM1 instance.
As we are aware, to be able to login to PAW, the user’s login credentials must be same on all TM1 servers. Now the challenge was the users normally change their passwords from TM1Web login page which means they have to login twice to change their passwords – one for each server.
I considered this a little problematic because the users are not used to this practice of changing the passwords two times and expect the same old process of changing it from only one interface to continue.
So in order to address this issue, I figured there were 2 tasks involved to be actioned:
1. Disabling the option to change password from TM1Web. This is to limit resetting the password from a central user interface.
2. Provide a common user interface in both the instances that allows resetting the password in one instance to automatically reset in the other instance without the need to login twice
To do that, navigate to
../ tm1_64\webapps\tm1web\scripts\tm1web\standalone and open TM1WebApp.js file in notepad.
Find the below text:
and update the dijitCheckBox by prefixing the letter z in front of it so the updated text now looks like below:
Once this is done, the changes should be reflected in TM1Web. Incase, it does not, clear the browser cache and refresh the page again. Below is the illustration of TM1Web login page before and after the changes.
As you could notice the check box to change the password after the changes is no more available thereby restricting the users from changing the password from the login page.
If you wish to remove the “Change password” text as well, then simply search for the below text:
And change it to below:
PS: Ensure to take a backup of tm1webapp file before updating so it can be restored later if required. Also, once the changes are made, take a backup of the updated tm1weapp file as well and store it in a different drive so next time PA is reinstalled, the changes can be reinstated.
As for the second task, this can be achieved by writing a TI that will simply update the password and then creating a user interface where users can reset it. Below is the sample TI code that you can use and customize to your own requirements.
I understand the Ti code is self explanatory. All it does is it firstly updates the pwd in the current instance where its called from and using RunTI, it then executes the exact same process in the second Tm1 instance and performs the same step over there aswell.
The caveat here is that the process should exist in both the instances.
As for the front end, it could look something similar to below.
Let me know in comments below if you’ve encountered the same situation and how did you manage to handle it till then see you in my next blog article.