How to customize timeout page

Ganeshkumar shared this question 5 years ago
Answered

Hi,

I want to implement page redirection in yellowfin Timeout.i4 page. How to customize or create a custom timeout page in yellowfin

Thanks,

Ganeshkumar

Replies (15)

photo
1

Hi Ganeshkumar,

in your Yellowfin installation, C:\Yellowfin\YF 7.4\development\examples to be precise, there is a page called "index_mi.jsp", you can use this as the basis of your own customised login page.

Then all you have to do make sure Yellowfin uses it is to set the following element in Yellowfin\appserver\webapps\ROOT\WEB-INF\web.xml :


<welcome-file-list>

<welcome-file>your_login_page.jsp</welcome-file>

</welcome-file-list>


Make sure your custom login page is residing in the ROOT folder.


And you will also have to change the following line in your custom login page:


<input type="hidden" name="<%=Const.INDEX_PAGE%>" value="/ your_login_page.jsp " />


I hope that helps, and please let me know how this goes for you.

regards,

David

photo
1

Hi David,

Thanks for the reply. But, I already did these above things. I need the redirection from this logon page to my own url like another domain if user session is null or empty.

Thanks,

Ganeshkumar

photo
1

ah, another domain! You didn't say that before.

Why don't you try something like this:

https://stackoverflow.com/questions/20489779/redirect-welcome-page-to-a-page-in-another-domain-in-servlet-container

regards,

David

photo
1

Hmmm yeah. This is working. But i want to conditional redirection only. I want to redirect for the normal user only not administrator. Is any option to check it? Can I able to get the custom parameter (which is sent from login API) in that timeout page?

Thanks,

Ganeshkumar

photo
1

Is it possible to get the current page details? Like my current page is timeout page or logon page....?

photo
1

Hi Ganeshkumar,

unfortunately I'm not an Apache Tomcat guru, and in fact I initially didn't know the answer for your last question about redirecting to another domain until I went online and researched the Apache Tomcat documentation for you. I do not know about Apache Tomcat's ability for conditional redirection.

I've just done a bit more online research for you and I've found the following:

http://www.baeldung.com/spring_redirect_after_login

I hope that is of some help you, and even if it isn't directly helpful, it still may give you some new ideas that will influence your own online research about Apache Tomcat conditional redirection.

Good luck and please let us know how it goes!

regards,

David

photo
1

Hi David,

I fixed the issue using "response.sendRedirect()" method. But now I am facing another problem. I wrote the function"response.sendRedirect()" in my custom login page (as you suggested in first comment).

When session timeout, If am in "http://localhost:8080/MIPreBrowse.i4" this page, yellowfin redirected properly.

But When session timeout If am in "http://localhost:8080/RunDashboard.i4?dashUUID=02763708-6ac5-4968-9a35-3a6eaecf4b29&primaryOrg=1&clientOrg=1" dashboard page it will redirected to "http://localhost:8080/MIRequireLogin.i4;jsessionid=4A6820804F28BD223641C9A467108739" this page not to custom login page.

Thanks,

Ganeshkumar

photo
1

Hi Ganeshkumar,

I'm just letting you know that I have been able to replicate exactly what you have described, however I'm not sure if this is a bug or not, so I have asked our developers about it but so far no one has replied to me. I will try and chase this up and then get back to you.

regards,

David

photo
1

Hi Ganeshkumar,

well, the developers didn't get back to me! But all is not lost because I spent some time mucking around and finally found out how to do it:

Edit the file <yellowfin>\appserver\webapps\ROOT\WEB-INF\struts-config-mi.xml and replace the 4 occurrences of "/MIRequireLogin.i4" with "http://Factavox.com/login.jsp" (or whatever your custom login page in the different domain is called), and then restart Yellowfin for the changes to take effect.

If you'd like a quick way to test this, you can change the session timeout to 1 minute by editing the file <yellowifn>\appserver\conf\web.xml and changing the value for the tag called "session-timeout" to 1, and then you'll have to restart yellowfin for this to take effect.

Please give this a try and let me know how it goes.

regards,

David

photo
1

Thanks David,

Previously I tried that page, but I changed one or two occurrences....

It is working fine.... But this change is advisable one?

photo
1

Hi Ganeshkumar,

don't worry, now I have double-checked this with a developer and he said it is perfectly fine to modify struts-config-mi.xml.

So, good to hear everything is working fine now.

regards,

David

photo
1

Yes David It is working fine now. Thanks you.

Thanks,

Ganeshkumar

photo
1

that's great news Ganeshkumar, thanks for letting me know!

regards,

David

photo
1

In case when all 4 occurrences of MIRequireLogin.i4 are replaced with custom login page, how can we allow sharing reports with a link? Before replacement, when a shared link is used, the YellowFin displayed a small form to specify login credentials. Now that the RequireLogin is redirected to the custom login form, is there a way to retrieve a report UUID that was in the shred link to redirect user to the report directly?

photo
1

Hi Ivan,

when you say "Before replacement, when a shared link is used, the YellowFin displayed a small form to specify login credentials." This is actually not correct if you have followed all of the steps in the below article:

https://www.yellowfinbi.com/resources/forum/yfforum-how-to-give-external-users-access-to-a-report-thread-100865

in which case if you click a shared link then you get straight to the report without having the small form to specify login credentials.

regards,

David

Leave a Comment
 
Attach a file