Gordon Watts


Hi,

Ok -- I didn't see this in the docs, but point me if I missed it.

I have written a custom block and put it in two small mashups and then downloaded those as sidebar gadgets. All worked pretty easily.

Now, after that happened I realized that by default "getXml" will fetch data from the IE cache instead of re-querying the server. I fixed that code in my custom block.

Of course, my side bar gadgets didn't pick up the change. So I reinstalled the gadgets -- and they still didn't pick up the change. It was only after I re-saved the mashup and then redownloaded the gadget that I had the new behavior running on my desktop.

In short, local copies of the blocks are saved with all mashups, and nothing is recreated on the fly. Is the the expected behavior

Cheers,

Gordon.




Re: Saving Sequence

Timothy Rice MSFT


Hello Gordon and thanks for giving Popfly the full round-trip test

Yes, this is the expected behavior - it makes it so you can update your custom block without breaking existing mashups. (including other people's mashups).

Maybe we could throw in a warning or something, what do you think






Re: Saving Sequence

AndyS

As Tim says we would be interested to hear how you would expect it work especially when changes are made to a live block that make it different from a block you have in your mashup.

At the moment a mashup has the copy of the block so it will always work, that we will keep as it is. The tricky part is what's the best experience for you as a user when you go to edit that mashup. Should we:

1) Do nothing, the mashup is as it was before only if the block is added again will the changes be apprent
2) Inform you there is an update but don't change your mashup
3) Try to update your mashup to the new block code and only inform you if there is a conflict

Appreciate any insight you might have.





Re: Saving Sequence

Gordon Watts

Hi,

Weeellll. I write plenty of code for my day job. But I don't for PopFly. So I can understand how unhelpful this answer might be.

I want both behaviors.

First, let me say what my code does -- perhaps I'm not using PopFly in the best way and that is getting me into this situation. I have a small custom block that queries a web server that delivers monitor information. This block then delivers the monitor result as its output to the next block. I then coded up two mash ups that were a timer -> my custom block -> a guage. Thus, every 30 seconds, the guage gets updated to reflect the monitor value. I built this mashup twice so that I could have two different monitor items displayed on my sidebar.

The problem came because my original content block had a bug in it. The bug wasn't apparent until after I'd had both mashups running for a while. So I fixed the bug in the custom content block and of course my mashups didn't fix themselves.

So, for a bug fix like this, I'd like my fixes to automatically propagate to the mashups.

On the other hand, if I built a mashup based on the custom content block, and then later on decided to add a new parameter to my custom content block, then that would be an interface change that would break my or other mashups. In that case, I'd like my mashup to keep running with the old one until I was able to get around to updating it.

Perhaps a link or a list of mashups that are using old versions of the their blocks And that one could then update them with a simple click (or update all at once) Not sure. My nightmare is lets say I build a block, make it public. The block becomes unexpectedly popular. Unfortunately, I didn't design the original block and web service with scalability in mind. I need to change the block to use another way to get the same info to make is scalable. I want everyone to start using the new version of the block right away because the old block is killing my servers....

I hope that is helpful!

Cheers,

Gordon.





Re: Saving Sequence

Gert Van Waelvelde

Hello,

I agree that both behaviours are useful (keep using the old block vs. automatically using the new version),

however making them both available may make things a bit too complicated for non-developers. And that's what Popfly is made for, so I suggest the best way is

to keep using the old block so that no mashups are broken.

If you want to use the new block you'll have to upgrade your mashups.

I realize this solution can create problems where others use your blocks and they don't upgrade their mashups, but I think it is more important to keep the user experience

simple and to make sure mashups aren't broken than to force a block update which can create a lot problems for the mashups depending on it.

Gert






Re: Saving Sequence

Gordon Watts

Hi Gert,

I don't disagree. It is nice that once you get it working it stays working. And you are right I'm closer to a developer than I am to a non-developer user.

Gordon.





Re: Saving Sequence

Anonymous04

Well, when I use Microsoft Visual Web Developer, it seems to do the same thing, when you go to preview a page you've made, it previews what you have. When u close the page, and then make changes to your webpage and want to see the new changes, it will preview, but it will show you what it showed you the first time... without any of the changes you've made. I find this extremely annoying. Now this is a different application, but the behavior is essentially the same. I personally think it would be great if when you go to save over a project, a window pops up (like the "are you sure you want to overwrite" window) which asks you what/where you want the changes to be applied. So have a radio button for "only change my mash-up" and "change my mash-up AND my gadgets" and "change only my gadgets" etc.