Wednesday, December 17, 2008

And that's a wrap for today

Okay, the final spots in the code that were not obeying guild preferences for date formatting are gone, gone, gone. Enjoy.

- New page for just viewing guild logs, for those who are into that sort of thing.
- No more spurious "admin message changed" logs for characters
- Fixed a javascript bug that kept some logs from showing
- Bulk gear changes now create log entries

Okay, one caveat:
If you were to, say, rename "Aegis of the Argent Crusade" to "Aegis of the Argent Crusa", you'd see log entries for each drop showing the drop had been changed. That's all well and good.

When the item scanner comes through and tries to find your item, it's going to change "Argent Crusa" to "Argent Crusade". So your previous change would be worthless. If this is the case, those log entries will be deleted. Whoosh. Gone.

Try not to panic. Everything is under control.

Dates and you

Okay, Aussies. You got your wish.

Time and date formats are now (somewhat) customizable. Set it up in the Guild Control Panel.

If there are formats you would like that are not in the list, let me know.

There are a couple of pages that have old date formatting. That'll be going away real soon now.

Small requested feature

The item scanner is far more flexible now. Means you should start seeing icons and info faster...since I'm not having to do as many manual changes anymore.

Also on the new list: if a character has been on a run in the last 30 days, they'll show up in the active list even if inactive. Much easier to keep track of people, says I.

Sunday, December 14, 2008

A week of small changes

Only two tables left now in the entire system using the old dynamic tables. Rendering is now much faster - not seeing near as many multi-second page render times.

Coming up next: per-pool character listings. This should be the last feature needed before multi-priorities come in. Multi-priorities are where we might take into consideration, say, rank before DKP. Or attendance might be a factor.

Along with multi-priorities will come a rework of the pools and events page. Right now it's pretty confusing (as in there's next to no data whatsoever). I'm looking to create a page that will walk you through basic decisions about DKP so first-timers have a better time of it.

Oh, and give people the ability to actually delete events. That'd be nice.

Tuesday, December 9, 2008

More better faster

So I finally sat down and got all the new dynamic table stuff ready. The technique that sped up the guild front page so much about a month ago has been applied to the character detail page as well as the run editor's log viewer.

So far it's brought the slowest loading page on the site down from 3.5 seconds (ouch!) to around 0.3 seconds. I think that's workable.

For those who are interested in this sort of thing: I have a small aversion to AJAX. When possible, I prefer to render things remotely: my tools are better, my debugging's better, all that sort of thing. I think this stood me in good stead when it came to the original version of AJAX (hardly anyone seems to use the XSLT variety anymore) and isn't a bad first instinct.

But when you have a page with multiple data tables that you want to paginate separately, you start having to do silly things to use remote rendering (said silly things mostly relating to out-of-band data for things like pagination), and the remote rendering starts taking a long time. Enter JSON. I wrote some javascript to populate a table from JSON data and we were off to the races. Most of the rendering is still done on the Swagbook server, but Swagbook now sends prettified components to the browser, which then assembles the table.

So what's the downside? Well, now javascript changes every time I want to change up a table - which doesn't happen as often as I'd thought it might. There's also an annoying "pop" as the page loads - this is from the second HTTP request for the JSON data. I'm considering eliminating the pop for some pages by stuffing the default data in the bottom of the page, but it's a bit low on the priority list right now.

Thursday, December 4, 2008

I'll cry. Oh yes. You just sit there and I'll start the tears.

I'm happy Swagbook is being used. Not so happy about bugs.

But the interface to Wowhead is back up and running. They took down their old interface that would have easy XML output for searches, but it's working now.

Oh, and I discovered that timezone caching wasn't working. It is now. Pages with dates on them should be MUCH faster. Shaved about 20% off the load time of the run list, for example.

You keep using it, I'll keep fixing it.

Saturday, November 22, 2008

Just when I thought I was ready to move on...

Up until about a month ago, all my database models were kept in a single file called sa_models.py. This file grew and grew to monstrous proportions, and eventually It Had To Go.

So I split it up.

As one would imagine in a relational database, there were interdependencies. I went through as best I could and did all the imports, but every now and then I'm still finding a function I forgot to import here, a class there. Which means someone gets a 500 - for which the fix is an import. Yay.

I reviewed a few more files today by hand that I suspected, and 80% of them got new import lines. Argh.

I'm sure there's a tool out there to warn me about just this sort of thing.

When I get some free time (hah), I'm going to go back through and update my old testing framework to the new system. Unit tests here would have saved me a lot of grief. Though they could not have been written even two months ago.

Anyway, just as I was thinking "well, CC forums are tapped out" I had 4 guilds created last night. Only 1 of which ran into 500s. Huzzah.

Oh, for those who are interested - I moved regular, archive, and admin character list views over to the new dynamic table system. You should see faster response times. Enjoy.

Thursday, November 20, 2008

Oh, nice going.

Well, congratulations whoever did it. Turns out I forgot to cap the number of Apache processes at something reasonable for a mod_python database app. Whoops.

Some OOM-killer fun later, and all is well.

Wow, good thing I only announced to the Cenarion Circle forums. Nothing quite as confidence killing as "lawl i cant get ur site."

I do know now, though: run siege. Srsly.

Monday, November 17, 2008

And I looked, and behold a pale horse: and his name that sat on him was Swagbook, and DKP followed with him.

So Swagbook is public beta now. Welcome my friends to the show that never ends!

From here at the Ace Hotel of Portland, Oregon I'm proud to announce the release of Swagbook to the great wide world.

I'll post up news here and try to give an idea of where things are heading, general news of that sort.
For now, enjoy your leveling in Wrath of the Lich King and I'll be there for you when you hit up Naxxramas.



commit ed7d76113f6e5725926fe89d50584598e24dbf5b
Author: Alan Shields
Date: Sun Apr 27 01:43:42 2008 -0700

genesis




commit 2b8c0439f0f42767c0367c2b61598034eb5f5a14
Author: Alan Shields
Date: Sat Nov 15 23:49:48 2008 -0800

quote marks



Rather ignominious, but there it is. I'll see you real soon.