Since my foray into python a couple of months ago, I've been enjoying branching out into new languages.
I had pitched the concept of a link resolver router for the state universal catalog to a committee I sit on (this group talks about SFX links in the 856 tag and whatnot). The problem with making links for a publicly available resource point to your institutional resolver is just that. It's pointing your
your institutional resolver, despite the fact that your audience could be coming from anywhere. This plays out even greater in a venue such as a universal catalog, since there's not really a "home institution" to point a resolver link, anyway. OCLC and UKOLN both have resolver routers, and OCLC's certainly is an option, but I don't feel comfortable with the possibility that all of our member institutions might have to pay for the service (in the future). My other problem with OCLC's service is that you can only belong to one institution and I have never liked that (especially as more and more institutions have link resolvers).
So, in this committee I mentioned that it would be pretty simple to make a router, and since I was having trouble getting people to understand what exactly I was talking about, I decided to make a proof-of-concept. And, since I was making a proof-of-concept, I thought it'd be fun to try it in Ruby on Rails.
Now, a resolver router is about the simplest concept possible. It doesn't really do anything but take requests and pass them off to the appropriate resolver. It's a
resolver abstraction layer, if you will. I thought this was a nice, small project to try to cut my Ruby teeth on. There's a little bit a database, a little bit of AJAX. It's also
useful, unlike making a cookbook from a tutorial or something.
It took about three days to
make this.
After you pick your resolver (Choose a couple! Add your own!), you'll be taken to a page to choose between your various communities for appropriate copy.
I chose this particular citation because it shows the very huge limitation of link resolvers (if you choose Georgia Tech's resolver and Emory's resolver, for instance); despite the fact that this is
freely available, it does not appear in my resolver. That's not really the use case I envision, though. I am thinking more of a case like my co-worker, Heather, who should have access to Georgia Tech's collection, Florida State's resources (she's in grad school there), Richland County Public Library (she lives in Columbia, SC), and the University of South Carolina (where her husband is a librarian). The resolver router alleviates the need to
search for a given citation in the various communities (indeed to even have to think of or know where to look within those communities).
Sometime later this winter, I'll have an even better use case. I'll keep that under wraps for now.
Now, my impression of Ruby on Rails... For a project like this, it is absolutely amazing. I cannot believe I was able to learn the language from scratch and implement something that works (with this amount of functionality) in such a short amount of time. By bypassing the need to create the "framework" for the application, you can just dive into implementation.
In fact, I think my time to implementation would have been
even faster if the number of resources/tutorials out there
didn't suck out loud. Most references point to
these tutorials to get you started, but they really aren't terribly
helpful. They explain nothing about
why they are doing what they are doing in them.
I found this blog posting to be infinitely more useful.
Her blog in general is going in my aggregator, I think.
When it comes to learning Ruby,
this is a masterful work of art... but... not terribly useful if you just want to look things up.
I recommend this for that.
Anyway, I am so impressed with Ruby on Rails that I am planning on using it (currently) for "
alternative opac project", which is now being code named "Communicat". More on this shortly (although I did actually develop the database schema today).
8 Comments:
What I would like is, as somebody is typing in their institution name, it's also querying OCLC and UKOLN and whoever for the name. If they appear in one of those registries (since I'm not really trying compete, per se) then their resolver will be stored as the oclc or ukoln router.
That's the idea. It would require all of these services to have a web service that supports this, of course.
The other option (which I would prefer, but have not quite figured out how realistic it is) is to grab the institutions/resolvers out of the OCKHAM service registry.
Nice job, Ross! Since you already mention
OCLC's OpenURL Resolver Registry I thought I'd take advantage of the free publicity and pile on a bit ;^)
My name is Scott Shultz, and I am the newbie product manager for registry services here at OCLC (which includes the resolver registry). Just to clarify, it is possible to associate an IP address with more than one resolver in our registry. My IP is currently associated with resolvers from five different institutions, and there is no limit to the number of resolvers a particular IP address can be associated with. Perhaps our GUI needs to be improved a bit in our upcoming Beta to clarify this? If my IP is associated with more than one resolver and I click on an OpenURL link through our Gateway I am prompted to select which institution's resolver I want to be directed to.
Also, I want to emphasize that we have no plans to charge institutions for the Gateway and I don't see that changing going forward. UKOLN set what I believe is the correct precedent when they built their router - that the registration and basic routing service should be free for institutional use. We feel the same way. In order for the resolver registry to be useful we have to build a critical mass of instituional participants, and to do that we have to keep the basic routing service free for library institutions.
Not that any of this should take away from your project - we are planning to offer web service interfaces to the registry going forward, and I'd look forward to discussing possible integration points with you. I just wanted to be sure that OCLC's position was clarified...
Thanks for the platform!
- Scott Shultz
Oops! Looks like I messed up the link to the information page about our
OpenURL Gateway service in my earlier post...
Scott, thanks for clarifying on this. It's nice to know that OCLC isn't planning on charging for this service.
Of course, there are still aspects that are less than ideal (which, I assume OCLC might be trying to address) like basing association on IP. How do you have 5 associations set up for yourself if it's IP based?
One of the reasons I set this up, actually, is because I can never get the OCLC router to work for me (even when I'm at work).
It flatters me to no end (and did so at the NISO OpenURL Workshop back in September, as well) to see GT's link resolver used as the screenshots/example, though :)
Blogspot Related Links :
Buy Cialis
Harvard
amazing post about Rails Resolver Router: on Rails! thanks for sharing!!
Rails Resolver Router: on Rails! I think this is an hard work from you
keep it up
Hello.. Firstly I would like to send greetings to all readers. After this, I recognize the content so interesting about this article. For me personally I liked all the information. I would like to know of cases like this more often. In my personal experience I might mention a book called Green Parks Costa Rica in this book that I mentioned have very interesting topics, and also you have much to do with the main theme of this article.
Post a Comment
<< Home