5.4 Setting Up Approvals

Oracle Portal enables you to manage and control the publishing of content on your portal through the use of approvals. Oracle Portal provides a special privilege for approvals, Manage Items With Approval. Each item added or modified by a user with this privilege must be approved before it is published to the portal. This enables you to delegate the creation of portal content without relinquishing control over what is actually displayed to your users, or compromising the quality of the content.

For example, you may want each of your company's product whitepapers to be reviewed by your legal department before they are published. Using approvals, you can easily establish an approval process that includes the legal department as one of the required approvers. This ensures that each author of a whitepaper cannot publish their documents to the portal until they have been checked by the legal department.

Approval processes can also reduce or even eliminate the costs of a paper-driven office in which hard copy documents requiring approvals, such as expense reports and travel requests, create bottlenecks for your workers. When you define approval processes, you allow the appropriate people in your organization to receive notification of pending items requiring approval, to review the items, and to approve or reject the items, all from your company's portal.

Oracle Portal offers two different methods for defining approval processes: Oracle Portal approval processes and Oracle BPEL workflow processes.

  • An Oracle Portal approval process is an approval process created within Oracle Portal itself. You specify the approvers on the Approval tab of the page group or page. Oracle Portal approval processes offer a simple, easy to use, self-contained way of implementing approvals.

  • An Oracle BPEL workflow process is created using Oracle BPEL Designer. In Oracle Portal, the portal administrator then creates a process definition that maps to the Oracle BPEL workflow process. Using Oracle BPEL workflow processes provides functionality beyond that provided by Oracle Portal approval processes, such as escalation and suspension.

This section contains the following sub-sections:

5.4.1 Enabling Oracle BPEL Approval Processes

If you plan to use Oracle BPEL to manage approvals in your page group, you first need to enable the Content Management Event Framework (CMEF). Oracle BPEL Process Manager uses CMEF to communicate with Oracle Portal. This option is enabled by default.

To enable CMEF for a page group:

  1. From the Portal Navigator page, choose the page group to be edited.

  2. Select the Properties link next to your page group.

  3. Click the Configure tab.

  4. In the Content Management Event Framework Section, click the Edit link.

  5. Select the Enable Content Management Event Framework check box.

  6. Click OK to return to the Configure tab.

  7. Click Close.

5.4.2 Enabling Approvals and Notifications for a Page Group

You can enable approval processes at page group and page level. This means you can establish one approval process for the entire page group, or approval processes that are unique to individual pages.

Note:

You cannot override the type of approval process at page level. That is, you cannot use an Oracle BPEL process at the page group level and an Oracle Portal process at the page level.

This section describes how to enable approvals for a page group. By default, pages inherit the approval process defined for the page group to which they belong but you can allow page manager to override this if you wish. See Section 5.4.2.1, "Enabling Page Managers to Specify Their Own Approval Processes".

Note:

If you enable Approvals and Notifications, make sure that none of the pages in the page group are cached at the system level. See also Section 21.1, "Page Caching".
  1. From the Portal Navigator page, choose the page group to be edited.

  2. Select the Properties link next to your page group.

  3. Click the Configure tab.

  4. In the Approvals and Notifications section, click the Edit link.

  5. Select the Enable Approvals and Notifications check box.

    This enables approvals for the page group. The page group administrator can now set up an approval routing process for the page group. See Section 5.4.3, "Setting Up an Approval Process for a Page Group".

  6. If you want to set up the approval process within Oracle Portal, select Use Portal Workflow.

    If you want to use Oracle BPEL to set up your approval processes, select Use BPEL Workflow.

    Note:

    The Use BPEL Workflow radio button will be enabled, after you complete the BPEL synchronization with Portal. For more information see the Portal Adm.................................
  7. Click OK to return to the Configure tab.

  8. Click Close.

5.4.2.1 Enabling Page Managers to Specify Their Own Approval Processes

To enable page managers to specify their own approval processes:

  1. From the Portal Navigator page, choose the page group to be edited.

  2. Select the Properties link next to your page group.

  3. Click the Configure tab.

  4. In the Approvals and Notifications section, click the Edit link.

  5. Select the Allow Page to Override the Page Group Approval Process check box.

  6. Click OK to return to the Configure tab.

  7. Click Close.

Enabling this option also allows page managers to ignore the approval process completely by defining an empty approval process at the page level. This means that users with the Manage Items With Approval privilege on the page will be able to add items to the page without requiring approval.

For information about how to set up an approval process for a page, see Section 20.1, "Setting Up an Approval Process for a Page".

5.4.3 Setting Up an Approval Process for a Page Group

An approval process is a series of one or more approval routing steps. Each routing step includes one or more users, or groups (approvers), or both, who must approve an item before it is published. Routing to the approvers can be in serial (one at a time) or in parallel (all at once). Each step can be defined to require a response by any one approver or by all approvers.

The approval process begins when a user with the Manage Items With Approval privilege adds or modifies an item on a page. The item is automatically checked out of the portal (so that it cannot be modified), and routed through the approval process. Each approver is notified through the Notification or My Worklist portlet that an item requires his or her approval. Once the required number of responses is received during a step, the process continues to the next step. The approval process ends when the final step is reached and the document is approved by the last required approver. The approval process also ends when any approver rejects the item.

You can specify that users can add draft versions of an item without immediate approval. Draft items are only visible to the item owner, who can submit the item for approval, once it is finalized. See Section 2.7.1.1.3, "Submitting a Draft Item for Approval".

The approval process can also be extended to all users contributing content to the page group, instead of just those with the Manage Items With Approval privilege.

You can create one approval process for the entire page group, or you can enable page designers to establish or specify approval processes that are unique to individual pages (or even to ignore the approval process for a particular page). Using Oracle BPEL, you can even establish corporate-wide approval processes. The steps for setting up an approval process for a page group are described in the next two sections. For information about how to set up an approval process for a page, see Section 20.1, "Setting Up an Approval Process for a Page".

5.4.3.1 Setting Up an Oracle Portal Approval Process for a Page Group

To set up an Oracle Portal approval process for a page group:

  1. From the Portal Navigator page, choose the page group to be edited.

  2. Select the Properties link next to your page group.

  3. Click the Approval tab.

  4. In the Approvers field in the Approval Routing List section, select one or more approvers (users or groups) for the first step of the approval routing list. Click the Browse Users icon to add a user, or the Browse Groups icon to add a group. If you type in user and group names manually, check spellings carefully to avoid invalid entries.

    The Approval Routing List section is available only if Allow Page to Override the Page Group Approval Process have been enabled for the page group. See Section 5.4.2.1, "Enabling Page Managers to Specify Their Own Approval Processes".

    Each step of the approval process can include both users and groups. Use a semicolon (;) as the separator between multiple users and groups.

    Do not use the same approver in more than one step. Any additional times the approver is listed, he or she will be skipped.

    When you include a group in the approval routing list, any one member of the group can approve or reject an item, even if the step specifies that all of the recipients must respond. If you require responses from all members of a group, list each member individually.

    We recommend that approvers have at least the View privilege on the page that includes the item to be approved (so that they can view the page).

    Oracle Portal includes the following special approvers:

    • #PAGE_GROUP_MANAGER#: Any user or group with the Manage All privilege on the page group, or the Manage All global privilege on all page groups.

    • #PAGE_MANAGER#: Any user or group with the Manage privilege on the page.

    • #CONTENT_MANAGER#: Any user or group with Manage Content or Manage privilege on the page, or the higher-level Manage privilege, on the page.

      By default, when you enable approvals and notifications for the page group, a single step approval process is defined at the page group level with #CONTENT_MANAGER# as the default approver.

    When you enter these special approvers, use uppercase text only.

  5. In the Routing Method for Approvers radio group, choose a routing method for the approval routing list:

    • One at a time, all must approve (Serial, All) —This sends the approval to approvers in the step one at time in the sequence specified. All of the approvers must respond to the approval.

    • All at the same time, all must approve (Parallel, All)—This sends the approval to approvers in the step all at the same time. All of the approvers must respond to the approval.

    • All at the same time, only one must approve (Parallel, Any)—This sends the approval to approvers in the step all at the same time. Only one of the approvers must respond to the approval.

  6. Click Add Step to continue adding steps to the approval routing list.

    For each step, select approvers and a routing method. Each step you add is listed in the Approval Process section. You can edit existing steps by clicking the list of users and groups, or the Edit icon. When you edit a step, the step details are displayed in the Approval Routing List section and the Add Step button changes to Update Step.

    Because Oracle Internet Directory can include multiple directory containers that can use the same group names, the distinguished name (DN) is displayed next to any group that does not belong to the local Oracle Portal instance.

  7. If you do not want to allow content contributors to upload draft items without approval, make sure the Enable Item Drafts option is not selected. For more information about draft items, see Section 5.4.5, "Enabling Draft Items".

  8. Select All Users Require Approval if every content contributor requires approval.

    By default, this options is not selected which means that only users with the Manage Items With Approval privilege require approval.

  9. Click OK when the approval routing list is complete.

If there is an active approval process pending for an item, the approval routing steps for the item cannot be reordered. Also, you cannot edit active steps (that is, any step which is currently active within an approval process). However, you can still delete and edit any steps which are not currently active.

5.4.3.2 Specifying an Oracle BPEL Workflow Process for a Page Group

Note:

Before you can specify an Oracle BPEL workflow process for a page group the process must first be created and deployed using Oracle BPEL Designer and then the portal administrator must create a process definition for that process. For information about how to do this, see the Oracle Fusion Middleware Administrator's Guide for Oracle Portal.

To specify an Oracle BPEL workflow process to use for a page group:

  1. From the Portal Navigator page, choose the page group to be edited.

  2. Select the Properties link next to your page group.

  3. Click the Approval tab.

    The Approval tab is available only if approvals and notifications have been enabled for the page group. See Section 5.4, "Setting Up Approvals".

  4. From the BPEL Process User list, choose the portal user to associate with the Oracle BPEL process. This user must have Manage All privileges on the page group and will typically be the page group administrator. The user does not have to be a user that is part of the Oracle BPEL workflow process.

  5. From the Process Name list, choose the Oracle BPEL process definition that you want to use for this page group. Use the description, if one exists, to help you decide if this is the process that you want to use.

    The process definitions must have already been created by the portal administrator. For information about how to do this, see the Oracle Fusion Middleware Administrator's Guide for Oracle Portal.

  6. From the Access Users list, select the users that you want to add as approvers for the BPEL workflow process and click the right arrow to move them to the Workflow Approvers list.

    Any user with Manage All privileges on the page group can be selected as an approver.

    The users included in the Workflow Approvers list are passed to the BPEL process in the order they appear here.

  7. From the BPEL Process Group Mapping list, select the group that you want to map to the BPEL workflow process and click the right arrow to move them to the Workflow Approvers list.

    The group included in the Workflow Approvers list are passed to the BPEL process in the order they appear here.

  8. If you do not want to allow content contributors to upload draft items without approval, make sure the Enable Item Drafts check box is not selected. For more information about draft items, see Section 5.4.5, "Enabling Draft Items".

  9. Select Require Approval for All Users check box if every content contributor requires approval.

    By default, this options is not selected which means that only users with the Manage Items With Approval privilege require approval.

  10. Click OK.

5.4.4 Monitoring Pending Approvals

The Pending Approvals Monitor portlet enables you to list pending approvals in the page groups that you administer. You can list the pending approvals by approver, date, page group, or submitter.

Figure 5-10 The Pending Approvals Monitor Portlet

Description of Figure 5-10 follows
Description of "Figure 5-10 The Pending Approvals Monitor Portlet"

The Pending Approvals Monitor portlet only lists pending approvals for other users. If you would like to view your own pending approvals, use the My Notifications portlet or My Worklist portlet. For information about these portlets or approving or rejecting items that require your approval, see Section 2.7.2, "Approving or Rejecting Content".

To monitor pending approvals:

  1. Go to the page that contains your Pending Approvals Monitor portlet.

  2. In the first list, choose how you want to view the pending approvals that you want to monitor. You can view pending approvals by approver, date, page group, or submitter.

  3. In the second list and third lists, choose the operator and value to use to filter the list of pending approvals.

    Wildcard searches using % or * are not supported. To view pending approvals by approver, page group, or submitter, enter a valid name. Otherwise, enter a valid date.

  4. Click Go.

You can also personalize or edit the defaults of the portlet to automatically list pending approvals.

Examples of the Pending Approvals Monitor Portlet

Figure 5-11 List Pending Approvals Waiting to Be Approved by SCOTT

Description of Figure 5-11 follows
Description of "Figure 5-11 List Pending Approvals Waiting to Be Approved by SCOTT"

Figure 5-12 List Pending Approvals Submitted After 11-NOV-2004

Description of Figure 5-12 follows
Description of "Figure 5-12 List Pending Approvals Submitted After 11-NOV-2004"

Figure 5-13 List Pending Approvals for Items That Were Submitted by Any User Other Than SCOTT

Description of Figure 5-13 follows
Description of "Figure 5-13 List Pending Approvals for Items That Were Submitted by Any User Other Than SCOTT"

5.4.5 Enabling Draft Items

You can upload draft items to the portal. With the draft feature enabled, content developers can upload content to the portal without exposing it until they're ready to submit it for approval. Approvals must be enabled for the draft feature to be implemented (see Section 5.4.2, "Enabling Approvals and Notifications for a Page Group"). Drafts do not require approval, so content developers can upload drafts to the portal and continue to work on them without having to wait for approval. Drafts are not displayed when the page is viewed. When the draft is finalized and the contributor submits it for approval, it is routed through the approval process (if one is defined). See Section 2.7.1.1.3, "Submitting a Draft Item for Approval". Keep in mind that, once enabled, this option cannot be disabled until all draft items are submitted for approval.

It is possible for approvals to be enabled without there being any defined approval process. Consequently, it is possible to enable drafts for everyone without ultimately requiring that their finalized content be approved. Keep in mind, however, if you have users with the Manage Items with Approval page group privilege, and no approval process is defined, this privilege is equivalent to the Manage Content (items) page group privilege. In other words, such users will be able to add content that has not been through an approval process.

To enable draft items:

  1. From the Page Groups portlet's Work In drop-down list, choose the page group to be edited.

    By default, the Page Group portlet is located on the Build tab of the Builder page.

  2. Click the Configure link.

  3. Click the Approval tab.

    The Approval tab is available only if approvals and notifications have been enabled for the page group. See Section 5.4, "Setting Up Approvals".

  4. Select Enable Item Drafts to enable users to add draft versions of items to pages in the page group.

    Draft items are visible only to the item owner in the Pending Items Preview and List editing views. Once the draft is finalized, the user can submit the item for approval from the Actions page. Once enabled, this option cannot be disabled until all draft items in this page group are submitted for approval.

  5. Click OK.

5.4.6 Setting Up Expiry Notifications for a Page Group

Expiry notifications notify one or more recipients (users or groups) when an item in the page group is about to expire.

5.4.6.1 Setting Up Expiry Notifications

To set up expiry notifications for a page group:

  1. From the Page Groups portlet's Work In drop-down list, choose the page group to be edited.

    By default, the Page Group portlet is located on the Build tab of the Builder page.

  2. Click the Approval tab.

    The Approval tab is available only if approvals and notifications have been enabled for the page group. See Section 5.4, "Setting Up Approvals".

  3. In the Recipients field in the Expiry Notifications section, select one or more recipients (users or groups) to notify when an item in the page group is about to expire. Click the Browse Users icon to notify a user, or the Browse Groups icon to notify a group.

    Use a semicolon (;) as the separator between multiple users and groups. This field can include both users and groups.

    Oracle Portal includes the following special recipients:

    • #PAGE_GROUP_MANAGER#: Any user or group with the Manage All privilege on the page group, or the Manage All global privilege on all page groups.

    • #PAGE_MANAGER#: Any user or group with the Manage privilege on the page.

    • #CONTENT_MANAGER#: Any user or group with Manage Content or Manage privilege, or the higher-level Manage privilege, on the page.

      By default, when you enable approvals and notifications for the page group, a single step approval process is defined at the page group level with #CONTENT_MANAGER# as the default approver.

    • #ITEM_OWNER#: The owner of the item.

    When you enter these special approvers, use uppercase text only.

    Because Oracle Internet Directory can include multiple directory containers that can use the same group names, the distinguished name (DN) is displayed next to any group that does not belong to the local Oracle Portal instance.

  4. In the Notification Time for Recipients field, enter how long (in hours) before the item is due to expire to notify the recipients. The default is 48 hours.

  5. Click OK.

If a user or group is deleted from the portal, any pending items requiring that user or group's approval will need to be approved or rejected by the page owner or page group administrator. In the approval step, a deleted user is listed as 'User no longer exists.'

5.4.6.2 Displaying Expiry Notifications on a Page

To display expiry notifications on a page:

  1. Go to the page where you want to display expiry notifications.

    For information on locating a page, see Section 8.1, "Locating Pages in Oracle Portal".

  2. Switch to Edit mode.

  3. In the region where you want to display expiry notifications, click the Add Portlets icon.

    If you do not see the Add Portlets icon, the region may be an item region, in which case, you cannot add portlets to this region.

  4. Click the link for the My Notifications portlet.

    By default, the My Notifications portlet is located under the Portal Content Tools page of the Portlet Repository. If you cannot find the My Notifications portlet under this page, use the Search field.

  5. Click OK.

  6. Next to the portlet, click the Actions icon.

  7. Click Edit Defaults.

  8. In the Display Name field, enter a different title for the portlet if required. For example, if the portlet will be used only to display expiry notifications, you might change the display name to Items About to Expire.

  9. In the Display Limit radio group, select whether to display all notifications or limit the portlet to display only a specified number of notifications.

  10. Make sure the Show Expiry Notifications check box is selected.

    The portlet can also display approval and subscription notifications.

  11. Select the Display Notification Type Icon in Portlet check box if you want to display an icon to illustrate whether the notification is an approval, expiry, or subscription notification. This is useful if you intend to use the portlet to display other types of notifications.

  12. Select the Display Notification Status in Portlet check box if you want to display the status of the notification in the portlet. This informs users whether the item is about to expire or has already expired.

  13. In the Page Group Option radio group, select whether to display expiry notifications for all page group or a specified selection of page groups.

    This option is more useful for individual users who can personalize the portlet to filter the list to include only those expiry notifications that they are actually interested in

  14. In the User Group Option radio group, select whether to display expiry notifications for all user groups or a specified selection of user groups.

    This option is more useful for individual users who can personalize the portlet to filter the list to include only those expiry notifications that they are actually interested in.

    Use a semicolon (;) as the separator between multiple groups.

    Because Oracle Internet Directory can include multiple containers that can use the same group names, the distinguished name (DN) is displayed next to any group that does not belong to the local Portal instance.

  15. Click OK.