Вы находитесь на странице: 1из 47

Related Content and WorkCenters

Workshop DEUG conferentie 201


09 november 2011, Diemen
Presentatie: Ernst La Haye

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.

The Related Information bar expanded

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).

1.1 General comments on related content


1.1.1 Help information
Always write help text for your related content definitions. This help text will be
available when adding the related content to context pages. It helps in
understanding any parameters that need to be set, explains what the related
content definition is about, etc.

1.1.2 Security (text as taken from peoplebooks)


There are 4 security options available for related context definitions:
a. Public Access
Select to use only the security that applies to public definitions.
This security option is intended for services such as generic help policy or
various types of internet searches in which a keyword from a PeopleSoft
application page field is accepted.
Components that use PeopleSoft application security that you grant by using
permission lists are not public. If you select this option, users must have access
to any PeopleSoft component associated with the service.
b. Related Content Security
Select to have the related content service, for example a discussion forum, use its
own security, which it implements by using its own security model.
c. Transaction Security
Select to have the related content service, for example a discussion forum, use
the security of the PeopleSoft transaction, which it implements real-time.
This security option indicates that application security such as basic PeopleTools
security, row level security, or special security logic such as the HCM Direct
Reports API is used to determine access to the related content.

The application class that implements row level security provided by


PeopleTools can be used with the Job Data component in HCM. For example, the
HCM subject matter expert or related content administrator should pick the
SEC_ROWLEVEL application class for the Discussion Service, should she want the
Discussion Service to implement the row level security of Job Data component.
Note Ernst: for Campus Solutions only one standard application class is
delivered which enforces the normal permission list security. Any other checks
need to be programmed by the institution itself.
d. Private Data
Select to have the provider prevent the related content that is created by means
of this service from being available when another user searches the content in
the provider database. For example, if a discussion is created that contains
sensitive information such as personal medical records, the subject matter
expert can check this check box to block the content of the discussion from any
search that is initiated from outside of all instances of this transaction.
Selecting this option ensures privacy of the related content and limits the access
to the related content only in the related content model. Selecting this option
essentially makes the related content private to the transaction data and the only
way to access the related content is through the transaction instance. This option
allows sensitive related content to be shown only in the related content frame in
the context of the transaction and eliminates the overhead of security
synchronization between the related content consumer and provider systems.
Using this option limits the ways in which information can be reused. To enable
this option, the service provider should invoke the PTCS_SEARCHENABLED web
service to retrieve the service configuration settings in which the transactions
are mapped to the service.
Note. To ensure that the security of the data is not breached, the Private Data
check box data does not appear in the HTTP request from the application pages.
You can choose to have more then one security option available for the content
service.
1.1.3 Testing related content service / show formed URL
When you create a related content service you can easily check if it will actually
perform. By clicking the test related content service you get the opportunity to
fill in the parameters you set and test your service. Clicking the Show formed
URL link will show you how your related content service URL will look at
execution time.

1.2 URL types for related content


1.2.1 Creating External URL Related Content
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 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.

1.2.2 Creating PS IScript Related Content


Create a new derived record named WEBLIB_xxxxxxx
Add a field or set of fields to the record (generally ISCRIPT1, ISCRIPT2, etc)
Add FieldFormula PeopleCode containing the iScript Function
Save
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 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

1.2.3 Creating PS Page Related Content


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 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

1.2.4 Creating PS Query Related Content


Create a new PS Query and save.
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 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.

1.2.5 Creating PS Embeddable Pagelet Related Content


Related Content based on a number of sources can be done via embeddable
Pagelets.
From peoplebooks:
Pagelet Wizard is delivered with the following data type definitions to support
their associated data sources:
a. HTML
Use to present appropriately sized static HTML pages in Pagelet Wizard pagelets.
HTML data source pagelets are compatible with the passthru and custom display
formats.
b. IB Connector
Use to interact directly with connectors registered to the Integration Broker and
secured using Define IB Connector Security within Pagelet Wizard. This data type
should only be used when it is not desirable to use the Integration Broker data
type.
c. Integration Broker
Use to create pagelets that utilize Integration Broker to retrieve data from
external sources. This middleware technology facilitates synchronous and
asynchronous messaging among internal systems and with trading partners,
while managing message structure, message format, and transport disparities.
d. Navigation Collections
Use to create pagelets from existing sets of folders and links stored in Navigation
Collections. Navigation Collection data source pagelets are compatible with the
menu and custom display formats.
e. OBIEE Report
Use to create pagelets from existing reports on the OBIEE server.
f. PeopleSoft Query
Use to access PeopleSoft application data or any tables within the PeopleSoft
environment through Pagelet Wizard pagelets. PeopleSoft Query data source
pagelets are compatible with the table, list, chart, and custom display formats.
g. Rowset
Use to access a rowset record whose data is populated at runtime. This data
source is geared toward supplying data to embedded pagelets. Rowset data
source pagelets are compatible with the table, list, chart, and custom display
formats.
You designate a record as the rowset data source when you design your pagelet
using Pagelet Wizard. When the pagelet is executed for display, the data
populated for the rowset must contain that record in the first level of the rowset.
If the runtime rowset does not contain the record specified in Pagelet Wizard, no
data appears in the pagelet.
h. Search record
Use to create Pagelet Wizard pagelets that provide quick access to specific
transactions on a target transaction page. The search record data type enables
you to select a basic search record or a component interface.
Use the basic search record data type for simple search lookup pages.

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

Follow the instructions to Attach Related Content to a Content Reference


Pitfalls
Think very well which type of (datasource for your) pagelet fits your
needs. The pagelet wizard adds a new layer of options to the related
content framework which might make it difficult to make the right
decisions.

1.2.6 Creating PS OBIEE Pagelet Related Content


You will need access to an OBIEE analytics (reporting) database to use this type
of related content.

1.2.7 Collaborative apps


Related Content based on collaborative apps can be used in combination with the
PeopleSoft Portal. There are in total 4 delivered collaborative apps:
1. Workspaces (Portal collaboration working spaces filled with
collaboration tools)
2. Related Discussions
3. Related Links
4. Related Tags
You will have to install and run the PeopleSoft Portal to take advantage of these
collaborative apps.
They are pre-delivered and predefined so only have to be attached to a Content
Reference.

1.3 Attaching Related Content to Content References (pages and


components)
Navigate to PeopleTools > Portal > Related Content Service > Manage Related
Content Service

Select a Content Reference if it already has Related Content assigned or Assign


Related Content to Application pages
If you are attaching content to a new CREF, select the cref using the tree
navigation.
N.b. use the checkbox in the portal registry view to show hidden CREFs. These
can also be used to connect related content to.
E.g. Self Service components that are hidden from the normal portal navigation
can in this way still be used to connect related content to.

Or, if content is already attached to a CREF, simply select Edit Configuration.

1.3.1 Configure services


Configure services at component or page level. This ties the related content
definition to a target context.
1.3.1.1 Services at component level

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.

o Fixed value, fill in a fixed value for the parameter.

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.

Check the is value required checkbox to indicate that there has to be a


parameter value for the related content to appear and refresh on change
Indicate where the related content service will be shown:
o Related content dropdown menu, at the top of the page
o Related actions menu, only relevant or SmartNavigation pages.
If needed you write a service filter which hides or displays a service link
in a field-level or related actions contextual menu based on the value in
the field at runtime. The PeopleCode application class that you specify in
these fields can access the component buffer, using field values to trigger
data-specific logic that causes the related content service link to be visible
or invisible based on the value of the field.
Select security options (content references have no security options), This
section appears only when the service target is the related content frame;
additionally, only the security options specified in the related content
service definition are available.
o Public access, select to make the related content visible to anyone
who is authorized to access the related content parent page.
o Related Content Security, select to have the service invoke the
security that is native to the content, such as security views in a
PeopleSoft Financial application.
o Transaction Security, select to have the service apply a security
handler application class. When you select this option, the Security
Application Class field appears.
Security Application Class, enter the application class name
in which the security logic resides. This field appears only
when you select the Transaction Security option

1.3.1.2 Services at page level

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 Fixed value, fill in a fixed value for the parameter.

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.

Check the is value required checkbox to indicate that there has to be a


parameter value for the related content to appear and refresh on change
Display in field menu, this option only appears for page related content
services. Select to enable a related content field-level contextual popup
menu in the field to which you are mapping the service parameter. This
field is enabled only when the mapping type is Page Field and the field
that you map to is not a hidden field in scroll level one. Aka, it must be a
unhidden field at level 1..
Selecting this check box causes, at runtime, the red related content
triangle to appear in the associated field, even if the field is display-only.

Indicate where the related content service will be shown:


o Related content dropdown menu, at the top of the page
o Related actions menu, only relevant or SmartNavigation pages.
If needed you write a service filter which hides or displays a service link
in a field-level or related actions contextual menu based on the value in
the field at runtime. The PeopleCode application class that you specify in
these fields can access the component buffer, using field values to trigger
data-specific logic that causes the related content service link to be visible
or invisible based on the value of the field.
In case of a service ID (content references have no security options) select
security options, This section appears only when the service target is the
related content frame; additionally, only the security options specified in
the related content service definition are available.
o Public access, select to make the related content visible to anyone
who is authorized to access the related content parent page.
o Related Content Security, select to have the service invoke the
security that is native to the content, such as security views in a
PeopleSoft Financial application.
o Transaction Security, select to have the service apply a security
handler application class. When you select this option, the Security
Application Class field appears.
Security Application Class, enter the application class name
in which the security logic resides. This field appears only
when you select the Transaction Security option

1.3.2 Configure menus


Configure the appearance of the related content menu, related content frame and
if used the field menu.

1.3.2.1 Related content menu

By setting the sequence numbers you set the order in which the menu
options appear in the related content menu.

1.3.2.2 Related content frame

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.

1.3.2.3 Field menu

By setting the sequence numbers you set the order in which the related
content references appear in the field menu.

Migrating Related Content


Related Content definitions are not currently able to be attached to PS App
Designer project definitions.
You may migrate definitions using Data Mover scripts.
There are 2 delivered scripts:
PTCS_ASSIGNEDCREFS_EXP which exports Related content Service definitions
and assigned Content references
-- ***************************************************************
-- This software and related documentation are provided under a
-- license agreement containing restrictions on use and
-- disclosure and are protected by intellectual property
-- laws. Except as expressly permitted in your license agreement
-- or allowed by law, you may not use, copy, reproduce,
-- translate, broadcast, modify, license, transmit, distribute,
-- exhibit, perform, publish or display any part, in any form or
-- by any means. Reverse engineering, disassembly, or
-- decompilation of this software, unless required by law for
-- interoperability, is prohibited.
-- The information contained herein is subject to change without
-- notice and is not warranted to be error-free. If you find any
-- errors, please report them to us in writing.
--- Copyright (C) 1988, 2010, Oracle and/or its affiliates.
-- All Rights Reserved.
-- ***************************************************************
-- ************************************************************************
-- This script exports Related content Service definitions and assigned
-- Content references in to a dat file.
-- Replace the text 'REPLACE_ME' with the Related Service ids of your system
-- as comma delimited values.
-- For instance, if you have two related content services with their IDs as
-- SERVICE1 and SERVICE2. To export them, replace the text 'REPLACE_ME' with
-- 'SERVICE1','SERVICE2'
--- ************************************************************************
SET LOG PTCS_ASSIGNEDCREFS_EXP.LOG;
SET OUTPUT PTCS_ASSIGNEDCREFS.DAT;
EXPORT PTCSSERVICEDEFN WHERE PTCS_SERVICEID IN ('REPLACE_ME');
EXPORT PTCSSRVDEFNLANG WHERE PTCS_SERVICEID IN ('REPLACE_ME');
EXPORT PTCSSERVICECONF WHERE PTCS_SERVICEID IN ('REPLACE_ME');
EXPORT PTCSSRVCONFLANG WHERE PTCS_SERVICEID IN ('REPLACE_ME');
EXPORT PTCS_PARAMETERS WHERE PTCS_SERVICEID IN ('REPLACE_ME');
EXPORT PTCS_PARAMSLANG WHERE PTCS_SERVICEID IN ('REPLACE_ME');
EXPORT PTCS_MAPFIELDS WHERE PTCS_SERVICEID IN ('REPLACE_ME');
EXPORT PTCS_SERVICECFG WHERE EXISTS (SELECT 'X' FROM PS_PTCSSERVICECONF B WHERE
PORTAL_NAME = B.PORTAL_NAME AND PORTAL_OBJNAME = B.PORTAL_OBJNAME AND
B.PTCS_SERVICEID IN ('REPLACE_ME'));
EXPORT PTCS_HANDLER WHERE HANDLERNAME IN (SELECT HANDLERNAME FROM
PS_PTCSSERVICECONF WHERE PTCS_SERVICEID IN ('REPLACE_ME'));

And PTCS_RELATEDSERVICES_EXP which exports Related content Service


definitions
-- ***************************************************************
-- This software and related documentation are provided under a
-- license agreement containing restrictions on use and
-- disclosure and are protected by intellectual property
-- laws. Except as expressly permitted in your license agreement
-- or allowed by law, you may not use, copy, reproduce,
-- translate, broadcast, modify, license, transmit, distribute,
-- exhibit, perform, publish or display any part, in any form or
-- by any means. Reverse engineering, disassembly, or
-- decompilation of this software, unless required by law for
-- interoperability, is prohibited.
-- The information contained herein is subject to change without
-- notice and is not warranted to be error-free. If you find any
-- errors, please report them to us in writing.
--- Copyright (C) 1988, 2010, Oracle and/or its affiliates.
-- All Rights Reserved.
-- ***************************************************************
-- ************************************************************************
-- This script exports Related content Service definitions in to a dat file.
-- Replace the text 'REPLACE_ME' with the Related Service ids of your system
-- as comma delimited values.
-- For instance, if you have two related content services with their IDs as
-- SERVICE1 and SERVICE2. To export them, replace the text 'REPLACE_ME' with
-- 'SERVICE1','SERVICE2'
--- ************************************************************************
SET LOG PTCS_RELATEDSERVICES_EXP.LOG;
SET OUTPUT PTCS_RELATEDSERVICES.DAT;
EXPORT PTCSSERVICEDEFN WHERE PTCS_SERVICEID IN ('REPLACE_ME');
EXPORT PTCS_PARAMETERS WHERE PTCS_SERVICEID IN ('REPLACE_ME');

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

This is an example of a WorkCenter that has related content attached and


multiple pagelets in the pagelet area.
User Personalize
Pagelet
area

Target
content
area

Admin Setup, see


paragraph 2.1.1
2.1.1 User Personalize
The users can personalize the WorkCenter.

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

The homepage of a WorkCenter can either be:

A content reference from the portal registry


A predefined component that is created especially for the workcenter.

2.2.1 Creating a WorkCenter based on a portal registry entry


Navigate to PeopleTools > Portal > WorkCenter > Manage WorkCenter pages

Click on the create new workcenter page link

and choose a content reference from the portal registry .

Fil in a Pagelet Area label to label your pagelet area


Page Layout can be chosen, 2 layouts are delivered (left and right
centered) and more can be created. See the page layout section for more
information.
Per layout 2 HTML object layouts can be chosen.
In the pagelet area multiple tabs may be defined. Every tab needs a group
ID, Group label and a display order. The default flag sets the focus when
the WorkCenter is initially opened.
For every pagelet group (ID), multiple pagelets can be selected. Pagelets
need to be template pagelets to be used in a WorkCenter.
The display order of the pagelets defines in which order they appear
set focus set the focus to a specific pagelet
Required means the user can not remove the pagelet from the
WorkCenter via his user preferences
Initially Minimized sets the pagelet initially expanded or collapsed.

2.2.2 Creating a WorkCenter based on a predefined component


If needed you can create a landing page for the WorkCenter based on a
component that you define yourself. WorkCenter pages have different
characteristics than standard PeopleSoft components and pages. When you
create a WorkCenter page, consider the following differences and design
recommendations, which accommodate those differences:
For WorkCenter pages, the initial page in the target content area is determined
by the menu item associated with the content reference that you select
when you create a new WorkCenter page. While the page that appears
initially in the target content area can be any page, you might find it useful
to start with an informational page to acquaint users with the
WorkCenter page functionality and layout. You can use the sample
WorkCenter page that comes with all PeopleSoft applications, or create a
page that you design specifically for use as a WorkCenter page.
WorkCenter pages should not generate a search page, nor start the search
process when the user clicks the content reference to access the page. The
user should immediately see the initial page. Select a dummy record
one that has no keys or contains only one row of dataas the component
search record on the Use tab. The INSTALLATION record is an example
of a dummy search record.
WorkCenter pages generally require no save functionality. Select the Disable
Saving Page check box on the Use tab.
Typically, the component should consist of only one page, but no tabs or page
links should appear on the page. Clear the Multi-Page Navigation check
boxes on the Internet tab.
The elements that make up the tool bar and page bar are not applicable and
should not appear on the WorkCenter page. Select the Disable Toolbar
and Disable Pagebar check boxes on the Internet tab.
Once the component is created and saved, register it in the portal registry.
From there onwards the creation of the WorkCenter is the same as creating one
from a pre-existing component (2.1.1).
2.3

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.

Creating navigation collections


Go to PeopleTools > Portal > Portal Utilities > Navigation Collections

Click on Add Collection to add a new collection.

Give the navigation collection a name and description. It is also possible to


start- and end date the collection.

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.

Once saved you can add content references to the collection.

The content references can be linked directly or grouped in one or more


folders within the collection.

When adding a link the following page appears:

By selecting a menu item it is added to the collection.


Per item there are multiple override options.
N.b. when you set the link to open in a new window it will open a new window
next to the WorkCenter window.

When adding a new folder the following page is shown:

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.

Publishing Navigation Collections as Template Pagelets


You create and maintain navigation collections using the Navigation Collections
component. Using the pages in this component, you set the properties that
determine the order in which the folders and links appear, and also the location
where the target appears. If you decide to create template pagelets based on
navigation collections, you should review these properties to determine whether
pages will open in the target content area, replace the current page, or in new
browser windows.
You can use Pagelet Wizard to create template pagelets based on any published
navigation collection. At step two of the template pagelet creation process in
Pagelet Wizard, you must specify your navigation collection as the data source.
Choose from any your custom navigation collections or the PeopleSoft-delivered
navigation collections. 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.

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.

Assigning drill URL properties to a query pagelet


Drill URL properties are set in step 5 of the pagelet wizard.

Click on the chain next to the field which you want to use to link the drill URL to:

Define which link type you want to use


Define, in case of a content reference, which reference the result should
drill down to.
Define the link parameters. These can be either specified by data or
fixed data entry.
When you use specified by data you have to fill in the parameter name
(just like in the related content service ID) and choose a field from the
query output which resembles the value for this parameter.
Make sure that you fill in all the search keys for the search record of the
target component. Otherwise the component will show the search record
instead of opening the component straight away.
If you want to use the drill down in the WorkCenter, set the link to
display in the portal so it opens in the target content area.

Publishing Queries as Template Pagelets


Specific details for creating and maintaining queries are located in the
PeopleTools 8.51 PeopleBook: PeopleSoft Query.
See Working with Advanced Query Options.
Specific details for using Pagelet Wizard to publish queries as template pagelets
are located in this PeopleBook.

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

The layout templates are part of application package PTAL_PAGE, 2 are


predelivered (although) only one is created. Next to the LeftPageAreaTemplate
that is shown here there is also a RightPageAreaTemplate.
Just add a new value, and use the RightPageAreaTemplate to give users the
opportunity to show the pagelets on the right side of the page.

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: