Tuesday, April 05, 2011

Pagelets, WorkCenters, etc in White Paper

Some of my friends from sales and product strategy just put together a very nice white paper on some of the new features in PeopleTools and Applications Portal (formerly known as Enterprise Portal). I created some of the content in the screen shots (home page layout, accordion navigation collections, slide show news publications, etc) and they did all the writing. Download a copy and see what you can do with your PeopleSoft application. The paper is titled PeopleSoft Applications Portal and WorkCenter Pages.

125 comments:

Manoj said...

Hey Jim,
We are trying to do something new for our PeoplSoft Portal as well. I am particularly interested in using Accordions in Pagelets with navigations. Would you be able to share some useful info for it?

Manoj

Jim Marion said...

@Manoj, yes, I'm planning to release the details soon.

Tim said...

Hi Jim,
I am working with Portal and we have some pagelets (local to the portal - not external content) that take 2-3 minutes to load. In the meantime if the user wants to navigate to a different page, they can't do so until the pagelet content is returned. Is there any way to cancel the loading of a pagelet and free the App server so it can handle another request from the user? I have rendered the pagelets using WSRP but performance is even worse.
Thanks.
Tim

Jim Marion said...

@Tim, if you are on PT 8.51, then each pagelet loads independently (ajax). Prior to that, the work-around was to create a pagelet that had nothing but a little JavaScript and a loading image. The JavaScript would listen for the DOM ready event ($(document).ready in jQuery) and make an Ajax request to load the pagelet contents.

Manoj said...

Hi Jim, I'm glad that you are releasing the designs soon.

It would be very useful if I get some info now, as we are in the process of making designs for our Upgrade. Any useful info now would be greatly appreciated.

Our users would want to see a working POC to approve any design :/. My apologies if i'm pushing you too hard.

Matt said...

Hi Jim,

While we wait to see how you did this, can most of what you have done on these slides (particularly the accordion navigation collections) be done without the Enterprise portal? Or atleast with the limited-use license you now get with 8.50+? Several of us here are very curious and before we bang our heads on the wall too much we wanted to know.

Thanks,
Matt

Jim Marion said...

@Matt,

You don't have to have Enterprise Portal. Any PeopleSoft app/instance running 8.47 (or was it 8.46 -- whichever has the Pagelet Wizard) or higher can do this. Basically, if you have the Pagelet Wizard, you can create accordion nav collections.

Robert said...

Hi Jim,

I'm trying to create the accordion menu through the pagelet wizard using a navigation collection as you outlined in your Portal white paper.

Did you make modifications to the xsl to get the accordion menu to work? I am trying to modify the xsl to implement the accordion menu using inline java script, but am having issues.

Can you provide any hints on how you got this to work and/or some snippets of code?

Thanks.

Bob

Robert said...

Hi Jim,

I was able to get the accordion menu to work on Tools 8.51 using javascript and jquery, however the same code will not work in 8.49 for my navigation collection. In 8.49 with the same code, the menus load expanded and will not draw up or down. Is there a limitation with 8.49 where this functionality is not supported or will I need to make modifications?

Thanks.

Bob

Jim Marion said...

@Bob, I haven't tested this on 8.49. What you are doing is completely unrelated to tools, so I'm suspecting this will work in 8.49. I see no reason it wouldn't. The only thing I can think of is a difference in the XML generated by 8.49 nav collections versus 8.50 nav collections.

I suggest you use Firebug to see differences in the HTML generated by both versions.

Another thing I noticed in 8.51 is that the Pagelet Wizard does not automatically reload the pagelet with the new XSL and JavaScript libraries. I believe this has to do with the Ajax used in 8.50+. It displays just fine on homepages, but differently in the pagelet wizard when setting XSL. After setting the XSL, I could go back to step 3 and then forward to 5 again and it would display properly, just not immediately on setting the XSL.

Dood job getting it to work on 8.50!!

Manoj said...

@Bob,Jim
I tried to add the jQuery JS in my xsl as follows.

[script] type="text/javascript" language="JavaScript" src="/psc/UPGRADE/EMPLOYEE/HRMS/s/WEBLIB_UNBKK.ISCRIPT1.FieldFormula.IScript_jQuery"]
script
script type="text/javascript" language="JavaScript" src="/psc/UPGRADE/EMPLOYEE/HRMS/s/WEBLIB_UNBKK.ISCRIPT1.FieldFormula.IScript_jQueryCore"]
[/script]
[script type="text/javascript" language="JavaScript" src="/psc/UPGRADE/EMPLOYEE/HRMS/s/WEBLIB_UNBKK.ISCRIPT1.FieldFormula.IScript_jQueryWidjet"]
[/script]
[script type="text/javascript" language="JavaScript" src="/psc/UPGRADE/EMPLOYEE/HRMS/s/WEBLIB_UNBKK.ISCRIPT1.FieldFormula.IScript_jQueryAccordion"]
[/script]
"
As you can see, the four IScripts return the JS for the Jquery, Widget, Core and Accordion. But what happens is that only the JS for JQuery loads, whereas the next three scripts dont load at all.

I can construct the divs for accordion to work, its just that I am not having success in loading my JS

Any tips on the means of loading the JavaScripts in XSL would be very helpful

Note: I have replace <,> with [,] since it wouldn't allow me use those here.

Jim Marion said...

@Manoj, did you grant security permissions for the iScripts? I suggest using Fiddler to see if the iscripts return an error or the JavaScript, or, even worse, aren't being requested at all.

Manoj said...

Thanks for your input Jim.

I finally got it to work. It wasn't the security.

I had to insert a "xsl:comment", otherwise it was clipping my other script includes apart from the first script.

I have a couple of questions though.

1. The Accordion works perfectly in Firefox, but in IE8, it seems a little glitchy. Like the animation is not smooth. Also, it quivers a little when i click on the accordion. Like when I collapse an expanded section, it closes and then opens & closes in a split second. Any idea why

2. Would you know a way of hiding the Pagelets group box (the one that has the refresh/expand/close toolbar on it).


PS:
And yeah, i use fiddler extensively now, thanks to you. Its an awesome tool. I love how we can make changes to the JS/CSS before even applying them.

Jim Marion said...

@Manoj,

I'm not sure about the IE8 issues.

For hiding the pagelet header, border, etc, you can do that from the Advanced options on step 6 of the Pagelet Wizard.

Manoj said...

@Jim
Whoops, just realized that I was describing about Firebug. Nevertheless, Firebug & Fiddler are two greats tools to have for any web-based product.

Glenn said...

Jim,
I'm very interested in the accordian navigation collection. Did you ever release the details? I can't seem to find them online. If not, is there any chance I could trouble you for some code snippets?
Thanks

Don said...

I'm getting a strange result with Firefox 3.5.6. The accordion works in the Pagelet Preview until I hit save. It does not work at all when going to the default tab. Strangely, it works fine with IE 7. Any thoughts?

stevedory said...

Have real problems with related content on Application Portal running Tools 8.50. Trying to attached UPK related content as non-Peoplesoft URL to both HCM and Portal application pages. Followed PeopleBooks to the letter but the Related Content link and screen split wont work. I'm trying to demo this. Are there any pages which have Related Content out the box.

stevedory said...

Having problems with related content in Application Portal on Tools 8.50. Have followed PeopleBooks to the letter. Trying to link non-Peoplesoft URL (which I know has access) for UPK content but the link or related content split wont appear on any of the HCM or Portal pages. Are there any vanilla pages delivered which have related content working out the box...thanks...ps I bought your book

Raj said...

In Ptools 8.51 - Related Content it is stated that there is support for Level 1, 2 and Hidden Fields, when we do the page level mapping. But I have tried this and it only shows the Level 0 fields for mapping. Am I missing something? Is there any documentation to get this working?

Thanks
Raj

Jim Marion said...

@Raj, After you select the menu item (or after you click edit configuration), there is a page that lists services at component level. If you configure services at component level, then you only get level 0 keys. This is because those exist on every page. On this page, you will see a radio button to select services at the page level. After selecting page level, you can select from multiple levels.

Raj said...

Thanks Jim. I could map to the level 1 fields. But when I navigate to the page with the Related link, it gives me an error....any ideas?

Raj

File: E:pt851-903-R1-retailpeopletoolssrcpspnlrt tpanel.cppSQL error. Stmt #: 2576 Error Position: 0 Return: 8601 - [Microsoft][SQL Server Native Client 10.0][SQL Server]Executing SQL directly; no cursor.
[Microsoft][SQL Server Native Client 10.0][SQL Server]Must declare the scalar variable "@P1AND".

Jim Marion said...

@Raj, I have never seen that before. I suggest you open a support case for that one.

Raj said...

Hi Jim,
The error was resolved. I had to apply the pt 8.51.13 patch and it resolved the issue.

Thanks
Raj

sunilk said...

@JIM
I am new to use Pagelets.How to do
Clone a existing page and register as pagelet on home page.Could you please let me know the steps involved

Jim Marion said...

@Sunilk, generally you don't clone a page and create a pagelet from it. Transactions pages expect the user to do something (enter data, etc). Pagelets don't. Pagelets display something. Pagelets often point to actions, but don't actually allow you to take action directly on the homepage.

Pagelets and pages are both CREF's in the portal registry. You can display a page as a pagelet by creating a new cref in the portal registry under Portal Objects > Pagelets > [Your category]. When you try to register the new CREF, it will tell you that the page is already registered. To get around this, just add something to the additional info section. I usually add 1=1.

gk said...

Jim,
Is there any way there can be prompts on query pagelet. Everyday users dont want to see same query data on a pagelet. They may need different prompts on pagelet. Is it possible to do?

Jim Marion said...

@gk, Out of the box, query parameters are configurable by the user by clicking the edit pencil in the upper right corner of the pagelet. Would it be possible to prompt the user for values? Yes, but here is the problem I see: When I hit a page with a pagelet, there are likely several different actions I could take or several different pieces of information that I may be interested in. My interest in that query only represents a fraction of the times I actually hit that page. If I get prompted for values every time I go to that page, I'm going to remove that pagelet within the first hour of using the application. I think a better approach than showing the values for a prompted query on a pagelet is to just include the link to the query so the user can run it adhoc directly from the homepage rather than having to drill into the application to run it.

gk said...

I created a query link as cref in my home page and it works and this helps a lot for our users. I am trying to do the same for XMLP query report link from homepage, I tried to copy the URL and create a cref but its not generating correctly. Any way to achieve this.

Jim Marion said...

@gk, I'm sorry, I have no experience with XMLP.

Daniel said...

Need help on creating a POC on a simple WorkCenter. We have tool 8.51 A good step-by-step instruction would be appreciated. Thanks, Daniel

Manoj said...

@Jim. I just realized that the template for this UI looks like a mix of 2 column & 3 column. Did you have to create a new custom layout?

I see that the accordion & the open-enrollment ad follows make a 2 column layout, whereas the other boxes below have a 3 column layout.

Antja said...

I do'nt know this is the right place to ask this question.
We have a requirement to expose peoplesoft components to a portal (not enterprise portal but an external) as portlets (WSRP). Can you give me some idea how to achieve this. I have seen few negative comments on this approach in the web. Will this really work in the latest tools version? Is there any limitation or things to be taken care to expose the peoplesoft components?

Jim Marion said...

@Manoj, it looks like a mix because I created a new HTML layout that uses an outer table and an inner table. The outer table has the ptcol1 UL in the left column, and some ajax to fetch the Pagelet Wizard pagelet on the right, and then a table under that content in the right column for ptcol2 and ptcol3.

The reference for the slideshow banner pagelet that spans two columns is actually hard coded into the template. The content is not. The content comes from pagelet wizard, but the reference to the content is hard coded in the template.

Jim Marion said...

@Antja, Yes, WSRP is an option. It works for all PeopleSoft CREF's, which is great, not just for pagelets. A common way to set this up is with SAML tokens. Here is a step-by-step blog post that I find useful: Exposing PeopleSoft portlets through WebCenter with WS-Security.

The only problem with this approach is the amount of effort required. It is much simpler to host external content in PeopleSoft's Applications portal than it is to host PeopleSoft content in external portals. This is because the typical portal starts as a development framework where you have to build pages and add WSRP components to those pages. With PeopleSoft, you just register the content. You don't have to build pages, etc.

Manoj said...

@Jim: Interesting. Please share the HTML Layout if it's possible. It will help me immensly with what I am trying to do.

Ernst La Haye said...

Hi Jim,

I have a question relating to query based template pagelets which are used in a workcenter. Would there be any way to have a prompt (or other personalisation) option in there so the user can choose which subset of results he wants to see? We are using the query pagelet with the drilldown function to direct users to the right component for the right emplids but if the list of emplids which need attention gets to big the whole idea of using the query template is lost. Searched in the pagelet wizard but could not get it to work. Would it be possible? maybe with the custom search box? And can you point me into the direction of a solution?

Thanks, Ernst

Jim Marion said...

@Ernst, I am not aware of any delivered option for this. You can use system variables for bind values, such as employee ID, etc.

Another option is to join your query to a parameter table similar to the way you join to a run control table in an app engine. To change the parameter values, you could use the customize button at the bottom of the query pagelet wizard to add a link to the pagelet for the "run control" parameter page. This would be very similar to the way a pagelet editor component works, but would have a link instead of the pencil edit button.

Ernst La Haye said...

Hi Jim,

Thanks for the very swift response :-). Just to be sure I understand your solution: we build a custom component/page with the 'runcontrol parameter' record. Then customize the pagelet to include a link at the bottom (in the same way as 'show all query results' link) which then links to the custom component. User fills in a few prompts, saves and refreshes the pagelet. voila, query reruns with prompts (through parameter table) and user sees what he needs....
Very nice :-). Just key the table on oprid and it will always have the right values for the user. Ha, sounds like a plan.

Jim Marion said...

@Ernst, yes, correct. When you create the search record for your parameter editor, key it by OPRID, but don't make it a search key, just a key. That way the component processor will automatically show the OPRID's row in the component. See Larry Grey's post Little Known Row Level Security Hook or my presentation Creating and Using PeopleSoft Homepage Pagelets slide 57 for more details.

Kevin Weaver said...

Hey Jim,

I have had great success serving up PeopleSoft content using the thickbox method from your book, primarly via iScript pagelets. In summary, I created a pagelet the displayed all the ePerfromance document status represented in a pie chart that is drillable. If the manager drills into the pie chart it brings up a custom component that displays all the documents in the like status. From this component I have successfully been able to link the manager to the document and to the performance notes. However, my issue lies when I attempt to perform the same navigation from a PeopleSoft component. Part of my requirements was to build an administrator page to allow HR ePerformance admin view any manager’s report. I built a component and loaded the pie chart via iScript into an HTML area on the page, (a technique I gleaned from your book, Chapter 07, I even made it fade in/out). However, when the Admin clicks on the notes link it closes the thickbox and redirects the launching page to the component for Performance notes. Is this due to the component processer? This functionality works fine from the iScript pagelet, but not from the component?

Kevin

Jim Marion said...

@Kevin, it sounds like you are doing some great stuff! As far as the component closing Thickbox, I would have to look at it. It sounds like the link has a target attribute and the target attribute tells the browser where to load the content (top, TargetContent, etc). Also, if the Thickbox content is HTML rather than an IFrame, I can see why it would replace the content area. That is because that is the only frame where it can load the content.

To troubleshoot this, first, check if thickbox is using an iframe. If not, then that explains why it loads the content into the main area. If it does use an iframe, then use Firebug to inspect the link's HTML.

Kevin Weaver said...

Jim,

I have a question about homepage caching. I recently migrated a new homepage to production that allows the user to change the homepage preferences. When the do this they are directed to a hidden component where they can change their homepage filter. When they save they are redirected back to the homepage, but since homepage caching is turned on it does not refresh their pagelets. Is there a recommended practice to refresh the homepage or should we just turn homepage caching off?

Thanks!

Jim Marion said...

@Kevin, you DEFINITELY want to keep homepage caching turned ON. Huge performance saver. You can, however, turn off pagelet cache on a per-pagelet basis. To see pagelet cache attributes, create a pagelet in pagelet wizard, and then set the caching attributes in the final section. Next, open the CREF to see how it differs from a standard pagelet CREF.

If you want this pagelet cached even though it is configurable, just instruct your users to click the pagelet refresh button after making the change. I know it isn't pretty, and there should be a way to just update this one pagelet in the cache. There probably is a way, but I don't know it.

Mark Heise said...

Hi Jim,

Thanks for this! It is a great addition to our Portal. I would love to see the white paper, but it looks like it has been taken down. Is there any way to get a copy?

Thanks!

Mark Heise

Jim Marion said...

@Mark, I just tried the link. It takes me to Oracle Support. Once logged in, the link to the white paper is in the Attachments section.

kvr said...

Hi Jim, I am working on related content. I have configured the component Related content with 3 Non PeopleSoft URL's. Out of these 3 on URL's one URL need login required kind of. As soon as I select any one of these, the PS screen is occupied by the loging required page. Please help in this setup I am in PT 8.52, 9.1 App and IExplorer 7.0.

Thanks in advance

Jim Marion said...

@kvr, it sounds like the target system has a "break frames" script which makes it nearly impossible to use in related content.

Rick Eggert said...

We are currently implementing Oracle Peoplesoft HCM 9.1, Tools 8.51. Trying to create navigation collection pagelets which contain links to related resources and content to our company's intranet. We've had no issues creating them, however, they intermittently hang (displaying the spinning circle), the only way to fix is for the user to click the refresh icon on the pagelet. We are new to all of this and having some challenges trying to resolve. We have scoured the internet, scanned the Oracle support site, consulted internally with technical staff (who are also learning as we are) to no avail. Before we formally open a ticket with Oracle support thought we would pose our question here to see if anyone might be able to steer us in the right direction. We have been told it could be caching, timeout issues, setup, user error, etc... Thanks in advance to anyone who can help us!!

Jim Marion said...

@Rick Eggert, I suggest you also download fiddler. Fiddler will show you all the HTTP requests/responses and you can see exactly which request is hanging. Once you have the request, you can investigate the URL or response to see why it would misbehave.

Rick Eggert said...

Thanks Jim for your suggestion, definitely will download Fiddler and do some more research. An update, appears our issues with unresponsive pagelets are only occuring under Internet Explorer 7, not with newer versions of IE or other browsers like Firefox or Chrome. Unfortunately IE7 is our current company standard, with 30,000+ employees, many other IT projects and corporate politics will make it tough to upgrade the browser anytime soon. With that said, wondering if you have other feedback or advice knowing the issue is centered around IE7?

Jim Marion said...

@Rick, IE7... you are a stronger man than I am.

The internet was different in the days of IE 7. Ajax was fairly new and no one thought you could possibly need more than 2 concurrent connections to a back end server. Back then PeopleSoft did everything in a single request/response cycle.

8.51 is different, and it expects a different internet (browser, that is). It expects one that can handle multiple concurrent connections to the same domain. This is how pagelet loading works in 8.51. Prior releases sent an entire homepage down at once. 8.51 and later send a homepage definition with links back to the server, and then expect the browser to load each pagelet individually. In theory, this approach allows you to start working with a homepage faster because you don't have to wait for the entire homepage to load. On IE 7 with only 2 concurrent connections, that isn't the case.

I think you have a couple of options:

#1 Create a .reg file and deploy it to your users to increase the # of concurrent connections in IE 7. You can read about this on Microsoft's Support Site.

#2 Turn off pagelet late loading so that all pagelets load at once from the server, not from the client. I know there is a CREF attribute you can add to pagelets in 8.52 that will cause them to load initially rather than waiting for the page to render. I'm not sure about 8.51.

You should also open a case with Oracle Support regarding this matter. From what I saw on Oracle Support, IE 7 is still supported.

Jim Marion said...

@Rick, another option is to have an alternate browser such as Firefox or Chrome for "modern" applications.

Trying to use a modern application with an old tool is like watching Blue Ray's or subscribing to HD on a tube style television with Hi Fi sound. It is definitely possible, you just have to tone down the modern effects to make it work properly.

Sri said...

Jim,
We are upgrading to Tools 8.52 from Tools 8.50 and we are in the performance testing mode.

We found that the Pagelets in our Portal in 8.52 do not expand and stay mimimized always. This was not happening in Tools 8.50. We have to explicitly click refresh button to make Pagelets appear. This is causing some confusion to our users.

we have a two column layout with enterprise menu and help pagelets on the left and Student Center pagelet on the right. The Student center pagelet is an iscript based pagelet.

Any help is appreciated.

Thanks
Sri

Jim Marion said...

@Sri, are you using a CREF HTML override? I had a similar issue in my PT 8.50 to 8.51 upgrade. In my case it was because my CREF override didn't contain a new attribute that tells the client side JavaScript how to load the pagelet.

If this is not your situation, then you should probably open a case with global support.

One last thing... Start firebug or chrome/safari developer tools and check the JavaScript console for errors.

Sri said...

Jim,

Thanks for your immediate response.
We have opened an Oracle SR about three weeks ago. They are working on it.

I compared the Source Code of the HTML from 8.50 to 8.52 for our default homepage tab.

The one difference I see is: in 8.52 I have the code called loadAllPgltData(false,...); where as in 8.50 I do not see that code.
How do I Change the value to true?
Any idea where is it coming from?

title Employee-facing registry content/title
/head
body onload="loadAllPgltData(false,1341336201363);


Thanks
Sri

Sri said...

Jim,

We were using our custom 2 column layout instead of delivered portal_hp_2_col_layout. Once we removed that the pagelets expand automatically now.

I have another question to you. We have our custom single sign on in place. There are two pagelets we designed on Portal Guest page. One pagelet goes through simple one level security and another has two level security. Users who come through simple one level security should not have access to the Content Reference which is a PeopleSoft Component(Once they are inside Portal and when they click on it). DO you have any suggestions how we accomplish this?

Thanks
Sri

Val said...

We just moved from 8.9 to 9.1 Oracle Peoplesoft HCM, Tools 8.51. We found no issues to create navigation collection pagelets. Employee can go to "Personalize:Content" and select work centers for their homepage. The issue we found today was that when we select links and "save" the changes, we are getting two pages. One is "Home Page Designer" with selected work centers and behind there is another page- "regular" homepage with the same selected work centers (double screens). The only way to escape from "Home Page Designer" is click on "Home" link. When we tested it in TEST, "save" would always bring us to home page. We must have different set up in Production but we can’t figure what could cause the double effect. Thanks in advance for your help!

Jim Marion said...

@Val, I don't have a good recommendation for you. I have seen that problem with pagelet personalization editors (the little pencil in a pagelet) where the editor CREF had the wrong template, but I haven't seen that with Workcenters. I suggest you file a support case so the analyst can log into a web conference with you to troubleshoot this on your system.

nileshranjan11 said...

Hi Jim,

I want to show the delivered worklist page when the user logs in, i.e. on the homepage. I believe I would need to create a pagelet based on the delivered worklist page and publish it on the homepage tab. Please advise.

Regards,
Nilesh.

Jim Marion said...

@nileshranjan11, it would be best to create a separate page/component that more appropriately summarizes worklist items instead of using the very wide worklist page as a pagelet. At this time, pagelets created from iScripts or pagelet wizard (which is a iScript) load much, much faster than component/page based pagelets.

kvr said...

Hi jim,

If you have any sample iScript code for that example (@nileshranjan11) will help for us. I am about to post the same question to you :)

Thank you
KVR

Jim Marion said...

@kvr, no, I don't have sample code. For the worklist, you will write SQL to select from the worklist table (PSWORKLIST), and then use AWE and business process meta data tables (header records, etc) to determine the rest of the values. You can do this with a component/page, which would require little PeopleCode, but the performance won't be as good as using an iScript. The iScript would be a combination of HTML definitions, SQL, and PeopleCode.

Robert said...

Hi Jim,

I am trying to configure a workcenter to display on the homepage when a user logs in but am unable to do so. For example, I'd like to display the delivered Integration Network Workcenter when a user logs in and the homepage displays. Navigation for the workcenter is Peopletools | Integration Broker | Integration Network Workcenter. Note, the workcenter works perfect when navigating and selecting the menu item. I'd really like a workcenter to just display as a pagelet on the homepage. Any help is greatly appreciated. Thanks.

Jim Marion said...

@Robert, on 8.51 and 8.52, it is not possible to change the default location after login. That is built into the app server C++ code. You can, however, change the login form post or attempt to hit the Workcenter URL directly, without logging in. Both of those will result in PeopleSoft displaying the Workcenter right after logging in.

Another method is to set the default tab for the user to be a tab that has a CREF attribute HTML override that specifies an iframe for the content area or includes a JavaScript redirect to the workcenter. This allows the app server authentication code to work as designed.

Solai Kani said...

Hi Jim,

I got a task to display Expand/Collapse icons in HTML Area. I have created XML Publisher report HTML Format output to display in HTML Area control on the page. Now the requirement is to display Expand/Collapse icons in the HTML Area. Can you please share some links or docs related to this requirement.

Many thanks
Solai Kani

Jim Marion said...

@Solai, do you mean like this: Accordion Navigation?

Solai Kani said...

Hi Jim,

I have created Peoplesoft XML Publisher report (HTML format) to display on the HTMLAREA control on the page dynamically. The report is too big, to avoid scrolling down, I want to include expand/collapse concept. Is it possible? If so could you please share related links/docs. Many thanks, Solai Kani

Jim Marion said...

@Solai, the PeopleTools page "Group Box" component offers expand/collapse behavior. Look into that first. If that doesn't satisfy your needs, then you will need to write some JavaScript and HTML to implement the show/hide pattern.

Rick Eggert said...

Jim, I have a question which I hope is very straightforward and easy to answer. We just implemented a new homepage with a handful of pagelets, we are running HCM version 9.1 with Feature Pack 2, Tools 8.51. As part of a second phase of our homepage rollout I am looking at enabling a second "tab" of pagelets. I thought this was going to be easy, adding the content reference under homepage > tabs. I can add the content reference but no tabs show up on the screen. I checked the security and the content reference I added is public. I had our IS technical team reboot our servers and clear cache. I even have tried it as a superuser in the delivered demo environment and still the tabs will not appear. I have been researching on the internet and on the oracle support site and have found nothing. Either this is painfully obvious and I have missed something -or- I am the only person who has ever had this problem. Hoping this makes sense Jim and being a Peoplesoft guru you can shed some light on this. Thanks!

Jim Marion said...

@Rick, I think you have it. I don't think there is anything else to it. When you created the CREF, did you choose a type of "Homepage Tab"? Otherwise, it is just a matter of creating a CREF in the Portal Objects > Homepage > Tabs folder. If it isn't the type, then you may have to open a case so someone from global support can look into it.

Unknown said...

Hi Jim,

I just had a quick question regarding the Links Pagelet (EOFSPC_MYLINK_PGLT) to put in a Workcenter.

I have created a Content Reference to an External URL and want this to show up in the Links pagelet of my WorkCenter. But when trying to do this using the Enterprise Components > WorkCenters/Dashboards > Configure Pagelets - Links Tab -> Define Link/Security, the content reference doesn't show up as a 'Menu Item'. I do have the option of opening this external url as a 'URL' in the WorkCenter, but that would open in a new window and not in the target area of the workcenter.

Do you have any suggestions regarding how this can be done?

Thanks,
Tom

Jim Marion said...

@Tom, Are you referring to the delivered FSCM (or HCM) links pagelet for a delivered workcenter? I don't have a lot of experience with those, so I can't say for sure how to handle it. Did you try creating a CREF as an external URL? Will it let you select any type of CREF? Actually, I don't think it will. I remember this now. It would let me select an iScript CREF, but not an external URL CREF. What I did was create an iScript that redirects to some other CREF and make that "other CREF" a parameter to the generic iScript. Then I created CREF's for each external URL and another CREF that pointed to the iScript, but had the external URL's CREF as a parameter so it would redirect to that target CREF instead of just stopping on the iScript. Make sense?

I talked to development about this. We were actually using this for OBIEE content in dashboards. We are hoping development will reverse their "no external URL's" decision next release. As you can see, you can work around it, but it is more work.

Unknown said...

Thanks Jim. Presenting OBIEE content on a WorkCenter is exactly the use case that I am working on as well. I am glad that you confirmed that Links pagelet doesn't allow any external content references.
Thanks for sharing the solution that you applied when you encountered this. Can you illustrate this or share the code snippet that you used, if it is ok?

Thanks,
Tom

Jim Marion said...

@Tom, I will add a blog post for that.

Unknown said...

Thanks so much Jim. Really looking forward to it.
I am actually looking for ways to present OBIEE reports and analysis via the PeopleSoft portal - pagelets, content references, links pagelet (menu items) in WorkCenters etc. I have done some research around this but haven't been able to find something related to the best practices in this area.
Have you come across something like that in your experience?

Thanks again,
Tom

Jim Marion said...

@Tom, here is the blog post I promised: Using External Content in the FSCM 9.2 Links Pagelet (WorkCenters)

Unknown said...

Thanks Jim. This helps a lot. :)

Simon Chiu said...

Hey Jim,

We are running the Peoplesoft Enterprise Hub 9.1 R2, and I am trying to migrate a WorkCenter Dashboard Tab to another environment. I have basically been able to get everything across by inserting the usual registry structure definitions into a project:

Root >Portal Objects >Homepage >Tabs
Root >Portal Objects >Navigation Collections >Custom Tabs
Root >Portal Objects >Pagelets
Root >Portal Objects >Template Pagelets
The WorkCenter Starting Page

Everything is moving across nicely except for the part where you Configure the WorkCenter page (where you specify the WorkCenter Label, the Pagelets and Pagelet Groupings). Thus the column on the left doesn't load any pagelets after the migration.

Do you happen to know where the component is saving the content reference? To me, it would make sense in the WorkCenter Starting page.

I presume using the Data Migration Workbench could iron this out ~ although 9.1 doesn't seem to have delivered WorkCenter Application Data Sets.

Any help you could provide would be amazing.

Kind regards,

-Simon

Jim Marion said...

@Simon, you have most of it. What you are missing is the WorkCenter Metadata that is separate from the CREF's. In one of the releases, the 3 tables with data to migrate were:

PS_PTAL_PAGE
PS_PTAL_PGLTGRP
PS_PTAL_PAGELET

I have no idea if this list is current. I just know this worked for me in a prior release of PeopleTools.

Rebecca Paulson said...

Hi Jim,

My business is interested in creating a single WorkCenter to handle multiple types of users rather than a WorkCenter per user group.

Do you know of a method to show pagelet groups in WorkCenters based on user security / permissions?

Thanks,

Becca

Jim Marion said...

@Becca, pagelets are secured by permission list, so you could add several pagelets to a WorkCenter, with a logged in user only seeing the ones to which he/she has permission.

If some of the pagelets are query based pagelets, then you can also join in security tables to only show rows relevant to a user's roles and permission lists.

Rebecca Paulson said...

Jim,

I should rephrase. We know that you can use security to prevent users from seeing individual pagelets, but I'd like to extend this to being able to see/select the tab for a pagelet group in the WorkCenter.

For example, students and faculty could use the same WorkCenter with their pagelets divided into pagelet groups (WorkCenter tabs). I'd like for them not to know they're sharing this WorkCenter - so the students wouldn't see the Faculty WorkCenter tab.

For the sake of knowing, I'm trying to combine them because students can also be faculty.

Hopefully I did a better job explaining what we're looking at doing this time...

Regards,

Becca

Jim Marion said...

@Becca, got it. Sorry, I see that now in your earlier question. What you want to do is not delivered. Your use case makes sense. You should enter an enhancement request into MyOracle Support. You could modify the WorkCenter tab generation PeopleCode to hide a tab if it has no visible pagelets.

Another alternative is to create a tabbed pagelet using HTML that contains a bunch of other pagelets. I don't really like this idea, but it is an idea :)

Redesigning your tab groupings so that they are less role based may be another option.

Becca said...

Hi Jim,

We have a component that is registered as a pagelet and loaded onto a home page. This component has internal links on it. We're unable to get the links to navigate to the internal locations. Any ideas?

Becca

Jim Marion said...

@Becca, do you mean internal to your organization or internal to PeopleSoft? Either way, it should work fine. When you click a link, does an error message appear in the JavaScript console?

Becca said...

Jim,

The links are internal to PeopleSoft (Self Service > Student Center for example). It's a push button hyperlink with the internal link set up. When you click on the resulting link in the browser, it doesn't do anything (not even a thinking wheel). I didn't see any errors in the Firefox Inspector (Console) or in the Debugger.

Becca

Jim Marion said...

@Becca, interesting. No errors, no action... when you hover over the link, do you see a URL? Is it an http:// URL or a javascript: URL? If http:// can you copy it to another browser window (tab) and paste the URL?

Kevin Weaver said...

Jim,

We have a workcenter page that was built using tools 8.51 in or 9.1 MP1 Portal Environment. The work center uses template pagelets that are getting their content from the HRMS node and presenting the data in Portal. But since we have upgraded our tools to 8.53.09, the portal says error getting content. When I attempt to reconfigure the workcenter in Portal the configuration page will only allow me to select template pagelets from the EMPL node? Should I have reconfigured this workcenter in HCM and then used the unified navigation to present the content in Portal? Also, I was reading that the Unified navigation only works through the main menu and we use a navigation collection to get to this workcenter, so will unified navigation work in Navigation Collections?

Any help would be appreciated!

Thanks!

Kevin

Jim Marion said...

@Kevin, two options: reconfigure the WorkCenter in the source system (HRMS) or republish the pagelets as standard, rather than template pagelets.

Unified Navigation DOES work in Navigation Collections. You have to choose remote menu item when configuring the navigation collection. This can get quite complicated if your navigation collection spans multiple applications, as is the case with HRMS and ELM navigation collections.

Kevin Weaver said...

Jim,

I went ahead and configured the unified navigation and it works great through the drop down menu. However, I am having issues with my navigation collection.

I added my the cref to the navigation collection by clicking the remote node url and mapped it to my component using the PSFT_HR node. Then when the navigation collection is called it fails to present this link. I can see in integration broker there is a failed error message for the PTCS_GETAUTHORIZATION.

The error message states:

Integration Broker Service: Destination node does not match the local node.
The destination node given in the request does not match the name of the local node.

Destination Publish Node: HRMS
Pub Node: PSFT_PA
Final Destination: HRMS

There was a routing on the this message to the HRMS node, so I inactivated it, since integration broker does not like it when you send messages to portal nodes. But it still did not work.

Any thoughts? I have Oracle support confused as well. :)

As always thanks for your assistance!

Kevin

Jim Marion said...

@Kevin, continue to press MyO Support for a resolution.

Content is served through HRMS node, not PSFT_HR, so your Navigation Collection should point to HRMS, not PSFT_HR, although I think it usually works if you use PSFT_HR. I think it depends on your unified nav configuration.

Kevin Weaver said...

Thanks Jim,

I initially set it up to use the portal node, but Oracle support stated that was incorrect and that I should be using the default local node of the remote system. So they had me change it to PSFT_HR. I saw the error messages in Integration broker, so I configured the HRMS node to be local to portal and then once the link to my HRMS content generated I change the HRMS node back to not being local and the url works on the navigation collection. I am pretty confused at this point. But I will press on...


Thanks!

Kevin Weaver said...

Jim,


All is well. When I was setting up the Unified Navigation I got it into my head that I had to setup the Portal nodes in the IB Node network. This adds a whole bunch of service operation to the HRMS node and flips the IB_NETWORK flag to 1. This is then used by function within the PORTAL_CREF_ADM.PORTAL_HP_LAYOUT.FieldFormula and it will route the PTCS_GETAUTHORIZATION to the HRMS node. This errors as IB does not like portal nodes being used and the content fails to render. I removed the HRMS node from the IB node network and everything is now working. The moral of the story is portal nodes like HRMS, EMPL AND ERP don't belong in the IB Node Network!

Thanks for you help,

Kevin

Jim Marion said...

@Kevin, ah, makes sense.

Becca said...

Jim,

Sorry it's taken so long to get back to this... always a fire that needs putting out.

Back to the HomePage Pagelets. These are internal links and provide the javascript(...) location when you hover over them. I've narrowed it down to a refresh issue, which is still confusing.

So, if a pagelet with an internal link is on a tab that is not sequence 0, then the pagelet needs to be refreshed (using the pagelet refresh button), or browser cache cleared, in order for the link to work after the first time the link is accessed. I did a test, and the link works constantly if it's set to open in a new window or is on the default home tab. Users who do not have access to the default (seq 0) tab always need to refresh after the first time they click on a link.

Any ideas?

@Becca

Jim Marion said...

@Becca, really sorry. No ideas :(

John Jackson said...

Hello I am working on the managed content workcenter section of my companies Portal project and I was wondering if it were possible to configure the related content frame that appears on the right hand side of the workcenter with a custom pagelet?

Jim Marion said...

@John, theoretically, yes, because it is all Metadata and you could create a pagelet to manipulate that metadata. I think you would have to refresh the page after updating metadata though.

John Jackson said...

@Jim hmmmm so if I had a pagelet that was build out of it do you happen to have any thoughts as to how I would drop said pagelet into the frame or do you think it would just show up there?

Jim Marion said...

@John, you would add the pagelet to the workcenter pagelet area using the workcenter configuration. I am suspecting you already knew that, though, and you are really asking something different and I misunderstood?

John Jackson said...

@Jim I may have miss worded my phrasing aswell appologies for that. Yes I know how to add paglets to the left hand side or the pagelet area container as it is called in the html in the app designer. what I am trying to do is put a pagelet in the right hand side of the workcenter which is called the Related content area in the html in the application designer. The pagelet is meant to be part of an overall navigation for the managed content It contains a list of links and the contents change based on the content being viewed which is what we are looking to do but the place on the page makes it easy to miss so we were looking to move it to the right of the page to make it more visible.

Jim Marion said...

@John, you can configure related content services from pagelets, so if you are using related content on the right, you can add a related content pagelet service to the right. It sounds like that is what you require?

John Jackson said...

@Jim Yea that sounds about right.

John Jackson said...

Hello was wondering if you had any thoughts o how to reference a pagelet as a link in a navigation collection. More speciffically we have built a pivot grid report showing some demographics that our managers need for their admin tasks and we published the grid as a pagelet to be used on our managers dashboard but the pagelet and the containing grid made the dashboard seem to busy so we thought to change it up a bit and link to the pagelet instead in a quick links navigation collection. The problem we are running into though is that in newer versions of IE, Chrome, and Firefox it throws a cross domain security exception because the cref is building out a page with an iframe that contains another iframe that houses the pagelet. So we have box 1[containing box 2{containing the pagelet}]. through experimentation I found that stripping atleast 1 of those boxes off of the page fixes the issue and the error is not thrown. We are using the frames template on the cref to the pagelet(we have tried a modified version of that to no success)

Jim Marion said...

@John, it sounds like you figured out how to add the pagelet to a navigation collection, but just to confirm... Navigation Collections contain links to CREF's. You can create a CREF to any URL. a Pagelet Wizard pagelet is just an iScript, so you can create a CREF to a Pagelet Wizard pagelet.

I am not sure about the iframes, unless you are using a dialog function or something to open the CREF. The default behavior would be to replace the current window.

Now, about your cross domain issues... This should not happen regardless of browser. It should all be in the same domain. If you are using Interaction Hub and the pagelet comes from a content provider, then they might be different host names or ports, but they will be the same domain. Rarely have I seen two PeopleSoft systems in separate domains (hrms.lan1.com, fscm.lan2.com). That just doesn't work and requires a reverse proxy to get both into the same domain. If you have hcm.intranet.com and fscm.intranet.com, that is the same domain. PeopleSoft sets the document.domain to the value specified in your web profile's authentication domain. Make sure that is set in both systems. That should solve your cross domain issue.

John Jackson said...

@ Jim The domains match the difference is one is ep.lan.com while the other is h2.lan.com and it does take over the current window which is expected but the page you land on. The page’s html is built using multiple nested iframes(2 of them to be specific) that throw cross domain security errors even if the source href of the frames all match. We have tried to use templates to change this behavior so that the errors are not thrown to allow us to use a custom script to open the link in a modal pop up window instead of a new page or on top of the current one but the error that is thrown on the page when it loads normally it interfering with this functionality as well so we are working to correct the issue using the default setting before trying to sort out the modal issue. The odd thing is that the security error is not thrown in IE 8 and older versions of Chrome and fire fox I would just ignore it altogether because the current IE 11, Chrome, and Firefox are as yet unsupported by Oracle but even though the error does not occur in the older supported browsers when using the default functionality of the Peoplesoft architecture the link is still unusable in the modal script making it so that nothing happens at all when the link is clicked if the modal script is attached to the links not even an error is thrown in the console. The modal script does work when I attach it to other links that are not to a pagelet but rather a component or managed content articles.

Jim Marion said...

@John, I don't have enough experience with Pivot Grids to have seen the page structure. If you are using a standard /psp/ URL with a template, then you automatically get one iframe. You can change this by using the HOMEPAGE_DESIGNER_TEMPLATE template or by checking the "No Template" checkbox.

You should also file a My Oracle support case on this because it does seem like something that should be fixed (even if your usage appears non-standard).

John Jackson said...

Good afternoon, Have another question for you(am still following up with Oracle about the previous one). I am trying to add an onclick attribute to a link that I have contained within a pagelet that uses a HTML data type. The problem is that every time I try to do this the onclick is wiped clean of any information I set it equal to. Basically it starts off as and when the code is rendered after saving it is flipped to (ignore the !-- notation am using it to make the html examples show hopefully) I have even tried setting the javascript to be executed as part of the href attribute of the a tag but to no avail the html that gets generated replaces the href attribute with a # sign instead of a javascript call or a link when I do this. So that looked like while editing and turned into after the pagelet was rendered on step 5 of the pagelet wizard. So my question boils down to is there a way around this problem? I ask this because I have a script that I would like to attach to the link but I cannot reliably do so because I cannot control when the link is loaded. I have tried setting the script to fire after the page has loaded but this is also a tad unreliable because it often fires before all of the content has loaded on the page including the link in question.

Jim Marion said...

@John, did you include markup in your comment? It looks like blogger deleted it. Can you escape and post the markup? I feel like I'm missing something from your question.

John Jackson said...

Sure and yes I included some mark up that apparently it didnt like so I'll try it this way. [a href="some.url" onclick="myFunc();"]some page[/a] is what I tried putting in the html editor for a HTML data type pagelet but after moving through the steps in the pagelet wizard it gets changed to [a href="some.url" onclick]some.page[/a]. I have also tried putting the script call inside the href [a href="javascript:myFunc(some.url);"]some page[/a] but the wizard ends up replacing tht with [a href="#"]some page[/a] instead. It is also important to note that We had a contractor make a slight modification to the html eitor to allow us to switch to a sourse view(which I understand was included in older versions of the editor but has been removed in the current versions). I would simply make the script exicute on the load of the page rather than be called by this specific link but the way in which the page loads the script will fire before all of the content is loaded. Using jquery .ready, the basic window.onload, and the dojo dom.ready methods do not aleviate the problem. The only reason I can figure out as to why this does not work is that the dom is ready when all of the containing structure is there as opposed to when all of the content within the structure has finished loading.

Jim Marion said...

@John, I see, you are using the HTML Data Type. I really don't like that data type because it changes your code. If you are using a recent version of PeopleTools, you can use the Free Text data type. Before the free text data type, I actually created a plain text data type which is just basically a copy of the HTML data type, but with one line changed in the PeopleCode so it doesn't use the Rich Text Editor to mangle what I type.

Lawrence Guess said...

I have a question I hope you can answer. We're on Tools 8.53. We're a Campus Solutions shop only, but are beginning the process of adding Interaction Hub 9.1. Our business analysts want to start working with Related Content. I was under the impression that Related Content was dependent on having Portal/Hub available. Am I wrong on this?

Jim Marion said...

@Lawrence, I have good news and bad news. The bad news is I have to tell you that you are wrong. Related content is part of PeopleTools and has nothing to do with Interaction Hub. This makes sense because Interaction Hub doesn't really know much about the transaction content, so it is difficult for Interaction Hub to relate content to the current transaction.

Lawrence Guess said...

Okay, another Related Content question then. Our URLs for the DEV and TST environments both start have a domain of sissdev.duke.edu. Each of the environments has its own web profile. This AM I changed added .sissdev.duke.edu to the DEV web profile and bounced the DEV WebLogic servers. Afterwards there was no problem getting into DEV, but we could not get into TST. Removing the Auth Domain from the DEV profile and re-bouncing the WL servers fixed the problem in TST.
So the question I have now is, does every environment have to have its own unique domain? Or is there some other place I need to be looking relative to the above scenario?
Thanks for you help.

Jim Marion said...

@Lawrence, Auth Token Domain is very important for Related Content, so you need it set in the web profile. It is also used for cookie sharing. I suspect the problem you are having is that TST is trying to use the DEV cookie. Logging out of DEV should make it possible to log into TST. Lots of customers use the same domain for all of their servers. They just can't be logged into all environments in the same browser at the same time.

Having a separate domain definitely makes life easier for developers and testers, but isn't necessary.

Let me know if that makes sense and if that helps.

Lawrence Guess said...

One last question (for now) I hope. When you say "They just can't be logged into all environments in the same browser at the same time." do you mean the same browser (e.g. IE, Firefox, etc.) or do you mean regardless of browser period?

Jim Marion said...

@Lawrence, right, a working scenario would be to have dev in chrome, test in chrome incognito, pro in chromium. That would work. They all have different cookie caches. Substitute Firefox, IE, and Safari in there as well. You can be logged into all environments at the same time just as long as each environment is a different browser.

John Jackson said...

Good Morning I may be in the wrong section for this question so my for apologies that but I have a question. We are currently trying to deploy the Oracle SES search on our DEV environment in order to search our managed content. The problem is that the only node that seems to be able to crawl the managed content folders is PAPP_CONTENT which seems to be limited to admin only because the results all link to the edit content work center. We have tried PAPP_CONTENT_PUB and all it is able to pull are our news articles. So my question is are you familiar with the SES search and if you have any thoughts? If you are not do you happen to know of any documentation that could be of help?

Jim Marion said...

@John, unfortunately, I do not have much experience with SES and PeopleSoft search. I suggest you post that question on the PeopleSoft General Discussion OTN Forum.

Peoplesoft Thief said...

We are using 8.53 tools version. Peoplesoft interaction hub 9.1 version.
In our portal development instance, on User maintenance page, clicking “Edit Email Addresses” opens the secondary page in modal window (like calling DOMODALX).
But in our test instance clicking the same link, (delivered page without any customization) opens the secondary page in same window (like calling DOMDAL).
Kindly let me know if it is a setup or configuration while installing the instance. As per my understanding both are using same version.

Peoplesoft Thief said...

Hi Jim,

Hurrehh.I found the cause. This is becuase of the property in secondary page.
The property is "Disable Display in Modal Window When Not Launched by DoModal Peoplecode".

Sai said...

Hi Jim,

I have added a folder to Quick links on Manager Dashboard .

Business wants to open folder in a new window .

In Navigation collections , there is a option to open in new windows for links , but there is no option to open folder in a new window .

Can you please help on this

Jim Marion said...

@Sai, that is correct. You will have to add the target="_blank" yourself. You will have to do this in the XSL.

Sai said...

Thanks Jim.

its worked as you told , now folders are opening in a new window.