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
- Configure direct web access for an assignment of a work object.
- Create the work object so that the link for accessing the work object is sent to user via email.
- Open a session on Pega.
- Click on the link sent in email for the work object to open the assignment in review harness.
- Close the page opened for the work object.
- Go back to the previous session and try to perform any action.
- 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 24, 2017 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.