Modifying Access to the WorkCenter
You must ensure that users can only access the WorkCenter in the proper manner:
-
If the activity guide pagelet was defined with a specific instance ID, then standard menu navigation to the WorkCenter can be allowed.
-
If the activity guide requires unique context data to identify each instance, you must ensure that context data is defined prior to accessing the WorkCenter:
-
Use a landing/page questionnaire approach to pass query string parameters to the WorkCenter.
-
Use a query pagelet to pass query string parameters to the WorkCenter.
-
In both cases, hide the WorkCenter's content reference from menu navigation.
-
If the activity guide requires context data to retrieve or generate the correct activity guide instance, then you must ensure that the WorkCenter is accessed in a manner that provides the context data as query string parameters on the WorkCenter URL. (Additional parameters at the end of a URL are typically referred to as query string parameters and sometimes simply as URL parameters.) Some PeopleSoft applications achieve this by creating a landing page with a questionnaire that sets the contextual data prior to launching the WorkCenter page. In other cases, you might use a query and query pagelet to set the context data on the WorkCenter URL. In either case, you must also ensure that users cannot access the WorkCenter directly, because doing so would not set required context data on the WorkCenter URL. In some cases, this means hiding the WorkCenter content reference from direct menu navigation.
Regardless of the methodology you choose, the following special characters are not recommended in context parameter values as they have special meaning in URLs: # & ? + = : % /
Additional restrictions may apply if other special characters are not acceptable in the components configured as action items—for example, the space character is not acceptable in key values for certain components. You may see errors in the target component when such restricted characters are used in context parameter values.
If you create a launch page, use the EncodeUrlForQuerystring built-in PeopleCode function to encode the context parameter values. For example:
&ctxtParams = &ctxtParams | "&CONTEXTIDPARAMS=" | &ctxtObj.fieldname | ":" | EncodeURLForQueryString(&ctxtObj.keyValue);