Sunday, November 19, 2017

Fluid UI | Deep-linking to a Fluid Homepage

When users login to PeopleSoft Fluid UI, they land on the system default Fluid homepage or the user personalized default Fluid homepage.

How can we override this default behavior and take users to a different homepage? First, why would we want to do that? There may be many reasons why we would need to deep-link to a specific Fluid homepage overriding the default behavior. For example, let us say we need to conditionally deep-link to a specific Fluid homepage from an external site using single sign on.

In Classic, we were able to simply pass a parameter (tab) to the homepage URL.

Default Classic Homepage

http://pi023.hcm92.com:8000/psp/ps/EMPLOYEE/HRMS/h/?tab=DEFAULT



Deep-link to Classic Homepage

http://pi023.hcm92.com:8000/psp/ps/EMPLOYEE/HRMS/h/?tab=HC_HRS_RECRUITING_HOMEPAGE_TAB



Deep-Linking to Fluid Homepage

Similar to the Classic Homepage parameter (tab), the Fluid Homepage allows us to pass a parameter (LP) to 'override' the landing page! Here is an example.

http://pi023.hcm92.com:8000/psc/ps/EMPLOYEE/HRMS/c/NUI_FRAMEWORK.PT_LANDINGPAGE.GBL?LP=HC_DEVELOPER_HOME_GBL


14 comments:

  1. Thank you for documenting and sharing this!

    ReplyDelete
  2. What is the method used to get the URL value
    "http://pi023.hcm92.com:8000/psc/ps/EMPLOYEE/HRMS/c/NUI_FRAMEWORK.PT_LANDINGPAGE.GBL"

    Is this it ?
    GenerateScriptRelativeURL(%Portal, %Node, Record.WEBLIB_PTBR, Field.ISCRIPT1, "FieldFormula", "IScript_StartPage");


    ReplyDelete
    Replies
    1. You could use that and the IScript should redirect to the homepage URL.

      You could also use the GenerateComponentContentURL function and reference the PT_LANDINGPAGE component directly. It depends on what you are trying to achieve.

      Delete
  3. How do I deep link to a specific page ? For example ,I can go to careers tile by using above example,how can I get a url of a specific job opening when I click on careers in fluid ?

    Thank you.

    ReplyDelete
    Replies
    1. Hi Arjun - That will be a case by case determination and we cannot use a one size fits all strategy for this type of deep linking.

      In this case though, if you go the careers page, click on the job that you like, you will see an 'Email this Job' link. Click on that link and you will see the deep link specific to that particular job.

      For example:
      http://pi029.hcm92.com:8000/psp/ps/EMPLOYEE/HRMS/c/HRS_HRAM_FL.HRS_CG_SEARCH_FL.GBL?Page=HRS_APP_JBPST_FL&Action=U&FOCUS=Applicant&SiteId=1&JobOpeningId=505002&PostingSeq=1

      Note that in this case we were lucky that the page itself has such an option. Otherwise, you might have to write additional code to read some data from URL parameters and deep-link them to a transaction.

      Delete
  4. Hi Sasank, this is very helpful.
    Do you know of a way to change the current user? For Campus Solutions, we want to show the "Student Center" of someone other than the person who is logged in. We have the emplid id of the person we want to show, but not sure how to go to a landing page for someone other than the logged in user.

    ReplyDelete
    Replies
    1. No. I don't think this type of functionality is available but you might want to look at implementing user profile emulation. Something along the lines of the topic discussed here (check out the comments section of the idea):

      https://community.oracle.com/ideas/12906

      Delete
  5. Hi Sasank,

    We have created a Homepage and want to grant access to the Homepage for the SSS_GUEST user. The user should be allowed to access the homepage with No login where as for anyone else it should navigate to the Classic Homepage.

    Is that possible?

    Regards,
    Saurav

    ReplyDelete
    Replies
    1. Hi Saurav,

      Yes. This can be achieved. You can setup a separate site for this user/guest access. It will be similar to how we setup the Candidate Gateway using a separate web profile, site configuration, etc.

      More details here:
      https://docs.oracle.com/cd/F23178_01/hcm92pbr32/eng/hcm/hert/task_SettingUpSites-067fff.html#u9b3fedbf-3e1e-48d6-94e5-f8ab947f6a30

      Once you have this site setup, you can use Branding 'Assign Themes' page to setup different themes either at the portal level or at the user role level.

      More details here: https://docs.oracle.com/cd/E92519_02/pt856pbr3/eng/pt/tprt/task_AdministeringSystemBranding.html#u8d8f2d24-c9d9-46ca-9428-495de3dd365b

      Delete
  6. In a clustered environment with IH and several other PS applications, how do you create a link in a content provider that will always return the user to the Portal HOST default fluid homepage? The HOME button itself is using DoHome() JavaScript function, but what is the PeopleCode command to use so that it automatically uses the hosted portal default fluid homepage (depending on how you signed in)?

    ReplyDelete
  7. I have a question , We are upgrading and wish to discontinue some Components and tiles , For security Purposes I may need to Keep component , But not Tile and they are loaded into personzlized and favorites tile group, Is there a SQL where I can remove them .

    ReplyDelete
    Replies
    1. Hi Will - Please review the following document on MOS.

      E-PORTAL : Which Portal Tables Store Homepage And Tile Personalization Data? (Doc ID 2259518.1)
      https://support.oracle.com/epmos/faces/DocContentDisplay?id=2259518.1

      Delete
  8. Hi Sasank.. Came across your article about deep link and url.. My question is, how to identify on PS page if we have navigated through deep links or with normal sign in process.. Basically, we need to identify the psc/psp in url to accomplish some validation. Your thought is highly appreciated. Thanks!

    ReplyDelete