Beruflich Dokumente
Kultur Dokumente
This document gives an insight in the most commonly used ingredients for
Related Content and WorkCenters.
1. Related Content
(Related content part based on a document by Larry Roux, Syracuse University)
Related Content is a set of new functionality in PeopleTools that allows
information related to the page you are on to be displayed to the end user.
Related Content appears in a new frame at the bottom of the page or component.
It can be defaulted to minimized, or maximized.
Note the Related Information bar at the bottom of the page and the Related
Information link that now appears at the top of the page.
Several types of Related Content may be attached to pages/components. Each
piece of Related Content appears as a tab in the related content frame.
You may Expand, Refresh, Close, Minimize the Related Content, Navigate
between Related Content tabs, or even open the related content in a new
window. All these options are set when attaching the related content to its
context.
The content that appears in Related Content may be any of several types:
Application Classes
Related PS Pages
External Pages
iScript Pages
PS Query Results
PS OBIEE charts
Embeddable pagelets
Collaborative apps (Workspaces, related discussions, related links,
related tags)
Related Content does not require customization to the original page, it is
attached to the component or page via the Related Content module (though some
customization may be necessary for the related items, such as IScripts, Pages,
etc).
Enter a Service Name. This is used as the tab name on Related Content
Select a URL type of Non-PeopleSoft URL
Enter the external URL
Add any parameters that need to be passed along with the URL. These are
appended to the URL in standard fashion (e.g.
http://www.linkedin.com/pub/dir/?first=testvalue1&last=testvalue2&se
arch=testvalue3)
Select if you want the user to be able to see the Refresh and New Window
icons
Select the Security type (see security section)
Save
Follow the instructions to Attach Related Content to a Content Reference
Pitfalls:
1. Always put http:// (or https://) first because otherwise PS thinks you are
referencing an internal URL.
2. New security headers cause so Internet pages (such as Google) to no
longer display in a frame. The only solution is to define them to open in a
new window and not in a frame as related content.
Enter a Service Name. This is used as the tab name on Related Content
Select a URL type of PeopleSoft Script
Enter the Node Name (generally LOCAL_NODE), but can be other node
(see relateddiscussions)
Enter the name of the Record, Field, PCode type and the IScript name
Add any parameters that need to be passed along with the iScript
Select if you want the user to be able to see the Refresh and New Window
icons
Select the Security type
Save
Follow the instructions to Attach Related Content to a Content Reference
Enter a Service Name. This is used as the tab name on Related Content
Select a URL type of PeopleSoft Component URL
Enter the Node Name (generally LOCAL_NODE), but can be other node
(like portal).
Enter the Menu name, Market and Component name
Add any parameters that need to be passed to the page
Select if you want the user to be able to see the Refresh and New Window
icons
Select the Security type
Save
Follow the instructions to Attach Related Content to a Content Reference
Pitfalls:
1. Obey the order of the search keys!
2. Name your parameters exactly after the search keys
Enter a Service Name. This is used as the tab name on Related Content
Select a URL type of PeopleSoft Query
Enter the Node Name (generally LOCAL_NODE)
Enter the name of the Query
Select populate parameters to populate the parameter list from the
prompts in the Query
Select if you want the user to be able to see the Refresh and New Window
icons
Select the Security type
Save
Follow the instructions to Attach Related Content to a Content Reference
N.B. If needed you can create a drilldown query to combine the query results
with a drilldown to either another query, other component, external URL or
attachment.
Use the component interface search record data type when the basic search
record does not provide the required functionality; for example, when security
or PeopleCode considerations need to be taken into account.
Search record data source pagelets are compatible with the search list display
format.
I. URL
URL data type retrieves data from external sources like the Internet. This
includes sources such as RSS newsfeeds. Use to display appropriately sized
dynamic HTML pages on Pagelet Wizard pagelets. URL data-source pagelets are
compatible with the custom and passthru display formats.
Create the pagelet using the Pagelet Wizard.
On step 6, be sure to select the Embeddable Pagelet option.
Navigate to PeopleTools > Portal > Related Content Service > Define Related
Content Service
Enter a Service Name. This is used as the tab name on Related Content
Select a URL type of PeopleSoft Embeddable Pagelet
Enter the Node Name (generally LOCAL_NODE)
Enter the name of the pagelet
Select populate parameters to populate the parameter list (if any)
Select if you want the user to be able to see the Refresh and New Window
icons
Select the Security type
Save
Click on the hyperlink to view the target CREF to which the related
content will be attached.
Select to attach the related content to the Component Level.
Select the service type, this can either be a service ID (as created based on
one of the different related content sources) or a content reference to a
portal CREF.
In case you have chosen a service ID, enter your new Related Content in
the Service ID field.
In case you have chosen a content reference, choose the reference from
the portal registry.
If needed, change the label of the related content as it is shown in the
related content tab and related information dropdown.
Choose the Service target
o New Window, related content will only open in a new window so
will not be shown in the related content at the bottom of the page
only in the related information dropdown at the top of the page.
o Related Content, related content will be shown at the bottom of the
page and the related information dropdown at the top of the page.
o Replace Window, related content will replace the complete
window (including navigation) like a transfer component does.
The content is only shown in the related information dropdown at
the top of the page.
o Target Content, related content will replace the target area of the
page, leaving the page context (related content and navigation)
intact.
Choose the configure link to configure your related content entry.
Configure
Read the help text (which was written when the related content service
was created) to understand what to do..
The service parameter might be set as required. This means you always
need to map the parameter. If needed you can still indicate that a value
for the parameter is not required.
Enter mapping data for all the service parameters that were defined
earlier. At component level there are three options for mapping:
o Key field, select a key from the component key list. These are the
level 0 keys.
Check the refresh service on change checkbox to have the service data
refresh automatically as the key values on the transaction page changes.
Click on the hyperlink to view the target CREF to which the related
content will be attached.
Select to which page in the component the related content should be
attached.
Select the service type, this can either be a service ID (as created based on
one of the different related content sources) or a content reference to a
portal CREF.
In case you have chosen a service ID, enter your new Related Content in
the Service ID field.
In case you have chosen a content reference, choose the reference from
the portal registry.
If needed, change the label of the related content as it is shown in the
related content tab and related information dropdown.
Choose the Service target
o New Window, related content will only open in a new window so
will not be shown in the related content at the bottom of the page
only in the related information dropdown at the top of the page.
o Related Content, related content will be shown at the bottom of the
page and the related information dropdown at the top of the page.
o Replace Window, related content will replace the complete
window (including navigation) like a transfer component does.
The content is only shown in the related information dropdown at
the top of the page.
o Target Content, related content will replace the target area of the
page, leaving the page context (related content and navigation)
intact.
Choose the configure link to configure your related content entry.
Configure:
Read the help text (which was written when the related content service
was created) to understand what to do..
The service parameter might be set as required. This means you always
need to map the parameter. If needed you can still indicate that a value
for the parameter is not required.
Enter mapping data for all the service parameters that were defined
earlier. At component level there are three options for mapping:
o Key field, select a key from the component key list. These are the
level 0 keys.
o Page field, this option only appears for page related content
services:
Note Ernst: I have found that connecting to hidden fields did not
work properly. In case it does not, make the field displayonly and
give it the Style: PAGROUPBOXLABELINVISIBLE.
This will make the field invisible to the user but the application can
still reference the field.
Note Ernst 2: there is a known issue with refreshing related
content when it is related to page fields on level > =1. It does not
work in all circumstances.There is a call logged for that (Nov.
2011).
o System Variable, select a variable from this list of system variables.
Check the refresh service on change checkbox to have the service data
refresh automatically as the key values on the transaction page changes.
Note. If the page or the page field to which a service is mapped is in
deferred processing mode, a trip to the server is required to refresh related
content.
By setting the sequence numbers you set the order in which the menu
options appear in the related content menu.
Choose which service is going to be the default service. This is the tab that
will be initially selected when the related content frame expands.
By setting the sequence numbers you set the order in which the tabs
appear in the related content frame.
The related Content frame defaults to a minimized state. If you need the
related content frame to default to open, select the Open in expanded
view checkbox.
By setting the sequence numbers you set the order in which the related
content references appear in the field menu.
2. WorkCenters
WorkCenter pages are a type of configurable PeopleSoft page that enable you to
offer access to related transactions, analytics data, query results, and other
PeopleSoft resources from one central location. You can organize the elements
on WorkCenter pages based on processes, procedures, roles, or other business
requirements that are specific to your organization. When carefully designed,
WorkCenter pages bring together the PeopleSoft elements that your users access
most when performing the tasks that comprise their primary responsibilities. As
a result, WorkCenter pages promote productivity by minimizing the time users
spend navigating between tasks.
WorkCenter pages can bring these different elements together because
WorkCenter pages use a portal template that provides flexibility in the way that
you access components and pages and also in the way the application displays
these elements. The WorkCenter portal template differs from the standard portal
template in two primary ways:
The WorkCenter portal template partitions the browser window into an
adjustable pagelet area and target content area.
The pagelet area of the WorkCenter portal template is designed to pass data to
and interact with the target content area.
When users access WorkCenter pages, they are presented with pagelets, which
contain links to components, analytics, query results, and other PeopleSoft
resources. The WorkCenter pagelet area supports only template pagelets
because template pagelets can extract and leverage values that are necessary to
complete the transaction. When users click a link, it triggers the appropriate
transaction, starts the search process, and passes values from the template
pagelet area so that the application can display the appropriate content in the
target content area or in a new browser window.
2.1
Layout of a WorkCenter
Target
content
area
Related
Content
area
2.2
Users can remove pagelets from the WorkCenter unless they are set as
required in the WorkCenter setup.
Users can set the pagelets to appear initially minimized.
Users can change the order in which pagelet appear.
WorkCenter homepage
Pagelet area
The pagelet area consists of pagelets that can be used to inform the user or
enable him to perform certain tasks.
To build pagelets go to PeopleTools > Portal > Pagelet Wizard
The following explanation on pagelets to use in the WorkCenter is taken from
PeopleBooks.
You can create iScript and component based template pagelets for use with
WorkCenter pages. You use Pagelet Wizard to create iScript based pagelets.
Pagelet Wizard pagelets can be based on many possible data sources, such as
navigation collections, search records, HTML, and queries. You use Application
Designer to create component based pagelets which are based on PeopleTools
definitions. This section presents overviews of these types of template pagelets:
Navigation collection
PeopleSoft Query
Component based template pagelets.
See Also
Overview of Pagelet Wizard Data Sources
Developing Pagelets Based on iScripts
Understanding Navigation Collection Based Template Pagelets
Navigation collections are portal objects that you use to create your own
groupings of existing folders and content references, which you can then deploy
or publish to different users or groups of users. Navigation collections enable
you to create links to content that you already have in the portal registry and to
organize the links in ways that specifically addresses your users' business needs.
Navigation collection-based template pagelets appear in the pagelet area as
folders and links. When users click a folder, the folder contents appear in the
pagelet. When users click a link, the resource opens in the target content area by
default. Because navigation collections are designed as alternate menu
structures, you navigate through folders to find links, which generally reference
components. When users click the link, the component search page appears in
the target content area unless the search record is configured so that the search
page is bypassed. In such cases, the component requires no search parameters
and immediately opens in the target content area.
In this example, you see a navigation collection-based template pagelet in the
pagelet area of the WorkCenter page.
If needed you can override the style sheet for the navigation collection
and set a max to the number of child links and define of images for the
collection.
Example link:
When you are done with your navigation collection you save it and can then use
it as data source in the pagelet wizard.
Specific details for creating and publishing navigation collections and using
Pagelet Wizard to publish them as template pagelets are located in this
PeopleBook.
See Creating or Editing a Navigation Collection, Collection Properties, Selecting a
Navigation Collection Data Source, Step 6: Specifying Pagelet Publication
Options.
Understanding PeopleSoft Query Based Template Pagelets
PeopleSoft Query is a reporting tool that enables you to extract your data by
using visual representations of your PeopleSoft database, without writing SQL
statements. The queries that you create can be as simple or as complex as
necessary. You can design queries that return basic lists of static text. You can
also use more advanced features, such as drilling URLs. By configuring drilling
URLs, and associating them with query fields, the values that the query retrieves
appear as links, which you click to access both internal and external content.
Query based template pagelets can take advantage of queries, whether they are
simple or complex. You might base a pagelet template on a query that retrieves
informational text to display to the user. However, query-based template
pagelets also have access to the more advanced query metadata, such as the
drilling URLs. If you link fields in query based template pagelets to these drilling
URLs, the values that the template pagelet retrieves appear as links as they do in
PeopleSoft Query. Unlike PeopleSoft Query however, you can configure the links
to open the resource in the target content area of the WorkCenter page.
Because you can configure the links so that the associated resources open in the
WorkCenter page target content area, query-based template pagelets that are
configured to display the retrieved values as active links are ideal for using with
WorkCenter pages.
Publishing Queries as Template Pagelets
You create and maintain queries using the Query Manager component.
You can use Pagelet Wizard to create template pagelets based on any query. At
step two of the template pagelet creation process in Pagelet Wizard, you must
specify your query as the data source. At step five, you use the link icon to access
the Link Details page where you can configure fields to use the drilling URLs and
appear as links. At this step, you also specify whether link opens in the target
content area or a new window. Continue through the process to step six, where
you specify Template Pagelet as a publishing option. When you save the pagelet,
Pagelet Wizard creates the template pagelet and you can then assign it to the
pagelet area of a WorkCenter page.
Click on the chain next to the field which you want to use to link the drill URL to:
See Selecting a PeopleSoft Query Data Source, Specifying Data Link Details, Step
6: Specifying Pagelet Publication Options.
2.4 Define Page Layout Templates
If needed you can choose to create extra Page Layout Templates.
Go to PeopleTools > Portal > WorkCenter > Define Page Layout Templates
Appendix
Sample iScript functions
/* ********************************************************************* */
/* ISCRIPT to show user info and Login history
*/
/* Created as a sample for Related Content functionality
*/
/* SYR LROUX 10/21/2010
*/
/* ********************************************************************* */
Function IScript_ShowUserInfo
Local string &HTML, &OPRID, &datetime, &status, &type, &IP, &name;
Local SQL &SQL;
/* get the oprid from the header */
&OPRID = %Request.GetParameter("oprid");
/* get the user info */
SQLExec("Select OPRDEFNDESC from PSOPRDEFN where OPRID = :1", &OPRID, &name);
If None(&name) Then
&name = "no name indicated";
End-If;
&HTML = "<HTML><HEAD><link rel='stylesheet' type='text/css'
href='/cs/PTL9DEV/cache/PSSTYLEREQ_1.css' /><link rel='stylesheet' type='text/css'
href='/cs/PTL9DEV/cache/EPPSTYLEDEF_SWAN_1.css' /></HEAD><BODY>";
/* show system variables */
&HTML = &HTML | "<table>";
&HTML = &HTML | "<tr class='PSLEVEL1GRIDEVENROW'><td><b>User:</b></td><td>" | &OPRID |
"</td><td>(" | &name | ")</td></tr>";
&HTML = &HTML | "<tr class='PSLEVEL1GRIDEVENROW'><td><b>DB Name:</b></td><td>" |
%DbName | "</td></tr>";
&HTML = &HTML | "</table>";
/* show logins */
&SQL = CreateSQL("SELECT To_Char(LOGINDTTM,'DD-MON-YYYY
HH24:MI:SS'),SYR_LOGIN_STATUS,SYR_LOGIN_TYPE,LOGIPADDRESS FROM
PS_SYR_ACCESS_LOG WHERE OPRID = :1 ORDER BY LOGINDTTM DESC", &OPRID);
&HTML = &HTML | "<br>Logins: (click on the New Window icon to see the entire list)<br>";
&HTML = &HTML | "<table border='1'>";
&HTML = &HTML | "<tr><td>Date/Time</td><td>Status</td><td>Type</td><td>IP Address</td></tr>";
&cl = "PSLEVEL1GRIDEVENROW";
/* fetch the rows */
While &SQL.Fetch(&datetime, &status, &type, &IP)
If &status = "S" Then
&status = "Success";
Else
&status = "Failure";
End-If;
If &type = "L" Then
&type = "LDAP";
Else
&type = "PSOPRDEFN";
End-If;
&IPADDR = "<A HREF = 'http://whatismyipaddress.com/ip/" | &IP | "' target='_blank'
class='PSHYPERLINK'>" | &IP | "</A>";
&HTML = &HTML | "<tr class='" | &cl | "'><td>" | &datetime | "</td><td>" | &status | "</td><td>" |
&type | "</td><td>" | &IPADDR | "</td></tr>";
If &cl = "PSLEVEL1GRIDEVENROW" Then
&cl = "PSLEVEL1GRIDODDROW";
Else
&cl = "PSLEVEL1GRIDEVENROW";
End-If;
End-While;
&HTML = &HTML | "</table>";
&HTML = &HTML | "</body></HTML>";
%Response.Write(&HTML);
End-Function;
/* ********************************************************************* */
/* ISCRIPT to show user info and navigation granted by Roles/Permissions */
/* Created as a sample for Related Content functionality
*/
/* SYR LROUX 10/21/2010
*/
/* ********************************************************************* */
Function IScript_ShowUserAccess
Local string &HTML, &OPRID, &p1, &p2, &p3, &p4, &p5, &class, &role, &nav, &name;
Local SQL &SQL;
/* get the oprid from the header */
&OPRID = %Request.GetParameter("oprid");
/* get the user info */
SQLExec("Select OPRDEFNDESC from PSOPRDEFN where OPRID = :1", &OPRID, &name);
If None(&name) Then
&name = "no name indicated";
End-If;
&HTML = "<HTML><HEAD><link rel='stylesheet' type='text/css'
href='/cs/PTL9DEV/cache/PSSTYLEREQ_1.css' /><link rel='stylesheet' type='text/css'
href='/cs/PTL9DEV/cache/EPPSTYLEDEF_SWAN_1.css' /></HEAD><BODY>";
/* show system variables */
&HTML = &HTML | "<table>";
&HTML = &HTML | "<tr class='PSLEVEL1GRIDEVENROW'><td><b>User:</b></td><td>" | &OPRID |
"</td><td>(" | &name | ")</td></tr>";
&HTML = &HTML | "<tr class='PSLEVEL1GRIDEVENROW'><td><b>DB Name:</b></td><td>" |
%DbName | "</td></tr>";
&HTML = &HTML | "</table>";
/* show logins */
&SQL = CreateSQL("SELECT DISTINCT E.PORTAL_LABEL, D.PORTAL_LABEL,
C.PORTAL_LABEL, B.PORTAL_LABEL, A.PORTAL_LABEL, F.CLASSID, G.ROLENAME FROM
PSPRSMDEFN A, PSPRSMDEFN B, PSPRSMDEFN C, PSPRSMDEFN D, PSPRSMDEFN E,
PSAUTHITEM F, PSROLECLASS G, PSROLEUSER H WHERE A.PORTAL_NAME = 'EMPLOYEE'
AND A.PORTAL_REFTYPE = 'C' AND A.PORTAL_NAME = B.PORTAL_NAME(+) AND
A.PORTAL_PRNTOBJNAME = B.PORTAL_OBJNAME(+) AND B.PORTAL_NAME =
C.PORTAL_NAME(+) AND B.PORTAL_PRNTOBJNAME = C.PORTAL_OBJNAME(+) AND
C.PORTAL_NAME = D.PORTAL_NAME(+) AND C.PORTAL_PRNTOBJNAME =
D.PORTAL_OBJNAME(+) AND D.PORTAL_NAME = E.PORTAL_NAME(+) AND
D.PORTAL_PRNTOBJNAME = E.PORTAL_OBJNAME(+) AND A.portal_uri_seg1 = F.MENUNAME
AND F.CLASSID = G.CLASSID AND H.ROLENAME = G.ROLENAME AND H.ROLEUSER = :1
ORDER BY G.ROLENAME, F.CLASSID,E.PORTAL_LABEL, D.PORTAL_LABEL, C.PORTAL_LABEL,
B.PORTAL_LABEL, A.PORTAL_LABEL", &OPRID);
&HTML = &HTML | "<br>Navigation Access (click on the New Window icon to see the entire
list):<br>";
&HTML = &HTML | "<table border='1'>";
&HTML = &HTML | "<tr><td>Role</td><td>Class</td><td>Navigation</td></tr>";
&cl = "PSLEVEL1GRIDEVENROW";
/* fetch the rows */
While &SQL.Fetch(&p1, &p2, &p3, &p4, &p5, &class, &role)
If All(&p1) Then
&nav = &p1 | " > " | &p2 | " > " | &p3 | " > " | &p4 | " > " | &p5;
Else
If All(&p2) Then
&nav = &p2 | " > " | &p3 | " > " | &p4 | " > " | &p5;
Else
If All(&p3) Then
&nav = &p3 | " > " | &p4 | " > " | &p5;
Else
&nav = &p4 | " > " | &p5;
End-If;
End-If;
End-If;
&roleURL = "<A HREF='" | GenerateComponentContentRelURL(%Portal, "EMPL",
MenuName.MAINTAIN_SECURITY, "GBL", Component.ROLEMAINT, Page.ROLEDEFN, "U") |
"&ROLENAME=" | &role | "' target='_blank' class='PSHYPERLINK'>" | &role | "</A>";
&permlistURL = "<A HREF='" | GenerateComponentContentRelURL(%Portal, "EMPL",
MenuName.MAINTAIN_SECURITY, "GBL", Component.ACCESS_CNTRL_LISTX,
Page.ACL_GENERAL, "U") | "&CLASSID=" | &class | "' target='_blank' class='PSHYPERLINK'>" |
&class | "</A>";
&HTML = &HTML | "<tr class='" | &cl | "'><td>" | &roleURL | "</td><td>" | &permlistURL | "</td><td>"
| &nav | "</td></tr>";
If &cl = "PSLEVEL1GRIDEVENROW" Then
&cl = "PSLEVEL1GRIDODDROW";
Else
&cl = "PSLEVEL1GRIDEVENROW";
End-If;
End-While;
&HTML = &HTML | "</table>";
&HTML = &HTML | "</body></HTML>";
%Response.Write(&HTML);
End-Function;
Tips: