Question
Capgemini
SE
Last activity: 14 Jul 2017 1:42 EDT
Mashup not working as expected in 7.2.2 with CSFS
Hi,
I am trying to do the following using a web mashup in Pega 7.2.2 but facing challenges in getting the expected behavior:
Embed the CSFS interaction portal home page as a web mashup (not the entire portal but the userDashboard only). When the user would click on the assignments from the todo / workbasket/ recent list it should open up the interaction / service cases in a new mashup ( another gadget in the web page). This is not working as expected. The assignment does open in a new gadget (using actiondefinitions on the previous gadget) but once the case is submitted the screen goes balnk on the new gadget. I would like the interactiondriver to be loaded as it happens in a normal Interaction portal.
Another major issue is to have the pega gadget PUSH information to the main web page and have it refreshed each time a new interaction case is either created or opened from the assignment link.
This has been a major challenge from technical validation perspective as well. Can anyone suggest a way to handle these? I understand that there are a limited set of functionalities available with the mashups and it is not possible to access the CPM js objects from the mashup code.
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
BUPA
AU
Hi Anojit,
This is quiet difficult to understand from outside what is the root cause of this issue. Pega OOTB mash capabilities has several limitations as you are aware and many customization required to achieve the objective. Can you pls share some code snippet where you are suspecting problem for me to understand the issue?
Capgemini
SE
Hi Swarne123,
I have provided the snippet below. The problem here is with the inter application communication and also the change in the default behavior of Pega CRM when the context changes from portal to mashup. The interaction cases are opening in a mashup but the behavior of the intent tasks / service cases are not as same as when accessed via interaction portal. The service cases / intents can be queued in mashup , but they cannot be processed in the sequential manner ( as possible in the OOTB portal).
we would like to retain all the functionalities and behavorial patterns from the portal in a mashup.
<html>
<head>
<title>KMP Launch Demo</title>
</head>
<div id="buttonDiv" style="overflow:auto">
<button id="button1" name="button1" onclick="refreshOtherDiv();">Click me to refresh </button>
</div>
<script src ='http://myserver:8080/prweb?pyActivity=pzIncludeMashupScripts'></script>
<script>
pega.web.config.systemID="DEV";
pega.web.config.appName="SwedCRM";
pega.web.config.gatewayURL = "http://myserver:8080/prweb";
var params = {"pzSkinName":'CRMUserPortalSkin',"CifNbr":'0000000035'};
Hi Swarne123,
I have provided the snippet below. The problem here is with the inter application communication and also the change in the default behavior of Pega CRM when the context changes from portal to mashup. The interaction cases are opening in a mashup but the behavior of the intent tasks / service cases are not as same as when accessed via interaction portal. The service cases / intents can be queued in mashup , but they cannot be processed in the sequential manner ( as possible in the OOTB portal).
we would like to retain all the functionalities and behavorial patterns from the portal in a mashup.
<html>
<head>
<title>KMP Launch Demo</title>
</head>
<div id="buttonDiv" style="overflow:auto">
<button id="button1" name="button1" onclick="refreshOtherDiv();">Click me to refresh </button>
</div>
<script src ='http://myserver:8080/prweb?pyActivity=pzIncludeMashupScripts'></script>
<script>
pega.web.config.systemID="DEV";
pega.web.config.appName="SwedCRM";
pega.web.config.gatewayURL = "http://myserver:8080/prweb";
var params = {"pzSkinName":'CRMUserPortalSkin',"CifNbr":'0000000035'};
function refreshOtherDiv()
{
//pega.web.api.doAction("PegaGadget2", "createNewWork", "MyCRM-Work-Grp1-Interaction-Call", "CPMInteraction", "[UserIdentifier:'Sales@MyCRM',Password:'cnVsZXM=',CifNbr:'0000000035']");
}
</script>
<div data-pega-gadgetname ='PegaGadget'
style="overflow:auto;width:100%;height:400px;"
data-pega-threadname ='STANDARD'
data-pega-isdeferloaded ='false'
data-pega-action="createNewWork"
data-pega-action-param-flowname = "CPMInteraction"
data-pega-action-param-classname = "MyCRM-Work-Grp1-Interaction-Call"
data-pega-applicationname ='MyCRMRM'
data-pega-systemid ='DEV '
data-pega-resizetype ='stretch'
data-pega-redirectguests="false"
data-pega-action-param-parameters="{UserIdentifier:'Sales@MyCRM',Password:'cnVsZXM=',pzSkinName:'CRMUserPortalSkin',CifNbr:'0000000035'}"
data-pega-url='http://myserver:8080/prweb'
>
<script>
var PegaGadget =
{
actionDefinitions:
[
{
action:"confirm",
actionMapping:"refresh"
target:
{
type:"_self"
}
}
]
};
</script>
</div>
</html>
Booking.com
NL
I want to understand the use case in detail.
I am assuming that the target is to work an an assignment which is now in a WB , the gadget you have posted is regarding create new work.
If my assumption is correct , we need to replace the create new work gadget with open assignment gadget.
LMK , if it helps
Capgemini
SE
Hi Katus,
My intention in the code snippet is to make sure that the user returns to the starting screen (here the interaction driver for the case) once the confirm buttin is clicked from the service cases which are created from the interaction case. At this moment the mashup is loading a blank screen on clicking the confirm button and the context to the interaction case is lost.
Here are the sequence of events I would like to happen inside the Mashup:
1. Initially load the mashup with the perform harness of an Interaction case ---- This is working as expected.
2. User would queue up multiple service tasks using the interaction driver.-- This is also working as expected.
3. User proceeds with the first intent task and creates the service case. Once the service case is processed to completion, the user is taken to a confirm harness (OOTB) to confirm the closure of the service case. The expectation is ( as it happens in the OOTB interaction portal) the user is redirected to the perform harness of the interaction case to start processing the second queued item. This is not working as expected. On clicking the confirm button the user is shown a blank screen and the contest / connection to the interaction case is lost.
I hope this clarifies the scenario I am working on .
Booking.com
NL
HI ,
I now understand the scenario in detail , however , queuing a service case is a CPM feature.
Each mash up snippet logically represents an IAC widget , but they would always be in the same div (if we are generating the snippet dynamically).
So when we try to close a service case , the life cycle of that gadget is done , closing the present mash up gadget and refreshing the gadget with the next queued task is our responsibility .
Let us assume , there are SC1 , SC2 and SC 3 are queued up .
I would construct 3 different mash up gadgets/ Div's dynamically and show the the first gadgets div using the show and hide methods.
after the completion of first case , I would close the first div and make the second one active.
make sure the defer load parameter in the gadget snippet is set to false.
I have not tried queued up service cases myself but the above approach should work.
BUPA
AU
Hi Anoojit,
Sorry for late reply. I was away from work. I saw your code snippet. Did you try with a different skin? For CPM framework the skin is used CPMML6. Pls check if this is the underlying problem and let me know.
Capgemini
SE
Hi Swarnendu,
The skin is not the issue, the bahavior is irrespective of the skin.