[CODE4LIB] Tools for OAI-PMH support?

2010-11-02 Thread Danielle Plumer
I coordinate our statewide cultural heritage collections discovery
service, TexasHeritageOnline.org. In the past, we've used a variety of
approaches to interoperability, including Z39.50, SRU, and custom APIs,
but I'm moving more to simple OAI-PMH, because that's what many of the
asset management systems support natively.

Right now I have at least five large collections that are built as MySQL
databases to which I'd like to add OAI-PMH data provider support. The
problem is that many of the tools we've identified, like the OAIBiblio
tool and the Oldenburg tool, use PHP4, and the folks I'm working with
are running PHP5. There's also a need for multi-table support.

Does anybody know of newer tools for OAI data provider support? Good
documentation would be a plus g. I do have a small budget this year
for development, so if needed I could contract this out, but I thought
I'd see what's available first.


Danielle Cunniff Plumer, Coordinator
Texas Heritage Online
Texas State Library and Archives Commission
512.463.5852 (phone) / 512.936.2306 (fax)
dplu...@tsl.state.tx.us 


[CODE4LIB] Music @ ACRL

2010-11-02 Thread Joseph Lucia
Pardon the off-topic cross-posting. I am working to organize a musical event at 
the upcoming ACRL biennial meeting in Philadelphia, in a downtown venue near 
the convention on Thursday or Friday evening.  I have already recruited 4 other 
librarian / library-employed musicians. I'm trying to put together a rock / pop 
/ blues / RB ensemble and we are especially in need of keyboards, maybe horns, 
and some singers at this point. But we are still open to any and all 
suggestions. The overarching theme of the event will be Marc Fields  Bad 
Data, performing tunes from the Great Librarian Songbook but we're still open 
for sub-themes  suggestions. 

If you have even modest musical chops, are interested in being part of 
something that will surely be memorable (in a bad or good way I'm not yet sure) 
and could make it to a rehearsal weekend in the Philadelphia area in February, 
please let me know. It's your chance to get down with your bad self and really 
rock the bun-loving set! Sorry about that.  Reply directly to me if you want 
more info or want to volunteer as a performer.

*
Joe Lucia
University Librarian
Villanova University
joseph.lu...@villanova.edu


Re: [CODE4LIB] Let's go somewhere [was PHP vs. Python...]

2010-11-02 Thread Peter Schlumpf
-Original Message-
From: Alexander Johannesen alexander.johanne...@gmail.com
Sent: Nov 1, 2010 9:33 PM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] Let's go somewhere [was PHP vs. Python...]
...
So this is not a *dumb* idea, nor is it one of simply saying it's the
API, stupid. It does goes deeper than that. Not that you / we should
do it, but that's it a good exercise that should have happened. And,
heck, might even have happened.


Alex explains eloquently the problems and possibilities of a DSL for the 
library world, and semantic maps generally.  This is also in answer to some of 
Patrick E.'s earlier questions about what I am trying to do.

From the readme ( http://www.avantilibrarysystems.com/README.txt ):

  Avanti Nova is a general-purpose semantic mapping system.  Although first 
  conceived for use as new kind of library catalog, it can be used in any
  situation to dynamically map the relationships in a set of objects.  
  Some of its core ideas were first used in Avanti MicroLCS, and these
  were later generalised and extended in Nova.

  Nova is firstly a data structure with a scripting language interface to it.
  Programs are written in Nova to create and manage semantic maps.
  It also runs as a client-server system, and can be used from other
  environments like Unix shell scripts.  And since it is written in Java,
  it naturally provides a Java API.

  The core idea in Nova is to represent a semantic map as a very large array.
  This allows for great flexibility in manipulating relationships in
  semantic maps.

The README also has some actual examples of programs in the Nova language as it 
was a couple of months ago, and all of this stuff works right now, although 
there is a long way to go.  Simple and crude perhaps, but that's how all things 
begin.

I see much potential value in this thing even though much of it could be done 
with generic tools.  I also believe that the generic tools (or anything for 
that matter) become their own mind-prisons if we rely too much on them.  Soon 
we're speaking and thinking only in Ruby, Python, Perl, Django, Java, MARC or 
whatever with all their inherent metaphors and limitations.  Pick up a hammer 
and everything starts looking like nails.  It even goes into more general 
things:  Everything is an API.  We become like the blind men and the elephant.

There are DSLs that serve other domains quite well.  Mathematica and R are good 
examples.  Why not a DSL that speaks the language of semantic maps directly?  
Semantic mapping can be a very large and rich domain.  A DSL that seperates the 
problem from the API, as Alex points out, can handle many problems much more 
elegantly and flexibly than APIs or something that's tied to a specific tool's 
way of looking at things.

Another line of thought that's a big innovation killer is: Something like this 
has been done before, so further work on the problem is not worthwhile.  
Carried to an extreme we'd all still be clunking around on wheels chiseled from 
stone slabs today because they've always been good enough.  MARC is a very 
heavy stone wheel that has become a millstone around the neck of the library 
profession.

My approach in doing this is to not worry or think too much about what has been 
done before.  Start fresh with the basic concepts and what makes sense and try 
to make something useful out of it, from the ground up.  Worrying about what's 
been done before leads to copying and a lot of original ideas may get rejected. 
 If some wheels get reinvented, so what?  Reinventing the wheel often leads to 
better wheels.  Sometimes you have to build something first even if it doesn't 
solve a specific problem in order to see its value.  I am no expert Nova 
programmer yet because I'm still building the thing.  There's no community 
around this yet.  It may be homegrown by a lone developer right now but that's 
the way many things start.  And besides, as far as doing it goes, what the heck?

Peter Schlumpf
www.avantilibrarysystems.com