Академический Документы
Профессиональный Документы
Культура Документы
Contains:
PeopleSoft Enterprise Portal GUI Tips Development Guidelines FAQs Prepared by: Mauricio Prado PSC Technology Solutions Delivery
Comments on this document can be submitted to: Comments on this document can be submitted to redpaper@peoplesoft.com. We encourage you provide feedback on this Red Paper and will ensure that it is updated based on feedback received. When you send information to PeopleSoft, you grant PeopleSoft a non-exclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. This material has not been submitted to any formal PeopleSoft test and is published AS IS. It has not been the subject of rigorous review. PeopleSoft assumes no responsibility for its accuracy or completeness. The use of this information or the implementation of any of these techniques is a customer responsibility and depends upon the customer's ability to evaluate and integrate them into the customers operational environment.
Table of Contents
TABLE OF CONTENTS CHAPTER 1 - INTRODUCTION Structure of this Red Paper Related Materials CHAPTER 2 - CREATING THE PROJECT Step 1 of 3: Create a new project in Application Designer Step 2 of 3: Insert GUI related objects into the project Step 3 of 3: Review the objects within your project CHAPTER 3 - DEVELOPMENT GUIDELINES README CHAPTER 4: BEGIN MODIFYING OBJECTS IN YOUR PROJECT Before You Begin: Technical Notes Lets Begin! Modifying the HTML Objects HTML objects that will have a MAJOR impact on GUI HTML objects that will have a MINOR impact on GUI: You are finished! FREQUENTLY ASKED QUESTIONS FAQ: How can I force required pagelets onto every users homepage (ie, the navigation, Top Stories, etc)? FAQ: Do I need to do anything to these objects if I migrate this project to Production? FAQ: What do I need to change if I change the Portal URL? FAQ: Can I Use Different Templates for Different Pagelets? FAQ: How can I change the hyperlink colors on the homepage? FAQ: How do I change the login, expire, and other WebLogic pages? APPENDIX A-1: BIND VALUES #S FOR PORTAL_UNI_HEADER_NEW IN 8.12 8.13 APPENDIX A-2: BIND VALUE #S FOR PORTAL_UNI_HEADER_NEW IN 8.14 8.15 APPENDIX B-1: PORTAL_UNI_HEADER_NEW APPENDIX B-2: PORTAL_HP_3COL_LAYOUT
3 5 5 5 6 6 7 9 11 11 11 12 12 21 27 28 28 29 30 31 33 33 34 36 38 42
APPENDIX B-3: PR_PORTAL_DEFAULT_USERA APPENDIX C SPECIAL NOTICES APPENDIX D VALIDATION AND FEEDBACK Customer Validation Field Validation APPENDIX D REVISION HISTORY
45 47 49 49 49 50
1/14/2002
Chapter 1 - Introduction
This Red Paper is a practical guide for a technical audience: web and application developers who implement, maintain, or develop using the PeopleSoft Enterprise Portal. In this Red Paper, we discuss guidelines on how to modify the entire look and feel of the PeopleSoft Portal. This is a no frills and to-the-point document on how to put a complete face-lift on your Portal. Much of the information contained in this document originated from PeopleSoft Consulting field experience and is therefore based on "real-life" problems encountered in the field. This document can be used for the following Portal and Tools releases:
Enterprise Portal SP1 Enterprise Portal SP2 PeopleTools 8.12 through PeopleTools 8.16.00
The objects in this document are not specific to any particular portal product (i.e., Customer Portal, Employee Portal, etc) and are related to the underlying Enterprise Portal objects that every portal solution contains. Therefore, you should not have a problem making the changes, despite the product you have. One note, the PIA Portal, sometimes called the Application Portal (this is delivered with all PeopleSoft product lines), may not contain some of the objects described here. This document is only intended for complete portal solutions like the Enterprise Portal, Employee Portal, and so forth.
RELATED MATERIALS
This paper is not a general introduction to developing with PeopleSoft or making changes to a PeopleSoft Portal environment. We assume that our readers are experienced IT professionals, with a good understanding of PeopleSofts Internet and Portal Architecture. To take full advantage of the information covered in this document, we recommend that you have a basic understanding of system administration, basic Internet architecture, relational database concepts/SQL, the PeopleSoft Portal and how to use PeopleSoft applications. This document is not intended to replace the documentation delivered with the PeopleTools 8 or 8.14 PeopleBooks. We recommend that before you read this document, you read the PIA and Portal related information in the PeopleTools PeopleBooks to ensure that you have a well-rounded understanding of our PIA technology. Note: Much of the information in this document eventually gets incorporated into subsequent versions of the PeopleBooks. Many of the fundamental concepts related to PIA are discussed in the following PeopleSoft PeopleBooks:
1/14/2002 PeopleSoft Internet Architecture Administration (PeopleTools|Administration Tools|PeopleSoft Internet Architecture Administration) Application Designer (Development Tools|Application Designer) PeopleCode (Development Tools|PeopleCode Reference) PeopleSoft 8 Enterprise Portal PeopleBook PeopleSoft 8 Portals Application Fundamentals SP2 PeopleBook
1/14/2002
At this point, click File > Save Project As and give your project a name, we are going to name ours ACME_PORTAL_GUI. Click the OK button
HTML Objects EO_PE_LEFT_TEMP_END * EO_PE_LFT_TEMP_START * HTML for bottom of left-navigation menu HTML for top of left-navigation menu
1/14/2002 PORTAL_HP_2COL_LAYOUT * template used to build 2-column homepage. We are going to add all pagelets that we want all users to have on their homepage (like the navigation, or Top Stories) to this object. template used to build 3-column homepage. We are going to add all pagelets that we want all users to have on their homepage (like the navigation, or Top Stories) to this object. this is the only HTML template used to create the look and feel of each pagelet. contains html for content/layout links surrounding template used when building any homepage. We will be setting cellpadding and cellspacing HTML attributes to zero. frame-based template with navigation on left, header at top, and target content in the main area. You may have to change the pixel height for the top frame to fit match the height of your header. The default setting is 110 pixels. non-framed template with navigation on left, header at top, and content in the main area. We will be setting cellpadding/cellspacing attributes to zero. this HTML object is used for every header in the portal. We will modify the surrounding HTML significantly, based on branding requirements. this is the default user homepage (what a user sees when they havent customized their own homepage). We will modify this significantly, its the users first impression of the portal and an opportunity to educate users on how to personalize and utilize portal features. this is the default non-framed template for the portal (without left navigation). We will set cellpadding and cellspacing attributes to zero.
PORTAL_HP_3COL_LAYOUT *
PORTAL_HP_COMPONENT *
PORTAL_HP_PERSONALIZE_LINKS PORTAL_HP_USER_TEMPLATE
PORTAL_LEFTNAV_EMP
PORTAL_NAVIGATION
PORTAL_UNI_HEADER_NEW *
PR_PORTAL_DEFAULT_USERA *
PR_PORTAL_NAVIGATION_TEMPLAA
1/14/2002 Image Objects PT_PORTAL_IC_CLOSE PT_PORTAL_IC_COLLAPSE delete image for pagelets minimize image for pagelets
PT_PORTAL_IC_EDIT PT_PORTAL_IC_EXPAND
PSSTYLEDEF
10
1/14/2002
C:\WebLogic\myserver\public_html\Common\css\ (for style sheets) C:\WebLogic\myserver\public_html\Common\images\ (for images) C:\WebLogic\myserver\public_html\Common\js\ (for JavaScript files)
You can now use this repository to access these objects from within the PeopleSoft HTML Objects. If your repository resides within the same root directory as the PeopleSoft portal (as shown above), then you can use a relative path to request the file within your HTML object, for example (ie,PORTAL_UNI_HEADER_NEW): <a proxied=false href=%Bind(:16)><IMG border=0 SRC=/Common/images/acme_home.gif></A> If you are using a repository elsewhere on your network, then youll have to use the fully qualified URL (of course): <a proxied=false href=%Bind(:16)><IMG border=0 SRC=http://portal.acme.com/Common/images/acme_home.gif ></A>
In ASP: <a href=<%=strHomeLink%> ><IMG SRC=/images/home.gif border=0></A> In PeopleCode: <a href=%Bind(:16)><IMG SRC=/images/home.gif border=0></A>
The value of the bind number can be found in the calling PeopleCode program, see Appendix A-1 for an example. You can use this to identify dynamic images that you will not use and replace them with a URL to the image in your image
11
1/14/2002 repository (NOTE: The values for PORTAL_UNI_HEADER_NEW are listed in Appendix A-1, the others can be found by looking at the calling PeopleCode program (This information is provided for every HTML Object).
It is not recommended to remove labels (like the word home or the Alt text) unless you will always cater to an English speaking user base (no need for translation). Also do not remove any %Binds that reference JavaScript files, forms, or the personalize links. There may be a business case for some of this (i.e., the search form), but keep in mind that you are making a change to functionality if you do thisit then has to be maintained by your company.
Ill try and list the objects in the order that makes sense (the list above was in alphabetical order)so Ill begin with objects that have the biggest impact on your GUI. I will give the following information about each object:
4 4 4 4
Description Complete Example What record and function is it being called from Development Tip
12
1/14/2002
PORTAL_UNI_HEADER_NEW
Description: this HTML object is used for every header in the portal including transactions that bring in external PeopleSoft transactions (like an HRMS self-service transaction). This object will undoubtedly have the biggest impact on your interface. We will modify the surrounding HTML significantly, based on your branding requirements.
Complete Example: Appendix A-1 What record and function is it being called from:
Development Tip: As mentioned in the technical notes in Chapter 3, it is recommended that PeopleCode modifications are avoided and to use an image/object repository for images, JavaScript files, and a custom style sheet. A color-coded HTML editor will ensure the integrity of your HTML (unlike PeopleCode, Application Designer does not validate your HTML). If you have a choice between using a GUI-based editor (like FrontPage) and a text-based editor (like EditPlus), then go with the text-based editorGUI based editors put a lot of extra HTML tags into your source. Another useful tool for clean up your HTML is call Tidy and can be found at: http://www.w3.org/People/Raggett/tidy/#help Related Image Objects: Here are the top navigation buttons:
4 4 4 4 4 4
13
1/14/2002
PORTAL_HP_COMPONENT
Description: the only HTML template used to create the look and feel of each pagelet. We will modify the surrounding HTML significantly, based on your branding requirements. Complete Example: see below What record, field and function is it being called from: RECORD: FUNCLIB_PORTAL.TEMPLATE_FUNC.BuildStaticHPTemplate Development Tip: I recommend creating your own style tags for your pagelet tables. You can use either inline style tags (included in the HTML tag) or embedded style tags (include the styles at the top of the HTML document, or referencing another style sheet within your repository (see Chapter 2 for details). I do not recommended changing the delivered styles because the style sheet is delivered with many updates and, of course, every PeopleTools and Application upgrade (so its difficult to maintain if youve customized many of the style attributes in PSSTYLEDEFN). If you use embedded styles or you reference another style sheet, then you can put that in the <HEAD></HEAD> tags of either PORTAL_UNI_HEADER_NEW (which is the header for all pages), or you can put it in the <HEAD></HEAD> tags of PORTAL_HP_USER_TEMPLATE (which is used only for the homepageIt wraps around PORTAL_UNI_HEADER_NEW). In the example below, Ive used inline style tags (in red) for the borders, embedded styles (not shown) for menuFont and an image repository for new images (in green). One thing, I almost always reload the database with my own remove/edit/minimize/maximize imagesreplacing the existing ones (all the images you inserted into your project earlier).
<!-- Begin Pagelet=%BIND(:5) --> <!-- PageletState=MAX --> <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER=0 > <TR><TD WIDTH="10" HEIGHT="18" ALIGN="left" STYLE="border-bottom: 1px solid #000000;" VALIGN="top"><IMG SRC="/Common/images/corner_left_blk.gif" ALIGN="absmiddle"></td><TD ALIGN="left" CLASS="menuFont" BGCOLOR=#000000 > <NOBR> %BIND(:2) </NOBR> </TD><TD WIDTH="10" HEIGHT="18" ALIGN="left" STYLE="border-bottom: 1px solid #000000;" VALIGN="top"><IMG SRC="/Common/images/corner_right_blk.gif" ALIGN="absmiddle"></TD> <TD WIDTH=100% ALIGN="RIGHT" VALIGN="bottom" STYLE="border-bottom: 1px solid #aaaaaa;"> %BIND(:1) </TD></TR> <TR><TD WIDTH="100%" COLSPAN=4> <IClientComponent Name="%BIND(:2)"> <Source Product="%BIND(:4)">%BIND(:3)</Source> </IClientComponent> </TD></TR> </TABLE> <BR> <!-- End Pagelet=%BIND(:5) -->
14
1/14/2002
PORTAL_HP_3COL_LAYOUT
Description: template used to build 3-column homepage. So when a user personalizes their homepage, it uses the HTML in this object to organize the pagelets they selected into the number of columns they selected (three, in this case). We are going to add all pagelets that we want all users to have on their homepage (like the navigation, or Top Stories) to this object. Complete Example: Appendix B-2 What record and function is it being called from:
Development Tip: Our main goal here is to add pagelets to the homepage that every user must have. The best example of this is the navigation, Top Stories, and/or Company News. There are several things you need to do when this is performed:
Copy and paste the HTML for the pagelet desired. Log into the portal. Click on Content and choose the pagelets that should always be on the homepage. Click on the Personalize Layout link and place the pagelets just like you want them and click save. Now go to Application Designer, File > Open > HTML and search on %VP1 (or % and your UserID). Youll see a PR_PORTAL_VP1A and maybe a PR_PORTAL_VP1B (and maybe a C). Open it up and look for your pagelets. Highlight and copy the pagelet HTML from <!-- Begin Pagelet.. --> until you reach <!-- End Pagelet -->. Paste the HTML in the appropriate column of PORTAL_HP_3COL_LAYOUT and most likely before the bind variables in each column(this is where the users pagelets go, the ones they select themselves). Add pagelet HTML to PORTAL_HP_2COL_LAYOUT. Copy and paste the HTML for each pagelet in this object as well. Remove the Delete button and the Minimize button (if desired). Youll see a long, long URL that has the delivered image name, PT_PORTAL_IC_CLOSE, at the end of the line. Youll also notice the onClick=SetRefreshHomepage event in the <a href> tag. Also, make sure you dont unintentionally remove the Edit button on pagelets that have this feature. Remove this pagelet from the content page, so as not to confuse your users. For this I recommend creating a new folder in your Portal Registry and hiding the pagelets from users. You can do this by navigating to Portal Administration > Base Portal Data > Pagelets > Add Folder. I created one called ACME Hidden Pagelets and checked the box which says Hide from portal navigation (see PeopleBooks for information on adding folders to the Portal Registry). Then navigate back to Portal Administration > Base Portal Data > Pagelets and look for the pagelet that will always exist on the homepage. When you find it, click on the Change Parent Folder button at the upper right. Look for ACME Hidden Pagelets (in my case) and click on the link to move your pagelet to this folder. Click save.
15
1/14/2002
PORTAL_HP_2COL_LAYOUT
Description: template used to build 2-column homepage. So when a user personalizes their homepage, it uses the HTML in this object to organize the pagelets they selected into the number of columns they selected (two, in this case). We are going to add all pagelets that we want all users to have on their homepage (like the navigation, or Top Stories) to this object. Complete Example: Appendix B-2 What record and function is it being called from:
16
1/14/2002
PR_PORTAL_DEFAULT_USERA
Description: this is the default homepage for every user who has not customized their own homepage. This is your users first impression of the portal which gives you a unique opportunity:
4 4 4 4
You can educate users on how to personalize their homepage. You can create a section on all the portal features and how to use them. You can let them register into other areas of your enterprise. And Im sure you can think of more information to display on this page.
Complete Example: Appendix B-3 Development Tip: Heres a quick step-by-step on one way to create this page:
4 Login as VP1 or your UserID. 4 Click on Content and choose the pagelets you want first time users to see. 4 Click on the Personalize Layout link and place the pagelets just like you want them and save your page. 4 Now go to Application Designer, File > Open > HTML and search on %VP1 (or % and your UserID). Youll see a
PR_PORTAL_VP1A and maybe a PR_PORTAL_VP1B (and maybe a C), the bigger the HTML page the more A,B, and Cs youll have.
4 Select File > Save As > PR_PORTAL_DEFAULT_USERA for PR_PORTAL_VP1A, and then save
PR_PORTAL_VP1B as PR_PORTAL_DEFAULT_USERB, etc. (click Yes when you are asked Content Object already exists. Replace existing object?).
4 Change to the <title>VP1</title> at the top to say Welcome or whatever. Click Save. 4 Login as a user who does not have a homepage. If you dont know of one, then simply delete yours. For
example, select File > Delete, Object Type = HTML, Name = %VP1A, then click Delete. Youll get the prompt, Are you sure you want to delete PR_PORTAL_VP1A object?. Click Yes. Be careful! Okay, now login to the portal and youll see the default homepage!
To add unique items (like special Welcome section, etc), simply add it directly to the HTML and then re-save it. Remember, a user will never see this page again, once the user customizes their homepage.
17
1/14/2002
EO_PE_LFT_TEMP_START
Description: this is the HTML for top of left-navigation menu. Complete Example: <BODY BGCOLOR="#FFFFFF" marginwidth="0" marginheight="0" topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0" onLoad="JavaScript:document.location.href='#%Bind(:3)';"> <TABLE WIDTH="185" CELLPADDING="0" CELLSPACING="0" BORDER=0 > <TR> <TD WIDTH="10" HEIGHT="18" ALIGN="left" STYLE="border-bottom: 1px solid #000000; padding-left: 2px;" VALIGN="top"><IMG SRC="/Common/images/corner_left_blk.gif" ALIGN="absmiddle"></td><TD ALIGN="left" CLASS="menuFont" BGCOLOR=#000000 > <NOBR>Navigation Menu </NOBR> </td><TD WIDTH="10" HEIGHT="18" ALIGN="left" STYLE="border-bottom: 1px solid #000000;" VALIGN="top"><IMG SRC="/Common/images/corner_right_blk.gif" ALIGN="absmiddle"></TD> <TD WIDTH=100% ALIGN="RIGHT" VALIGN="bottom" STYLE="border-bottom: 1px solid #aaaaaa;"> </TD></TR></TABLE><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 STYLE="border-right: 1px solid #aaaaaa;"><TR><TD VALIGN=TOP> <TR> <TD VALIGN=TOP ><TABLE WIDTH=185 BORDER=0 CELLSPACING=0 CELLPADDING=0> <TR><TD> </TD><TD WIDTH=1> </TD></TR> <TR><TD VALIGN=TOP > Development Tip: Many customers seem to want the same look as the navigation on the front page. As you can see from the example above, Ive used the pagelet look used in PORTAL_HP_COMPONENT. The bind variables you see in the vanilla object, are for the blue images (except for %Bind(:3)). You do not need these if you are changing the look and feel. Now you have to change the style classes in PSSTYLEDEF to change background colors. There are only a few, and this one of the few times that I modify the style sheet. Here are the style classes and a description:
4
PSPNAVBACKGROUND: this is basic background color. The delivered object has that beige color. If you want it to be white, then open the style sheet, find this class, then double-click on it. Then select the Background tab, and change it to FFFFFF. PSNAVPARENTLINK: this is basic font attributes for the parent links. PSPNAVPARENTLINK: some tools versions have PSP, but many products are missing one this style and it needs to be created. Select Insert from the menu bar, Insert Style Class. Give it a name, then copy the values from PSNAVPARENTLINK PSPNAVSELPARENTBK: is the background color of the section you are in. PSPNAVSELCHILDBK: is the background color of the LINK you have selected.
4 4
4 4
18
1/14/2002 The other classes that begin with PSPNAV. can help you modify the navigation attributes to meet your branding requirements.
19
1/14/2002
EO_PE_LEFT_TEMP_END
Description: this is the HTML for bottom of left-navigation menu. Complete Example: </TD> <TD WIDTH=1> </TD> </TR> <TR> <TD > </TD> <TD WIDTH=1> </TD></TR></TABLE> </TD></TR> <TR><TD > </TD></TR> </TABLE>
20
1/14/2002
21
1/14/2002
PORTAL_HP_PERSONALIZE_LINKS
Description: HTML used for Personalize Content and Layout links. Complete Example: <table align="right"> <TR> <TD COLSPAN="2" HEIGHT="20" VALIGN="middle" ALIGN="right"> <IMG SRC=/Common/images/content.gif> <A onClick="%BIND(:6);return true;" HREF="%BIND(:2)"><IMG SRC=/Common/images/icon_LAYOUT.gif BORDER=0></A> | <A onClick="%BIND(:6);return true;" HREF="%BIND(:4)"><IMG SRC=/Common/images/icon_CONTENT.gif BORDER=0></A> </TD> </TR> </table> What record and function is it being called from:
Development Tip: The example included shows the use of images rather then text for the icons.
22
1/14/2002
PORTAL_HP_USER_TEMPLATE
Description: surrounding template used when building any homepage. Complete Example: <html> <head> <TITLE> %BIND(:2)</TITLE> <link rel="STYLESHEET" type='TEXT/CSS' href='/Common/css/PageletStyles.css'> </head> <body onLoad="%BIND(:6)">
<FORM NAME='HelpURL' METHOD=POST Action="%BIND(:4)"><INPUT TYPE=hidden NAME=ICHelpUrl VALUE="%BIND(:5)"></FORM> <table width="100%" cellpadding=0 cellspacing=0> Development Tip: The biggest thing here is to set cellpadding and cellspacing to zero, otherwise youll have a gap (a couple of pixels) on the top, left, and right side of your browser. If you have styles that are unique to the homepage (like for pagelets), you may include a style sheet on this page onlyinstead of PORTAL_UNI_HEADER_NEW, which is used for all transactions.
23
1/14/2002
PORTAL_LEFTNAV_EMP
Description: frame-based template with navigation on left, header at top, and target content in the main area. Complete Example: <HTML> <HEAD> <TITLE>Transaction Frame Template Dynamic New</TITLE> </HEAD> <frameset rows="110,*"> <FRAME name=UniversalHeader scrolling=no frameborder = no noresize src=> <IClientComponent Name="UniversalNavigation"> <Source Product="Portal">ICType=Script&ICScriptProgramName=WEBLIB_PORTAL.PORTAL_HEADER.FieldFor mula.IScript_UniHeader_Frame&isFrame=true&Bread=false</Source> <Cache Scope="application" Interval=345600" >dummy</Cache> </IClientComponent> <frameset cols="205,*"> <FRAME name=LEFT frameborder = no scrolling=auto noresize src=> <IClientComponent Name="UniversalNavigation"> <Source Product="Portal">ICType=Script&ICScriptProgramName=WEBLIB_ENAV.ISCRIPT1.FieldFormula.IScript_Naviga tion&isFrame=true</Source> </IClientComponent> <FRAME name=TargetContent frameborder = no noresize src=> <TargetContent>X</TargetContent> </FRAMESET> </HTML> Development Tip: You may have to change the pixel height for the top frame to fit match the height of your header. The default setting is 110 pixels. Also there is a cache attribute tag to cache the header, see PeopleBooks for more information on caching HTML objects. I have cached the header in this example for 345,600 seconds, at that time it will get a fresh copy from the database.
24
1/14/2002
PORTAL_NAVIGATION
Description: non-framed template with navigation on left, header at top, and content in the main area. Development Tip: The biggest thing here is to set cellpadding and cellspacing to zero, otherwise youll have a gap (a couple of pixels) on the top, left, and right side of your browser. You may also want to cache the header (see PORTAL_LEFTNAV_EMP for a syntax example and PeopleBooks for more info).
25
1/14/2002
PR_PORTAL_NAVIGATION_TEMPLAA
Description: this is the default non-framed template for the portal (without left navigation). Development Tip: The biggest thing here is to set cellpadding and cellspacing to zero, otherwise youll have a gap (a couple of pixels) on the top, left, and right side of your browser. You may also want to cache the header (see PORTAL_LEFTNAV_EMP for a syntax example and PeopleBooks for more info).
26
1/14/2002
27
1/14/2002
FAQ: HOW CAN I FORCE REQUIRED PAGELETS ONTO EVERY USERS HOMEPAGE (I.E., THE NAVIGATION, TOP STORIES, ETC)?
This is described on page 14 under the section discussing the PORTAL_HP_3COL_LAYOUT object. This HTML object is used to organize the pagelets a user has selected into the appropriate columns they chose (2 or 3 column). In the PORTAL_HP_3COL_LAYOUT section, we show you how to add all the pagelets that your users must have on their homepage (like the navigation, Company News, or Top Stories) to this object. There is also a complete HTML example in Appendix B-2.
28
1/14/2002
Open these objects and do a Find/Replace on padev and replace it with paprod.
29
1/14/2002
If you do this, then youll have to make sure the following URL specific settings are correct:
FTP Address
Youll need to verify if this is still correct. FTP settings can be changed using the PORTAL_FTP_URL.dms script located in the <PS_HOME>\scripts directory. The file needs to be edited for the FTP username, password, and server name. You could also update this by using URL Maintenance located on the following page (the URL Identifier is called tasks):
4
Home > PeopleTools > Utilities > Use > URL Maintenance.
Menu > PeopleTools > Process Scheduler Manager > Use > Report Node Definitions
WebLogic\myserver\psftdocs\<PIA_name>\configuration.properties
WebLogic\myserver\psftdocs\<PIA_name>\configuration.properties
30
1/14/2002
/* Cache for 1 Day */ &CompData = GetHTMLText(HTML.CACHE_HP_COMPONENT, &ActionBarHTML, &Cref.Label, &ComponentURL, &Cref.ContentProvider, &Cref.URL, "86400"); Break; When = "HR_JOBPOSTINGS" /* Cache for 1 Day */ &CompData = GetHTMLText(HTML.CACHE_HP_COMPONENT, &ActionBarHTML, &Cref.Label, &ComponentURL, &Cref.ContentProvider, &Cref.URL, "86400"); Break; When = "HR_COMPANY_DIRECTORY" /* Cache for 1 Month */ &CompData = GetHTMLText(HTML.CACHE_HP_COMPONENT, &ActionBarHTML, &Cref.Label, &ComponentURL, &Cref.ContentProvider, &Cref.URL, "2592000"); Break; When = "EO_PE_INLUMEN_MARKET_INDICES" /* Cache for 15 minutes */ &CompData = GetHTMLText(HTML.CACHE_HP_COMPONENT, &ActionBarHTML, &Cref.Label, &ComponentURL, &Cref.ContentProvider, &Cref.URL, "900"); Break;
Copyright PeopleSoft Corporation 2001. All rights reserved.
31
1/14/2002
When = "EO_PE_WEB_MAGAZINE" /* Cache for 5 Days */ &CompData = GetHTMLText(HTML.CACHE_HP_COMPONENT, &ActionBarHTML, &Cref.Label, &ComponentURL, &Cref.ContentProvider, &Cref.URL, "432000"); Break; When-Other &CompData = GetHTMLText(HTML.PORTAL_HP_COMPONENT, &ActionBarHTML, &Cref.Label, &ComponentURL, &Cref.ContentProvider, &Cref.URL); Break; End-evaluate;
This will wrap the NO_BORDER_COMPONENT HTML template around my MAPQUEST pagelet (the label is Get Directions). I recommend cloning PORTAL_HP_COMPONENT and then customizing it to suite your needs. Make sure you HTML is correct!
TIP: The only time I use this is to CACHE individual pagelets that display the same content for everyone. So Ill have a HTML pagelet template with the <cache scope> attribute tag, and Ill pass the number of seconds into the GetHTMLText function. Ill use a Evaluate statement to check which pagelets will use this cache template and finish with when-other for the PORTAL_HP_COMPONENT pagelets (no cache). Remember, if the pagelet has a edit icon, or if the data displayed is specific to a user (like the dynamic role-based navigation), then you SHOULD NOT cache it. NOTE: this will not affect overall performance of the portal. The only time this code is called is when a user changes layout or content on their homepage, and they click save thats when the template is builtit is not built when they login (hence, to view these changes you need to change something on your homepage via the Portal and hit save.)
32
1/14/2002
You should also specify some default font attributes for <A> and <TD> in your own style sheet or an embedded style sheet at the top of PORTAL_UNI_HEADER_NEW. This will give font attributes to text that has no class associated with it. Heres an example:
<STYLE TYPE="text/css"> td { font-family:arial; font-size:9pt; } a:visited { font-family:arial; font-size:9pt; color: #5c93ae; text-decoration: underline } a:link { font-family:arial; font-size:9pt; color: #5c93ae; text-decoration: underline } a:hover { font-family:arial; font-size:9pt; color: #5c93ae; text-decoration: underline } a:active { font-family:arial; font-size:9pt; color: #5c93ae; text-decoration: underline } </STYLE>
FAQ: HOW DO I CHANGE THE LOGIN, EXPIRE, AND OTHER W EBLOGIC PAGES?
Just modify the surrounding HTML. Do not change the values of forms or remove any server-side tags (the ones that have <% blah-blah %> these brackets. The files can be found at:
4
WebLogic\myserver\public_html\<PIA_name>\
Heres the list of html files that can be modified to meet your branding requirements:
4 4 4 4
33
1/14/2002
&UniHeaderHTML = GetHTMLText(HTML.PORTAL_UNI_HEADER_NEW, 1. &Response.GetImageURL(Image.PT_PORTAL_BUG), 2. &Response.GetImageURL(Image.PT_PORTAL_BLUE_CORNER), 3. &Response.GetImageURL(Image.PT_PORTAL_IC_HOME), 4. &Response.GetImageURL(Image.PT_PORTAL_MENU), 5. &Response.GetImageURL(Image.PT_PORTAL_FAVORITES), 6. &Response.GetImageURL(Image.PT_PORTAL_FAVORITES_ADD), 7. &Response.GetImageURL(Image.PT_PORTAL_IC_HELP), 8. &Response.GetImageURL(Image.PT_PORTAL_IC_LOGOUT), 9. &Response.GetImageURL(Image.PT_PORTAL_BEIGE_GRAD), 10. &Response.GetImageURL(Image.PT_PORTAL_GLOBE), 11. &Response.GetImageURL(Image.PT_PORTAL_BEIGE_STRETCH), 12. &Response.GetImageURL(Image.PT_PORTAL_BLUE_GRAD), 13. &Response.GetImageURL(Image.PT_PORTAL_SHADOW_GRAD), 14. &Response.GetImageURL(Image.PT_PORTAL_BLUE_SHADOW), 15. &Response.GetStyleSheetURL(StyleSheet.PSSTYLEDEF), 16. &homeURL, 17. &startURL, 18. &editFavURL, 19. &addFavURL, 20. &logoutURL, 21. MsgGetText(95, 400, "Return Home"), 22. MsgGetText(95, 401, "Home"), 23. MsgGetText(95, 402, "Return to Menu"), 24. MsgGetText(95, 403, "Menu"), 25. MsgGetText(95, 404, "Favorites"), 26. MsgGetText(95, 405, "Favorites"), 27. MsgGetText(95, 406, "Add to Favorites"), 28. MsgGetText(95, 407, "Add to Favorites"), 29. MsgGetText(95, 410, "Help"), 30. MsgGetText(95, 411, "Help"), 31. MsgGetText(95, 408, "Sign out"), 32. MsgGetText(95, 409, "Sign out"), 33. &Greeting, 34. &getHelp, 35. &srchURL, 36. &Response.GetImageURL(Image.PT_PORTAL_GO),
Copyright PeopleSoft Corporation 2001. All rights reserved.
34
1/14/2002
37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47.
&PersonalizeHTML, "", &SearchLabel, &addFavURLPContent, &addFavURLPActual, &startHelpComment, &endHelpComment, &HelpNotFound, &homepageJS, &Request.GetParameter("PortalTargetFrame"), "");
README: You can add your own from %BIND(:48) and on. As you can see by the 8.14 version, numbers 48 and 49 are also taken. If you really must modify this PeopleCode, then I recommend adding about 15 blank bind values before starting yours, which will leave room for any additional parameters from PeopleSoft future releases.
35
1/14/2002
36
1/14/2002 39. &SearchLabel, 40. &addFavURLPContent, 41. &addFavURLPActual, 42. &startHelpComment, 43. &endHelpComment, 44. &HelpNotFound, 45. &homepageJS, 46. &Request.GetParameter("PortalTargetFrame"), 47."", 48. &WLHTML, 49. &domainScript);
README: You can add your own from %BIND(:48) and on. As you can see by this 8.14 version, numbers 48 and 49 have been added from the 8.13 Tools release. If you really must modify this PeopleCode, then I recommend adding about 15 blank bind values before starting yours, which will leave room for any additional parameters from PeopleSoft future releases.
37
1/14/2002
function handleResize() { if (isNav ) { // force reload for Navigator //location.reload(); } return true; } function getHelp(helpExists)
Copyright PeopleSoft Corporation 2001. All rights reserved.
38
1/14/2002 { var targetFrameName = "%bind(:46)"; if (helpExists) { if (targetFrameName != "" && top.frames[targetFrameName]) { if (top.frames[targetFrameName].document.forms["HelpURL"] != null && top.frames[targetFrameName].document.forms["HelpURL"].ICHelpUrl != null && top.frames[targetFrameName].document.forms["HelpURL"].ICHelpUrl.value != null) { helpURL = top.frames[targetFrameName].document.forms["HelpURL"].ICHelpUrl.value; helpWindows = window.open(helpURL); } else alert("%Bind(:44)"); } else { if (document.forms["HelpURL"] != null && document.forms["HelpURL"].ICHelpUrl != null && document.forms["HelpURL"].ICHelpUrl.value != null) { helpWindows = window.open(document.forms["HelpURL"].ICHelpUrl.value); } else { alert("%Bind(:44)"); } } } else alert("%Bind(:44)"); } </script> %bind(:45) <LINK REL="stylesheet" HREF="%Bind(:15)" TYPE="text/css"> </HEAD>
<form target=_top Name='AddToFavorites' method=POST action=%bind(:19)><input type=hidden Name=PortalContent value="%bind(:40)"><input type=hidden Name=PortalActual value="%bind(:41)"></form>
39
1/14/2002 <td align=left valign=top nowrap rowspan=2 width=202><img src="/Common/images/logo.gif"></TD><td height=58 width=100%> </TD><TD align=right valign=center rowspan=2 width=207><img src="/Common/images/logoRT_ACME.gif"></TD> </tr> <tr ><td align=right valign=bottom height=4 width=100%><img src="/Common/images/dot2.gif" width="100%" height="4"></TD> </TR> </table>
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <TR><td align=left valign=top width=250 nowrap><img src="/Common/images/logo2.gif" align=absmiddle> <font size=1> <script type="text/javascript"> var d = new Date() // Get the day and date... mprado PSFT var weekday=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday") var monthname=new Array("January","February","March","April","May","June","July","August","September","October","November","Decemb er") document.write(weekday[d.getDay()] + ", ") document.write(monthname[d.getMonth()] + " ") document.write(d.getDate() + ", ") document.write(d.getFullYear()) document.write(" ") // Get the time ... mprado PSFT // Calculate AM/PM... mprado PSFT var ampm=" AM"; var intHours=d.getHours() var intMin = d.getMinutes() if (intHours > 12) { ampm=" PM"; intHours = intHours - 12; } document.write(intHours) document.write(":") if (intMin < 10 ) intMin = "0" + intMin; document.write(intMin) document.write(ampm); </script> </TD> <td align=left valign=top >
Copyright PeopleSoft Corporation 2001. All rights reserved.
40
1/14/2002 <form name="form1" method="post" action=%bind(:35)> <table cellpadding=0 cellspacing=0 bgcolor=#000000 width=500> <tr><td align=left class=menuFont nowrap><Img src="/Common/images/btm_corner_lft.gif" align=absmiddle> <a proxied=false %bind(:16) class="menuFont">Home</a> <img src="/Common/images/menu_div.gif" align=absmiddle> <a %bind(:17) class="menuFont">Menu</a> <img src="/Common/images/menu_div.gif" align=absmiddle> <a href="javascript:document.AddToFavorites.submit()" class="menuFont">Add To Favorites</a> <img src="/Common/images/menu_div.gif" align=absmiddle> <a %bind(:18) class="menuFont">Favorites</a> <img src="/Common/images/menu_div.gif" align=absmiddle> <a proxied=false href="mailto:writeus@acme.com" class=menuFont>Contact Us</a> <img src="/Common/images/menu_div.gif" align=absmiddle> <%bind(:42)a href="help" onClick="getHelp(%bind(:34)); return false" class="menuFont">Help</A> <img src="/Common/images/menu_div.gif" align=absmiddle border=0> </a%bind(:43)> <a %bind(:20) class="menuFont">Sign Off</a> <img src="/Common/images/menu_div.gif" align=absmiddle> <A proxied="false" HREF="#" CLASS=menuFont>Search</a> <input type="text" VALUE="" size=21 name="SEARCH_TEXT" class="SearchClass" > <input type="image" border="0" name="imageField" src="/Common/images/go.gif" align=absmiddle> </TD></TR> </table></FORM> </TD> <TD align=right valign=top class=menuFont width=100% > <table cellpadding=0 cellspacing=0 bgcolor=#000000 height=23 width=100% > <tr><td align=right class=menuFont nowrap> </TD></TR> </table> </TD></TR> </table> <!-- CONTENT/LAYOUT links below --> %BIND(:37) %bind(:38) <!-- GREETING IS below --> <font face=arial size=3><B>%bind(:33)</B> </bODY> </HTML>
41
1/14/2002
42
1/14/2002 <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER=0 > <TR> <TD WIDTH="10" HEIGHT="18" ALIGN="left" STYLE="border-bottom: 1px solid #000000;" VALIGN="top"><IMG SRC="/Common/images/corner_left_blk.gif" ALIGN="absmiddle"></td><TD ALIGN="left" CLASS="menuFont" BGCOLOR=#000000 > <NOBR> Headlines </NOBR> </td><TD WIDTH="10" HEIGHT="18" ALIGN="left" STYLE="border-bottom: 1px solid #000000;" VALIGN="top"><IMG SRC="/Common/images/corner_right_blk.gif" ALIGN="absmiddle"></TD> <TD WIDTH=100% ALIGN="RIGHT" VALIGN="bottom" STYLE="border-bottom: 1px solid #aaaaaa;"> </TD> </TR> <TR> <TD WIDTH="100%" COLSPAN=4> <IClientComponent Name="Top Stories"> <Source Product="Portal">?ICType=Script&ICScriptProgramName=WEBLIB_EO_PE_NW.ISCRIPT1.FieldFormula.IScript_Top Story&ID=0000000002&PORTALPARAM_COMPWIDTH=Narrow</Source> </IClientComponent> </TD> </TR> </TABLE> <BR> <!-- End Pagelet=?ICType=Script&ICScriptProgramName=WEBLIB_EO_PE_NW.ISCRIPT1.FieldFormula.IScript_TopStory&ID =0000000002 -->
<!-- ***** TOP STORIES PAGELET GOES ABOVE ********************** --> <!-- ***** COMPANY NEWS PAGELET GOES BELOW ********* -->
<!-- Begin Pagelet=?ICType=Script&ICScriptProgramName=WEBLIB_EO_PE_NW.ISCRIPT1.FieldFormula.IScript_IntNews&ID= 0000000001 --> <!-- PageletState=MAX --> <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER=0 > <TR> <TD WIDTH="10" HEIGHT="18" ALIGN="left" STYLE="border-bottom: 1px solid #000000;" VALIGN="top"><IMG SRC="/Common/images/corner_left_blk.gif" ALIGN="absmiddle"></td><TD ALIGN="left" CLASS="menuFont" BGCOLOR=#000000 > <NOBR> News Connections </NOBR> </td><TD WIDTH="10" HEIGHT="18" ALIGN="left" STYLE="border-bottom: 1px solid #000000;" VALIGN="top"><IMG SRC="/Common/images/corner_right_blk.gif" ALIGN="absmiddle"></TD> <TD WIDTH=100% ALIGN="RIGHT" VALIGN="bottom" STYLE="border-bottom: 1px solid #aaaaaa;"> <A onClick="setRefreshHomepage('http%3a%2f%2fmy.portal.i:7001%2fservlets%2fpsportal%2fpaprod%2fhomepageexpir ed');return true;" HREF="http://my.portal.i:7001/servlets/iclientservlet/paprod/?ICType=Panel&Menu=PORTAL_COMPONENTS&Market =GBL&PanelGroupName=EO_PE_USR_PREF&WP_COMP_ID=0000000001&PORTALPARAM_HPURL=http%253a %252f%252fmy.portal.i:7001%252fservlets%252fpsportal%252fpaprod%252f%253fcmd%253dstart"><IMG SRC="http://my.portal.i:7001/paprod/cache/images/PT_PORTAL_IC_EDIT_ENG_94.gif" NAME="21e" BORDER="0" Alt="Customize" ALIGN="right"></A> </TD>
43
1/14/2002 </TR> <TR> <TD WIDTH="100%" COLSPAN=4> <IClientComponent Name="Company News"> <Source Product="Portal">?ICType=Script&ICScriptProgramName=WEBLIB_EO_PE_NW.ISCRIPT1.FieldFormula.IScript_IntN ews&ID=0000000001&PORTALPARAM_COMPWIDTH=Narrow</Source> </IClientComponent> </TD> </TR> </TABLE> <BR> <!-- End Pagelet=?ICType=Script&ICScriptProgramName=WEBLIB_EO_PE_NW.ISCRIPT1.FieldFormula.IScript_IntNews&ID= 0000000001 -->
44
1/14/2002
45
1/14/2002 </TR> </TABLE> <BR> <!-- End Pagelet=?ICType=Script&ICScriptProgramName=WEBLIB_CSS_PORT.PORTAL_HEADER.FieldFormula.IScript_Get Categories --> <!-- NAVIGATION GOES HERE ********** ABOVE ***** --> </td> <td width="6"> </td> <td width="43%" valign="top" STYLE="border-right: 1px solid #aaaaaa;"> <!-- ****** TOP STORIES GOES BELOW ****** --> <!-- Begin Pagelet=?ICType=Script&ICScriptProgramName=WEBLIB_EO_PE_NW.ISCRIPT1.FieldFormula.IScript_TopStory&ID =0000000002 --> <!-- PageletState=MAX --> <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER=0 > <TR> <TD WIDTH="10" HEIGHT="18" ALIGN="left" STYLE="border-bottom: 1px solid #000000;" VALIGN="top"><IMG SRC="/Common/images/corner_left_blk.gif" ALIGN="absmiddle"></td><TD ALIGN="left" CLASS="menuFont" BGCOLOR=#000000 > <NOBR> Top Stories </NOBR> </td><TD WIDTH="10" HEIGHT="18" ALIGN="left" STYLE="border-bottom: 1px solid #000000;" VALIGN="top"><IMG SRC="/Common/images/corner_right_blk.gif" ALIGN="absmiddle"></TD> <TD WIDTH=100% ALIGN="RIGHT" VALIGN="bottom" STYLE="border-bottom: 1px solid #aaaaaa;"> </TD> </TR> <TR> <TD WIDTH="100%" COLSPAN=4> <IClientComponent Name="Top Stories"> <Source Product="Portal">?ICType=Script&ICScriptProgramName=WEBLIB_EO_PE_NW.ISCRIPT1.FieldFormula.IScript_Top Story&ID=0000000002&PORTALPARAM_COMPWIDTH=Narrow</Source> </IClientComponent> </TD> </TR> </TABLE> <BR> <!-- End Pagelet=?ICType=Script&ICScriptProgramName=WEBLIB_EO_PE_NW.ISCRIPT1.FieldFormula.IScript_TopStory&ID =0000000002 --> <!-- ***** TOP STORIES GOES ABOVE ***** --> <!-- COMPANY NEWS and EVENTS GO HERE! ********* --> <!-- Begin Pagelet=?ICType=Script&ICScriptProgramName=WEBLIB_EO_PE_NW.ISCRIPT1.FieldFormula.IScript_IntNews&ID= 0000000001 --> <!-- PageletState=MAX --> <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER=0 > <TR> <TD WIDTH="10" HEIGHT="18" ALIGN="left" STYLE="border-bottom: 1px solid #000000;"
Copyright PeopleSoft Corporation 2001. All rights reserved.
46
1/14/2002 VALIGN="top"><IMG SRC="/Common/images/corner_left_blk.gif" ALIGN="absmiddle"></td><TD ALIGN="left" CLASS="menuFont" BGCOLOR=#000000 > <NOBR> Company News </NOBR> </td><TD WIDTH="10" HEIGHT="18" ALIGN="left" STYLE="border-bottom: 1px solid #000000;" VALIGN="top"><IMG SRC="/Common/images/corner_right_blk.gif" ALIGN="absmiddle"></TD> <TD WIDTH=100% ALIGN="RIGHT" VALIGN="bottom" STYLE="border-bottom: 1px solid #aaaaaa;"> <A onClick="setRefreshHomepage('http%3a%2f%2fmy.acme.com:7001%2fservlets%2fpsportal%2fpaprod%2fhomepagee xpired');return true;" HREF="http://my.acme.com:7001/servlets/iclientservlet/paprod/?ICType=Panel&Menu=PORTAL_COMPONENTS&Ma rket=GBL&PanelGroupName=EO_PE_USR_PREF&WP_COMP_ID=0000000001&PORTALPARAM_HPURL=http%25 3a%252f%252fmy.acme.com:7001%252fservlets%252fpsportal%252fpaprod%252f%253fcmd%253dstart"><IMG SRC="http://my.acme.com:7001:80/paprod/cache/images/PT_PORTAL_IC_EDIT_ENG_94.gif" NAME="21e" BORDER="0" Alt="Customize" ALIGN="right"></A> </TD> </TR> <TR> <TD WIDTH="100%" COLSPAN=4> <IClientComponent Name="Company News"> <Source Product="Portal">?ICType=Script&ICScriptProgramName=WEBLIB_EO_PE_NW.ISCRIPT1.FieldFormula.IScript_IntN ews&ID=0000000001&PORTALPARAM_COMPWIDTH=Narrow</Source> </IClientComponent> </TD> </TR> </TABLE> <BR> <!-- End Pagelet=?ICType=Script&ICScriptProgramName=WEBLIB_EO_PE_NW.ISCRIPT1.FieldFormula.IScript_IntNews&ID= 0000000001 --> <!-- **** COMPANY NEWS GOES ABOVE *********** ---> </td> <td width="6"> </td> <td width="33%" valign="top"> <!-- YOU CAN PUT SOME WELCOME STUFF HERE, SINCE THIS PAGE IS USED FOR NEW USERS --> </td></tr> </table> <!-- bottom footer below***** mprado --> <HR SIZE=1 COLOR=#000000> <table width="100%" border=0 cellspacing="0" cellpadding="0" > <tr> <td height=58 width=100%> 2001 ACME Corporation. All Rights Reserved. </TD><TD align=right valign=center rowspan=2 width=207><img src="/Common/images/POWERED_BY_PSFT.gif"></TD> </tr> </table> </body> </html>
47
1/14/2002 All material contained in this documentation is proprietary and confidential to PeopleSoft, Inc., is protected by copyright laws, and subject to the nondisclosure provisions of the applicable PeopleSoft agreement. No part of this documentation may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, including, but not limited to, electronic, graphic, mechanical, photocopying, recording, or otherwise without the prior written permission of PeopleSoft, Inc. This documentation is subject to change without notice, and PeopleSoft, Inc. does not warrant that the material contained in this documentation is free of errors. Any errors found in this document should be reported to PeopleSoft, Inc. in writing. The copyrighted software that accompanies this documentation is licensed for use only in strict accordance with the applicable license agreement, which should be read carefully as it governs the terms of use of the software and this documentation, including the disclosure thereof. See Customer Connection or PeopleBooks for more information about what publications are considered to be product documentation. PeopleSoft, the PeopleSoft logo, PeopleTools, PS/nVision, PeopleCode, PeopleBooks, and Vantive are registered trademarks, and PeopleTalk and "People power the internet." are trademarks of PeopleSoft, Inc. All other company and product names may be trademarks of their respective owners. The information contained herein is subject to change without notice. Information in this book was developed in conjunction with use of the product specified, and is limited in application to those specific hardware and software products and levels. PeopleSoft may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. The information contained in this document has not been submitted to any formal PeopleSoft test and is distributed AS IS. The use of this information or the implementation of any of these techniques is a customer responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. While each item may have been reviewed by PeopleSoft for accuracy in a specific situation, there is no guarantee that the same or similar results will be obtained elsewhere. Customers attempting to adapt these techniques to their own environments do so at their own risk. Any pointers in this publication to external Web sites are provided for convenience only and do not in any manner serve as an endorsement of these Web sites.
48
1/14/2002
CUSTOMER VALIDATION
PeopleSoft is working with PeopleSoft customers to get feedback and validation on this document. Lessons learned from these customer experiences will be posted here.
FIELD VALIDATION
PeopleSoft Consulting has provided feedback and validation on this document. Additional lessons learned from field experience will be posted here.
49
1/14/2002
Reviewers
The following people reviewed this Red Paper: Andrew Bediz PeopleSoft Consulting Edgar Vasquez PeopleSoft Consulting John Schroeder PeopleTools Portal Technologies Product Manager
Revision History
1. December 18, 2001 First Publication
50