WorkingScripts

The Stuff that Just Works

WorkingScripts header image 4

What Environment Am I in?

July 10th, 2009 by Iouri Chadour
Respond

As I was going through some of the sessions on the QUEST NORTHEAST CONFERENCE I noticed on of the presenters mentioning customizing Test environments Main PeopleSoft CSS PSSTYLEDEF so that the users are always able to distinguish between environments.

The solution that I have employ to solve this problem is to modify the PT_BRANDING:BrandingBase class to dynamically display environment name based on the URL, like this:

captured_Image.png

PT_BRANDING Application package was meant to be used to dynamically customize the look and feel of you application and of course you can do a lot more with this but this is just a very simple example of how easy this can be done.

In order to achieve the above effect all you need is to add code to 2 methods in the class PT_BRANDING:BrandingBase

method GetUniHeaderHTML
method GetUniHeaderHTML_PIA

These methods, as the name suggests are responsible for rendering you Application Portal Header.

/*Iouri Chadour - Added to put Test Environment notification in the header&Request.ContentURI - returns your portal URL in form http://server:port/psp/PSPRC/Left(Right(&Request.ContentURI, 4), 3) - extracts the significant piece to displayon the header*/
&zEnvName = Left(Right(&Request.ContentURI, 4), 3);
&Greeting = &zEnvName | " Environment " | ", UserID:" | %UserId | ", Name: " | %UserDescription;
/* End Mod */

/* This code below is delivered checks for client browser to ensure that Header is displayed correctly */

If &navTheme.isNS4x() Then    &UniHeaderHTMLPIA = GetHTMLText(HTML.PORTAL_UNI_HEADER_NS4X, &Response.GetImageURL(Image.NEW_PS_LOGO), &Response.GetImageURL(Image.NEW_PORTAL_HDR_TBRCRV), " ", " ", &FavoritesHTML, &AddToFavoritesHTML, &HelpHTML, "", &Response.GetImageURL(Image.NEW_PORTAL_HDR_CRV), &Response.GetImageURL(Image.NEW_PORTAL_HDR_BG), &Response.GetImageURL(Image.NEW_PORTAL_HDR_BG), &Response.GetImageURL(Image.NEW_PORTAL_HDR_TBRCRV), &Response.GetImageURL(Image.NEW_PORTAL_HDR_SHD), &Response.GetImageURL(Image.NEW_PORTAL_HDR_TBR), &styleSheet, &homeURL, &startURL, &AddToFavFormHTML, &LogoutURL, MsgGetText(95, 400, "Return Home"), /*20*/MsgGetText(95, 401, "Home"), MsgGetText(95, 402, "Return to Menu"), MsgGetText(95, 403, "Menu"), MsgGetText(95, 408, "Sign out"), &Greeting, &SearchHTML, &ColSpanHTML, &PersonalizeHTML, "", "", &HelpJSHTML, &homepageJS, "", &TabHTML, &WLHTML, &domainScript, &Response.GetJavaScriptURL(HTML.PT_SAVEWARNINGSCRIPT), "", &SaveWarnCrossDomainScript, &Response.GetImageURL(Image.PT_HOME_TAB_ACTIVE_CENTER), &Response.GetImageURL(Image.PT_HOME_TAB_INACTIVE_CENTER), /*40*/&Response.GetImageURL(Image.PT_HOME_TAB_LINE), %Request.ExpireMeta, &CTIHTML, &MCFHTML, &PPMHTML, &Charset);ElseElse    &UniHeaderHTMLPIA = GetHTMLText(HTML.PORTAL_UNI_HEADER_NNS, &Response.GetImageURL(Image.NEW_PS_LOGO), &Response.GetImageURL(Image.NEW_PORTAL_HDR_TBRCRV), "", "", &FavoritesHTML, &AddToFavoritesHTML, &HelpHTML, "", &Response.GetImageURL(Image.NEW_PORTAL_HDR_CRV), &Response.GetImageURL(Image.NEW_PORTAL_HDR_BG), &Response.GetImageURL(Image.NEW_PORTAL_HDR_BG), &Response.GetImageURL(Image.NEW_PORTAL_HDR_TBRCRV), &Response.GetImageURL(Image.NEW_PORTAL_HDR_SHD), &Response.GetImageURL(Image.NEW_PORTAL_HDR_TBR), &styleSheet, &homeURL, &startURL, &AddToFavFormHTML, &LogoutURL, MsgGetText(95, 400, "Return Home"), /*20*/MsgGetText(95, 401, "Home"), MsgGetText(95, 402, "Return to Menu"), MsgGetText(95, 403, "Menu"), MsgGetText(95, 408, "Sign out"), &Greeting, &SearchHTML, &ColSpanHTML, &PersonalizeHTML, "", "", &HelpJSHTML, &homepageJS, MsgGetText(95, 138, "Tool Bar Header"), &TabHTML, &WLHTML, &domainScript, &Response.GetJavaScriptURL(HTML.PT_SAVEWARNINGSCRIPT), "", &SaveWarnCrossDomainScript, &Response.GetImageURL(Image.PT_HOME_TAB_ACTIVE_CENTER), &Response.GetImageURL(Image.PT_HOME_TAB_INACTIVE_CENTER), /*40*/&Response.GetImageURL(Image.PT_HOME_TAB_LINE), %Request.ExpireMeta, &CTIHTML, &MCFHTML, &PPMHTML, &Charset); End-If;

Tags:   · · 6 Comments

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

jQuery UI by Karl Swedberg

June 30th, 2009 by Iouri Chadour
Respond

This is a really great presentation about using jQuery for UI – works you through the real examples of jQuery structure and jQuery and CSS.

AdobeTV – Enhancing the user experience with jQuery by Karl Swedberg

Tags:   · No Comments.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

PeopleTools 8.50 Overview

June 12th, 2009 by David Quintman
Respond

Here is a link to an excellent presentation from Oracle of PeopleTools 8.50 features. PeopleSoft is really going Web 2.0!

peoplesoft_workspace_and_pt850.swf (application/x-shockwave-flash Object)

Also please see our previous post about Tools 8.50 overview

Tags:   · 2 Comments

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5.00 out of 5)

Notepad++ for Peoplecode and SQR

June 10th, 2009 by Iouri Chadour
Respond

There are a few people who mention different tools for Application Development in PeopleSoft. Over the past years I have tried many of the IDEs like TextPad, UltraEdit. For the past 6 months I have started extensively using Notepad++ and I absoltely love it. Unfortunately App Designer does not include a good syntax highlighting, Intellisense and other features that have been long implemented in other IDEs like Visual Studio, JBuilder, Eclipse. It seems that so far Notpad++ developers did a great job with developing enough options that the tool could be easily configured to support multiple languages, specifically SQR and PeopleCode. I have started by downloading initial syntax color scheme files from greysparling.com (they are always on the forefront of peoplesoft development). Then, I have played with options a little and voila – I finally have an IDE that makes it all easier – syntax highlighting, IntelliSense (I wish it could access AppDesigner API too). Below I would like to provide a 5 minute guide to configuring NOTEPAD++ for use:

  1. Download Notepad++ from http://notepad-plus.sourceforge.net/
  2. After install go to Settings and remove all languages that you are not using:

image image

3. Download PeopleCode and SQR syntax and Intellisense files below

a) Paste Intellisense File below

into C:\Program Files\Notepad++\plugins\APIs\

and %appdata%\Notepad++\plugins

b) Paste PeopleCode and SQR Syntax files attached below into %appdata%\Notepad++\

Download File – PeopleCode SQR Syntax Files
c) Close and restart Notepad++

4. Configure Notpad++ to recognize sqr and peoplecode by following the instructions below:

image

image

Choose the desired language e.g. Peoplecode or SQR and change the color scheme to the way you like it. For PeopleCode I suggest specifying rem and / / as start and finish of the comment, because for some reason PeopleCode has more that 2 types of comments –

/+ your comment +/

/* your comment */

rem your comment

remark your comment

Enjoy – in my next post I will explain how Notepad++ can be effectively used for looking at PeopleCode Trace files.

Tags:   · · · 12 Comments

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

SQL for Retrieving Portal, Security, Record and Navigation

June 5th, 2009 by Iouri Chadour
Respond

SELECT DISTINCT       ltrim (rtrim (a.classid))  AS classid, ltrim (rtrim (b.menuname))  AS       menuname, ltrim (rtrim (b.barname))  AS barname, ltrim          (rtrim (b.baritemname))  AS baritemname, ltrim(rtrim(d.pnlname))  AS       pnlname, ltrim (rtrim (d.itemlabel))  AS itemlabel, ltrim          (rtrim (e.itemlabel))  AS itemlabel, ltrim(rtrim(c.pageaccessdescr))         AS pageaccessdescr, b.displayonly, ltrim (rtrim (f.portal_label))  AS       portal_label, ltrim (rtrim (f.portal_objname))  AS portal_objname,       ltrim(rtrim(f.portal_uri_seg1))  AS portal_uri_seg1, ltrim (rtrim (f.portal_uri_seg2)       )  AS portal_uri_seg2, (SELECTCASE          WHEN ltrim(rtrim(descr)) = ''THEN             ltrim(rtrim(menulabel))ELSE             ltrim(rtrim(descr))ENDFROM psmenudefnWHERE menuname = b.menuname)       || ' > '       || ltrim(rtrim(f.portal_label))  AS pathFROM psroleclass a,       psauthitem b,       pspgeaccessdesc c,       pspnlgroup d,       psmenuitem e,       psprsmdefn f,       psprsmperm gWHERE a.classid = b.classidAND d.pnlgrpname = e.pnlgrpnameAND b.menuname = e.menunameAND b.barname = e.barnameAND b.baritemname = e.itemname--AND a.rolename LIKE 'GLIC_PO%'AND b.menuname NOT IN ('APPLICATION_DESIGNER',                              'CLIENTPROCESS',                              'DATA_MOVER ',                              'IMPORT_MANAGER ',                              'OBJECT_SECURITY ',                              'QUERY ',                              'PERFMONPPMI ')AND b.menuname NOT LIKE 'WEBLIB%'

AND B.PNLITEMNAME IN (SELECT DISTINCT PNLNAMEFROM PSFSSYS.PSPNLFIELDwhere RECNAME ='PYMNT_ADVICE')AND NOT EXISTS             (SELECT 'x'FROM psprsmsysattrvlWHERE portal_name = f.portal_nameAND portal_reftype = f.portal_reftypeAND portal_objname = f.portal_objnameAND portal_attr_nam = 'PORTAL_HIDE_FROM_NAV'AND f.portal_objname NOT IN ('CO_NAVIGATION_COLLECTIONS',                                                  'PORTAL_BASE_DATA'))AND b.authorizedactions = c.authorizedactionsAND f.portal_reftype = 'C'AND f.portal_cref_usgt = 'TARG'AND f.portal_name = g.portal_nameAND f.portal_reftype = g.portal_reftypeAND f.portal_objname = g.portal_objnameAND a.classid = g.portal_permnameAND b.classid = g.portal_permnameAND f.portal_name = 'EMPLOYEE'AND f.portal_uri_seg1 <> ' 'AND f.portal_uri_seg2 <> ' 'AND f.portal_uri_seg3 <> ' 'AND f.portal_uri_seg1 = b.menunameAND b.pnlitemname = d.itemname  WITH UR;

Tags:   · · No Comments.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Oracle’s Safari Online – Free Edition?

June 2nd, 2009 by Iouri Chadour
Respond

It seems that Oracle have caught on with the Virtual Documentation, not only lots of books are available in common formats, but they allow you to format your search results as a book as well. Now you can take just what you need and read it on your screen or printed and stapled. I guess they really want us to know know more about their products!

Here is a link to

Oracle Database Online Documentation 11g Release 1 (11.1)

And here PeopleBooks Link:

http://download.oracle.com/docs/cd/E12341_01/crm9pbr0_run2/eng/index.htmcaptured_Image.png

Tags:   · · No Comments.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Is Blogger Program Renewed for OpenWorld 2009 ?

June 2nd, 2009 by Iouri Chadour
Respond

OracleOpenWorld 2009

If I had to choose a year for this program – this year would be it. Economy is doing so “great” that companies are saving on the electricity in halls, and not running all elevators in the buildings. Besides, I don’t think we’ll see a lot of people from Meryll, UBS and especially Lehman brothers.

Blogger Program Renewed for OpenWorld 2008 | The AppsLab

Tags:   · No Comments.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Introducing PSUnit – Automate Your Testing

May 30th, 2009 by Iouri Chadour
Respond

It seems that PeopleSoft is really becoming object oriented – now it has it’s own automated unit testing  tool, like JUnit – this one is called PSUnit. I hope this one is as good as it sounds. Check out the Wiki article below

Introducing PSUnit – Oracle Wiki

You can download the actual project file here:

http://blogs.oracle.com/peopletools/2009/03/psunit_unit_test_framework_for.html

Tags:   No Comments.

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 4.00 out of 5)

PeopleTools 8.50 Roadmap

May 30th, 2009 by Iouri Chadour
Respond

 

Take a look at this great post by  Peter Slager about upcoming PeopleTools release

And here you can find the latest about PeopleTools 8.50 from Oracle – just an overview of things to come:

Release Value Propositions available

By matthew.haavisto on May 14, 2009 1:58 PM

Two new release value propositions are now available: one covers PeopleTools 8.50, another covers Enterprise Portal 9.1. Both documents provide an overview of the value proposition for the enhancements that are planned for PeopleTools 8.50 and Enterprise Portal 9,1. Both are intended to help you assess the business benefits of these products and to plan your information technology (IT) projects and investments.

PeopleTools RVP
Enterprise Portal RVP

 

 

And if you like pictures – then the older, but still valid presentation from last year’s OpenWorld would still do a goo job:

 

By jeff.robbins on September 24, 2008 5:26 AM

During Part 2 of the PeopleTools Roadmap presentation at OpenWorld, I promised to post the presentations and demo viewlets we used. The presentations are in PDF file and I’ll upload the viewlets later today.

Here is Part 1: Download file

Here is Part 2: Download file

Enjoy!

PeopleTools Roadmap Presentation at OpenWorld on Tuesday, Sep 23 (PeopleSoft Technology Blog)

Tags:

Tags:   1 Comment

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

nVision Performance Tuning

May 23rd, 2009 by Iouri Chadour
Respond

As many PeopleSoft developers and managers I have suffered through my share of nVision Tuning efforts and until very recent we could not get our reports to run under 4 hours, until the recent change…
In any case here are a few points from my experience:
We experienced an almost almost 5 fold increase in performance when we did a PS_LEDGER reorg with PSCLEDGER index option as follows:

   1:  

   2: db2 "reorg table PSFSSYS.PS_LEDGER index PSFSSYS.PSCLEDGER allow read access indexscan"

   3: db2 "RUNSTATS ON TABLE PSFSSYS.PS_LEDGER FOR INDEX PSFSSYS.PSCLEDGER"

   4: db2 "reorgchk current statistics on table PSFSSYS.PS_LEDGER"

Also it is great to cleanup treeselectors, to make sure that static selectors did not get out of sync with trees, this can be done on a regular basis, see a sample script below. Please note that the number in the end of the treeselector name xx – corresponds to the chartfield length:

   1:  

   2: -- Delete TreeSelectors

   3: Delete from PSFSSYS.PSTREESELECT05;

   4: Delete from PSFSSYS.PSTREESELECT06;

   5: Delete from PSFSSYS.PSTREESELECT10;

   6:  

   7: -- Delete Tree Control table for the respective selectors above

   8: delete from PSFSSYS.pstreeselctl

   9: where length in (5,6,10);

For details about PeopleSoft nVision architecture and structure please make sure to read the Red Paper by clicking below

PeopleSoft nVision Red Paper

Tags:

Tags:   · No Comments.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)