AWE Workflow Application Class Criteria2013-04-20T22:29:00.000-07:00
I had a little trouble creating my first App Class criteria so I thought I would share some tips on how to write an App Class for use as AWE criteria. Here are the primary secrets:
EOAW_CRITERIA:DEFINITION:CriteriaBase
PTAF_CRITERIA:DEFINITION:CriteriaBase
%Super
Check(&bindRec_ As Record) Returns boolean
Here is a sample template:
import EOAW_CRITERIA:DEFINITION:CriteriaBase;class MyCriteria extends EOAW_CRITERIA:DEFINITION:CriteriaBase method MyCriteria(&REC_ As Record); method Check(&bindRec_ As Record) Returns boolean;end-class;method MyCriteria /+ &REC_ as Record +/ %Super = create EOAW_CRITERIA:DEFINITION:CriteriaBase(&REC_.EOAWCRTA_ID.Value);end-method;method Check /+ &bindRec_ as Record +/ /+ Returns Boolean +/ /+ Extends/implements EOAW_CRITERIA:DEFINITION:CriteriaBase.Check +/ REM ** TODO evaluate something here; Return True;end-method;
jQuery Plugin Include Protection2013-04-01T13:22:00.000-07:00
I have a few blog posts that show how to use jQuery plugins on PeopleSoft homepages. When designing those pagelets in Pagelet Wizard, it is important that your XSL/HTML include jQuery and any necessary plugins within your pagelet's HTML/XSL. This is how my Slideshow and Accordion Navigation templates work. Including jQuery and required plugins in each pagelet, however, means that a homepage using these pagelets will have multiple instances of jQuery. jQuery is designed to load once, with plugin scripts loaded as needed. Since each pagelet has its own pointer to jQuery, as each pagelet loads, the browser tries to reload jQuery, redefining the jQuery and $ global variables and resetting the collection of previously loaded plugins. The end result is that a homepage with multiple jQuery based pagelets will only have one working pagelet. The rest will have been invalidated by the last pagelet to load jQuery.
jQuery
$
The jQuery documentation discourages the presence of multiple instances of jQuery within the same page. The theoretical concept is that each page should load jQuery once, and sites should be written to include only one jQuery script tag. The nature of homepages with their independently managed fragments doesn't allow for this. The way I work around this is to wrap the jQuery JavaScript library in something akin to the C-style header #ifndef include guards.
if(!window.jQuery) {/* downloaded, compressed/minified jQuery content goes here */}
I make the same change to jQuery plugins because they often include their own setup and usage data, but, of course, testing for a different variable. Here is my jQuery UI processing protection:
if(!window.jQuery.ui) {/* downloaded, compressed/minified jQuery UI content goes here */}
This minor change to the jQuery JavaScript library and plugin files keeps the browser from re-interpreting these JavaScript libraries. The browser interprets these file once, and then fails the conditional for each subsequent script tag that points to that particular library. This allows plugins to load as needed and all plugin setup and usage data to persist across multiple pagelets.
Of course, the best solution would be to just have each JavaScript file referenced once. Since that isn't practical on a homepage, this solution at least ensures the files are only processed once.
Collaborate 20132013-03-14T18:50:00.000-07:00
It is almost time for Collaborate 2013. For those of you attending, here is my schedule:
I will also be working in the Oracle User Experience demo pod and visiting in the PeopleTools demo pod. I look forward to seeing you there!
Podcast: A sneak peek into PeopleSoft PeopleTools Data Management and Upgrade Handbook2013-02-06T12:31:00.000-08:00
We put together a podcast with a short Q&A from our latest book PeopleSoft PeopleTools Data Management and Upgrade Handbook. If you have been wondering whether or not to buy the book, listen to this podcast. Perhaps it will help you make an informed decision.
How to Configure and Use Integration Broker2013-01-25T08:47:00.000-08:00
Integration Broker has become a critical service for PeopleSoft applications. If you are new to Integration Broker or are having trouble with Integration Broker configuration, then take a look at this new Integration Broker course published by my friends at CGI consulting. The course consists of an 84 page instructional PDF and a couple of source files. The course covers everything from configuration to using SoapUI. Here are some highlights:
One item I noticed that is NOT covered is creating custom listeners and targets using the Integration Broker SDK. Not to worry, though because I cover creating custom targets in my book PeopleTools Tips & Techniques.
The CGI Integration Broker course is a great read. I recommend downloading and saving a copy for future reference.
Alliance 20132013-01-24T14:37:00.000-08:00
Alliance 2013 in Indianapolis is just around the corner. Here is my schedule:
Copyright © 2013 McGraw-Hill Global Education Holdings, LLC Any use is subject to the Terms of Use and Privacy Notice