Test Beta for v1.1.1

Coordinator
Jan 16, 2008 at 5:37 AM
I'm not putting this into the release section because I'm 80% tempted to reverse the UpdatePanels.

This code works beautifully locally, but is slower than molassas in January on my hosted server. Is there anyone willing to kick the tires on this and see what they think? If no one has any thoughts by tomorrow, I am going to back out the UpdatePanels and release it without the AJAX capabilities.
Coordinator
Jan 16, 2008 at 5:41 AM
Okay - it doesn't want to let me upload files here. I've posted this up as [release:CTP v1.1.1|9923] in the releases.
Coordinator
Jan 16, 2008 at 6:40 AM
Edited Jan 16, 2008 at 6:42 AM
Okay, so...I've learned a few things in about an hour playing around with my guild's website.

I'll replace the release tomorrow with a new one, but I'm still curious about people's thoughts. My perception is something slowed down on the server between the last release and this one, but I have no proof.

It wasn't actually that things had slowed to a crawl, but that the UpdatePanel and PartialRendering made it appear slower than it was. Without the partial rendering, I got to stare at an progress bar at the bottom of my web browser...with partial rendering, there was a set of AJAX boxes ticking away telling me something was happening in the background, but it was at the bottom of the DNN module...below the scroll bar and out of site - giving me the impression it was just super-slow.

So, in the code, I removed all my UpdatePanel controls and unchecked the partial rendering support and everything seems to be behaving as it was - using postbacks, but giving the nice long green bar at the bottom. For this release, I think I will release it without the partial rendering support enabled, but leave it as a documented flag that can be tripped for people to enable if their web hosting provider is speedy enough.

...but now I'm left wondering if it's my code (I'm now second guessing the code changes and whether the popover code would cause that much of a degradation in performance) or hosting provider (but I just was okay with the slow loading before because I didn't realize it was slow)...or maybe I'm just paranoid. Anyway, I'll pull down that CTP build tomorrow night and replace it with v1.1.1 beta proper and look for feedback.
Coordinator
Jan 16, 2008 at 4:37 PM
This has been bugging me all night and while I was in the shower this morning.

I think there is the potential to cut the processing time by about 75%, but I don't know how to implement what I want to do. Anyone want to have a code convo here?

I will reach out to a couple company DLs and see if I can get some advice, but I'm hitting some new territory for myself. I think I'm just being more of a slave to the DNN programming model than I should be...and it's hurting me in the performance department.
Coordinator
Jan 16, 2008 at 8:47 PM
I've had some discussion with people a lot more knowledgable than I. :)

I will do some recoding of the business and data layer to move the data into a cached DataSet that's held in memory and do my queries off of that - refreshing it as WoW Armory data loads are done. This should yield a significant performance gain and only use an additional 10-20MB of RAM from the web server (which should be minimal impact).

I'll still repackage v1.1.1 tonight and call it v1.1.2, and then plan on a v1.1.3 release this weekend or early next week.
Coordinator
Jan 17, 2008 at 6:47 AM
As promised, I've pulled down v1.1.1 and posted v1.1.2.

I hope to have the roster page recoded this weekend, and have v1.2.1 posted within a week.
Coordinator
Jan 29, 2008 at 4:16 PM
Okay - I've been doing a lot of research on UpdatePanels and postbacks. :)

It looks like the code isn't any slower - it's doing what it's supposed to do. The problem is in my misunderstanding in the behavior of partial updates, which is the AJAX behavior I'm using. Basically, using the UpdatePanels doesn't reduce the amount of code being executed, just in the visual refresh of the page - all the postbacks still occur, which means all of the datagrids and hover menus are all constructed with each click on the UI.

So the fact that the partial rendering runs no faster than no partial rendering seems to be the code behaving as it should. This means I need to relook at the way the AJAX UX is being delivered.

Any AJAX experts here? It would be helpful to get a better idea on how to implement this. :)
Coordinator
Jan 29, 2008 at 4:50 PM
Edited Jan 29, 2008 at 6:03 PM
This is a note to myself more than anything else.

In v1.2.2, I will try to replace the DataGrids with the idea expressed in the ASP.NET AJAX Grid and Pager article.

As another note, there is a really cool queuing Javascript class that could work for the calendar module.
Coordinator
Feb 4, 2008 at 4:04 AM
I spent a LOT of time trying to get the FK constraints working on v1.2.2 - and this fell by the wayside this week.

I am putting this off until the next release, which will be in a couple weeks (I have TechReady 6 next weekend/week, which has me commuting into Seattle every day from Sat-9 through Sat-17) - although I will try to get some ideas and source code moving on it and something checked in for folks to look over - if anyone is interested.