PeopleTools 8.52 popup prompts
4 days ago
A blog containing development tips I have learned through the years as a PeopleSoft developer.
![]() |
Advanced, undocumented development tips. Dive deep into the Approval Workflow Engine and Application Classes. Learn how to apply Ajax, Java, and modern design patterns to PeopleSoft development. |
46 comments:
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
@Manoj, yes, I'm planning to release the details soon.
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
@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.
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.
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
@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.
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
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
@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!!
@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.
@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.
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.
@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.
@Jim
Whoops, just realized that I was describing about Firebug. Nevertheless, Firebug & Fiddler are two greats tools to have for any web-based product.
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
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?
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.
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
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
@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.
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".
@Raj, I have never seen that before. I suggest you open a support case for that one.
Hi Jim,
The error was resolved. I had to apply the pt 8.51.13 patch and it resolved the issue.
Thanks
Raj
@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
@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.
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?
@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.
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.
@gk, I'm sorry, I have no experience with XMLP.
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
@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.
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?
@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.
@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.
@Jim: Interesting. Please share the HTML Layout if it's possible. It will help me immensly with what I am trying to do.
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
@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.
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.
@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.
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
@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.
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!
@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.
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
@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.
Post a Comment