cancel
Showing results for 
Search instead for 
Did you mean: 

Portal Integration

Former Member
0 Kudos

We have Web dynpro application without portal integration, which has 4 views for specific task. We have links in left hand side to call each views.

To integrate with portal, we now had to create different application for all 4 views so in navigation we can have different portal links for each view.

Problem is, now every time we click to different links in portal to open views, its initiate component controller and having huge performance issue.

Is there any way, we can stop multiple initialization of comp controller and irrespective of link clicked in portal should work in same session.

Accepted Solutions (0)

Answers (1)

Answers (1)

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

Not really. As soon as you have created the 4 separate applications for the views they are REALLY separate. Each application has its own lifetime and session state. As soon as the navigation occurs from one application to another, the session management will perform the cleanup. As far as the runtime is concerned these separate iViews have no relationship to one another and therefore normal session cleanup should occur.

If all the views are closely connected, perhaps it isn't a bad idea to have them all within the same application and perform the navigation within the same component. It would remove some of the flexibilty of controlling the navigation via the portal, but it isn't unheard of. Otherwise you will have to explore alternatives - like caching data in server cookies or shared memory. But this will require some research to see exactly what is the cause of the large startup (data access at the model level or the popuplation of the context itself).

Former Member
0 Kudos

Yes its due do fetching data in do init of comp controller. I have heard about portal eventing, I am sure once application is start we can listen for events trigger from clicking on portal links and can change views as required, But what about first call to application?

All links for applications are under one portal folder; can we start application by clicking on this portal folder?

Sm1tje
Active Contributor
0 Kudos

Well than I would suggest to examine the data retrieval first and see if performance can be optimized.

Former Member
0 Kudos

Data Retrieval is appropriate and required one only, it was okay before integrating portal (only one time do init call of comp controller). Now as we are calling different applications, its doing multiple times, we have to stop this.

Sm1tje
Active Contributor
0 Kudos

If the problem is the fact that the data is retrieved over and over again (after navigation), wouldn't it be possible to make this data (context) available via the interface? this way, all applications have that data available, right? I haven't done this before myself yet, but sounds like a possibility??

Former Member
0 Kudos

Yes but as suggested by Jung, each application is separate. Can we have only application call in portal environment and navigation will done by eventing,

Question is, when would be very first call for that application?

Obviously it would be NOT on those 4 links, as those would be used for triggering event and initialized components should be listening and act accordingly (To call views)

Sm1tje
Active Contributor
0 Kudos

Well, what I did in a previous project was this:

I had on WD component which could be accessed by customers (external portal) and employers. So I created TWO applications for this, both with parameter TYPE (one for CUSTOMER and one for EMPLOYEE). In the first window of the WD, I determined the import parameter TYPE. Based on the type, I navigated to VIEW X or VIEW Y.

So in the portal, the user enters the start (first) screen in which navigation is displayed via links at the top of the screen (standard portal navigation). The first time the user clicks on the link (application Link), the type could be determined in the WD Window.

The (customer) data which was retrieved in this first application (no matter which application was called / executed) was available to the rest of the applications (also from other WD components).

I know this is not exactly the same, but maybe you can find a solution like wise. Good luck with that.