How to provide external assignments through Directed Web Access
Directed Web Access (DWA) allows anyone accessing the internet, an intranet, or email to process an assignment, either on a one-time or infrequent, as-needed basis. This feature extends the scope and reach of your application to employees throughout the enterprise, trusted customers and suppliers, and anyone else you want to obtain information from.
Assignments define the parts of processing of a work item that requires human judgment, expertise, and data entry that are often completed by trained users of the application. Assignments sent to such outside parties are known as "external assignments". They improve accountability, eliminate telephone calls, prevent the need for rework caused by answers from outsiders that do not pass edits, and give visibility to the responsiveness of these outside parties.
To list outstanding external assignments, select Designer Studio > Process and Rules > Tools > Work Admin > External Assignments.
How it works
To send the external assignment to someone, the application includes a specially formatted URL within the text of an email. When the email recipient clicks this URL, a web browser session starts and automatically submits a once-only identifier and password to your Pega 7 Platform server.
After authenticating these values, Pega 7 Platform sends an assignment to the user's browser. After a user completes and submits this form, the requestor connection ends. The external user cannot repeat the assignment or reuse the URL or password.
For security reasons, the URL for an external assignment must be static — not generated or altered by JavaScript or other processing at runtime. Because of this restriction, the flow action cannot use AJAX, dynamic select, or SmartPrompt, which require multiple server interactions.
External assignments are instances of the Assign-External class (or of a subclass). The standard activity Work-.External creates these assignments.
Development procedure
Complete these steps to support Directed Web Access in your application:
- Create an Operator ID or IDs that start with the reserved word "External". Include a password for the operator. Specify in the Operator ID form an access group, organization, and division that correctly provide the external operator with the ability to complete the external assignment and correctly identify the operator in history records. On the Advanced tab, set the License Type field to "Invocation".
- Select Designer Studio > System > Settings > URLs, and complete the Public Link URL field to identify the URL of your system. For example,
http://mysystem/prweb/
Identify here the URL that is to be conveyed to external users; this may identify a proxy server. The standard function rule getPublicLinkURL(), referenced in the correspondence, accesses this Dynamic Systems Settings value.
- Create a correspondence rule (Rule-Obj-Corr type). By convention, choose a Correspondence Name key for the correspondence rule that starts with the word "External". For the Correspondence Type, select Email.
- In the Stream Source field, use an include directive (not a JSP tag) to copy in the standard correspondence fragment named ExternalInstructions.Email at the point where the link is needed. For example:
Dear {.pyCustomerName}:
{.pyNote Normal}
{INCLUDE FRAGMENT="ExternalInstructions" }
Our thanks.
{pyCorrPage.pySignature NORMAL }
- Include the standard flow action EngageExternal (or another you have based on that one) as a local flow action in an assignment. When selected, this starts a flow execution of the standard flow Work-.EngageExternalQuick.
In the post-processing of the EngageExternalQuick flow, param.CorrName is hard-coded to ExternalRequestBrief. Therefore, if you want to allow the user to select a different correspondence rule, configure the flow action to lead to a shape that calls the EngageExternalForInformation flow.
Alternatively, customize EngageExternalQuick to take correspondence as a parameter. To use this method, you must perform a save-as and make a modification of three rules:- Add the correspondence parameter to the flow.
- Change the activity that launches the flow so it passes the parameter through.
- Click the Params button on the flow action rule and specify the actual Rule-Obj-Corr rule name in the window that appears.
- In the flow, right-click the Create External Assignment shape and select View Properties. In the Assignment Properties form that appears, locate the OperatorModel field. Select the operator that you created in Step 1 as the Operator ID for the flow to use.
- Test the flow. At runtime, the operator uses the EngageExternal flow action to identify the party (or email-addressee) to receive the email correspondence, enter a subject line, and message. Depending on your configuration, the operator can also select the correspondence rule.
- The system creates the external assignment. Flow execution pauses until the external party completes the external assignment. The link in the external assignment does not require sign-on, but can only be used once.
Asynchronous processing
If you want processing in the flow to continue without waiting for the external assignment to be completed, use a Spinoff shape in the flow to start the standard flow Work-.EngageExternalForInformation.
If the external user is only to supply text for a note, use the EnterInformationExternal flow action.
Reporting and the License Compliance facility
Ordinarily, each use of this facility counts as a web invocation in the reports prepared by the License Compliance facility. To see a chart of period-by-period counts of web invocations on your system, select Designer Studio > System > License > Web Invocations Chart.
Related terms
Related information
Process category
Open topic with navigation