III XMLOPAC: findings, promise, and a little relief

Ryan Eby has done what III seems to not be able to do: Create a resource for XMLOPAC users. He’s thrown up some wiki pages with the express purpose of documenting III’s XMLOPAC. All I can say is, “Thank-you Ryan!” Be sure to participate and help with the documentation–we can all benefit from it.

In addition, Ryan has written up a couple great how-to’s on getting item data and featured lists from the XML. I, for one, had no idea it was possible to grab featured lists this way. Ryan Eby has been documenting III’s XMLOPAC for quite some time now and he’s certainly one of only a handful of authoritative voices on the feature.

David Walker is another, and a very industrious voice at that. Today I had a good chat with him on the Code4Lib IRC channel after he showed me his totally amazing catalog based off his equally cool Shrew project. What he’s been doing is exactly what I’ve been looking for. Even though the Shrew project is currently written in C#, he has plans to port it to PHP5, taking advantage of DomDocument. It’s a project I’m completely willing to commit some time to myself, if he asks. The shrew project is “a system that converts the Innovative XML Server into an SRU/SRW and OpenSearch server.” He’s put a great deal of time into writing XSLT that will translate the III server’s output into MARC-XML, Dublin Core, or MODS 3.0. My XMLOPAC class for PHP5 utilizes an older version of his MARC-XML XSLT, but I think when he pulls off this port, the need for my code will go away altogether–his way is preferable.

We also discussed some inherent problems with III’s XMLOPAC–of which there are a number, and some potential enhancements. Chief among them would be the ability to conduct business–placing items on hold and such. A lot of work needs to be done, but I’m feeling much more optimistic about my OPAC aspirations now and, thanks to David and Ryan, a renewed sense of enthusiasm. Thanks guys!

[update] Ryan reminded me that Rob Casson is the individual who was kind enough to provide hosting for the wiki [/update]

[tags] OPAC, XMLOPAC, XML, XSLT, Library, Code4Lib, PHP, C#, SRU, MARC, DomDocument, Web Services [/tags]

About this entry