Use ISBNs to pull in book data from other websites

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Hanscraft's picture

I am creating a site which will basically be an annotated bibliography of resources related to the subject matter. As part of this work, I would like to have a way for people to input ISBNs and have Drupal "call" to another site to get data about the book.

Do you have any suggestions on how to do this? I am using Drupal 7.

Comments

Hey there! Jesse here, I work

jnicola's picture

Hey there!

Jesse here, I work at Serverlogic, and one of our main focuses is library websites.

The functionality you're looking for is custom for sure. We've got a module along those lines for Drupal 6, but it's not prepped for general distribution as it requires a lot of code level alteration between projects.

The jist of what we do though, is we hook in to the node_save for the particular content type we're using, at which time it pulls the ISBN # entered, hits up syndetics or content cafe for information based on the ISBN, we pull the information retrieved and map it to particular CCK fields. So on node save, you get all of the information you are looking for.

Everything above is hard coded though, and the content type and CCK field mapping has to be manually entered into the code, so it's definitely not ready for distribution. Not sure if we'll ever get around to finalizing it enough for public distribution either unfortunately, we're ridiculously busy over here :(

Good luck with everything though. Feel free to ping us for help should you venture on into doing it yourself. You also may went to check out a copy of my bosses book "Drupal 7 Development" as all the API information will be in there for 7.

Jesse Nicola -- Shredical six different ways to Sunday! -- My Portfolio

Interesting, it seems like

Stomper's picture

Interesting, it seems like what you have on offer so far is what I might need.

Have you considered integrating your module with the Feeds module (enables mass imports inlcuding via CSV) to help users map book meta data to their CCK fields via a GUI?

What databases does your module work with? Only those specified? Would it work with ISBNDB?

ISBN2Node

brianbrarian's picture

The ISBN2Node module for D7 looks like it might be worth a try:

http://drupal.org/project/ISBN2node

Book post / Open Library API

autopoietic's picture

I am also tackling this problem - I really want to get moving with D7 but it looks like I might have to create some library-specific contrib functionality myself. I hear Jesse's concern over the time needed to make a module truly customisable, especially if it might also need porting to D7

Both [http://drupal.org/project/bookpost|Book Post] and [|Open Library API (dev)] (both D6) look from their project pages as though they might be useful sources of code for a D7 module.

I previously implemented a basic screen scraper module to acquire bibliographic data from our catalog for a drupal digital resources subsystem that only I use. It used php's SimpleXML and some simple caching. I do not recommend this method though! It was just a workaround to integrate with the voyager library management system prior to it adding useful restful services, and fell down every time the opac theme changed!

I will try to remember to update this thread should I come up with anything useful.

Jesse - if the module you have made does not have sensitive information hard coded, is there any chance I could take a look at it for the syndetics/cck field mapping bits?

ISBN2Node

autopoietic's picture

Thanks Jesse, on inspection that module looks perfect!

Working on code for BookPost filter for D7

darrell_ulm's picture

Hi, this link:
http://drupal.org/node/434404#comment-5355496
Shows some prelim for the D7 bookpost module. I just need to become the maintainer for the project and it could be up in a day after that.

Libraries

Group organizers

Group categories

Resources

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: