On Mon, Mar 17, 2008 at 10:41 AM, Jonathan Rochkind <[log in to unmask]> wrote: > Well, the SFX architecture has a feature called "display logic" that > let's you on the server side determine how the menu will display based > on what services are available. This is more obviously relevant to > "digitized text availability" from Google Books than just cover images. > You might want to suppress ILL links if there is digitized text (in > fact, you probably wouldn't in that particular case, but that gives you > the idea of what things you might want to do. At least my library > wouldn't, maybe others with especially small ILL budgets might). Or > just give a pre-ILL warning message ("are you sure the Google text isn't > sufficient?), that might be more realistic. > > Anyway, you obviously couldn't do this using the existing SFX display > logic feature if the Google Books info is only client side. > Now, "impossible?" In the world of software development, few things are > actually impossible. You could try to duplicate that feature using only > client-side Javascript hiding and showing various DIVs. The SFX HTML > currently isn't that clean, it woudl be hard. But you have the > capability to customize the SFX HTML however you want to. (And your > customizations will likely break with a future SFX release). So > nothings impossible, but I wouldn't want to go down that road. > Your particular requirement (hide the ILL link if Google has text) is easily implemented using the gbs classes: simply wrap the ILL link in a <span class="gbs-if-noview">...</span> and you're done. SFX will likely preserve such <span> tags across releases since it doesn't know what style you're applying. If I were you, I'd probably look for a server-side solution first, too, but let's discuss the architectural differences a bit more. You mentioned modularity and maintainability - I'd say that a client-side solution can be kept modular and maintainable as well - in particular if you minimize the actual JavaScript code you embed in your output page. In addition, client-side has significant advantages in both latency and scalability, in particular when mashing in data from a provider with a distributed architecture that has a degree of redundancy, and therefore availability, that is as high Google's. - Godmar