xtim
Friday, January 30, 2009
 
The problem with the button cache
is that I misconfigured it.

We started to see people getting logged out of the site unexpectedly while in the middle of a session.

Finally realised that mod_cache is caching the Set-Cookie: headers in the button image responses. The only cookie we would set there is if a request has arrived without an existing session, in which case we set the cookie to indicate our main shop account.

When your cached button image expires, your browser would request the copy cached in apache. Apache would deliver that, along with the Set-Cookie header if one had been stored. Then whoosh - you're back in the shop.

Ooooooh dear.

The fix is easy once you realise that you need it - use


CacheIgnoreHeaders Set-Cookie


to tell mod_cache not to cache the cookie header. That's now in place and is working (I've checked the stored headers and they're clean). Hoping that's the end of it!

T

Labels: , ,


Tuesday, January 27, 2009
 
The button cache
Just upgraded the apache installations to support the disk cache. This is part of the plan to move all the sites over to template themes (which is in turn so that we can improve the page structure without having to fix up multiple stylesheets).

One of the features of the template theme engine is that the toolbar buttons are automatically generated on demand. You can select a new colour for the theme and matching buttons will magically appear - no photoshop required.

When we move the main site onto the template theme, that will mean a lot of people will be making a lot of small dynamic requests of the site (paint me a green button) and this could cause some overhead.

Apache now has built-in caching which seems a good fit for this. I've enabled it on the live servers (but just for the button URLs) so that images will be recalculated once every 15 minutes. Seems to be working fine - I can clear the browser cache and request another page, seeing the button image requests logged in apache but not tomcat. Performance seems fine.

T

Labels: , ,


Friday, January 23, 2009
 
Mail server
Expanded our mail server last night - it's a VM so this was just a quick request to the hosting company and a slightly nail-biting reboot. Tada! An extra couple of GB disk space. The machine's uptime was over a year until the reboot. Hope it lasts another year until the next one.

T

Labels:


Thursday, January 22, 2009
 
Consolidation, at last...
So I can pick up tomorrow:

Currently improving screenreader navigation of the site by improving page structure.

Problem: there are quite a few site themes and we don't want to break any of them.

So, move as many themes as possible onto our newer template theme engine so there's only a single stylesheet to worry about.

T

Labels: ,


 
Screenreaders and the site
We now feature the full text of most of our magazine pages on the site. While this means that screenreaders can now read the page out loud, we haven't yet streamlined the page navigation to make it easy for users to go straight to this content. That's a project for this week.

I've been testing with FireVox which does a great job of reading the site content, but highlights a few areas which could be improved:


  1. Better structural markup - we should be using more heading elements than we are to break the page up.

  2. Skip links? This is related to the first point but there should be a straightforward way to skip the toolbar/navigation links when reading the page aloud. I think fixing the first point may take care of this.

  3. Form elements don't always have an associated label.



Looking around the web at the current state of page navigation for screenreaders - I was aware that css now featured aural and speech media types but it looks as if this is not widely supported.

Skip links seem to be one of the last areas for browser hacks. Approaches include marking them as display:none (which it seems most readers will ignore anyway, as you might expect) or positioning them offscreen, making them 1-pixel transparent images or tiny text. None of these approaches really appeals.

Current plan of attack is to improve the structural markup and see if that gives enough information for FireVox to allow users to zip around the page. Then ensure that form controls are marked up correctly.

T

Labels: ,


Thursday, January 08, 2009
 
Broken characters
Lots of imports today.

Also found a bug in RubberStamp which caused text extraction to stop on the first page that contained a non-UTF8-expressible character. I think the file in question was actually a little broken (odd charmap?) as I can't think there are many occasions when the text of a page wouldn't be expressible in UTF-8. It was an embedded ad so something had probably got broken higher up in the production process. Now fixed. We just screen out unencodable characters as they're processed.

Also, replaced the waste plumbing on the bath to fix a leak. Lessons learned:


  1. Don't expect to be able to re-use old compression joints (the ones without a screw collar)

  2. All 40mm pipes are not the same diameter

  3. Leave as much of the original plumbing in place as possible, with an old pipe as the connection point. You can get universal connectors to fit old pipes, but not universal pipes to fit old connectors



T
Tuesday, January 06, 2009
 
Clipper Fix
Slaps head - it wasn't anything in Firefox. It was the move from magazineIds to titleIds that broke the clipper. Why I thought it was still working in other browsers when it clearly can't have been is a mystery to me.

Anyway: now fixed.

T

Labels:


 
Still here
and, surprisingly, there are still a few mince pies left.

December saw a fair amount of performance work on the site - operations are now an average of 2-3 times faster than they were in November, with magazine page access and search highlights the biggest winners. There's always more work to do in this area, but the next step will be to relocate the servers back to Europe closer to most of the clients. Leaving performance work for now as we clear up any other loose ends from 08.

Yesterday RubberStamp got an update to handle "fake bold". This is where a page presents bold text not by using a bold font but by repeating each character, once as a filled glyph and again as a stroked outline. The appearance is of a bold character but the text of the page suffers aass yyoouu ccaann iimmaaggiinnee. RubberStamp now watched for this and works around it.

Currently finding out why the clipper's not working in Firefox 3.

T

Labels:



Powered by Blogger