I have created an iView using the Portal Archive com.sap.portal.appintegrator.sap. The URL in this iView points to an External Web Application that needs Authentication from the Portal. So as parameters in the URL I would like to pass the User's Portal ID and Portal Role. I have figured out how to pass the Portal ID, but I was wondering if there is any User Context so that I can pass the role as well. Here is my url so far:
http://apps.dev.crm.cardinal.net/AlertNotifier/alertNotifier.do?userid= > and this works.
Now is there something available so my URL can look similar to this:
http://apps.dev.crm.cardinal.net/AlertNotifier/alertNotifier.do?userid= &role= >
Hi Ashley,
first the definite answer to your question is: No, such a parsable fragment does not exist for AppIntegrator.
Second answer is a bit more differentiated: If a standard iView has not the possibility to be called with dynamic values or does not provide enough flexibility for the dynamic values which it provides (that's the case here), you have always the possibility to develop a proxy iView around it, which implements all the properties of the destination iView (and passes them through) plus the dynamic logic you need (here: determine the role of the user (but see below!) and add this to the parameter which ends with "role=". Such a proxy is implemented by an Abstract Portal Component within doOnNodeReady method and uses the redirect method of the IPortalComponentRequest.
Last but not least: You have to define what you mean by "<User.Role>". Each user normally has different roles! So there is not one role to be determined. And an iView shouldn't be built to often in different roles (than you should build it once and use merging of roles). So at least be careful, traps are layed around you 😉
Hope it helps
Detlev
PS: Please consider rewarding points for helpful answers. Thanks in advance!
I am in a similar situation, but I can not get the Portal ID to pass to my external application.
The url we are using is
https://<domaininfo>/saphelp?user=<User.LogonUserId>
This keeps passing LogonUserId as a literal, not a variable. Any suggestions on how I can format the URL to pass the LogonUserId as a variable?
Add a comment