Académique Documents
Professionnel Documents
Culture Documents
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 - GETTING STARTED Background Information Step 1 of 3: Create a new project in Application Designer Step 2 of 3: Insert GUI related definitions into the project Step 3 of 3: Review the definitions within your project CHAPTER 3 - DEVELOPMENT GUIDELINES Before You Begin: Technical Notes CHAPTER 4: BEGIN MODIFYING DEFINITIONS IN YOUR PROJECT Lets Begin! Modifying the HTML Definitions HTML definitions that will have a MAJOR impact on GUI HTML definitions that will have a MINOR impact on GUI: You are finished! FREQUENTLY ASKED QUESTIONS FAQ: How can I have different color pagelets for different columns on my homepage? FAQ: Do I need to do anything to these definitions if I migrate this project to Production? FAQ: Can I use different templates for different pagelets? FAQ: Can I store and reference images, style sheets, and JavaScript outside of PeopleSoft? 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.40 APPENDIX B-1: PORTAL_UNI_HEADER_NEW APPENDIX C SPECIAL NOTICES APPENDIX D VALIDATION AND FEEDBACK README 3 5 5 5 7 7 8 9 13 14 14 14 14 15 22 26 27 27 30 30 30 32 32 33 35 36 38
38 38 39
11/13/2002
Chapter 1 - Introduction
This Red Paper is a practical guide for a technical audienceWeb and application developers who implement, maintain, or develop applications using 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" challenges encountered in the field. This document can be used for the following releases: PeopleSoft 8.4 Enterprise Portal PeopleTools 8.40xx through PeopleTools 8.41xxx
The definitions in this document are related to the underlying PeopleSoft Enterprise Portal definitions that every portal solution contains. It was developed with PeopleSoft 8.4 Enterprise Portal and PeopleTools 8.41. For information on the previous release of the PeopleSoft Enterprise Portal, SP1 or SP2, please see the Red Paper library and look for the Portal GUI Tips Red Paper for SP1/SP2.
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 PeopleBooks. We recommend that before you read this document, you read the PeopleTools and Portal related information in PeopleBooks to ensure that you have a well-rounded understanding of our PIA (PeopleSoft Internet Architecture) 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 PeopleSoft development are discussed in the following PeopleSoft PeopleBooks: PeopleSoft Internet Architecture Administration (PeopleTools | Administration Tools | PeopleSoft Internet Architecture Administration) Application Designer (Development Tools | Application Designer)
11/13/2002 PeopleCode (Development Tools | PeopleCode Reference) PeopleTools 8.4 PeopleBook PeopleSoft 8.4 Enterprise Portal PeopleBook PeopleSoft Portal Technology
11/13/2002
Personalization: the personalization links must be prominently displayed on every tabbed page.
Tab Page Is Highlighted: the tab page must be a different color from the rest of the page.
Multiple Pagelet Templates: BYOG requires each column to have separate style attributes for the pagelet templates (colors, borders, margins, etc). Prominent Navigation: give navigation a different background colormatching the left-navigation template menu.
11/13/2002
At this point, click File > Save Project As and give your project a name, we are going to name ours BYOG_PORTAL_GUI. Click the OK button
11/13/2002
PORTAL_HDR_ADDTOFAV_SAVEWARN Top Menu Bar: Add to Favorites html (template version) PORTAL_HEADER_FAVORITES PORTAL_HEADER_HELP PORTAL_HEADER_WL PORTAL_HP_2COL_LAYOUT * PORTAL_HP_3COL_LAYOUT * PORTAL_HP_ACTIVE_TAB PORTAL_HP_INACTIVE_TAB PORTAL_HP_TABS PORTAL_HP_COMPONENT * Top Menu Bar: Add to Favorites html (homepage version) Top Menu Bar: Help html Top Menu Bar: Worklist html Template used to build 2-column homepage. Template used to build 3-column homepage. HTML for Active Tab of a tabbed homepage HTML for Inactive Tab(s) of a tabbed homepage HTML template for multi-tab layout This is the only HTML template used to create the look and feel of each pagelet.
PORTAL_HP_PERSONALIZE_LINKS_TD Contains html for content/layout links PORTAL_HP_USER_TEMPLATE PORTAL_LEFTNAV_EMP Surrounding template used when building any homepage. We will also set the background for the active tab page. 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.
11/13/2002 PORTAL_NAVIGATION 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 definition is used for every header in the portal. We will modify the surrounding HTML significantly, based on branding requirements. This is the default non-framed template for the portal (without left navigation). We will set cellpadding and cellspacing attributes to zero.
PORTAL_UNI_HEADER_NEW *
PR_PORTAL_NAVIGATION_TEMPLAA
PT_HOME_TAB_INACTIVE_CENTER Inactive tab background image PT_HOME_TAB_INACTIVE_LEFT PT_HOME_TAB_INACTIVE_RIGHT PT_HOME_TAB_LINE PT_NAV_CLOSED_FLDR PT_NAV_OPEN_FLDR Left corner of inactive tab Right corner of inactive tab Background of top tab page Main Navigation image (bullet) Main Navigation image (bullet) unchanged unchanged
10
11/13/2002 PT_PORTAL_BEIGE_STRETCH I used this to substitute my own image Search image (Go button) Delete image for pagelets Minimize image for pagelets Edit/customize image for pagelets Maximize image for pagelets Help image for pagelets ?? Not used for this example
PT_PORTAL_IC_EXPAND PT_PORTAL_IC_HELP
Home icon Logout icon I used this to substitute my own image Worklist icon Left nav show menu icon Add to Favorites Icon
Record.WEBLIB_PORTAL
11
11/13/2002 reference, I list it here to give you more flexibility in rendering the lookand-feel of your PeopleSoft Portal.
12
11/13/2002
HTML Definitions
13
11/13/2002
README
As you scan through the HTML in these definitions, you will notice that it is 85-95% HTML, with a few bind values (%Bind(:#)) embedded throughout (this is dynamic content). This should be easy to understand if you have a development background or a background in server-side scripting like, ASP, JSP, Perl, etc. Regardless, the concept is fairly easy to grasp, even if you do not have experience with these other languages. The example below shows how dynamic content is embedded into static content. An ASP comparison would look like this: 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 that binds the object to the HTML definition. 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 definition). I do not recommend removing labels (the Alt text for example) unless you will always cater to an English-speaking user population (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 these (i.e., the search form), but keep in mind that you are making a change to functionality if you do thiswhich then has to be maintained by your company.
14
11/13/2002 Ill try and list the definitions in the order that makes sense (the list above was in alphabetical order, with a few exceptions)so Ill begin with definitions that have the biggest impact on your GUI. I will give the following information about each definition: Description Complete Example What record and function it is being called from Development Tip
PORTAL_UNI_HEADER_NEW
Description: this HTML definition is used for every header in the portal including transactions that bring in external PeopleSoft transactions (like an HRMS self-service transaction). This definition will undoubtedly have the biggest impact on your interface. We will modify the surrounding HTML significantly, based on your branding requirements. Complete Example: Appendix B-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 be minimized as much as possible. The easiest way of getting around making modifications to the calling program (WEBLI_PORTAL.PORTAL_HEADER.FieldFormulta.GetUniHeaderHTML and GetUniHeaderHTML _PIA) is to substitute your images for vanilla images that are not being used. In this example, we substituted PT_PORTAL_BEIGE_STRETCH with one of our own images. We then simply placed the Bind (#11) in the appropriate part of our HTML (see Appendix B-1). If this is not sufficient, then youll have to either make changes to the PeopleCode functions mentioned above, or use an image/object repository for images, JavaScript files, and a custom style sheet (as described in the FAQs). Lastly, a color-coded HTML editor will ensure the integrity of your HTML (unlike the PeopleCode Editor, Application Designer does not validate your HTML). If you have a choice between using a GUI-based editor vs. 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 to help clean up your HTML is called Tidy and can be found at: http://www.w3.org/People/Raggett/tidy/
15
11/13/2002 Related Image Definitions: For a complete of all the objects that are binded to this object (the Bind variables), see Appendix 1-A. On that note, heres a list of PT_PORTAL_IC_HOME PT_PORTAL_FAVORITES_ADD PT_PORTAL_IC_HELP PT_PORTAL_IC_LOGOUT
16
11/13/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. The main reason for this is contention. If you use the delivered class names and you integrate with another PeopleSoft system (like HRMS) it may bring over the HRMS style sheet if there is HRMS content on the Portal homepage. This means you may have a two style sheets on your homepage both with attributes about the same style class. You may see this with PSPAGE, for example, when you use the Company Directory pagelet. So you can use either inline style tags (included in the HTML tag), embedded style tags (include the styles at the top of the HTML document (like I did with PORTAL_2/3COL_LAYOUT), or referencing another style sheet within your repository (see the end of Chapter 2 for details). I do not recommended changing the delivered styles to much because the style sheet is delivered with almost every PeopleTools and Application update or upgrade (so its difficult to maintain if youve customized many of the style attributes in PTSTYLEDEF, as theyll need to be reapplied after the upgrade/update). In the example below, I have renamed the class names and I used an embedded style sheet in PORTAL_2COL_LAYOUT and PORTAL_3COL_LAYOUT (see Appendix B-2 for an example of an embedded style sheet in the Layout templates). The content in purple and blue is regular HTML, feel free to copy and modify it to meet your needs.
<!-- Begin Pagelet=%BIND(:5) --> <!-- PageletState=MAX --> <TABLE id="%BIND(:5)" CLASS="BYOG_PAGELET" WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"> <TR> <TD CLASS="BYOG_PAGELETHEADER" VALIGN=CENTER> %BIND(:1) %BIND(:2)</nobr> </TD> </TR> <TR> <TD CLASS="BYOG_PAGELETBODY" WIDTH="100%"> <Pagelet Name="%BIND(:2)"> <Source Pagelet="%BIND(:4)" href="%BIND(:3)" /> </Pagelet> </TD> </TR> </TABLE> <BR> <!-- End Pagelet=%BIND(:5) -->
17
11/13/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 definition to organize the pagelets they selected into the number of columns they selected (three, in this case). The example I am presenting here simply has an embedded style sheet for the pagelet style classes. Complete Example:
<!-- mprado **** **** **** embedded style sheet below ****
You can put this here or in PORTAL_UNI_HEADER_NEW **** **** **** **** **** **** **** **** **** **** **** --> <STYLE type="text/css"> TD.BYOG_PAGELETHEADER { font-family:arial;font-size: 12.5px; font-weight: bold; color: #FFFFFF; padding-LEFT: 3px; padding-TOP: 2px; padding-BOTTOM: 1px; background-color: #FD5305; } TD.BYOG_PAGELETBODY { border-top: 1px solid #0404FC; border-bottom: 1px solid #0404FC; border-left: none; borderright: 1px solid #0404FC; padding-LEFT: 3px; padding-TOP: 1px; padding-BOTTOM: 3px; padding-RIGHT: 3px; backgroundcolor: #FFFFA3; } </STYLE> <table width="100%"><tr><td width="23%" valign="top"> %BIND(:1) </td><td width="6"> </td><td width="43%" valign="top"> %BIND(:2) </td><td width="6"> </td><td width="33%" valign="top"> %BIND(:3) </td></tr> </table>
18
11/13/2002
Development Tip: In 8.4 we do not have access to the calling program, therefore we dont have the same amount of flexibility to pass additional information into this template (or to even use a different template as a showed in my 8.1x version of this Red Paper). The example I am presenting here is how to have different color pagelets (or different attributes in general border, no border, etc) based on the column its in. You could probably extend this functionality by using the ID in the <table> tag (if you dont know what Im talking about then dont worry). I do this by putting DIV tags within each column, essentially naming them. See the first FAQ for the code example.
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 definition to organize the pagelets they selected into the number of columns they selected (two, in this case). Complete Example: See PORTAL_HP_3COL_LAYOUT What record and function is it being called from:
19
11/13/2002
EPPLN_NAV_SHOW_MENU
Description: this is the HTML for top of left-navigation menu. Complete Example:
<DIV ID="SHOW" STYLE="position:absolute; left:0; top:%Bind(:4);z-index:1; visibility:hidden;"> <A href='Javascript:if (parent.frames["NAV"]) {parent.frames["NAV"].toggleNav();}'><IMG SRC="%Bind(:1)" border=0 Alt="%Bind(:6)"></A> </DIV> <DIV ID="NAVHDR" STYLE="position:absolute; left:0; top:%Bind(:4);z-index:1; visibility:%BIND(:8);"> <TABLE width="%BIND(:5)" border="0" cellspacing="0" cellpadding="0" height="20"> <TR><TD valign="bottom" bgcolor="#0404FC" height="20" WIDTH="100%">%Bind(:3)</TD> <TD valign="top" bgcolor="#0404FC" height="20" width="24"><IMG SRC="%BIND(:9)" border=0></TD> </TR></TABLE> </DIV><SCRIPT language="javascript" src="%Bind(:2)"></SCRIPT> </BODY></HTML>
Development Tip: Okay, it looks like they hardcoded the top background color in the nav. So youll either have to add a style class or change the color code (see my code change in RED). Thats the ONLY thing I changed in this definition. Now you may also want to change the background colors in the navigation. This has nothing to do with this object, but I figure this is a good place to mention it. Most of the style classes for the navigation can be found in PTSTYLEDEF (Style Sheet). There are only a few classes and this one of the few times that I modify the style sheet. Here are the style classes and a description: PTSTYLEDEF.PTNAVSELPARENTBK: see screen shot below PTSTYLEDEF.PTNAVSELCHILDBK: see screen shot below PTSTYLEDEF.PTNAVSELCHILDLINK: see screen shot below EPPSTYLEDEF_SUB.EPPADMINBAR: I think this is the description of the navigation menu. EPPSTYLEDEF_SUB.EPPPAGELET: see screen shot below EPPSTYLEDEF_SUB.EPPPAGELETHEADER: see screen shot below Related Images: PT_NAV_OPEN_FLDR: open folder bullet PT_NAV_CLOSED_FLDR: closed folder bullet EPPLN_BLUE_CORNER: upper right corner of navigation EPPLN_BLUE_CORNER_LR: lower right corner of navigation PS_HIDE_MENU: Hide menu image at upper left PT_SHOW_MENU: Show menu button which appears when menu is hidden
Copyright PeopleSoft Corporation 2002. All rights reserved.
20
11/13/2002
EPPLN_LN_MGR_TEMPLATE_END
Description: this is the HTML for bottom of left-navigation menu. Complete Example:
<TABLE WIDTH="%BIND(:2)" BORDER="0" CELLSPACING="0" CELLPADDING="0" HEIGHT="19"> <TR><TD BGCOLOR="#0404FC" HEIGHT="19" WIDTH="100%"> </TD> <TD BGCOLOR="#0404FC" VALIGN="bottom" HEIGHT="19" WIDTH="24"><IMG SRC="%BIND(:1)" BORDER="0" valign="absbottom"></TD> </TR></TABLE> </BODY></HTML>
Development Tip: See development tips for EO_PE_LFT_TEMP_START. Heres a screen shot of what mine looks like:
21
11/13/2002
22
11/13/2002
PORTAL_HP_PERSONALIZE_LINKS_TD
Description: HTML used for Personalize Content and Layout links. Complete Example: <!-- MPRADO - I replace the SMALL class with BYOG_HOMEPAGEACTIVE for the bgcolor attributes --> <TD class='BYOG_HOMEPAGEACTIVE' COLSPAN='%BIND(:7)' HEIGHT="20" VALIGN="middle" ALIGN="left"> <DIV ID=BYOG_PERSONALIZE_LOCATION><table cellpadding=0 cellspacing=0 width=199> <TR><TD><HR SIZE=2 WIDTH=20 COLOR=#FD5305></TD><TD align=center class=BYOG_PERSONALIZE> <!-- %BIND(:1) -->Personalize This Page >> <A onClick="%BIND(:6);return true;" HREF="%BIND(:2)">%BIND(:3)</A> | <A onClick="%BIND(:6);return true;" HREF="%BIND(:4)">%BIND(:5)</A> </TD></TR></TABLE></DIV></TD> What record and function is it being called from:
Development Tip: The example includes a DIV tag that I use to place the HTML in a specific location on the page (see screen shot below).
HTML.PORTAL_HP_PERSONALIZE_LINKS_TD
23
11/13/2002
PORTAL_HP_USER_TEMPLATE
Description: surrounding template used when building any homepage. Complete Example: None, I only added some class names to some of the table tags. 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.
PORTAL_LEFTNAV_EMP
Description: frame-based template with navigation on left, header at top, and target content in the main area. Complete Example: None, I didnt change anything. 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.
PORTAL_NAVIGATION
Description: non-framed template with navigation on left, header at top, and content in the main area. Complete Example: None, I didnt change anything. 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.
24
11/13/2002
PR_PORTAL_NAVIGATION_TEMPLAA
Description: this is the default non-framed template for the portal (without left navigation). Complete Example: None, I didnt change anything. 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.
25
11/13/2002
26
11/13/2002
Frequently Asked Questions FAQ: HOW CAN I HAVE DIFFERENT COLOR PAGELETS FOR DIFFERENT COLUMNS ON MY HOMEPAGE?
In 8.4 we do not have access to the calling program for PORTAL_HP_3COL_LAYOUT and PORTAL_HP_2COL_LAYOUT, therefore we dont have the same amount of flexibility to pass additional information into this template (or to even use a different template as a showed in my 8.1x version of this Red Paper). The example I am presenting here is how to have different color pagelets (or different attributes in general border, no border, etc) based on the column its in. You could probably extend this functionality to have attributes for specific pagelets, like the Enterprise Menu, by using the ID in the <table> tag (if you dont know what Im talking about then dont worry). I do this by putting DIV tags within each column, essentially naming them. Heres the HTML example.
<!-- mprado **** **** **** embedded style sheet below ****
You can put this here or in PORTAL_HP_USER_TEMPLATE **** **** **** **** **** **** **** **** **** **** **** --> <!-- mprado **** **** **** **** **** **** **** **** **** **** **** **** class attributes for BYOG_PAGELETHEADER **** **** **** **** **** **** **** **** **** **** **** --> <STYLE type="text/css"> .PSCOLUMN1 TD.BYOG_PAGELETHEADER { font-family:arial;font-size: 12.5px; font-weight: bold; color: #FFFFFF; padding-LEFT: 3px; padding-TOP: 2px; padding-BOTTOM: 1px; background-color: #0404FC; } .PSCOLUMN2 TD.BYOG_PAGELETHEADER { font-family:arial;font-size: 12.5px; font-weight: bold; color: #FFFFFF; padding-LEFT: 3px; padding-TOP: 2px; padding-BOTTOM: 1px; background-color: #FCBC03; } .PSCOLUMN3 TD.BYOG_PAGELETHEADER { font-family:arial;font-size: 12.5px; font-weight: bold; color: #FFFFFF; padding-LEFT: 3px; padding-TOP: 2px; padding-BOTTOM: 1px; background-color: #FD5305; }
27
11/13/2002
</STYLE> <![continued on next page]
mprado **** **** **** **** **** **** **** **** **** **** **** class attributes for BYOG_PAGELETBODY **** **** **** **** **** **** **** **** **** **** **** --> <STYLE type="text/css"> .PSCOLUMN1 TD.BYOG_PAGELETBODY { border-top: 1px solid #0404FC; border-bottom: 1px solid #0404FC; border-left: none; border-right: 1px solid #0404FC; padding-LEFT: 3px; padding-TOP: 1px; padding-BOTTOM: 3px; padding-RIGHT: 3px; backgroundcolor: #FFFFA3; } .PSCOLUMN2 TD.BYOG_PAGELETBODY { border-top: 1px solid #FCBC03; border-bottom: 1px solid #FCBC03; border-left: 1px solid #FCBC03; border-right: 1px solid #FCBC03; padding-LEFT: 3px; padding-TOP: 1px; padding-BOTTOM: 3px; padding-RIGHT: 3px; backgroundcolor: #FFFFFF; } .PSCOLUMN3 TD.BYOG_PAGELETBODY { border-top: 1px solid #FD5305; border-bottom: 1px solid #FD5305; border-left: 1px solid #FD5305; border-right: 1px solid #FD5305; padding-LEFT: 3px; padding-TOP: 1px; padding-BOTTOM: 3px; padding-RIGHT: 3px; backgroundcolor: #FFFFFF; } </STYLE> <table width="100%" cellpadding=0 cellspacing=0> <tr> <td width="23%" valign="top"> <br><br> <!-- You can place pagelets or content above or below these div tag --> <DIV CLASS="PSCOLUMN1"> %BIND(:1) </DIV>
28
11/13/2002
</td> <td width="42%" valign="top">
29
11/13/2002
FAQ: CAN I STORE AND REFERENCE IMAGES, STYLE SHEETS, AND JAVASCRIPT OUTSIDE OF PEOPLESOFT?
Yes, you have three choices for modifying and creating images, style sheets, and JavaScript: You can either modify the existing images and style sheets You can create new images and style sheets and update the PeopleCode requests You can leverage a centralized repository of images, style sheets and JavaScript files (which is what we did in the previous version of this document).
Note: There are pros and cons to all these options, so you will have to weigh your options based on the development environment your organization currently maintains. I will say that with the release of 8.4, it is now more palatable to maintain all your object definitions within PeopleSoft. For those organizations that have a centralized, corporate repository for maintaining web related objects like images, style sheets and JavaScripts you may reference these objects within any of PeopleSofts HTML definitions. For example: (i.e., within PORTAL_UNI_HEADER_NEW (below) or PORTAL_HP_COMPONENT, etc) Image Example: <a proxied=false href=%Bind(:16)> <IMG border=0 SRC=http://library.byog.com/common/images/BYOG_home.gif ></A>
JavaScript Example: <SCRIPT LANGUAGE="javascript" SRC=" http://library.byog.com/common/javascript/mouseover.js"></SCRIPT> NOTE: You can also use relative paths for all of these links, for example: /common/css/mybyog.css. This is assuming that the web server referenced is the same as the PeopleSoft Portals, or that an alias has been created.
Copyright PeopleSoft Corporation 2002. All rights reserved.
30
11/13/2002
31
11/13/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 WEBLOGIC PAGES?
Just modify the surrounding HTML. Do not change the values of forms or remove any dynamic bind values (i.e., server-side tags (the ones that have <% blah-blah %> these brackets). The files can be found at: \\bea\wlserver6.1\config\peoplesoft\applications\PORTAL\WEB-INF\psftdocs\ps
Heres the list of html files that can be modified to meet your branding requirements: signin.html expire.html cookiesrequired.html exception.html sslrequired.html
32
11/13/2002
2. &Response.GetImageURL(Image.PT_PORTAL_BLUE_CORNER), 3. &Response.GetImageURL(Image.PT_PORTAL_IC_HOME), 4. &Response.GetImageURL(Image.PT_PORTAL_MENU), 5. &FavoritesHTML, 6. &AddToFavoritesHTML, 7. &HelpHTML, 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. &AddToFavFormHTML, 19. &logoutURL, 20. MsgGetText(95, 400, "Return Home"), 21. MsgGetText(95, 401, "Home"), 22. MsgGetText(95, 402, "Return to Menu"), 23. MsgGetText(95, 403, "Menu"), 24. MsgGetText(95, 408, "Sign out"), 25. &Greeting,
Copyright PeopleSoft Corporation 2002. All rights reserved.
33
11/13/2002
26. &srchURL, 27. &Response.GetImageURL(Image.PT_PORTAL_GO), 28. "", 29. &BreadHTML, 30. &SearchLabel, 31. &HelpJSHTML, 32. "", 33. &strTitle, 34. "", 35. &WLHTML, 36. &domainScript, 37. &Response.GetJavaScriptURL(HTML.PT_SAVEWARNINGSCRIPT), 38. &GoSaveWarnHTML, 39. &SaveWarnCrossDomainScript, 40. &Response.GetImageURL(Image.PT_HOME_TAB_ACTIVE_CENTER), 41. &Response.GetImageURL(Image.PT_HOME_TAB_INACTIVE_CENTER), 42. &Response.GetImageURL(Image.PT_HOME_TAB_LINE), 43. %Request.ExpireMeta);
README: You can add your own from %BIND(:44) and on. If you really must modify this PeopleCode, then I recommend adding about 10 blank bind values before starting yours, which will leave room for any additional parameters from PeopleSoft future releases.
34
11/13/2002
35
11/13/2002
<!-- Empty Bind "" --> %bind(:32) <!-- %Request.ExpireMeta --> %bind(:43) <LINK REL="stylesheet" HREF="%Bind(:15)" TYPE="text/css"> </HEAD> <BODY MARGINWIDTH="0" MARGINHEIGHT="0" TOPMARGIN="0" LEFTMARGIN="0" BOTTOMMARGIN="0" RIGHTMARGIN="0" class='PSPAGE'> <form name="form1" method="post" action=%bind(:26)> <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=100%> <TR> <TD align=left valign=top NOWRAP=true ROWSPAN=3><a proxied=false %bind(:16)><img src="%BIND(:1)" border=0 alt="%bind(:20)"></A></TD> <TD ALIGN=RIGHT VALIGN=TOP NOWRAP=true><TABLE CELLPADDING=0 CELLSPACING=0 > <TR> <TD align=RIGHT valign=TOP NOWRAP=true><!-- PT_PORTAL_SHADOW_GRAD --><img src="%BIND(:13)"><!*** BEGIN HOME LINK *** --><a proxied=false %bind(:16)><!-*** HOME IMAGE *** (PT_PORTAL_IC_HOME) --><img src="%BIND(:3)" alt="%bind(:20)" border="0" align="absmiddle"></a><!-*** END HOME LINK **** --><!-*** WORKLIST LINK (HTML.PORTAL_HEADER_WL) **** -->%BIND(:35)<!-*** FAVORITES LINK (HTML.PORTAL_HEADER_FAVORITES) **** -->%BIND(:5)<!-*** ADD TO FAVORITES LINK (HTML.PORTAL_HEADER_ADDTOFAVORITES) *** -->%BIND(:6)<!-*** HELP LINK (HTML.PORTAL_HEADER_HELP) **** -->%BIND(:7)<!-*** BEGIN SIGNOUT LINK (&logoutURL, etc ) **** --><!-*** LOGOUT LINK *** --><nobr><a %bind(:19)><!-*** LOGOUT IMAGE (PT_PORTAL_IC_LOGOUT) --><img src="%BIND(:8)" alt="%bind(:24)" border="0" Align="absmiddle"></a></TD><!-*** END LOGOUT LINK *** --> </TR></TABLE><!-*** END TOP MENU BAR --> </TR> <TR> <TD ALIGN=RIGHT class=BYOG_SEARCH> <!-- search -->%BIND(:30) <!-- search input box --> <input type="text" name="SEARCH_TEXT" size=15 CLASS=BYOG_SEARCHBOX> <!-- go image HTML (html.PORTAL_GOBTN_SAVE, image.PT_PORTAL_GO)--> %BIND(:38) </TD></TR> <TR><TD ALIGN=center CLASS=greeting> <!-- greeting -->%bind(:25) </TD> </TR> <TR> <TD ALIGN=left COLSPAN=3><img src=%bind(:11) width=100% height=1><BR><BR></TD></TR> </TABLE> <!-- Add to Favorites Form HTML (&AddToFavFormHTML) --> %BIND(:18) <!-- ************ BELOW IS THE LINKS IN THE MENU BAR ************* --> <!-- **************************************************************** --> <!-- blank variable? ("") --> %BIND(:28) </form> <!-- blank variable? ("") --> %BIND(:34) <!-- breadcrumb HTML (&BreadHTML) --> %bind(:29) </BODY> </HTML>
36
11/13/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 PeopleSoft may have reviewed each item 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.
37
11/13/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.
38
11/13/2002
Reviewers
The following people reviewed this Red Paper: Andrew Bediz PeopleSoft Consulting Edgar Vasquez PeopleSoft Consulting
Revision History
8.1x version: 1. September 24, 2001: Created document. 2. October 10, 2001: Updated to Red Paper Format 3. November 1, 2001: Revised based on reviewer comments 8.4 version: 1. August 22, 2002: Created document.
2. October, 2003: Feedback from the field 3. November 5, 2002: Revised based on reviewer comments
39