In our solution we’re using task links in email notifications sent from process (to provide direct navigation to the task for users).
We’re taking task urls from pub.task.taskclient:getTask service (TaskInfo/taskUrl output parameter, which looks like: http://server:port/8A7ADD89-F38A-F973-1089-F02F0BFBEDBA.task.app.details.page?wmp11411.taskID=61507).
This url ussualy works fine, however we’ve noticed one problem with this - take a look at the scenario:
- User is logged to MWS and opens task (from MyInbox in “left menu”) of type X, the task id A. The bean for this task’s view is initialized (I see in debug logs) and user can normally work with the task.
- User receive’s email notification with url to task B (which is also of type X). User clicks on the link, and task view is opened in new tab of the same web browser (in the same session, since he was already working in MWS).
The bean of task’s view is not initialized - MWS treat this request as the request for point 1 and shows the data which is stored in managed bean for task A, not B (consequenses are obvious, data inconsistency, user confusion, etc).
There is no problem if user open both tasks in 2 tabs of web browser from My Inbox - then user can work with both tasks independently. Howewer if one task is opened from “task url” the problem exist.
All beans implementing tasks have the “expireWithPageFlow” property set to “true” (I’ve also tried to change it to “false” but it doesn’t solves the problem).
It would be nice if users don’t work with many tasks in one session of one browser in parralel ;-), however we can’t prohibit to click on link in notification email…
Do you have any idea, how to solve this problem? Maybe some alternative task url to getTask’s one?
(we’re using MWS 8.2+SP1)