Page 1 of 1
TM1Web: Passing Server Name as a Parameter in a URL
Posted: Mon Apr 20, 2015 12:47 pm
by tm1ist
Hi all,
We have different servers on the same host, let say Server A and Server B. We set the related configuration parameter to log users automatically to Server A, which means user are not displayed server selection combobox but Server A is default.
However, we need some of our users to be able to login to Server B as well(but remember server selection combobox is not prompted and we do not want it to be prompted). To solve this, a URL including the servername as a parameter seemed fine so we tried using TM1 URL API.
In the URL API, I can pass servername as a parameter but -according to my experience and what I understand from the documentation- I also have to reference to a view or websheet(referencing the object tree[navigation tree] seems not possible anymore). When I reference to a view or a websheet, the navigation pane is not displayed so I cannot reach the desired functionality.
Do you have any suggestion for me to try to reach this functionality that providing users a URL which logs user into a specified server? If not possible with a URL, can this functionality be reached using any other technique?
If I couldn't clearly explain, please let me know and I will try to clarify further.
Regards,
<edit>
I have created an enhancement request regarding the issue. If you would like this functionality, you can vote for the ER at
http://www.ibm.com/developerworks/rfe/e ... R_ID=70266
</edit>
Re: TM1Web: Passing Server Name as a Parameter in a URL
Posted: Mon Apr 20, 2015 1:06 pm
by declanr
Just from a different angle have you considered setting up another web server?
Re: TM1Web: Passing Server Name as a Parameter in a URL
Posted: Mon Apr 20, 2015 2:03 pm
by tm1ist
declanr,
Thank you for your comment. That could be an option and I am trying it at the moment however a simpler solution would be much better due to several considerations such as need for creating a new webserver for each of numerous servers, possible performance issues, maintenance etc.
Still, in order to try your recommendation I installed only TM1 Web component to a different location. How can I go to this new TM1Web on browser? I thought I should change the port it uses but there is no option in the new Cognos Configuration(the new one came with the new TM1web installation). Based on this technote -
http://www-01.ibm.com/support/docview.w ... g21683462- it seems that I should also install both or one of TM1 Application Gateway, TM1 Application Server in addition to TM1Web.
Or, is there any other way to reach this new TM1 Web without installing a separate Application Server and/or Application Gateway?
Re: TM1Web: Passing Server Name as a Parameter in a URL
Posted: Tue Apr 28, 2015 1:09 pm
by tm1ist
Hi all again,
I have created an enhancement request regarding this issue. If you would like this functionality to be added to TM1, you might want to vote for the ER at the following link:
http://www.ibm.com/developerworks/rfe/e ... R_ID=70266
Re: TM1Web: Passing Server Name as a Parameter in a URL
Posted: Tue Apr 28, 2015 2:24 pm
by lotsaram
tm1ist wrote:Hi all,
We have different servers on the same host, let say Server A and Server B. We set the related configuration parameter to log users automatically to Server A, which means user are not displayed server selection combobox but Server A is default.
However, we need some of our users to be able to login to Server B as well(but remember server selection combobox is not prompted and we do not want it to be prompted). To solve this, a URL including the servername as a parameter seemed fine so we tried using TM1 URL API.
In the URL API, I can pass servername as a parameter but -according to my experience and what I understand from the documentation- I also have to reference to a view or websheet(referencing the object tree[navigation tree] seems not possible anymore). When I reference to a view or a websheet, the navigation pane is not displayed so I cannot reach the desired functionality.
Do you have any suggestion for me to try to reach this functionality that providing users a URL which logs user into a specified server? If not possible with a URL, can this functionality be reached using any other technique?
If I couldn't clearly explain, please let me know and I will try to clarify further.
I'm not sure I fully understand what you are asking (maybe you could try explaining again?)
BUT. You do realize that as of version 10.1 & above within a TM1 Web websheet you can reference multiple servers (provided that 1/ they are on the same admin host and 2/ that the user logon method & credentials are the same). The user only needs to have logged on to one of the servers the logon to other referenced server(s) just happens automatically in the background provided that conditions 1 & 2 are met.
Would this not meet your requirements as you have explained them?
You can test this easily yourself just create an excel sheet with a DBRW("server1:cubeA", ...) and another DBRW("server2:cubeB",...) load to TM1 web and you will see values returned for
both DBRWs provided that the user has access to both cubes on both servers.
Re: TM1Web: Passing Server Name as a Parameter in a URL
Posted: Wed Apr 29, 2015 9:12 am
by tm1ist
lotsaram,
In the current state, when any user goes to http://<hostname>:9510/tm1web, he is not prompted to select one of the servers but enters to the server which is specified as default in the configuration file. Therefore, a user cannot go to her desired server even if she wants to because server selection is not prompted. Our goal is to be able to create a URL with server parameter that can override the default server.
The issue does not have much to do logging in to this or that server but being able to see the objects in non-default servers in TM1Web.
Re: TM1Web: Passing Server Name as a Parameter in a URL
Posted: Wed Apr 29, 2015 12:41 pm
by tomok
tm1ist wrote:In the current state, when any user goes to http://<hostname>:9510/tm1web, he is not prompted to select one of the servers but enters to the server which is specified as default in the configuration file. Therefore, a user cannot go to her desired server even if she wants to because server selection is not prompted.
Then just take out the reference to the default server. That way the user will be prompted to select the server they want to log into. You can't have it both ways, to have a default server, so that anyone who doesn't care just get's sent to that one, but let's others go to another one on demand. What lotsaram said is true, you can be automatically logged into the secondary server by using the URL API, but that requires you go to a specific object on the secondary server, it won't take you to the navigation tree on the secondary server. I'm pretty sure this has something to do with TM1Web only supporting one navigation tree at a time. The bottom line is if you want the user to be able to choose which server navigation tree they see then you'll have to take out the default and require ALL users to pick.
Re: TM1Web: Passing Server Name as a Parameter in a URL
Posted: Tue May 05, 2015 8:18 am
by tm1ist
tomok,
Thanks for your comment. I already understood that it seems not possible to have the functionality we need. That's why, I created an enhancement request to IBM and posted the link for that request here.
Re: TM1Web: Passing Server Name as a Parameter in a URL
Posted: Tue May 05, 2015 10:59 am
by lotsaram
tm1ist wrote:tomok,
Thanks for your comment. I already understood that it seems not possible to have the functionality we need. That's why, I created an enhancement request to IBM and posted the link for that request here.
I am ALL FOR FURTHER DEVELOPING THE URL API but I can't see your enhancement request going anywhere because it seems that to fulfil the business requirement you do have some other more obvious ways of getting there.
1/ If you want a user to be able to select the server to log onto then simple leave the TM1 Server parameter blank in tm1web_config.xml and the users will be presented with a drop-down list of all servers registered on the admin host when they log in
2/ If you want the Tm1 web default page to direct to a specific TM1 server then you can set up multiple TM1 application web services with different url aliases each pointing to a different TM1 instance. Then just give the users a different URL to go to depending on the server
3/ If you want to share content on tm1 web between servers that are on the same admin host then you can (easily), it's just a matter of setting up a websheet that pulls data from multiple servers / multiple cubes
I really can't see how one of these 3 (or a combination) wouldn't solve your requirement as you have stated it.
Re: TM1Web: Passing Server Name as a Parameter in a URL
Posted: Tue May 05, 2015 12:14 pm
by tm1ist
lotsaram wrote:
I am ALL FOR FURTHER DEVELOPING THE URL API but I can't see your enhancement request going anywhere because it seems that to fulfil the business requirement you do have some other more obvious ways of getting there.
1/ If you want a user to be able to select the server to log onto then simple leave the TM1 Server parameter blank in tm1web_config.xml and the users will be presented with a drop-down list of all servers registered on the admin host when they log in
2/ If you want the Tm1 web default page to direct to a specific TM1 server then you can set up multiple TM1 application web services with different url aliases each pointing to a different TM1 instance. Then just give the users a different URL to go to depending on the server
3/ If you want to share content on tm1 web between servers that are on the same admin host then you can (easily), it's just a matter of setting up a websheet that pulls data from multiple servers / multiple cubes
I really can't see how one of these 3 (or a combination) wouldn't solve your requirement as you have stated it.
Actually, number 2 seems to be a possible solution to the issue as I said earlier. Unfortunately, it is not a preferable option. Still, at the end of the day, we may have to implement it. But, we prefer more direct and simpler solutions as these workarounds come with extra burden in terms of maintenance, performance etc.
tm1ist wrote:
Thank you for your comment. That could be an option and I am trying it at the moment however a simpler solution would be much better due to several considerations such as need for creating a new webserver for each of numerous servers, possible performance issues, maintenance etc.
Now, it is all clear to us that (i)it is not possible with URL API, (ii)it can be worked around by setting up multiple tm1webs, and (iii) there is an enhancement request(ER) to bring the functionality to URL API.
Thank you all for sharing your opinions and knowledge.
Re: TM1Web: Passing Server Name as a Parameter in a URL
Posted: Tue May 05, 2015 1:06 pm
by tomok
tm1ist wrote:Now, it is all clear to us that (i)it is not possible with URL API, (ii)it can be worked around by setting up multiple tm1webs, and (iii) there is an enhancement request(ER) to bring the functionality to URL API.
I wouldn't delay anything waiting on the enhancement because it's simply not going to happen. Before IBM would even entertain this they would have to enhance TM1Web to act more like Architect and support more than one server object in the navigation tree. Since TM1Web is likely going to disappear in the not too too distant future (at least in my opinion), I don't see IBM expending resources enhancing it. Bascically, if the enhancement won't immediately help sell more software then they're not going to do it and I don't see this selling more software. By the time you find out about this limitation you already own it and I can't imagine any prospective customer realizing that during the sales cycle.