xtim
Thursday, March 05, 2009
Bugfixes
Two releases in one day...
Release 7.3.1 has just gone up. This neatens up the interaction of global preview with
- Rolling archives (where everything up to N months ago is free to all anyway), and
- Gateway forms, where you can complete a form to obtain unrestricted access to a particular issue.
We also fixed
- Google ads when displayed against fit-to-width pages. They now stay in place rather than getting squashed below the page images.
and added
- Support for access to titles through /isbn/XXXXXXXX . That's not a real ISBN.
T
Global Preview
Release 7.3 has just gone live. This moves everyone over to the new access control model (parameter-based rather than cookies).
Now that that's in place we've also graduated to "Global Preview" - people browsing in our shop can search the complete archives of all of our titles. Results are presented in our standard list of cropped page images. The click-through takes you to the thumbnail view of the pages, with an invitation to buy a subscription for full access.
All front covers and contents pages are available at full size so you can see what you're missing. The text of these also feeds into Google to help readers find the content.
T
Tuesday, March 03, 2009
Expiry and signature
Generation on the Java side seems to be working fine. Next to get perl to interpret the parameters and grant/deny access.
T
Labels: projects
Large cookies
Best kind.
There are currently two codebases which work together to serve our web pages and page images.
By far the biggest is the Java application which runs within Tomcat and knows about all our abstractions - members, subscriptions, books and magazines.
The smaller piece of code is an Apache perl module which grants or denies access to the page images depending on what you're allowed to see.
These two pieces of code communicate through cookies sent via your browser - the Java code knows what you're allowed to see and it sets a cookie to reflect that. The browser supplies this cookie when requesting a page image and the perl module decodes it before deciding whether to send you the file you asked for.
There are complications like digital signatures in there to maintain the cookie's integrity through this conversation.
The problem is that some accounts (for example our UK shop) now have many subscriptions. It becomes inefficient to squash all this information into a cookie, and we're occasionally encountering hard limits on cookie length.
Time for a new solution.
The new approach follows Amazon's S3 model, where each image request will include an expiry date and a cryptographic signature. The perl module can just check the expiry date against the current system time, verify the signature and serve the file if all is ok. No cookies required.
On the Java side we have to generate the expiry timestamps and signatures for each request.
Java first.
T
Labels: cookies, projects, tomcat
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: accessibility, projects
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:
- Better structural markup - we should be using more heading elements than we are to break the page up.
- 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.
- 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: accessibility, projects
Tuesday, January 06, 2009
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: projects
Thursday, October 16, 2008
Text next
Live servers are now patched with to make curl work properly with Shibboleth.
Release 6.9.5 has just gone live; this fixes a cookie problem for those with lots of subscriptions (say a couple of hundred).
Next project is to make the text of certain magazine/book pages available directly on our web pages; good for accessibility, Google and flexible printing.
Side note of things to be added to the next web server AMI:
- curl patch
- tweaked sendmail config
T
Labels: AMI, projects, release
Tuesday, September 16, 2008
Platform Selection
Titles can now be assigned to platforms (local or S3). Next to release this to the live service and move a test title across for larger-scale testing.
In other projects: a paper issue is on its way for test scanning, technical details are under review by the federation and the import queue is growing steadily...
T
Delivery from S3
Got S3 delivery working last night on my local test system. It's still at the proof-of-concept stage, but it seems fairly credible. Page images are delivered from S3 and come through about as fast as they do from our existing live servers.
There's a new storage abstraction layer which coordinates actions through an appropriate storage service; one for local and another for S3. Each title will be associated with one or the other service as we make the transition. The services are mainly stubs at the moment but will get fleshed out over the next couple of days.
The plan:
- Pick up S3 connection parameters from our per-machine config file.
- Add storage platform field to Magazine
- Release
- Upload all issues of a test title to S3 and switch platform
- Test performance
- Pick up wordmaps, links, keywords and page images through storage layer
- Enable caching
- Integrate index rebuilds
Unforseen benefit: my test server can now deliver anything that's available through the live site, as they're both serving the same content (well, it'll still use a local database, but the page images, links and wordmaps will all be common). No more staring at screens of placeholders while testing...
T
Thursday, September 11, 2008
Catapult
Created a new tool (Catapult) which will upload a specified tree from our data hierarchy to S3. Seems to be working fine - next to create an abstraction layer in the web application so we can switch titles from local storage to S3.
Got the go-ahead from our federation, so we need to finish the live configuration for Shibboleth and share our metadata.
Also: imports. KW going up, need to do CH for publication later tonight.
T
Labels: projects, s3, shibboleth
Elision
Wow - was that really a week since the last post? Lots of things going on...
New site release is up (6.8.5). Features:
Improved login consistency - dropped the idea of a "theme" parameter being passed around, instead it's all now based on the title you're trying to access. If you came to the login page because you need to authenticate to see the page you requested, we base the login page theme on the theme of the title concerned. The title id is passed to the Forgotten Password page and back again to keep everything consistent.
All logins are now handled by the dedicated login processor. Previously the situation described above (you need to login to see what you requested) was handled by the page browser or issue browser - this led to inconsistencies where the preparation work done by our login processor wasn't taking place, so some options weren't getting offered to the user.
The year browser on the site's more accurate - we used to page your issue list into rigid chunks of 12 per page, then take you to the page containing the start of the requested year. Now we fine-tune the page start so it coincides exactly with the first issue from that year. This was a particular client request.
Some theme work for the same reason.
The load-balancer config's been updated to ensure that sessions are consistent across http and https requests.
Shibd still up and running in the test configuration. Waiting for confirmation from the federation before switching to a live config.
Also, imports and the regular monthly routines.
Going to clear remaining emails and dedicate today to getting S3 up and running for a test title.
T
Monday, September 01, 2008
We're back
A fun but slightly wet tour of the country last week - Peterborough, York, Newcastle and Lancaster. Ubiquitous broadband and the iPhone make it much easier for anyone who's at all prone to work stress to check emails in a moment and get back to the holiday.
Edit: belay that. My phone is now working the way it did before the update - most curious. Maybe rebooting the phone fixed it? Keep a keen eye on the 2.1 release when it arrives. The rules are available here.
There's also a bug to fix in the way our French renewal notices work, plus we have our organisation certificate ready to complete the Shibboleth configuration. After that: hosting.
T
Labels: iPhone, projects, shibboleth
Wednesday, August 20, 2008
Imports and uploads
Uploading the Shibboleth tarballs to our first live test machine while the Wednesday imports chug along in the background.
There are only a couple of days left before I'm off for a week. Planning to consolidate the Shibboleth work so we're in a position to hook up with external IdPs when I'm back.
Any spare time's going to go into S3 research.
T
Labels: projects, shibboleth
Tuesday, August 19, 2008
Pause
Added a suitable error message to display when we don't recognise you from your Shibboleth login, and merged the code into the main trunk. Once this is live I can start some more realistic tests with public ID providers before addressing the where-are-you-from side of things.
Switching to a different kind of institutional feature this afternoon - library cards, here we come.
T
Labels: projects, shibboleth
