Enhance your PeopleSoft Landing Pages with Sections and Dynamic Tiles of PeopleTools 8.62

Sectioned Homepages and Dynamic Tiles

Introduction:

    In PeopleTools release 8.62, Oracle introduced a major change in how you configure and maintain the Landing Pages and Dashboards with Sectioned Homepages and Dynamic Tiles. Until this release PeopleSoft Developer and Portal Administrator has to group all the Tiles/Pagelets and keep it on a portal homepage and they had very minimal/no control on how those Tiles are displayed on the Landing Page.

Screen 1: Traditional Homepage

But, with new Sectioned Homepages and Dynamic Tiles you can have a homepage something like this, 

Screen 2: Modern Homepage

    And Dynamic Tile is something you can use Application Classes to control the entire behaviour of the Tiles displayed on the homepage. Be it a Label of the tile or Image you can change it run time. Assume you have specific tile that needs to be displayed on particular week of the month (like Reimbursements) then disappears automatically, without needing the change from Portal Administrator. Since it is Application Class that controls we can use any programming or setup logic consultants will have a greater flexibility. Additionally the dynamic tile also supports the StyleSheet/CSS changes at run time for the look and feel changes.

Section Templates:

    Before we go into this lets have a basic understanding of what is Section in Tools 8.62, with Sections you can group related Tiles and Pagelets together and also can apply different Styles using CSS and control how each section should behave on Homepages (like allowing Personalization's, Collapsible Contents, setting the Icons etc). And with Section Templates you could create such sections and reusing it on your homepages with specific Tiles. Here you can also set the Tab Order (or Tile Order) to decide how it is presented on the landing pages. For example notice that in earlier screenshot under Quick Access the "Directory" tile comes first then the "Performance" tile and so on.

    To create Section Template you need to navigate to PeopleTools > Portal > Structure and Content then go to Fluid Structure Content > Fluid Section Templates then click "Add Content Reference" link.

Screen 3: Section Template - Part 1

Screen 4: Section Template - Part 2

While many things are self explanatory, I would like to share details of few items,

  • Usage Type: Select as "Section Template"
  • Behavior: Anything other than "Optional" as it automatically hides when No Tile is displayed
  • Disable Collapsible Section Header: Check if this section will hold more number of tiles
  • Section Image: Image that displays before the Section Label on Homepage
  • Section Loader Application Class: App. Class path that extends PTNUI:Dynamic:DynamicLoader application class
  • Content Reference Attributes: Name and Value pairs that is needed for specific settings like,
    • PS_STYLECLASSES - Style Classes separated by semicolon (;)
    • PS_STYLESHEETS - Style Sheet Name
    • DB - Dashboard Name
    • PORTAL_HIDE_IN_PERSONALIZE - TRUE/FALSE
    • PORTAL_HIDE_HEADER - TRUE/FALSE
    • PORTAL_SECTION_IMAGE - Image Name to override

Section Assignment Page

    This page provides a way to arrange the selected tiles (from Tile Content page) into the section with Tile Order and Behavior. It displays many of the values provides in the "General" tab as display only as it will be used in the actual Homepages.

Screen 4: Section Assignment Page

Importing Sections:

    Once your Section Template is ready you can Import to any homepage you create using "Import Section" option. Note that subsequent changes on the Section Template will not automatically sync up with imported homepages, so, you have to redo the Import. And once you change the section name in homepage setup the Import option will no longer sync and it will be a new section.

Screen 5: Import Section Options

Sections on Fluid Homepages:

    As you see the above screen there is an addition of "Section Assignment" tab in Content Reference page provides a way to either create new Sections directly or using "Import Section" with an option to select the Tiles from Template. Since you may wanted to create a sub-section of the template by limiting the Tiles displayed on homepage.

    Unlike Section Template type content reference, here the properties are editable so that you can override the values after importing. And there is an Order field to specify the order of the section as well.

Screen 6: Section Assignment on Homepage

Similar Tile Selection and Groupings are available in Fluid Dashboards as well.

Screen 7: Fluid Dashboard - Section Assignment

Dynamic Tile Loader:

    If you are keen you should have noticed that the Section Loader Application Loader class in both Section Template's General page and Homepage's Section Assignment page. This is where the magic of making the tiles show or hide at runtime and changing the look and feel of the tiles happens. Luckily you don't have to do much but to simply extend the PTNUI:Dynamic:DynamicLoader application class and add LoadSection() method, which gets called when the Homepage is getting loaded to the user. PeopleSoft have given the methods of this and related classes under it's PeopleCode API Reference - DynamicLoader topic. 

Few method details are given below,
  1. CreateTile() - Creates a Tile Object using existing Portal and Node values
  2. CreateTileUsingTab() - Creates a Tile Object 
  3. GetNextRowNumber() - Provides the Next Tile Order based on existing tiles
  4. SetupFluidTarget() -  Sets the Fluid Component/Activity Guide/Dashboard target
  5. SetupClassTarget() - Sets the Classic target
  6. SetupGenericTarget() - Sets the generic/external URL as a target
  7. AddTileToSection() - Last method to be called to load the changes

Sample Use Case:

    I would like to showcase a Dynamic Tile to display two different components alternatively on the custom Section which I have added in the Homepage. It may not serve any good business case but it will give you a fair idea of how Dynamic Tiles can be implemented and used.

    I have cloned and kept one Homepage for this changes (say "My Home - Demo"), then created the following application class by extending the DynamicLoader class.

Screen 8: Cloned Homepage


Screen 9: DynamicLoader Implementation

    Once the extended application class is ready I have mapped the Loader Class to my Section inside the newly created homepage. I have provided the complete code in my GitHub Samples folder.

Screen 10: Section with DynamicLoader

Voila!, it will work with simple homepage refresh, from the given code user will either see Password Reset page or Company Directory page.
 
Screen 11: Dynamic Tile in Homepage

    I would say with proper requirement gathering discussion with Business Users and them jumping to the homepage design will give tremendous improvement in User Experience, Engagement and Usability of the Application. And I hope this blog will be beneficial to you and if so then please do add your business cases in comments and share the original post to the rest of your PeopleSoft Community and make them aware.

Happy Learning. :)

Comments

  1. Very interesting and exciting content. Thank you for sharing.

    ReplyDelete

Post a Comment

You might wanna check out my Popular Post

Running Connected Query BIP / XMLP through Peoplecode / AE Process

Localize your PeopleSoft System Date