Support Article

DWA - clicking work object link invalidates existing sessions

SA-37858

Summary



User is on Pega 7.2 and has implemented Direct Web Access (DWA) to update an work object using the link sent through an e-mail.

When the open the link from the email-it opens the work object in Review harness with out asking any credentials if there is another existing session already running with Pega.

But once they close the web page that was opened after clicking on the link sent through e-mail, the existing session starts to throw errors when they try to perform any action on it. The existing session becomes unusable.


Error Messages



There has been an issue; please consult your system administrator.


Steps to Reproduce

  1. Configure direct web access for an assignment of a work object.
  2. Create the work object so that the link for accessing the work object is sent to user via email.
  3. Open a session on Pega.
  4. Click on the link sent in email for the work object to open the assignment in review harness.
  5. Close the page opened for the work object.
  6. Go back to the previous session and try to perform any action.
  7. Observe that the previous session is left unusable and throws error when performing any action.


Root Cause



An issue in the custom application code or rules is identified as root cause.

Resolution



The following code was used in RULE-CORR-FRAGMENT ASSIGNMENTLINK EMAIL rule to resolve the issue:

{%
tools.putSaveValue("PublicLinkURL",pega_procom_pegaprocomutilities.getPublicLinkURL());
%}

{WHEN useDesktop}
<a target="_blank" href="{$save(PublicLinkURL)}?pyActivity=Work-.Open&Action=Review&HarnessPurpose=Review&InsHandle={%
try {
appendString(pega_rules_utilities.encodeURLParameter(tools.getDatabase().getHandle(tools.getStepPage())));
} catch(DatabaseException de) { appendString(pega_rules_utilities.encodeURLParameter(tools.getProperty(".pzInsKey").getStringValue())); }
%}">{% appendString(tools.getProperty(".pyID").getStringValue()); %}</a>
{ELSE}
<a target="_blank" href="{$save(PublicLinkURL)}?pyActivity=Work-.Open&Action=Review&InsHandle={%
try {
appendString(pega_rules_utilities.encodeURLParameter(tools.getDatabase().getHandle(tools.getStepPage())));
} catch(DatabaseException de) { appendString(pega_rules_utilities.encodeURLParameter(tools.getProperty(".pzInsKey").getStringValue())); }
%}">{% appendString(tools.getProperty(".pyID").getStringValue()); %}</a>
{/WHEN}

Published May 11, 2017 - Updated May 23, 2017

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.