Monday, August 03, 2015

PeopleSoft Spotlight Series: Fluid

Have you seen the new PeopleTools Spotlight series? I just finished the Developing Fluid Applications lesson. This 1-hour video walks you through creating a fluid component, including some of the special CSS style classes, such as psc_column-2. The example is very well done and should get new fluid developers headed down the right path.

98 comments:

PSTuners said...

That's really great and interesting to watch. Looking for more on fluid components. Thanks for sharing.

MyBlog said...

Hi Jim,
sorry for the off-topic comment. I was wndering if you could help with an Integration Broker issue - we have this delivered IB in HCM 9.1 with PeopleTools 8.53 - JOBCODE_FULLSYNC

It looks like the fullsync is pushing across data from HR's base tables to Finance's base tables, but related language data - in this case Spanish - is not being pushed across. I've checked all configuration and it seems to be correct. Any idea what could be wrong or if any other IBs have to be run in sequence for the Jobcode full sync to work?

The following are the setups that I've verified
I've verified the following setups:
1. Active full data publish rules - language tab as Publish All related languages checked
2. Service operation is active on both sides
3. Handler PeopleCode is delivered, so there is no change and it is active
4. Routing is active as well - from HR to Finance
5. Above steps have been checked to be proper for the Finance side as well

Thanks,
Mani

Jim Marion said...

@Mani, I don't know what would cause this. You can try posting in the PeopleSoft General Discussion forum or opening a support case.

MyBlog said...

Thanks Jim!

Will said...

Jim A Fluid Question..

I have a grid with one field that I am scanning information into. and I am using the + to add rows...

On the hand held(ITouch with Scanner) , I touch (select) the first field in grid, Keyboard pops up, and I scan the first line, I hit the plus to add the next line (keyboard Drops) and a new blank row is presented.. I now have to touch (select) the next row field and scan again..

Problem is I have to keep, Selecting the Field on the new row each time after I add a row.

I may be able to add a return in scanner , Maybe watch for that and add row so it does not need to leave entry

Any ideas
W

Jim Marion said...

@William, if I understand correctly, it is a matter of focus. You want the first field in the new row to immediately have focus. That seems logical. Sounds like a reasonable enhancement request as well, so you may want to file that in My Oracle support. Besides that, I believe this could be resolved with JavaScript. It will be a little tricky, though, because it will need to happen after the row is inserted. PeopleTools uses the net2.ContentLoader JavaScript object to manage Ajax. Clicking the + button triggers net2.ContentLoader. Your mission is to duck punch net2.ContentLoader so you can capture the response and take action after the DOM is updated.

Will said...

Jim

I removed the Add Button m then on changefield I insert a new row automatically.. And set the focus on the new Field..

Works great on web but not on the Iphone/Itouch safari screens. Where I am trying to do mass entries (Barcode Reading ) from the attached scanner..

I created a ticket with Oracle to see what they say.. Since Fluid should be working in all environments..

May have to try to create additional Javascript to do this.

Just another thought is create one large string and let them add everything on one line then parse (somehow) into separate rows. It is a cheat But then Users can add all at once with out going back to the server

Will said...

Oracle Came back with a fix.. I thought I would mention


Because PeopleTools 8.54.14 is not released yet, the optimal solution would be to apply the known workaround, with the following steps:

1. Open Application designer.
2. Open the HTML object PT_PAGESCRIPT
3. Comment out this line:

function setFocus_%FormName(fldname, indx, oDoc0)
{

//if (isFModeLayout()&& isTouchKeyboard()) return; //comment out this line

if (isFModeLayout() && (fldname.indexOf("$hdown") != -1 |

4. Save the object.
5. Bounce the web server and clear its cache, then re-test.


Please NOTE that this workaround will only work for iOS 8 and higher. No workaround or solution exists for lower iOS releases, as they have a known defect preventing this behavior from working correctly.

Will said...

Jim

Need some a recommendation/Concept... I need to create a fluid page that asks for a signature that I can then pull into PS as an attachment..

I believe I can do this thru JS that can ask for Signatures since it is HTML.. Can you recommend something that may have already been done??

Jim Marion said...

@William, if this is for a specific component, then you can use the component branding module to inject your JavaScript. I have heard of people using canvas to accept a signature, and then using the canvas toDataUrl method to extract the base64 encoded version of the image. You can then pass that data on to an iScript or REST service to process and convert to a real image.

Will said...

hmmm, Component Branding I am assuming your are talking about Style Tab on the component properties ..

How would I use an I-script in A Fluid Page... I can see the Canvas Concept , Maybe I am missing something

Jim Marion said...

@William, not the style tab. Online under PeopleTools > Portal > Branding, there is a component that allows you to associate JavaScript with components. It is there that you would add a JavaScript to a component that needs to capture a signature. Before this, however, you need to write some JavaScript to display a canvas. I would display it in a jQuery UI popup. The "accept signature" button would make an Ajax call to an iScript. That is how the iScript fits.

Will said...

AHHHHH

I am surprised I need to add the Javascript On the Branding and not loading it in the App designer. At least the Logic would be in one place for future Mods.. Just need to Comment Well. Can I load Branding into a project to Migrate.

Just need to Tie Button to Iscript

w

Jim Marion said...

@William, you can add the JavaScript definition to a project, but not the component branding.

The component branding will be a configuration so it won't modify the existing page definition or app designer in any way.

Matthew said...

The development video is great, but I wish it was extended to include a component that has a search dialog. I'm trying that at the moment and getting nowhere. Have you got anything on converting classic search pages?

Jim Marion said...

@Matthew, I have some information on that in my book, but it isn't schedule to release until October. If you select the component property for search and add the fluid search page as a hidden page, then you get the default search page.

Anoop Savio said...

Just finished watching the series. Great as usual.

Will said...

I have started on working on the Signature Mobil app. So It should be interesting pulling all the above together

Simple Question: On the Iphone I need to Pull up a Numeric Keypad when entering numbers, Changing the Fluid text type to numeric does not do it...
I need to add Pattern of either "[0-9\.]*" or "\d*"
How would I add that into the Input tag

Jim Marion said...

@William, input type="number" gave me a number pad on android. I don't have an iPhone to test with.

Will said...

Unfortunately with the Iphone it does not do it... Seems like IPhone likes to break all the rules

MyBlog said...

Hi Jim,
Any ideas on what could be going wrong in the following code? I've posted it in on the Oracle forum as well, thought of checking if you'd have any ideas on what is going wrong..

I'm trying to get a PDF to be generated from an Application package PeopleCode in HCM - the HCM App Package PeopleCode is called by an IB message in Finance. The following is the code that I have currently, but when the code executes, it displays an error message:
I'm on HCM/FSCM 9.1 and Tools 8.53.

Error generating report output:
Error occurred during the process of generating the output file from template file, XML data file, and translation XLIFF file.


Here's the code that is used in the App Package in HCM:


&sReportDefnId = "REPORT_HDR";
Local PSXP_RPTDEFNMANAGER:ReportDefn &oRptDefn = create PSXP_RPTDEFNMANAGER:ReportDefn(&sReportDefnId);
&oRptDefn.Get();

If Upper(Right(%This.ReportFileName, 4)) = ".PDF" Then
&oRptDefn.ReportFileName = Substring(%This.ReportFileName, 1, Len(%This.ReportFileName) - 4);
Else
&oRptDefn.ReportFileName = %This.ReportFileName;
End-If;

Local string &sTemplate = "REPORT_TEMPLATE";
&oRptDefn.ProcessReport(&sTemplate, "ENG", %Date, "PDF");

BTW, the report can have non-english characters as well. Appreciate any help for this issue..

Jim Marion said...

Does the report publish just fine when you use the Application Package from an App Engine or from online PeopleCode?

MyBlog said...

Hi Jim,
Thanks for responding.. Yes, the report publishes fine when run from an app engine.. But displays this error when run from an app package..

Jim Marion said...

I have never tried to run a report from IB. Are you attempting to return the report in an IB sync response? If not, an alternative would be to use IB and the process request API to submit your report request asynchronously.

MyBlog said...

Hi Jim,
Yes, exactly.. I'm trying to return the report asynchronously.. Using Java classes..

Jim Marion said...

For asynchronous you can add a step to a job to reply when the process finishes. I don't has another option for synchronous... Other than pausing execution until the proceeds finishes.

MyBlog said...

Thanks for the response, Jim.. so is it an issue with BI Publisher? that it works well with an XML file when called from an App Package, but not the case when a PS QUery is called from the App Package?

Thanks again!

Jim Marion said...

Great question. I am not sure.

Arshad said...

Hi Jim

I have a question regarding Fluid. I created a Fluid page in PeopleTools 8.54.06 in PeopleSoft Campus Solutions 9.0. While i am able to see the home page and the Fluid pages work fine in the web browser, when i open the same Fluid page in mobile it doesnt seem to work propoerly. While the home page works ok, the actual fluid pages developed dont render correctly and small.

Is there a setting that I am missing in this. I have checked the "Display on Small Form Factor Homepage" checkbox on the component propoerties but that doesn't help as well.

Please do let me know if you have any idea regarding this.

Regards
Arshad

Jim Marion said...

@Arshad, try using Chromes emulator modes in the developer tools. Maybe that will reveal something? You may need to refresh the page after entering emulator mode.

Arshad said...

@Jim, Thanks for your suggestion. When i used the emaulator, found that the viewport html line is missing from my source which could be causing this.

Any idea what I should be doing to get this. Do note that unlike your example, when i create a page it doesn't ask me select a Fluid Layout page.Could that be the case of the issue.

Will said...

@arshad

Try adding this to the Page Peoplecode or Post Build

AddMetaTag("viewport", "user-scalable=yes, initial-scale=1.0, minimum-scale=1.0, width=device-width, minimal-ui");
AddMetaTag("apple-mobile-web-app-capable", "yes");

MyBlog said...

Thanks a lot, Jim.. I've proceeded with using an XML file as the source. Now, I seem to have a different issue. My file name generated by an App Engine is in Japanese - the Japanese characters seem to show up correctly in PSNT server, but appear as question marks in PSUNX. Any pointers on how to get them to show the right text please?

Thanks!

Jim Marion said...

@MyBlog, When you say file names show up as... do you mean in the file output in process scheduler or actually from the console on PSUNX? I ask because Unix file names are represented as a sequence of bytes without encoding. At the console, you wouldn't likely notice a difference. I'm wondering of PeopleSoft isn't using the appropriate encoding when it reads the file name from PSUNX. Perhaps it is using the default encoding for the OS?

MyBlog said...

In the file output in Process scheduler - is there anyway the default encoding can be changed?

Arshad said...

@William

Thanks a lot for your comment. That is what I had done and that solved my problem. Do you know if this is what needs to be done for all Fluid to show up properly on mobile or is this a bug?

Will said...

Not sure it is a bug or not.. Fluid is in it infancy , Documentation is slowly coming out and I am hearing FLUID will be more pro-dominate in 8.55 and above ..

W

Will said...

JIM Help

I created a Fluid Page and found a Signature JavaScript that uses a HTML5 Canvas element and Loaded it in HTML Object (To Save Javascript), When Displaying page I load it into an HTML Area On the page...

But what I am finding is that the Javascript is not running when Component/page is initially Loaded, Unless I do something weird like flip a Fluid check box from Off To On.. Peoplecode ChangeEvent is run

Even a Simple script Does not work , Unless I hit that switch


alert("Heellllooo World");


(Please note ScriptX is actually script )

You mentioned Branding , But that does not work On Fluid Pages...
It is driving Me nuts !!

Jim Marion said...

@William,

It is because of the page load location and timing. Page load happens before the script loads. PeopleSoft loads a page, and then it loads page content through Ajax (usually when transferring from a search page to a transaction page. The switch acts as an event to trigger your code. It is very difficult to find another event (such as load) in PeopleSoft to perform such an action automatically. I've been pretty successful getting $(document).ready to fire even when run from an HTML Area.

Will said...

I am also getting weird Errors like which looks like a JQuery Error .. It is almost like JQuery is not loaded

Uncaught TypeError: Cannot read property 'querySelector' of null

var wrapper = document.getElementById("signature-pad"),
clearButton = wrapper.querySelector("[data-action=clear]"),
saveButton = wrapper.querySelector("[data-action=save]"),
canvas = wrapper.querySelector("canvas"),
signaturePad;

Will said...

I put this at the beginning of my Script

It Looks like JQuery Is not loading , Or the Position Of my Code Is Before JQuery...
\

window.onload = function() {
if (window.jQuery) {
// jQuery is loaded
alert("Yeah!");
} else {
// jQuery is not loaded
alert("Doesn't Work");
}
}

Jim Marion said...

@William, that is highly possible. It really depends on how you are loading jQuery. If you are on 8.54 or later, you can use branding system options to inject jQuery into all components, but I don't recommend that. My favorite is to put requirejs into all components through branding system options, and then use it to load jQuery before my script runs.

Jim Marion said...

@William, another alternative I use is to compress $script and then use that as a script loader to verify that jQuery is loaded before my code runs.

Will said...

I thought JQuery was already part of 8.54.. I also Cant use Branding on the Component for Fluid Pages..

Jim Marion said...

@William, jQuery is delivered, yes, but not necessarily used.

Will said...

Okay I restarted.. I got it to partially work. Initially the JavaScript does not work. Hit a button and it works.. Weird Thing is I am Updating a Hidden Field (Modifiable by JavaScript), But if I hit a Button on the screen with change Peoplecode it does not seem that the value is being sent to PS.

W

Will said...

I got it Kind Of working.... Had an Issue with the Hidden field All Is Good.

It is Just Weird. I put JavaScript inside an HTMLArea and it just does not fire. Unless I trigger a screen change.

W

Will said...

I've been pretty successful getting $(document).ready to fire even when run from an HTML Area.

I have tried #script# alert("TEST"); #/script#

Even the in an HTMLBOX and it doe not initially start... What am I missing

Will said...

Well.... I decided to Create a Iscript Popup with a HTML Page for the Canvas Signature... And all the JavaScript Works... So much Torment since JavaScript Will just not work...

My hopefully Simpler Question...
I have a Variable in my Popup, How can I pull That value into PS
I tried to Update a variable on my Parent/opener Window , which is the original PS Window
parent.document.getElementById('N_RCV_MOBIL_WRK_SIGNATURE_AREA').value = signaturePad.toDataURL()

But I am getting a security Error.
WEBLIB_SIGTURE.ISCRIPT1.FieldFormula.iscript_dev:226 Uncaught SecurityError: Blocked a frame with origin "http://xxxxxxvm003.nyumc.org:7710" from accessing a frame with origin "http://xxxxxxvm003.nyumc.org:7710". The frame being accessed set "document.domain" to "xxxyy.org", but the frame requesting access did not. Both must set "document.domain" to the same value to allow access.

Jim Marion said...

@William, you are bringing back terrible nightmares I have tried to forget. Yes, I have had trouble getting JavaScript to execute from PeopleSoft events. I have made it work, but do not have current examples.

In your iScript, I believe you need to add some JavaScript to set document.domain to be the same domain as what is specified in the web profile. I am pretty sure that will solve the error you are receiving.

Will said...

Jim

I having a weird issue. this is in Fluid page on a and Apple itouch device.

I have created a Page For Delivering Receipts... With a HTML Area Button the code Below
HTML.N_SIGNATURE_H =
button class="ps-button" onclick="window.open('%BIND(:1)','Signature')" Enter Signature

I Load the HTML Area with the below (Bind)
&url = (GenerateScriptContentURL(%Portal, %Node, Record.WEBLIB_SIGTURE, Field.ISCRIPT1, "FieldFormula", "iscript_dev"));
&url = GetHTMLText(HTML.N_SIGNATURE_H, &url);
N_RCV_MOBIL_WRK.HTMLAREA.Value = &url;


The Button Opens the New Window with the Iscript Below part of the script
&HTML = GetHTMLText(HTML.N_SIGNATURE_HTML, &url1, &url2);
%Response.Write(&HTML);

The HTML Script Contains
meta name="viewport" content="user-scalable=yes, initial-scale=1.0, minimum-scale=1.0, width=device-width, minimal-ui"
meta name="apple-mobile-web-app-capable" content="yes"

So Everything looks Correct on the small screen.

When I enter the signature and close the screen I noticed the Initial screen has gone to a small size, As if it thinks it is a Regular web Page on a Small device..
Further checking...
When I press the button to create the Tab (window.Open) it seems like the original Window adjusts to web size ( I noticed this if i Open all tabs and flipped back to opener window...

Do you have any ideas how to keep the original window at Handheld font size ??
Will

Minu said...

Hi Jim,

we are currently using PeopleTools 8.54.10 and Application 9.0. I have developed fluid page for the existing Worklist page. The link, which is HTMLarea on the existing Worklist page does not seem to work while it is in Fluid mode. All the other buttons and hyperlinks work as usual on the worklist fluid page.Any suggestion on how to make the link in the grid work on Fluid pages.

Regards,
Minu

Ankur said...

Hi Jim,

My question is regarding fluid page.I am using peopletool 8.55.03 and application version is 9.2 . If you remember the consumer web services navigation (under peopletools>Integration broker > Web Services > Consume Web Service/provide Web Service). In this we have train progress tracker at the top of the page . However it is available at many other page also like pivot grid administration page,Provide Web service etc. as in the below form

(1)--(2)--(3)--(4)

(1) = Suppose it is inside circle push button with image
-- = Suppose it is straight single line
I have tried to copy the this functionality into fluid page by inserting this into a group box but when i opened this it is scattered..
every individual circle is little far from other .It is not showing connecting images like in classical page.It is showing as below :
(1) --(2) --(3)
It should be connecting like a train .

Can you please help me out in this .I Have tried to implement many stylesheet at fluid tab property of every image like 'psc_padding‐none' etc.

I believed you understand my issue. thanks in advance.

Jim Marion said...

@Ankur, the feature you are trying to copy was designed several years ago for desktop, not for fluid. It won't work that way in fluid. For fluid, you may need some additional CSS (such as flexbox or float) to align the items within a group box. Another option is to use the guided process concept (8.55?)

Arshad said...

Hi Jim

Sorry to revive an old thread, but we are trying to develop a PeopleSoft Fluid page with a Captcha to allow new user registrations. We did that by putting in a HTML area on the page and a refresh button beside it. However now while all the fields are alligned to the center, the HTML area and the refresh button aren't getting alligned properly. Any ideas on how to do this? Or is there another way of implementing Captcha on a fluid page.

Any insights or suggestions from you would be really appreciated as we struck at this point with no way to move forward.

Regards
Arshad

Unknown said...

Hi Jim,
I have converted a classic page into Fluid mode. On testing this in IE or Chrome browser, there are some alignment issues for few page fields. So, I created a custom style sheet and set width to ZERO for ps_box-label class. Then I tagged my custom style to the few page fields by navigating to Fluid tab. What I observe, this custom style is being applied across page and not just for the couple of fields where I had tagged. How do I restrict this behavior?

Thanks
Ramky

Jim Marion said...

@Ramky, see answer here: Comment to PeopleTools Mobile Book now Shipping

Will said...

Jim
I have a question about Worklists and the Fluid Notifications

In 8.54 We creating a worklist with WF (Normal) and then pointing to a Classic Approval Component....

in 8.55 There is now Notifications and worklists are Dropped from the top of the screen. We need some help and I am sure others are going to ask.....

1. How can I re-Add Worklist Link Back to the top of the screen
2. Migrating existing Unworked Worklist enties to Notifications
3. Adjust control of notifications.. Example Expense approvals I want to point to the Classic Component not the Fluid mobile Application. ( I am digging and it looks like a Rest-message that goes all over the place) .

The notification looks like it could be interesting. but is so complicated.

Ankur said...

@jim,

Hi Jim

I am working on two panel layout page in fluid. I need to give some links in left side panel.
Client want all of the link should be insert through navigation collection in left side panel.

So as per their requirement, I have created a navigation collection and then pagelet. Now ,How can i use this pagelet/navigation collection into my two panel layout page in left side page.

Can you please help me out on this ?

thanks,
Ankur

Jim Marion said...

@Ankur, this is built into PeopleTools 8.55, and is one of the options for navigation. Not sure if it is part of the new Fluid Workcenters or something else, but that is where I would start. If that won't work, then I would write PeopleCode and SQL to pull from PSPRSMDEFN all children of the nav collection. The SQL, etc for this, should be in the Pagelet Wizard Nav collection data source app classes.

Ankur said...

@jim : you were right jim. I have created a navigation collection and register it as content reference and when i test it y clicking 'test content reference' then page is opened and all navigations link are displayed properly and i was able to open them as well.
Now only thing remain left is , how would incorporate this content reference with my component page.
Do i need to put any portal URL something in my component content reference option.Can you please suggest something on this.How can i link this navigation content reference with my pages .

Jim Marion said...

@Ankur, the Related Content framework is the easiest way.

Ankur said...

@Jim : thanks for your input .I have implemented the navigation collection and using viewcontentURL i can use it .I want to put a sign out link into navigation collection.
How can i do it? I know i can create content reference for external URL.

In the same way, can i create some content reference for sign out link. So that i can use it into navigation collection.

Anonymous said...

Hi, I have a component with a side page tab (PT_SIDE_PAGETABS). There is a page in this component that will call a secondary page when a button is clicked. When the secondary page opens, the side page tab disappears. I have used DoModalPopUp to open the secondary page. Not sure what is causing the side page tab to disappear. It will only reappear if I access the component again. Any suggestion/comment will be appreciated.

Thanks.

Camille

Ankur said...

@Jim,

Hi Jim,

I have created a fluid tile using navigation collection. I was trying to migrate this tile to another instance. I have added all portal registry structure of navigation collection and tiles to my project but still tile is not accessible in target environment. I have tried to check via test content reference link under structure and content folder where i have placed that tile . Any suggestion/Advice. In target en, Content reference of tile was there bt when i click on test content reference it shows me blank.

Unknown said...

Hi Jim, is there a way to show an optimized navigation collection as dynamic data on a tile? I have been trying by giving this in the PeopleSoft Generic URL field in Fluid Attributes Tab for that particular tile: c/NUI_FRAMEWORK.PT_AGSTARTPAGE_NUI.GBL?CONTEXTIDPARAMS=TEMPLATE_ID:PTPPNAVCOL&scname=NAV_COLL_ID. But this does not work and states that an error has occurred and the transaction cannot go forward. Any pointers would be of great help.

Jim Marion said...

@Varun, great question. I haven't tried it yet. I'll play around with it and let you know.

Jim Marion said...

@Varun, I was just thinking about this... yes, it is definitely possible. If I understand correctly, you don't want to show the icon, but show dynamic content instead. I'm not sure if you can do it with Metadata, but you can do it by having your Grouplet, iScript, or whatever your dynamic content is link to the target, which would be the URL to the workcenter-like fluid collection.

Unknown said...

Hi Jim, I have been trying the same approach, created a Peoplesoft Generic URL which is using the Fluid NUI framework component to link to a Optimized Activity guide template to render a Custom navigation collection, but it just does not work, it given an error when it renders on the homepage tile. Also we do not want a Fluid Workcenter like Navigation collection on the tile, the client has conventional nav colls on their homepages in 8.9, we want a similar thing on the tiles i.e. Just plain old component navigations. The URL i created is given in my previous comment, got it from Peoplebooks, so ideally this should work. I'm not sure what is the missing link. Another way to do this is to use HTML for the tile but that would undermine the use of navigation collections. Let me know if it works for you.

Jim Marion said...

@Varun, I think I understand. You want the navigation collection to appear on the tile, not after navigating to the target from the tile. If that is the case, Fluid is not designed to work that way, but you can use the Portal Registry API along with an iScript or an App Class to create a dynamic tile that shows content from a navigation collection.

Unknown said...

Hi Jim, I thought so too, but tried my luck. I have raised a SR with Oracle. Let's see what they have to say. Thanks for your inputs though.

Unknown said...

Hi Jim,

I really appreciate the work you are sharing.

Question on a tile. I wanted to display the navigation collection on the tile with links on it. And when clicked on a link, the same nav collection should open on the left side and on the right side the related page in the nav coll which user have clicked on the Tile. Can this be do-able?


I know, we can create a tile with links using App Package and a nav collection tile cna be created a different way. So, can this both be combined to achieve the above mentioned requirement. Thank you,

Paul

Unknown said...

Hello Jim,

Is there a way to display the nav collection links on a tile and when clicked on a link, it should open the nav collection relative page..while displaying all the other pages on the left side of the screen.

Combining an App Package and Nav collection kind of Tile in Tile Wizard?

Is this do-able? Thank you,

Paul

Unknown said...

Varun, did you get a response from Oracle? I want to implement in a similar fashion where we have to display the contents of a navigation collection on a tile and when clicked on a link on tile, it should open the relative page in the same navigation collection where the collection should be displayed on the left of the page.

Thanks!

Jim Marion said...

@Paul, I apologize. I'm having a little trouble visualizing the question, but I will try to answer anyway.

As you probably know, a nav collection tile displays an image, and clicking the tile opens a two-panel layout with all links visible on the left sidebar. Normally the individual links are not visible in the tile. Can you display links on a tile? Yes, but this is not normal because links are difficult to select on a touch screen. Think of tiles as links to launch business processes. You do not need to see all of the steps for the business process on the homempage, just a link to the starting page.

If the question is if you can open a navigation collection and have it start at the third link or any other specific link based on the URL, I haven't tried that yet.

Unknown said...

Thanks Jim, for looking into this.

Sorry, I think I didn't explained it correctly.

They dont want to have the link to starting page, but instead all the links to be displayed the tile which were being used in Nav collection.

So, if a nav collection has 3 PS pages, tile will have 3 links displayed on it. When clicked on the 1st link on the tile, it will lead to nav collection, opening the 1st page on the right-side of the nav collection highlighting the 1st one on the side bar. If clicked on 2nd, would go to 2nd page in the nav collection highlighting the 2nd one on the side bar & so forth.

Basically, the tile should act as a Nav collection with displaying the related URL's(same as in Nav collection) on the tile.

Jim Marion said...

@Paul, I haven't tried to launch a specific target in a navigation collection from a URL, so not sure if it is possible, but here is another thought: 3 navigation collections published as three tiles, but not visible on anyone's homepages. Each of those tiles generates a target URL. You then create a Free Text tile that uses HTML and disables the main hotspot. The Free Text would then have links to each of the targets generated by the tile wizard. I don't exactly like this solution. I'm sure there is a better way. I just need to spend an hour looking at it. But this was the first thing that came to mind, so thought I would share it.

Unknown said...

Thanks Jim! But, I don't think this is feasible. Because if we observe, when we navigate through Nav collections to different pages, the web address link wouldn't actually change instead they all remain same.

Jim Marion said...

@Paul, that is unfortunate. I actually thought that I had seen that behavior, but wanted to confirm. I wonder if you could use PostBuild or PageActivate event mapping to make a change based on a URL parameter.

April Jordan said...

I have a strange situation that I am hoping to get some help with. Keep in mind, I am not the technical person, but I can relay any suggestions to our technical team.

When we use a phone browser to log into our PeopleSoft HCM application, it directs us to the fluid tiles that are in our CS application. For example, we have an active Student Center tile in CS. If we log into HCM (using phone browser), what we see is the Student Center tile. There are no other navigation options using the navigator method either.

Any suggestions on what we have set up incorrectly?

Jim Marion said...

@April, I am happy to help. Can you provide your PeopleTools version and if you are pre or post CS/HCM split?

If you are post 8.55, you should expect to see tiles on both desktop and phone. However, it sounds like there may be a problem with the navigator, is that correct? Is the NavBar button visible in the upper right corner? If so, is the Navigator tile visible in the NavBar? If so, when you select it, does it show any menu items?

April Jordan said...

We are on PT 8.55.13 for HCM v9.2 and CS v9.2, which are in split environments, but in HCM, we opted for using the classic menu. We didn't begin using fluid/tiles until a recent upgrade to our CS system, which is when the issue surfaced.

Jim Marion said...

In a split environment, the part that is puzzling me is that you mention you see the Student Center tile after logging into HCM. This is unusual out of the box. It is normal, however, if the integration node network is configured. There is a new PeopleTools feature that displays all tiles from all nodes in each system upon login. When logging in using a mobile device, you would see all of your tiles (HCM, CS, ELM, FSCM, etc) regardless of which system you connect to first. This is a new PeopleTools feature.

You mentioned that your organization opted for using the classic menu on PeopleTools 8.55. This is not an Oracle recommended approach. There is a configuration change that makes it possible, but not recommended. If your organization chose the simple branding configuration change, then the classic breadcrumbs should work just fine on a desktop. I haven't tested this on a mobile device to see how it will behave. It may also be possible to switch between branding themes (classic versus fluid) using attribute based branding to ensure mobile devices have the navbar and no breadcrumbs. If another approach was used to enable breadcrumbs, then that might be a problem on mobile devices as well.

A successful alternative to breadcrumbs is to create Navigation Collection-based tiles using the Tile Wizard. These navigation collections would contain classic menu items and would be organized by business process.

Let me know if you have other questions or further clarification.

April Jordan said...

Thank you for your help.

Joshua said...
This comment has been removed by a blog administrator.
Joshua said...

Hi Jim I am new to fluid. I have added a few content reference links and I am wanting to change the image on the tile. is this possible? If not is it possible to change off of the default oracle image?

Joshua said...

Hi Jim I am new to fluid. I have added a few content reference links and I am wanting to change the image on the tile. is this possible? If not is it possible to change off of the default oracle image?

Jim Marion said...

@Joshua, yes, absolutely! For each tile that needs an icon, open the tile's content reference in structure and content and switch to the Tile Content tab. Change the image in the upper section to an image available from the prompt. Available images are all images in Application Designer that are SVG images. You can create and upload your own. Most Oracle-delivered tile images are 80x80 SVG images.

By the way, if you are using PeopleTools 8.56, you can use the tile wizard to configure an image for a tile.

Swati said...

Hi Jim,

You have mentioned the size of Oracle delivered tile images are 80*80. Is there a way I can go and check this?

Thank you,
Swati

Swati said...
This comment has been removed by a blog administrator.
joris said...

Hi Jim

In one of our PeopleSoft instances , the delivered fluid pages such as 'Tile Wizard' and 'Change My Password' links are not appearing in the Classic view. I have verified the fluid settings in web profile and branding and everything looks correct.

Could you please let me know whether i am missing any specific settings?

Thanks
Joris

joris said...

Hi Jim

In one of our PeopleSoft instances , the delivered fluid pages such as 'Tile Wizard' and 'Change My Password' links are not appearing in the Classic view. I have verified the fluid settings in web profile and branding level and everything looks correct.

Could you please let me know whether i am missing any specific settings?

Thanks
Joris

Mark said...

Hi Jim,

We have Campus Solutions 9.2 running tools 8.56.10.

We have a page that we put related content on it. It works perfectly! The problem we have is that when I created a Navigation Collection with that page on it, the Related Content is missing/not there.

Any idea how to get it to show when navigating from the Nav Colleciton? If I navigate to the page through the navigator, the related content is there.

Thanks,
Mark

myfolsom said...

Question about Tile Migration across environments - I am running into an issue where the Tile is getting successfully copied to target environment but the security on tile from source is not copied to target environment.
I am using Data Migration Workbench (data set - PTPPB_GROUPLET) to migrate tiles across. Everything else works just fine except that I am having to manually setup security in target environment. Anyone else run into this issue and has a solution other than manually setting it? Thanks in advance.

- Mahesh

Jim Marion said...

@myfolsom, Tile Wizard tiles are a combination of Tile Wizard metadata (PTPPB_GROUPLET) and Content References. All non-Tile Wizard tiles are just CREFs. To move a standard "tile", you just migrate the CREF through an App Designer project. Tile Wizard tiles, on the other hand, require Tile Wizard metadata, which is why you also use Data Migration Workbench with ADS PTPPB_GROUPLET. It sounds like you are migrating the Tile Wizard metadata, but not the CREF. Security is assigned at the CREF level, not the Tile Wizard metadata.

Jim Marion said...

@Mark, Related Content on Classic pages only works with a Classic frame. What you are experiencing is Classic content in a Fluid frame. Fluid related content works differently. This is unfortunate. Sasank Vemana posted an idea in the idea spaces to have Oracle fix this.

Jim Marion said...

@Swati, the easiest way to verify size is through the Image Override in a Navigation Collection. The search page displays image sizes for all images in the database. Other than that, you can use the PeopleCode GetImageExtents function.

Jim Marion said...

@Paul, I was thinking about your scenario more. You mentioned that the URL at the top of a Nav collection doesn't change as you choose different links. That is correct. This is because a Nav collection is published as an Activity Guide. The visible URL doesn't change because PeopleSoft loads target transaction content in a separate frame. You can target different links from a nav collection and keep the activity guide wrapper by using the ptgpid URL parameter as described here: Launching into the middle of a Fluid Navigation Collection.