Prism Blog

Archive for the 'Architecture' Category

Talis Prism 3: Talis Keystone VMA Single Sign On

Following feedback from the Talis Prism 3 webinars held last month, we identified a difference between the Single Sign On shown on the Talis Prism 3 Roadmap, and the immediate requirement to replicate the Talis Prism 2 Single Sign On with Talis Keystone View My Account (VMA). We have investigated this, and look to run this as a Consultancy project, but would like to organise a webinar to validate requirements and identify customers who would be willing to test this with us.

To register for this session on Tuesday 1st September at 1:30pm, please email Alison Kershaw stating that you would like to attend, we will then send you details on how to register.

Talis Prism 3: Investigating Cross-Searching Multiple Catalogues – 2nd September

Talis would like to invite you to attend a webinar on Wednesday 2nd September to further discuss the Cross-Searching Multiple Catalogues requirement, and how we can look to move this forward as it currently isn’t addressed within the programme of work outline on the Talis Prism 3 Roadmap.

This webinar has been designed to understand the Cross-Searching Multiple Catalogues  requirements, and you should look to register if you have used the  Z39.50 search in Talis Prism 2. To register for this session on Wednesday 2nd September at 1pm, please email Alison Kershaw stating that you would like to attend, we will then send you details on how to register. Please do pass this invite to colleagues who you feel may be interested in attending.

What’s the relationship between Talis Prism 3 and Juice?

One of the things I’ve been asked about most over the past few weeks is Juice, and by implication, extending Talis Prism 3. Let me try to explain…

One of the principles underpinning Talis Prism 3 is its ability to grow and do new stuff. There’s a lot we’re doing under the hood to allow us to add new features in our regular releases, but we also want you to be able to play too. We want your web development teams to add cool new features for your institution and to share those with each other.

To do that, we’ve made it so that you can add your own JavaScript to Talis Prism 3 pages, extending them with new features and integrating them with other systems you have.

Using simple JavaScript extensions you could add in Google Maps showing where your branches are. You could bring pricing information from Amazon into your pages, or reviews from LibraryThing. Maybe you’d like to include a floormap of where to find a book in the shelves or embed videos from Meet the Author.

prism with google map

All of these things are possible by adding your own JavaScript extensions to Talis Prism 3.

Of course, most of the things people want to do when extending Talis Prism 3 have things in common. You want to get some information out of the page, do something with it (like query Amazon) and then put something back into the page for the user. That’s where your developers might
find Juice useful.

Juice is not a product and is not part of Talis Prism 3. Juice stands for Javascript User Interface Componentised Extensions. It’s an open-source project started by Richard Wallis to help people extend web-based applications more easily. You can use it to extend any web app where you can add some JavaScript in. Conversely you can extend Talis Prism 3 without using Juice.

Juice has been designed to make it easier to extract information from a page, query other services with that info and then add more information back into the page for the user to work with. As that’s what many extensions will want to do, Talis Prism 3 and Juice make a great combination.

As Talis Prism 3 continues to develop we’ll be adding in more features to allow you to extend it. RSS feeds of searches and a full Linked Data API to get at your catalogue data in other applications are both planned.

If you have ideas on extending Talis Prism 3 for yourselves and want some help, give Richard a shout. He’s always looking out for new ideas and to help people make them real.

Successful first Prism Day in Birmingham

 Talis Prism - Search ResultsToday saw the first Prism day to look at the new Prism and to see and hear from those at Talis talk about the new architecture behind it, the design aspects of the new interface, and how it can be extended.

Thirteen representatives of customers joined us at the Talis Birmingham offices.  As the first of these events it was very much a two way event, with Talis staff learning as much about how Prism is to be used and received, as customers understanding the things to be considered for a new Prism implementation.

Set in the context of the development of a whole new architecture and product fit to support and enable the needs of a discovery application with a ten year lifespan, the primary consideration is planning.  The implementation of Prism is a project, probably extending over several months, which requires engagement from the start of the library, IT, web teams and designers, and from the Talis  consultancy team.

Dave Robinson & Chris Waring from the Talis design team showed several stunning designs that have already been applied to some early adopter prism tenancies.  They also showed the Broadminster demonstration tenancy interface, which sported an animated book jacket carousel.  These they used to show how the designs where evolved and what some of the possibilities are.

Prism gbs Towards the end of the day I had an opportunity to demonstrate some work I have being doing on how other services, such as Google Book Search and screen reader technology can be added to the Prism interface.  Also on show for the first time was the Prism area of the Talis Developer Wiki, where the community of Prism users and developers will be able to share these experiences, code, and documentation for Prism extensions.

From feedback at the end of the day, it was clear that many had found it very useful.  A great start and I encourage all who are contemplating moving to the new version of Prism to sign up for and attend one of the other scheduled days.

Design – Configure – Customise – Extend

Whilst discussing the way libraries will want to change, over the lifetime of the product,  the way their particular Prism tenancy looks, feels and behaves, it became clear to me that there are several subtly different processes that could be involved that are often lumped together under the heading of customisation or configuration.

Although only subtly different on the surface these activities attract different skill sets and levels in their implementation. 

This post is an attempt to clarify some of the language that will increasingly be used as Prism tenancies are rolled-out.

  • Design – the process of establishing the look of your Prism Tenancy.  Defining the fonts, colours, graphics, layouts, and links to give your Prism interface a stunning look that , dependant on your requirements, either fits in with, complements, or even contrasts with the other online styles of your organisation.  This process will inevitably involve web design people from your organisation and/or ourselves.
  • Configure – this is the process we are all used to. Switching on and off capabilities, deciding how many facets to display, which elements can be used to sort results, etc. The normal system manager style tasks that are required from time to time.
  • Customise – the process of changing the way the core functionality of your Prism tenancy is delivered to those that use it.  This would entail the use of APIs that underpin the product, heavily customising the html used in the display, or even modifying some of the underlying code.   Obviously anyone involved in this will need significant skills in html, JavaScript, web based APIs and other similar technologies.
  • Extend – Integrating links to external functionality to add the user experience.  This could be for instance a window enabling users to buy books from Amazon, or links to videos recorded by authors, or enabling a text to speech service that talks the pages to your users, or links to the full contents of books held at Google – the list is endless.  The way that you would implement these extensions would obviously differ but in general you would copy a few lines of html or JavaScript in to the tenancy’s configuration file for say the header or footer element of the pages.    These examples could then be shared between the community of Prism customers, via forums or a development environment such as a wiki.  All others, wishing to use the same extension, would need to be able to do is to paste the code in to their tenancy to test it.  The skill set required here would probably be simple html and  awareness of how to access the tenancy configuration files.

These are general descriptions of what could be involved, not all of which any customer would need to consider – especially in the early stages of moving to a Prism tenancy.  Some may never progress beyond the design and configuration stages.  Others may find over time that their efforts to extend Prism may become popular and well used by others in the Prism community that they share them with.

We are currently in the early stages of the implementation of Prism, so the ability to extend or customise a tenancy is something that is yet to be readily available.  It may be some time before the ability to fully customise becomes an option. As part of the upcoming Prism Days we will be demonstrating the type of extensions that will be possible and discussing how this will evolve.

Hopefully the explanation of some of this terminology will help as Prism, its architecture and the way it is to develop is discussed in coming months.

I would be greatly interested to hear if these descriptions are indeed helpful.

Sketching out an architecture

idea-09 One of my jobs in life is to try to explain things, often quite technical things, in a way that it is easy for folks to understand – you don’t get the title Technology Evangelist  for nothing!

The architecture that underpins the new version of Talis Prism, which is just starting it’s beta roll-out, is very different from it’s predecessor.  This difference has many benefits associated with it that become clear with an understanding of the architecture.  In such an endeavour, I always believe that a picture is worth far more than several screen fulls of blog post, so over the last few weeks I have been working with my colleagues to try to come up with a good picture to represent the new Prism architecture – a process I thought I would share with you as we move towards finalising what we are doing.

There are two parts to the Prism architecture: the search & discovery functionality; and the Local Data Service (LDS) module which interfaces with the local library system for live actions like reservations & renewals.  For this first picture, to keep things even simpler, I am concentrating on the search & discovery functionality alone. I will return to the LDS at a later date.

Here is one of the first pictures we came up with:

Click on the picture for a larger view

It shows the Talis Platform at the centre of things with applications such as Prism around it, but doesn’t really clarify things much – so we tried another tack…


Again the Platform at the centre of things with API access radiating from it, supporting individual application business layers (the shaded-in segments) depending on those APIs.  Of course this raises the issue of what an application is.    In most contexts an application will consist of a user interface, coupled with some business logic, and some storage.  Although you can identify these elements in this diagram it is still not doing it for us – so we tried again….


This was getting much nearer – the Platform being shown as the foundation, with layers building on top of each other (the call-outs would describe the services each layer would provide)  to eventually support a user interface at the top.  Missing from this vision are the concepts that the Platform supports many applications storing all sorts of data; the layers above then specialise access to the platform (knowing what to do with bibliographic data for instance).  So taking these on board we tried this…


An interesting angle on the problem – lots of stores in the Platform – a clear UI->API->Platform stack, but a bit monolithic and constrained – how does it relate to other applications built on the Platform?  Moving on…


This one came even closer still – a generic Platform, containing lots of individual stores – the API layer above providing bibliographic specialisation – the user interface layer which is the view of Prism that folks get to interact with. – Still feels constrained, the Platform after all is a globally scalable service for building loads of applications, from Talis and others.  Skipping a few intervening attempts, we have ended up with with with what I think is the best yet, which is worth developing further….


A [Platform] landscape of many stores – your bibliographic data could be in Store A, another library’s in Store B, Store C could be supporting a Talis Engage community information application, Store D could hold reading lists, and so on.  The Platform, an API layer in it’s own right supporting all of these.   Specialisation  API layers (one understanding bibliographic data, another Community Information, etc.) sitting above the Platform using it’s services and in their turn supporting user interface layers which deliver the actual application to the users.

There are aspects of the architecture that are still not obvious.  For instance it is not clear that another application (a student portal, or a personalised desktop gadget, etc.) could directly access the API layer and present the data it provides totally independently from the User Interface supplied with the Prism application.

Much more to do, but we are getting there.  Hopefully gaining an insight in to our thought processes will help you with your understanding of what is basically a simple architecture, but with lots of power and flexibility.

I would be really interested in your comments on  how this process has evolved and if these drawings help in conceptualising what is behind the latest version of Prism and it’s sister products that are being built using the Talis Platform.