Sunday, February 21, 2021

Event Mapping on Fluid Homepage

I regularly get questions on how we can make changes to Tiles on the Homepage dynamically:

  • Display/hide Tiles based on certain conditions
  • Use different Tile title/content based on certain conditions
  • And so on...

And every time I struggle to remember and find this reference to an old Oracle community discussion:
https://community.oracle.com/tech/apps-infra/discussion/4052095/hide-fluid-tile-from-a-homepage

Just to avoid searching for this again, I am sharing/documenting this link on my blog. 😇

On this thread, Divesh Gupta shared an idea to use Event Mapping on the Fluid Homepage to dynamically display/hide Tiles.
Component: PT_LANDINGPAGE.GBL
CREF: Fluid Structure Content > Fluid Pages > PeopleSoft Applications > Fluid Home

This is a brilliant idea which could be extended for many use cases. It opens up the door for all sorts of dynamic customizations (without the overhead of a customized object). I refer to this on several occasions and hope you find it useful!

Also, be on the look out for a new feature that is planned for PeopleTools 8.59!
Refer: PeopleSoft Planned Features and Enhancements (Doc ID 1966243.2) > Technology (Tab) > Hiding or Displaying Tiles Using an Application Class

16 comments:

  1. Hi Sasank, Have you worked on Activity Guides and Action items? I have a requirement to hide/display few actions items in a activity guide based employee's jobcode. Wanted to see if you have any thoughts on this. Thanks

    ReplyDelete
    Replies
    1. Yes. In theory, it is my understanding that this is possible. You should be able to control the steps (action items) when you instantiate the activity guide instance.

      Unfortunately, I don't have any examples to share.

      Delete
  2. What about using Page and Field configuration to hide such page-field base on your criteria. The trick is to use derivative template (like a scrollset) basically the instance of. Hit the Mgt template of the Activity Guide Creation

    ReplyDelete
    Replies
    1. Good idea! PFC might be a good candidate for some of these use cases as well.

      Delete
  3. Hi Sasank, Do you know which version/PUM image Event Mapping became available? We are on 9.2 PUM 19.

    ReplyDelete
  4. Hi Mukki - Event Mapping is a PeopleTools feature. I believe it was introduced in 8.54. So, if you are on PeopleTools 8.54 or above, you should be able to use Event Mapping.

    ReplyDelete
  5. Sasank

    An interesting Question about event Mapping..... And FLuid Component Forms

    In This case I am building a FORM thru Peoplesoft FORM Fluid
    I create all the fields and Build Form ... Now I want to Control the form and do things like Protect certain fields based on something ... etc , PS Form component is EOFM_CONTAINER_FL but that is more the search page , even if it creates a form link EOFM_CONTAINER_FL?FL=TESTFORM
    that gets transferred to another component EOFM_FORMS_FL

    That is the component I wish to control .. How can I create an Event Mapping on that component

    W

    p.s. Using PT 8.58

    ReplyDelete
    Replies
    1. I think Logesh wrote a post about this a while back.

      Here is a link:
      https://leanitdesigns.blog/2017/06/25/enhancing-fluid-forms-with-peoplecode-event-mapping/

      Delete
  6. Sasank

    An interesting Question about event Mapping..... And FLuid Component Forms

    In This case I am building a FORM thru Peoplesoft FORM Fluid
    I create all the fields and Build Form ... Now I want to Control the form and do things like Protect certain fields based on something ... etc , PS Form component is EOFM_CONTAINER_FL but that is more the search page , even if it creates a form link EOFM_CONTAINER_FL?FL=TESTFORM
    that gets transferred to another component EOFM_FORMS_FL

    That is the component I wish to control .. How can I create an Event Mapping on that component

    W

    p.s. Using PT 8.58

    ReplyDelete
  7. Thanks .. the one missing piece that was driving me nuts...
    Note: Component – EOFM_FORM_FL as delivered is not available on the portal registry, so this has to be first registered in the portal, so that related events can be mapped.

    ReplyDelete
    Replies
    1. Yeah. That is a challenge. I have run into it as well. I wrote a post about that here:
      https://pe0ples0ft.blogspot.com/2017/02/rc-emf-for-components-not-in-portal-menu.html

      Delete
  8. Hi Sasank,

    Thank you for sharing your development tips! Is there any way to display a warning message upon clicking a navigation collection tile and not open the target content until the user has dismissed the warning message by clicking the OK button. The tile is on the ESS home page.

    Thanks,
    Soham

    ReplyDelete
    Replies
    1. There are many ways to do this and it depends on your specific requirements.
      Is this a delivered tile?

      Few ideas (not an exhaustive list):
      - Take the users to an intermediary component/page with the warning and then redirect once accepted.
      - Use Event Mapping on the Nav Collection Component and inject the warning message via any load event.

      Delete
    2. Also, just curious. What is this warning message?

      Delete
    3. Sorry Sasank, just realized that I never replied to your last comment. The warning message appears upon clicking the Learning tile and warns users that the organization is switching to a new Learning Management System and provides some details about the switch.

      Delete
  9. Hi Sasank, we have done some customisation on home button(PT_WORK.PT_BUTTON_HOME.FieldChange) . I have moved this custom code to Event Mapping by mapping to related content (Fluid Structure Content >Fluid Peopletools >Fluid People tools Framework> Fluid Homepage and also Fluid Structure Content >Fluid Pages> Peoplesoft Applications> Fluid Home) .
    But the custom logic in event mapping is only triggering from Landing page... When navigated to some other component and if I click on Home button the custom logic from Event mapping is not getting triggered.

    Could you please let me know how I can get this custom logic written in Event mapping triggered from all the components..
    Thank you!

    ReplyDelete