cancel
Showing results for 
Search instead for 
Did you mean: 

Flash island

Former Member
0 Kudos

Hello everybody.

I've been working on a web dynpro application lately in which i tried to incoporate flash islands.

My application has 2 views. The upper view is a standard ALV and the lower view is the flash island view, containing a flex-written chart to display data.

The problem I'm having is that every time I scroll through the ALV, or even right-click anywhere on the screen, the chart in the flash island reloads and thus the animation is displayed again. It looks as if every action on the screen causes the flash island to refresh.

I looked at some SAP demos using flash charts and to my surprise, they suffer from the same weakness.

BR,

Mickey.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

...

Edited by: Mickey Yarden on Mar 1, 2010 7:40 PM

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

You should read up on Delta Rendering and consider activating it for this application. Part of the reason we require the FlashIsland to be the root node in a separate View is that it will always be delta handled. However in NetWeaver 7.01 delta handling is not turned on by default. In 7.02 we improved the way delta handling works and we did activate it by default.

To read more about delta handling see this online help article:

http://help.sap.com/saphelp_nw70ehp1/helpdata/en/eb/cbd08ae1754c708947c0f5b0779649/frameset.htm

You do have to be careful that the context that is bound to the Island is not changed however during the server event. Internally the ALV does some invalidations of the bound context node. With an ALV bound to the same context node, you might not be able to avoid the delta change. Also on 7.01 I can't promise you that the delta handling will always work perfectly (we error on the side of caution and do too many changes, rather than possibly miss one) - which is why the functionality is not used by default.

Former Member
0 Kudos

1. I read on delta handling as you advised and activated it in my application. I also removed any context-connection between the flash island and the ALV. In fact I hard-coded the data to the chart and still, any action on screen causes the chart to re-draw. I'm using 7.01. Can it be the problem?

2. Do you have an explanation why even a right click on the screen causes the chart to reload?

3. I tested the application DEMO_FLASH_PROFIT, which I believe is your own work (I learned using flash islands from your tutorials) and activated delta-rendering for it. I used the u201Cinsert entryu201D button to add some entries so scrolling will be available in the upper view and when I scrolled, the animation occurred. If you could tell me that activating delta-rendering on your system for this application stops this refresh I would know for sure that I must upgrade.

4. An event on my upper view changes the visibility status of my flash view. Can this be the connection that causes the problem?

5. Any other thoughts/advice or any further information on delta rendering will be great. Iu2019m really excited about the integration of flash islands into WD4A but so little material is available on this topic and so little w4DA programmers use it that making the first steps with it is not that easy.

BR,

Mickey.

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

I wanted to let you know I am working on your questions. I need to run some tests in both 7.02 and 7.01. I have a few other commitments today was well. It will probably be this evening or early tomorrow before I have some answers for you. Did want you to think I missed the thread or was ignoring it.

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

> 1. I'm using 7.01. Can it be the problem?

The delta handling in 7.01 is not as good as it is in 7.02. Hence the reason why delta handling is turned off by default in 7.0 and 7.01 and turned on by default in 7.02. OSS Note 1337404 does improve delta handling in 7.01. However I don't believe this is the cause of your problem becuase I couldn't get the delta handling with FlashIslans to work in my 7.02 system either - more on that in a moment.

>2. Do you have an explanation why even a right click on the screen causes the chart to reload?

Yes. The right mouse click is a server side event like any other. The context menus have to be built on the server side. It appears that any server side event is resending the entire context back to the FlashIsland.

>3. I tested the application DEMO_FLASH_PROFIT, which I believe is your own work

No that is not my application, nor do I have the source code to the Flex Component. However I can confirm that it acts the same way in my 7.02 SP3 system.

I also used a similar FlashIsland I wrote. I even rebuilt it with the latest version of the FlashIslands runtimes. All of tihs running on 7.02 SP3 and I had the same problem. I also tested with a SilverlightIslands - same problem. The Web Dynpro framework seems to be sending the complete context regardless of if there is a delta or not.

The applications in question - DEMO_FLASH_PROFIT and mine - are following the correct patterns for delta handling to work. I'm not sure there is much more that can be done from the application developers side. At the extreme I supose on the Flex side you could use Getters and Setters instead of direct binding and then do some sort of delta check there.

That said, I will consult with the developer of the framework tomorrow. I will share my testing results and see what he thinks. Perhaps there is some bug or perhaps delta handling simply won't work for Islands. I will share any results that I get back from him in the forum.

Former Member
0 Kudos

Thank you for your detailed response. I just wanted to note that in my opinion we're talking about a massive drawback here. I actually think my client will prefer to give up on the flash charts even though his first response to them was sheer amazement. I really think it's crucial for the success of this beautiful platform.

I'm waiting to hear the news, and again, thank you for your patience.

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

I confirmed with development that the current implementation of delta handling doesn't support FlashIslands. There is a bit more to the details, but that is the end result. The upside is that we have created a prototype of a possible solution and submittted it to development for review. I will post any future news to this thread.

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

I have good and bad news about this item. Good news - development has accepted this item for the next development sprint - of course there is no promise of delivery of features at this stage. However it is good that development is allocating time to the topic. The bad news is that this is likely going to be classified as an enhancement would be part of NetWeaver 7.03. That means it could be a while before you have access to it. I will update this thread if there is any future news.