The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

Monday, 12 June 2017

People Tools 8.56 – New Capabilities

Oracle has released the latest version of the application development tool for the PeopleSoft applications – People Tools 8.56. The latest version offers many new features and capabilities aimed at enhanced user experience, search capabilities, developer productivity etc.

In this post I am listing some of the key features available with the People Tools version 8.56. Readers are advised to contact the Oracle Support or Oracle websites (some of which are listed below) to get more detailed and authentic information on all the new capabilities offered by the latest version.

Classic Plus Styling - I would say this is one of the best functionality you would get with the newer tools release. You would get to convert all your existing classic components to match the fluid pages styling within just about 5 minutes of time. So whenever a user navigates from fluid component to classic or vice versa, it will be a seamless process. One major thing you have to note here is that the style only matches the look and feel and does not come with the responsive or fluid UX features.

Fluid Enhancement – There are couple of enhancements to fluid functionality. The major one includes the support of dashboard configuration in small form factor design.

Elastic Search – This is another major enhancement that is coming up with People Tools 8.56. The search technology is now replaced with better tool, Elastic Search. There are lot many performance enhancements in the search technology. It also allows clustering of indexes.

Event Mapping – Event mapping was one of the great technology change introduced in People Tools release 8.55. With release of 8.56, it is enhanced to be more powerful with support to Page Level events, Field Change event etc. Also now the framework supports tagging multiple custom codes to same people code event. The framework also gives the flexibility to find definition references similar to the People Code definition search.

Oracle Documents Cloud support – This is another glad news for all who love cloud applications. The PeopleSoft attachments functionality now allows the users to load attachments or documents from Oracle Document Cloud Service.

Role and Permission List Alias – This is something you could consider if your organization has specific roles and have to customize the people code wherever the role name is hard coded. Now with Tools 8.56, you would be able to give alias to the delivered Roles and give it your name without having to go into app designer to customize where ever the role name is referenced. People tools will do the role name conversion automatically on the fly.

Sensitive Field Masking – Another feature is a new page field property which allows you to mask the content of the sensitive fields such as SSN, Password etc. The field value will be available for all other normal processing and this property enables the data being masked when displayed to the user.

BI Publisher enhancements – BI Publisher is enhanced to apply personalization of regional settings, IANA time zone and Unicode characters for external file names.

PUM – There are many enhancements to the PeopleSoft Update Manager which helps to pick and apply the correct bug fix or feature. There are many new analytics such as Enhancement by Image, Enhancement by Product etc to help you choose the right fix. It is now easy to take actions such as adding a fix to change Package etc from the analytics.

PTF – The PeopleSoft Test Framework (PTF) is updated to make you run the test based on the result set of a query execution which could boost the productivity of your QA team. The PTF now also support testing on Charts. PTF also introduces drag and drop actions for certain steps.

ADS – Application Data Sets (ADS) which is used migrate your system data from one environment to another, as well as for certain configuration such as Related Content etc is now enhanced with an Application Designer like compare option, making it easy for you to spot on the change.

Sunday, 30 October 2016

Three Simple Tips for Fluid Beginners

In this post I would like to share three “easy to implement” tips that will prove helpful in PeopleSoft Fluid applications development. I have selected the topics such a way that the development of each item discussed below could be completed within five minutes of time with proper knowledge, which otherwise would take a lot of time to be spent on css, pagelayouts, code debugging etc.

Tab Selection

The first topic I would like to explain is how you would be able to build tab selection buttons or button sets very easily in PeopleSoft fluid application similar to the one shown in the below picture.

Peoplesoft tab selection

You will be surprised to know how easy it is to create such tabs for your applications as well. The steps you have to follow will be as below.

Step 1: Create a field with translate values. Each translate value will be one of the selection option in the tabs.

Step 2: Create radio buttons for each translate value on the page you intent to show the tabs and wrap all the radio buttons within a group box of type “layout only”. Provide the style class “ps_button_bar” to the group box.

Step 3: Write peoplecode on the Field Change event. Here you could write the logic for selection of each value.

Step 4: Test the page. You are done with the tabs. J

Header Panel

The next easy to create item I would like to mention here is how a header panel can be generated on Fluid pages. The header panel in fluid design is a section on top of the page where high level information on the transaction can be mentioned. This is often used in conjunction with the left panel and is termed as the three panel layout.

Let us go through the steps to create a sample header panel for a PeopleSoft Fluid page.

Step 1: Add a group box to your main page. In the Fluid tab, set the group box type as “Custom Header Bottom”. Set the style class as “ps_apps_pageheader” and save the page.

Step 2: Put any other fields or labels you want to be the part of the header inside the group box you have created in Step 1.

Step 3: Test the page. Yes, your page header is already ready to be tested.
PeopleSoft Fluid Header Page

Setting the Page Title at Runtime

The last tip I would like to share here is how you could dynamically change your fluid applications title displayed on the fluid tool bar. By default PeopleSoft will be displaying the name of the currently displayed page as the title on the header. Once you tab across different pages within a component, the system will automatically change the title to the one defined on the component definition in application designer.

There can be cases where you would like to display some other information or live metrics as the title rather than the static text defined in the application designer. You could follow the below step to change the page title dynamically using peoplecode.

Step 1: On the page activate event, write the below people code. Replace the title with the one you would like to have – include variables, field values etc of your choice.

PTLAYOUT.PAGETITLE_GROUPBOX.Label = "This is my new Page Title";

Step 2: Test your application. Isn’t it simple?

Sunday, 25 September 2016

Application class to control ­­­Side (Left) Panel in 8.55

With the release 8.55 People Tools has introduced new page types namely Side Page 1 and Side Page 2. These pages are a good replacement technique to the old method of having a complex two panel layout. With the introduction of side pages, it is easy to manage the navigation or other supplemental pages in a component. These pages act as a standalone object and could be added to the component like any other standard pages. The moment these pages are added, the component starts displaying the side panel pages (left panel or right panel) and it does not require additional styling or coding. In version 8.54 the toggling between the side pages and main pages were handled with the help of certain derived functions present on the people code event PT_TWOPNL_WRK.BUTTON.FieldFormula.

The toggle switch you see on the two panel layout was an actual button field present on the page, style of which was controlled to work as the side panel pull switch. However with the side page concept of 8.55 onwards, the field button is not part of the application pages and these functions may not work as expected.

With 8.55 onward the inbuilt logic to control the appearance of the fluid components is delivered in application packages.  People Tools is delivering an application package PT_PAGE_UTILS which contains classes to control the general behavior of fluid components. In that application package there is a Application Class named PanelController which can be used to control the behavior of Side Pages in a two, three or four panel page designs.

The application class consists of methods which could be invoked to set the behavior of the side pages. The methods that consists the names Side1 can be used to control the Side Page 1 (Left Panel). Similarly the methods that consists the name Side2 can be used to control the Side Page 2 (Right Panel).

Almost all the methods are pretty much self explanatory so that reading the method name will give you a fair idea of what that method is intended to do. Some methods such as SetSide1Enabled() expects an input Boolean value to decide whether the property that need to be set is Enabled/Disabled.  There are couple of method which will control advanced properties. For example using the method UsePersistentOpenModeSide1(True) will keep the left side panel always open regardless of the size of the browser window. It will also keep the left panel open even if the user has selected an item from the left panel navigation list.

These methods will be handy when you have to code the side panel to behave differently in different devices.

For example, the below piece of code will open the side panel by default if the component is rendered on a large form factor device.

import PT_PAGE_UTILS:PanelController;

Local PT_PAGE_UTILS:PanelController &objPage;

&objPage = create PT_PAGE_UTILS:PanelController();

If %Request.BrowserDeviceFormFactor = %FormFactor_Large Then
&objPage.Initialize( False);
&objPage.SetSide1OpenState( True);