Notifications

185 views

Many times, the default home page for a given user or set of users have a high number of widgets and lists, or simply some of the widgets cannot be optimized to perform better than how they already perform. In those cases, it is recommended to set a blank or generic home page for the users so that their login performance is optimal. Links to individual homepages can be added to the <blank> homepage.

Steps:

1. In the sys_properties table, set the following property:

    Name: glide.login.home

    Value: welcome.do

                     

2. Navigate to System UI > Welcome Page Content

a. Here, you can either modify the existing elements or add your own. For the purposes of this KB, we will disable all of the existing elements and will be adding our own. You need to be aware of OOB elements that SHOULD NOT be disabled. Specially those that have a condition "gs.getSession.isLoggedIn()==false or blank"

3. Click on “New”

4. Add your short description.

a. Sample: Welcome back ${gs.getuser().name}

b. OOB, this can also be left blank

5. Add your condition

a. For logged in users only, the condition is “gs.getSession.isLoggedIn()==true”

6. Add your Text. See below for a sample, where the link takes the user to their actual home page (home.do)

                           

7. Save / Update

8. Login as user, and the result should be as displayed below after successful login:

                           

 

In some scenarios it may be necessary to perform validation of a users name, role, or something else to determine whether they should be redirected to the generic home page or load their full home page. This can be done via a custom UI page.

Simple validation can performed directly within the UI page (i.e. checking a users name or role) - more complex validation can be performed via an asynchronous AJAX call which executes a script include on the application node and returns corresponding results. This gives significant flexibility in controlling how each users home page functions.

As an example lets assume that

  • Users with a certain user preference set should be redirected to their full home page whereas all other users should be redirected to the generic/light weight home page
  • A server side script include will be used to test for existence of the user preference
  • The generic/light weight home page has already been configured at welcome.do using the above steps

Steps to achieve this are as follows:

  • Create a brand new UI page (i.e. loadSplashScreen). Within this UI page perform an asynchronous AJAX call to a server side script include (also called loadSplashScreen) then open the address returned by the script include in the main frame of the user interface:

  • Create a corresponding script include (i.e. loadSplashScreen) which performs validation and returns a corresponding address (i.e. that of the generic/light weight home page at welcome.do or the users full home page at home_splash.do). Note that this script include must extend the AbstractAjaxProcessor class and have 'client callable' set:

In the above example the script include simply checks whether the current user has the 'bypass_splash_screen' user preference set to 'true'. This could, however, be modified to perform absolutely any form of validation.

  • Modify the 'glide.login.home' system property to point to the new UI page (in this case loadSplashScreen.do):

  • For users who should be redirected straight to their full home page (i.e. skip the generic/light weight splash screen) set the bypass_splash_screen user preference accordingly:

Naturally, the image(s) displayed are samples only. This functionality requires thorough testing and vetting, and it is applied INSTANCE WIDE. Also, it is always recommended to follow best practices and test these steps in a sub-prod instance before deployment to production.

Article Information

Last Updated:2019-09-19 08:00:26
Published:2019-09-19