Friday, March 20, 2009

Whats the coolest thing to use with PeopleSoft? For me it is "Prototype"

Getting bored from the usual PeopleCode/AppEngine etc I started to experiment with using JavaScript with PeopleSoft after getting inspiration from Jim's PeopleSoft Journal and Manalang's Blog. It was a truly eye opener when we consider designing application which are more interactive at the same time high performance.
You can download Prototype JavaScript library from Here.

The results of using JavaScript with PeopleSoft are wonderful. To take full advantage of JavaScript make sure you are well versed with the basic HTML structure and approximately major HTML elements. You also will need basic understanding of DOM (locating elements within the HTML document) etc.

Till date we have used Prototype along with other JavaScript libraries to display information as a ToolTip on a element (consider this a page field). This reduces the clutter on the page (otherwise you would have to place all such information as page fields unnecessarily) and also control on formatting the information contained within the tooltip. The other beautiful use we have put prototype to was to display the "Time Report" totals (in the PeopleSoft Travel and Expense > Time Entry application). The Time Entry page contains a grid for Time Entry by Projects by Date. As delivered the Totals per Project are shown on the right and are refreshed when a field is changed. Thus all the time entry fields on this page are "Non-Deferred" that deteriorate the performance of this application. We made all fields as "Deferred" and using Javascript refreshed the totals for a change in field value using the JavaScript DOM event. Thus the performance of the application improved incredibly. Also the coolest item we plugged on this page was to include the Day Totals as a Row in the table grid using JavaScript. We could not have done this using PeopleCode, as then the new row would be propagated to the database. We used the Prototype DOM manipulation (Element insertion) method to insert a new row as a <TR> element and also columns as <TD> elements. This truly looks a improved application.


1 comment: