cancel
Showing results for 
Search instead for 
Did you mean: 

Portal Eventing between WDP iViews on different pages/worksets

Former Member
0 Kudos

Hi,

Application structure:

I have 4 WDP apps running in 4 separate iViews in the portal.

Portal Navigation Schema:

1) iView1, iView2 and iView3 are directly attached to workset1. (I have avoided pages because every page will have just one iView assigned to it if I were to use pages.)

2) iView4 is directly attached to workset2.

3) workset1 and workset2 are attached to a parent workset, which is in turn attached to a role.

The problem:

iView1 has a date input field, which if the user sets, should automatically propagate to iView2, iView3 and iView4. The user must not have to choose the date that he picked in iView1 when he navigates elsewhere. Now I know that WDP iViews can talk to eachother through EPCM.subscribeEvent and EPCM.fire methods as long as they are on the same portal page, but is there a way to achieve the same effect when WDP iViews are not on the same page?

Any insights are very welcome!

Regards,

Navneet Nair.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos
Former Member
0 Kudos

Kumar, Rui,

I have all my code inside a web dynpro component. All that I have in dynpro to work with (or that's what I know so far) is a WDPortalEventing object that I can use to access the fire, subscribeEvent and unsubscribeEvent methods. I still haven't found a way to get to the actual EPCM object that the Portal runtime gives you through javascript. And even if I get there, how am I supposed to write javascript in my dynpro code and later pass the value stored in the client data bag to the web dynpro context ?

Simon,

I had tried a small app yesterday and it didn't work when the iViews were not assigned to the same page. I will see if I can change my code anymore and get it working. I will make fresh posts to this thread as and when I find anything that works. In the mean time, if you have webdynpro iViews that talk to each other across pages, do let me know how you are doing it!

Thanks for your replies...

- Navneet.

former_member262279
Participant
0 Kudos

Sorry, I missed to see you where working with a WebDynpro.

Why don't you use WDScopeUtil instead?

Try something like:

WDScopeUtil.put(WDScopeType.CLIENTSESSION_SCOPE, variable, "VALUE");

String value = WDScopeUtil.get(WDScopeType.CLIENTSESSION_SCOPE, variable);

Former Member
0 Kudos

Rui....that works like a charm! Exactly what I wanted!!! Wish SDN would let me award you a 100 points

Thank you very very much!

regards,

Navneet Nair.

Answers (2)

Answers (2)

former_member262279
Participant
0 Kudos

The events won't work for iViews in different pages. There's no iview to receive the event when it is fired.

But if you just want the date to be available for other iViews use the DataBag as described in the document from the previous message.

Use the methods storeCliendData and loadClientData in the iViews.

Former Member
0 Kudos

Hi Navneet,

So have you tried this out and it doesn't work? Or are you just anticipating a problem? I think you should be abl to get this to work using the EPCM JavaScript framework as you describe - I would be suprised if you could not. Technically a page is just a type of iView that other iViews can sit in.

My suggestion is to try and to use a good JavaScript debugger like Firebug in Firefox to see what is happening in JavaScript land!

Hope this helps,

Simon