Prism Blog

Archive for the 'Performance' Category

Prism Development Update Webinar July 2012 Summary

The latest Prism Development Update webinars took place on Monday 2nd July. We are not able to provide a video of the webinar this time, so here is a summary of the content.

Next/Previous buttons is one of the top voted Prism Ideas, for browsing back and forth in results at the item detail level. We demonstrated the implementation of this feature, which will be in the next release. Preserving the context is crucial and it will do that even when the URL for an item detail page is saved and used again later.

Renewal workflow. We demonstrated a re-designed process for renewing loans to make it quicker, more informative and easier to see the outcomes, for inclusion in the next release. It all happens in the loans page, with the outcome for each loan displayed in context, as well as a summary at the top of the page. The outcome of each renewal action is added into the page without refreshing the whole page, so that it keeps up with you as you quickly renew multiple loans individually. Furthermore, having been clicked, the ‘Renew’ button will be disabled and it will display a relevant, configurable text indicating either success or an exception, until you refresh the page. A single exception message will be displayed even when the system identifies multiple exceptions, selected from a preference order, so that the user is not overloaded with information. We are continuing to refine the display, so the release may differ from the images shown here.

Renewed loan

Renewal exception







Display of the Reserve button. The top requirement in Prism Ideas is to make the Reserve button context-aware so that it only displays when the item is reservable. This was not quite ready to demonstrate, but most of the work has been done, including a new service in the Local Data Services (LDS) to interrogate your local system. When there are no reservable copies, some configurable text will display instead of the button. When the user is not signed in, this will be done for those items where no copies are reservable by anyone, such as electronic resources and reference material. When the user is signed in the system will take account of the borrower type to suppress the button additionally where there are no reservable copies for that borrower type even though there may be for other borrower types. This will be included in the next release but the LDS upgrade will be required to enable it to work.

Feedback spam honeypot. Tasty as it may sound, this is intended to trap and discard spam messages generated by automated agents in the Prism feedback form, which have become a nuisance. They tend to fill in every field on the form, so we’ll add a field that’s hidden in the Prism interface but visible to software agents; when a message includes data in that field we’ll discard the message. This will be included in the next release.

Notes data. We are re-working notes data in the Prism data model. This will address issues of duplication and ordering of notes. We are also identifying structure, wherever possible, in appropriate kinds of notes, to improve display and indexing; this has been done for contents notes so that Prism can give a more organised and readable dispay, including hierarchical structure in some cases, as well as indexing author and title information appropriately. This will be included in the next release of Prism.

Enhanced enrichments. This development builds on the Notes data work and will follow in the subsequent release. Textual enrichments such as tables of contents and summaries from BDS or your preferred supplier will be included in your catalogue, where they don’t already exist in your bibliographic record. This will include indexing to provide greater discoverability of your resources. Additionally, further types of enrichment will be enabled for display, such as video clips. For the pricing of enhanced enrichment data, please consult your Account Manager.

Performance tweaks. With our approach to continual improvements to the performance of Prism we have made various upgrades to the web server software, delivering incremental performance improvements that will add to the responsive feel of Prism and better fit it for future development. We have also been able to adjust the response when no cover image is found so that your browser is more efficient in its use of the Prism servers.

Reviews. Matt demonstrated the design and workflow for user-contributed reviews. This is work in progress for a later release. Reviews will be listed in a Community contributions panel on the right of the item detail page. The full reviews will be on a separate page. Users will be able to report inappropriate content, as with shared lists. Initially, reviews will not be attributed to their author – this will come in a further development when users will be able to set up their own public profile. To create a review the user will enter a title and review text – both are required, and configurable prompt text can be displayed in the boxes. A ‘preview’ feature will show the user what the review will look like when it is published. Ratings and reviews will be separate, but when both are enabled then the user will be able to rate the item in the same page as entering their review.




Prism 3 Status and Uptime Monitor

Two vital aspects of delivering a service in the cloud, such as Talis Prism 3, are to ensure that the service is available for a very high proportion of the time, and that it performs well. Naturally we monitor these closely, and now you can see the information directly from the monitoring service.Service availability link

You’ll find the link to the Prism Service Availability monitor on the Talis Prism microsite in the left panel under Customer Resources.

The information is updated every five minutes. At the top there is a status indicator showing the current availability of the Prism 3 service.

The rest of the report shows uptime and average response time per month, most recent first, and you can select a month to see daily averages. Our target for uptime is 99.5% or better, so it is pleasing that the monthly average since February 2009 is 99.86% and that the last three complete months are all higher than that. We continue to strive to improve this further.

The montly average response times show an improving trend through 2010, during which twenty-four libraries went live with Prism 3, bringing the total to thirty-seven. This reflects the continuing effort to improve performance.

In addition to providing this information, we are working towards improved status information about Prism 3 on the Talis Live Services page.

Prism 3 Release – December 2010

We’re pleased to announce that the recent hotfix release of Prism 3 has now been released to the live service. This resolves an issue in the caching system and enables reset tenant cache to function correctly. An issue that limited numbers of customers experienced with the availability display has also been addressed.

If you have questions on this, or any other issue, please feel free to email, contact your account manager, or leave a comment on the blog.

Prism 3 Release – 19 November 2010

We’re pleased to announce that the recent preview release of Talis Prism 3 has now been deployed to the live service.  For full details on what has changed in this release please visit the preview release notice here: //

If you have questions on this, or any other issue, please feel free to email, contact your account manager, or leave a comment on the blog.

Prism 3 Release Preview – October 2010

We’re pleased to announce that we’ve just released the latest version of Talis Prism 3 for everyone to preview.

This release comprises the following changes:

  • The culmination of a large unit of work focussing on performance
  • A bug fix for customers with own hostnames, allowing them to view items in their sandbox tenancy.

As with all previous releases, these changes can be tested by using the demo version of your site. For customers using the “” domain, this is accessed by putting “demo/” just before your tenancy name, e.g.:

For customers with own hostname enabled, the “demo/” is placed at the end of your URL, e.g.:

If you have questions on this, or any other issue, please feel free to email, contact your account manager, or leave a comment on the blog.

Back in the academic groove with Google Analytics

We started using Google Analytics with Talis Prism 3 back in March, when usage across tenancies was relatively low – in the hundreds. Of course, in the intervening period a significant number of customers have adopted Talis Prism 3. As Imraz Mohammed pointed out on his recent Talis Prism 3 Update on this blog, 30 libraries have now moved to Talis Prism 3, of which 13 are university libraries. The combination of these increased volumes of usage and the approach of the new academic year means that Google Analytics is proving invaluable to Talis development staff and customers alike. Not only does it provide an updated picture of usage every few hours, but it’s so flexible that in different contexts, in this case, different times of year, it can provide powerful metrics for diagnostics and decision-making.

Of course the start of the academic year is particularly interesting (or murderous, depending on your viewpoint) for university libraries, where the user base and its multifarious motivations are shifting almost by the day. Around the middle of September, we were running at around 9,500 unique visitors per day across all the Talis Prism 3 tenancies. At this point it can be useful to start using the map facility on Google Analytics to get a picture (literally) of the shifting balance between use on campus and access from students at home.

And then suddenly, from Monday 27th September, universities welcome the year’s new students and the usage statistics started to climb. University of Northampton provides a great example of this. Already by Monday 27th, Talis Prism 3 is handling twice the previous traffic. On Tuesday there were 39,000 and by Friday they had reached 59,000.

By week beginning  4th October, students are returning, but freshers continue to make their presence felt on Google Analytics. The important metric Average pages per visit decreases as freshers log on to take a look at the system and play around with a few cursory searches before lectures start. On a similar vein, Average time spent on page has dipped and the bounce rate is up.

We start to see patterns at many levels. We notice that usage peaks on Wednesday and Thursday and then calms down for the weekend, before a growing again from Monday. And the longer we use it the more useful those patterns will be. I look forward to next year when we’ll be able to refer back to the September / October metrics in order to anticipate usage.

Our interest in Google Analytics extends well beyond the value for academic libraries in understanding end-user behaviour, important though that is. When providing Software as a Service such as Talis Prism 3, we need to be able to anticipate load with a high degree of accuracy. If not, unexpected spikes in usage may compromise the service. And this of course is the most critical time of the year, when expectations among students of campus services such as library systems are most likely to be set. On 27th September, when we experienced 1.5 hours of outage on Talis Prism 3, it was crucial to diagnose, resolve, and also make sure the problem did not recur. Two weeks later, Google Analytics enables us to state with confidence that we are successfully handling a five-fold increase in traffic compared to 27th September.

In order to resolve the underlying problems behind the outage, we advanced some of the performance enhancements we’d been working on into production. The majority of these changes will be released shortly, following a series of phased roll-outs, in which we install change on half the servers, monitor, and then roll out to the rest of the pool. This ensures that changes are tested in isolation, and is part of a broader testing strategy around Talis Prism 3, centred around:

a.       Automated tests which, for every change introduced, run through every Talis Prism 3 transaction – e.g. renewal, search, login – checking for an unchanged output in every instance. 20-30 minutes is all it takes to run through this comprehensive suite of functions.

b.      Performance tests in which we mimic live traffic on the two staging servers here at Talis before release onto customer tenancies.

Talis Prism 3 Outage – 27 September 2010

Earlier today we experienced an outage of roughly 1.5 hours on Talis Prism 3. We are very sorry for the inconvenience caused and wanted to give you a little technical background into what went wrong, and what we will be doing going forward to prevent this happening again.

This morning, at around 11:28, the Talis Platform Team observed an increase in the number of requests being sent to our backend data storage platform. We started investigating the reason for this immediately.

Whilst carrying out this investigation, at around 12:07, we started to see instability in Talis Prism 3; by 12:25 it was mostly unreachable, with a limited number of requests processing successfully.

Just after this, we identified that the outage was due to a 3rd party caching system, which saves configuration values for each tenancy for subsequent requests, failing. Further investigation highlighted a bug that could cause failure under high load. We have just had some large customers launch Talis Prism 3 which pushed this system over a limit it was unable to handle. This load was expected, and planned for, however we were unaware of the existence of this bug.

Once we identified the culprit we put a configuration change in place to make Talis Prism 3 use a different caching system. This was completed at 13:27 and deployed to one of the live servers for testing.

We turned off all access to Talis Prism 3 at 13:35 to allow the backend data platform to recover and for us to evaluate if the new caching system was working as intended. Once we were confident that it was working and could handle the load, we preloaded all tenancies and turned Talis Prism 3 back on. All services resumed by 13:55.

Talis Prism 3 is designed to be able to use different caching systems and once this was proved to be the cause of the outage, switching over to a new one was very quick to implement. We have been planning to deprecate the current system and are in the final stages of testing a more robust replacement. Talis Prism 3 already sees very rigorous testing, both automated and manual, however, we have identified several places where we can put in extra load tests to simulate the traffic we saw today. We will be making the implementation of this our top priority.

Prism 3 Release Preview – 2 September 2010

We’ve just released the latest version of Talis Prism 3 for everyone to preview; this release contains some essential precursors for introducing the Semantic Data Model, as well as several other under-the-bonnet tweaks.

The biggest change in this release is a new session tracking system. By tweaking how we handle “my account” sessions, we’ve been able make some changes which will allow us to further improve performance in Prism 3 going forward.

We’ve also enabled Talis Aspire integration, allowing those of you with our next-generation resource list management system to flag what lists an item appears on. If your institution uses Talis Aspire and you would like us to enable this integration, please raise a support request and we will make the necessary configuration changes.

For those of you undertaking your own styling, we’ve introduced a new theme fragment for placing all JavaScript includes; this allows us to control when they are sent to the browser, optimising the performance of your Prism 3 tenancy.

Finally, this version contains the first release of the Semantic Data Model. This will be trialled with several beta customers before being made more widely available. The work released today includes the new “Format” and “Content” facets, as well as display of Alternate Graphic Representation (MARC21 field 880) on item pages. Here’s a sneak preview of this new feature:

Main record representation

Alternate graphic representation shown after clicking on the "Chinese" tab.

As you can see, this release contains quite a lot of “under-the-bonnet” work so we’d really appreciate it if you can all cast an eye over your tenancies. To view the release preview, simply place /demo/ after the part of your url, e.g.

If you have any questions on this, or other issues, please feel free to email me ( or your account manager (or comment here, of course).

Prism 3 Performance Update – June 2010

An ongoing development theme, running in tandem with our other efforts, is a continual focus on improving performance in Prism 3. To validate this work, we have monitoring set up for several tenancies.

I’ve extracted logs from two tenancies and put together charts showing the marked improvement in response times over the last 12 months. The three lines on the chart show the average response time in seconds for the catalogue landing page (home), a search against the catalogue (search) and displaying an item/work (item):

Performance trend for a public tenancy

Public tenancy (click to enlarge)

Performance trend for an academic tenancy

Academic tenancy (click to enlarge)

It’s great to see that all three are loading in under half a second, making the experience for your end users much snappier. This isn’t to say that our work in this area is done – there are more tweaks we are planning to put in place in Prism 3, and the underlying platform it runs upon. Thanks to the “Software as a Service” model used for Prism 3, we can roll out these improvements as soon as they are ready.

The application is just part of the picture though; if you’ve created your own theming/styling for Prism 3, ensuring this is suitably optimised will also improve the performance for your end users. Much of the perceived slowness in a website is actually waiting for items to render once they’ve been downloaded, and you can do a lot to improve this. Properly optimising a design is a lengthy topic, which is covered in far more detail elsewhere (e.g. the Yahoo Performance Rules), but here are some quick tips:

  • Make sure you optimise images and choose the right formats. Use a program like Adobe Fireworks to compress images; if you have a photo on your catalogue home, you can usually compress it by about 85% with no loss of detail. For logos, avoid JPEGs, use PNG and set it to the exact colour-palette to keep the filesize down
  • If you use a series of backgrounds or icons, consider using CSS Sprites to combine them into one image file. This will reduce the overall number of requests for a page and speed up its delivery
  • Put Javascript as close to the bottom of the page as possible (in Prism 3 this means the end of your footer fragment). Since Javascript is interpreted by the browser as soon as it loads, large scripts in the head of a document can cause a delay before a page renders properly
  • Combine scripts into one file; as with images, loading lots of small pieces has more overhead than one larger file
  • Minify CSS and Javascript, tools like the YUI Compressor can cut the filesize and hence the time taken to download these elements
  • Make sure you remove styles only used in development, or which use hooks deprecated from the Prism 3 interface (such as the old availability layout)

If you’d like to discuss this, or any other issue, please either leave a comment here, or email