Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Open Source Library Card-Catalog Apps? 111

dmd writes: "Does there exist Open Source software for maintaining a small to medium sized library card-catalog? It seems all the tools are available: a perl module for working with MARC records, several for working with Z39.50 and XML, and even a web site apparently devoted to nearly this exact topic. An actual, working, catalog, however, seems to be missing. Is this something that would be valuable? I, for one, have nearly 5k volumes in my collection, and they're begging for some discipline." I'm sure cash-strapped public libraries and schools would like to be able to use free / Free tools for this, since paper books aren't going away anytime soon. Not to mention for CDs, videos, charts, museum holdings ... any ideas out there? Turnkey solutions?
This discussion has been archived. No new comments can be posted.

Open Source Library Card-Catalog Apps?

Comments Filter:
  • It would make sense if the next state research university looking to replace their library system would roll-their-own using open source tools, hiring CS students from their own University as part time engineers, saving money and creating jobs. This gets the ball rolling...

    ...And it gets the biggest libraries in our country (the ones at research Universities) the best possible system, or at least the roots for a comunity developed system.
    Sean
  • This is what I am using:

    http://sourceforge.net/projects/pybliographer
  • by Anonymous Coward
    What about ROADS ?
    The ROADS software is a collection of tools which can be used in building on-line catalogues of Internet resources. Key features are simple text based resource description format, World-Wide Web forms based resource description editor, WWW and WHOIS++ based search capability, automatic generation of customised views of the catalogue, automatic generation of listings of recently added resources, dynamic browsing of resources in particular subject categories, highly customizable HTML output, distributed indexing and searching across multiple WHOIS++ servers using the Common Indexing Protocol and more. " (freshmeat)
    Available here [lut.ac.uk]
  • by MochaMan ( 30021 ) on Tuesday August 22, 2000 @12:38PM (#836084) Homepage
    Actually, this is something I have been looking into for months. The reason being that most elementary/middle/high schools can't afford a decent catalogue system. Several that I have seen have been using software with (no kidding) CGA graphics interfaces, and searching by title only.

    Those schools that do have money move to software like Eloquent [eloquent-systems.com] -- systems that are way more complex than a school library typically needs. Most schools don't need that much power/customisation, and can't afford it anyway. What seems to be needed is a basic system that offers searching on author/title/subject/keyword, and possibly uses MARC records (though for a school library this is not essential).

    It would have to be easy to set up, and low maintenance (ie. a basic linux box shoved under a desk somewhere with a UPS and a tape backup). You need to keep in mind that libraries -- and school libraries in particular -- are likely to have a multitude of machines running different OSes, so something like a web interface would be perfect.

    Considering the fact that most schools are getting networked these days, it's feasible to have a linux box sitting under a desk somewhere running a database, some library software, and Apache, and a bunch of Mac/PC clients running MacOS and Windows and interfacing to this thing via a web server. The checkout could be the same idea. This could be extended to have non-web clients running on various platforms and talking to the server via CORBA.

    In talking with librarians, I've found that you can't just say "dump MacOS/Windows and put Linux on all your machines" because they don't just use them for searching. They use them to run all sorts of stuff -- CD-ROM based educational software, etc. In other words, it's important to remember that for software like this, you can't just get a bunch of developers together and make decisions and write code. There are a ton of assumptions you just can't make when you're dealing with libraries and schools. There's a bunch of research into what people really want that's required. That makes it a little trickier a project than, say, a mahjongg game -- no offense to mahjongg hackers...

    Anyway, this is a fantastic opportunity for development, and one that I have been very interested in for a while now. It's also been on the GNU project's list of stuff to do for years now. Contributing a GPLed library system would be great not only for Free Software, but also for schools everywhere who can't afford decent software in their libraries.
  • by Anonymous Coward on Tuesday August 22, 2000 @01:28PM (#836085)

    And I don't mean this to sound like a slam against MySql. No SQL database could do it in a way that a librarian would be completely happy with, primarily because of the wonderful MARC format.

    The MARC format is the standard format used to store biliographic information. It was originally created in the early 60's, with the idea that the primary means of transmission would be on tape. It supports well over 300 different major fields, ranging from simple ones that anyone would understand (auther, title, publisher) to arcana that only a trained librarian could love (is the item a festschrift, unusual pagination comments, magazine run dates, and on and on.) Most of the major fields have "sub-fields", where the data is broken into different elements (i.e. an author field field will have a name sub-field, a dates sub-field, a title-subfield, and possibly others.)

    Fields in the MARC format have a theoretical maximum length of 10,000 characters. Many of the fields can be repeated any number of times (co-authors, variant titles, subject headings). I've seen several attempts to model the MARC format in a relational model, and while it can be done, it's a royal pain in the ass and it inevitably winds up with trade offs.

    For a simple catalog, where you aren't worried about working with the MARC format, a relational database (including MySql) will be perfectly adequate. But librarians love the MARC format, and it is such a basic element of modern librarianship that any system that couldn't import and export it would be considered unacceptable - like a car with a crank starter.

    And I should know. I worked as a librarian for several years; I even have the MLIS to prove it.

  • the system used at UND, same as the city library (and i think, the whole state) is called PALS.. which as a command line interface.. it used to be just a bunch of hard to use dumb terminals back in the late 80s when it started (telnet: odin.und.nodak.edu for an example), but this guy i go to school with here has been cgi'ng everying so it hits the web: www.odin.nodak.edu [nodak.edu] will let you search all the libraries in the state. I don't think it's Free (capital intentional), but it would prolly be free or cheap for a nonprofit or other librabary.

    ---

  • I too, have been considering creating an open source and extensible library management system. 3 other people in the world probaly know of of 'FreePac' (Free Public Access Catalog)'. But unfortuantly it's still vapor. (i have a C++ class for handling marc data, if anyone's interested...)

    The problem with using a SQL database staight up, is the complexities of MARC. Many moons ago, MARC records used to be delevired on _tape_. They're fornated thus: [directory][data][record terminator]... Marc Records are sub organized, and there are nearly no length restrictions on the data you can put in each tag. (except for fields with code)

    A product like this would be great for libraries and schools, both which operate on a low budget. Things that would be great to support would be - Web based access to take advange of high-end machines and new web browsers.., definatly need telnet/textonly/terminal access because libraries and schools usually have old terminals/PCs and old PCs.

    IF anyone would like some help setting this up... I'd be happy to offer.... C++, perl, html, linux, VB, (and a bit of java)

  • A request, if someone is thinking of writing their own. The old catalog system at the University of Washington Libraries [washington.edu] allowed searching on multiple fields. For example, you could combine author "clark" with keyword "trail" to find Lewis & Clark related materials without scrolling past A. Clark's Acrylic Plastic Spherical Pressure Hull For Continental Shelf Depths.

    Unfortunately, this functionality is disabled in their new catalog (html or telnet). This is a simple task for any database, but I can't remember a library I've visited in years that allows it.

  • by dkh2 ( 29130 ) <dkh2@WhyDoMyTits I t c h .com> on Tuesday August 22, 2000 @12:40PM (#836089) Homepage
    Yes, by all means code it and make it fully Z39.50 and MARC compliant! However, there are other considerations you need to throw in.

    Commercially available library software that is actually used by libraries is much more than just a cataloging/look-up system to replace those old 3*5 cards.

    You need an acquisitions module that has the ability to do electronic ordering and approval plan processing.

    The search and report capabilities on the staff interface for these things is amazing. I can collect a list of all item records belonging to location X and created within [ range of dates ] that are attached to bibliographic records for [ material type ] within a [ call number range ], sort the records according to my criteria, then output selected fields from either the bib. or the item, or both, in the order I choose to the device of my choice (including print to e-mail or fax) and I haven't even begun to make the system sweat. Yes, this is a fairly straight forward thing to do (selecting records based on data spread across multiple related/linked records) in SQL but, you also need a front end that the end user can comprehend.

    If you're going to code it, it will need to be able to interact with all of the prevailing vendors... Ebsco, Baker & Taylor, Basil Blackwell, Swets & Zeitlinger, Matthews, etc... You will want tech contacts from each of these vendors to fine tune the ordering/receiving/approval interfaces.

    Finally, the amount of fiscal reporting done in libraries can boggle your mind. You would never suspect that something so seemingly simple could be so complicated. If you don't have the ability to generate financial reports you might as well go back to index cards and hand written ledgers.

  • Almost every library, from the Podunk Public Library to the Podunk University Library, doesn't use tapes anymore. Libraries use the internet to connect to the Library of Congress via Z39.50 and get their MARC records free of charge from LC's Z39.50 server. OR if LC doesn't have it, they can connect to the hundreds of thousands of other library databases hosting Z39.50 servers and get the records from them, for free. OCLC is not the only game in town anymore.
  • FLS uses mysql and java to do it's work. I once emailed the guy who wrote it and he said there wasn't much interest in it, so he stopped developing it. Maybe he/someone else would like to take the 'code' and run with it. http://freshmeat.net/news/1999/03/28/922680974.htm l
  • I definately see this as a worthwhile project. Many libraries of inner city schools would benefit from a free cataloguing[sp?] system.

    While this seems to make sense, it's not really true.

    As part of our client base, we have about 14 school districts and around 40 libraries. Most of these are using pretty advanced library management software (such as Follett or Athena) and not one of them has had to pay for it.

    Grants for this kind of thing abound. We have people cold calling them wanting to give them money to put in NT servers and software.

    The problem comes in when the grant money is spent and they can't afford to keep the equipment up, or to pay the line and ISP charges for their Internet connection.

    I'm not saying it's not a worthwhile project, I just want people to be aware that there probably aren't a whole lot of libraries who would jump on something just because it was free. It's got to be better.

  • Yet another case of the government giving away the farm to some pack of rich assholes. But how many times in the past have they granted exclusive rights to something that the goverment spends million$ of taxpayer dollars to produce (oil rights, grazing rights, timber, mining, etc)?

    It's also another example of the LoC getting drunk on technology. There was a great article in the New Yorker about the LoC getting a bee in its bonnet about microfilming. In the process of microfilming newspapers, warehouses full of bound copies of DECADES of original newspapers were tossed/sold/given away only to be replaced by incomplete, blurry and often illegible microfilmed copies. Original sources? Gone *forever*.

    The article said that the internet and the web are the next technologies that libraries will sink millions into all while pitching their original materials. We're litterally throwing away our history as we generate it.

  • Who cares about the database? It's about the application, not the engine.

    -dB

  • ... if you think getting a "free" DB with no code will replace the systems in place.

    If you where an IT guy, you'd suggest we search for the product at microsoft.com .
  • >Incidentally, the "go get MySQL, you dumbass"
    > posters are missing an important point:
    > libraries use the MARC data standard for catalog
    > records, and
    > SQL doesn't cope well with the kind of
    > tricks MARC can do.

    Several people have said that, but I was hoping for an example or two to support the statement.

    Not that I'm interested in MARC, but that I'm curious about where people percieve that SQL has such limitations.

  • LDAP is a really great way to store library type information. It's really perfect for it. The only problem is that there aren't really any all-purpose front ends that are useful. Still, storage of library records in an LDAP directory, with a servlet front end for users, is a great solution.
  • You obviously know nothing about libraries, nor databases. Creating a good library system would take years of work. It's much better to buy a canned system, or hopefully a OSS system designed for the job.

    This is a fascinating programming task and I was glad to discover the references Slashdot linked to on this subject.

    I've never been happy with card catalogs and their electronic descendants or with web based search engines. Knowledge exploration needs a lot of work, and these kinds of tools will lead to interesting results.

    If I was young and had lots of time, this would be a really challenging project to work on. Designing a schema to organize knowledge is a really cool task.

  • Well, thanks, yeah, I work on this stuff a lot. :)

    There are already a number of useful Free-as-in-Speech add-ons to proprietary library tools, such as Prospero [ohio-state.edu] and DBA [ucsd.edu]. These are largely possible because they use the standardized bits in the tools to which they add value: z39.50, TIFF, etc. As you suggest, it's definitely a niche which is proven to work, with these small solutions paying off big-time to many institutions. This might seem off-topic, but the more of these small tools we have the easier it gets to start hooking them together into environments like the one the original ? poster is asking about.

    I think the answer to the "why's Z so slow?" dilemma is like what Larry Wall (I think) said about Perl and Python: that Perl's worse than Python because people wanted it worse. Work on z39.50 began _long_ before SQL92 hit the markets in working products.

    A key area where many vendors and publishers are starting to work together around new open standards and even code is content linking, mostly because they have to. They don't necessarily want to, but _not_ allowing linking to external sources diminishes value, and they're all catching on finally. So there's some hope, but we've got to keep hacking to keep them honest. Trust me, it works -- when a long-proprietary-code/data-vending .com sees 600 lines of GPL'd perl which can kill off their product line, they're more than willing to start offering up more interoperability if not freeing up their code. It's better for everyone.

  • Be able to read any of three or four dozen MARC "standards"

    Search on any word (but the stop dictionary for words such as the and to of ect.) for a word in any one of over 1K places in the marc record.

    Be able to handle more than one library.

    be able to store books in different locations within the library

    do user tracking by overdue, notes on the user, automatically import from other databases or text files, have any one of several options for the user such as loan period (but checks the holding to see if the standard period is longer or shorter, or if the fine for overdue is less or more), be able to block a user, be able to block a user based on what library they are a user for, much much more

    be able to route books between libraries.

    be able to route books to outside vendors such as binders, restorers, storage, ect.ect.ect.

    be able to find out who checked out a book last.

    maintain statitics on the book such as size, no. pages, language, print size, ISBN, LCCN, Be able to change the default loan period, how many times used in the library, checked out, inventoried, price, "extras" such as clear cover, a place for notes for the whole library system and another place for each library, ability to search on the note, title author, publisher, copyright date, date purchased, dewy, LCN cataloging or some other system, age limits for checking out.

    keep track of budget and invoices, orders, barcodes, much much more,

    Ability to keep track of when the next magizne is due, when the subscription runs out, where the old copies vs. new copies are, index the mags.,

    Print reports on just about anything so throw a report generator at it. And if you want more, there is about five hundred pages of basic requirements in any book on library science. Add to that you have to know who a user is and if they are authorized to do any particular function, (Some can check out, but not in, others can add a note but not edit the book, some can edit books but not at any library except where they are assigned) you get the picture.

    Off hand, I'd say that a good library system is about four hundred times more difficult than writing Linux. I know. I do Unix admin and Library systems for a living.

    Trust me, this is not simple. I do think it very worthwhile though.

  • THis is a not for profit which works with libraries. I am not sure what they offer, I only know of them through my brother who works there. Might be worth looking into at www.oclc.org. [oclc.org]
  • I am currently working on the high-level design of just such a system. The project is currently titled OpenOPAC [sourceforge.net]. I currently work in a corporate library/IS setting, and see the need for this kind of project. We have been screwed over by our OPAC vendor too many times to count. I initially thought about doing this in RMI, but now that J2EE/EJB seems to be coming along so strongly, I am thinking about heading in that direction. There are a number of promising Open Source J2EE containers coming down the pike (Enhydra Enterprise, jBoss, etc.), so this might work well. Please visit the site -- I am interested in getting comments on what is needed to make a complete system.

    Micro$oft(R) Windoze NT(TM)
    (C) Copyright 1985-1996 Micro$oft Corp.
    C:\>uptime

  • All Library of Congress MARC records created after 1968 by the Library are not copyrighted within the United States of America. Anyone in the USA can use LC's post 1968 MARC records for any purpose whatsoever. I used to publish the NEWBOOKS list on Usenet listing all the new computer science books cataloged each month by LC. And my former employer made the entire post-1968 catalog available on the Internet years before LC got an Internet connection.

    The Library does maintain the copyright on its records outside the United States (you didn't pay US taxes did you :-). Any bulk use of LOC MARC records by people outside the USA must be licensed, with the money going to the US Treasury, thank you for your contribution to paying our national debt. If you want your
    own copy of all the complete post-1968 catalog, you can pay LC a tape duplication fee which is supposedly only enough to cover their costs. Of course, its the government the home of $700 toilet seats, so their costs are very high.

    Library of Congress MARC records prior to 1968 are a bit more complicated. In exchange for the taxpayers receiving a discount for the work, the Library agreeded a private company could convert LC's paper catalog cards into electronic records and sell the records to other people. Of course, you are still free to go to the Library and copy all the cards you want. Nor is there anything stopping another company, or just a group of concerned citizens, from making their own copies of the paper library cards and distributing them for free. You just won't get the electronic files from the private company, you'll have to type them or scan them yourself.
  • if it can speak Z39.51, and just search the LOC for full entries based on ISBN. (Unfortunately, I don't know of such an OSS product.)
  • I'm not sure if any such software exists, but I do know of someone who want to buld one. He's seeking a grant from LinuxFund.

    http://209.24.233.82/development/proj ect/?id=22 [209.24.233.82]

  • Yes, I work with MARC records all the time on the Digital Library apps I write. The LOC web site is an essential aid, but I basically have had to develop lookup tables of my own for all the language codes, country codes, etc.

    A further problem is that these codes have changed over time; MARC records created long ago (how old is MARC?) have incorrect codes that I find I have to deduce and add to my lookup tables.

    But yes, MARC is the essential data format. I have code in Perl and Java that can parse MARC fairly well. That's easy -- dealing with the data in some way that makes sense for your collection is harder.

    That said, proprietary solutions to this problem (usually referred to as "Web OPACs") run you big bucks. If you think about it, you need a data structure, an interface to populate and edit the data, an interface to query it... for 5000 records, this might not be hard, but it's not a weekend's job.
  • by Anonymous Coward
    I think the guy was probably hoping for a little more. While the database will deal with all the data, a web server and web interface would be handy for providing some sort of easy GUI to administer and access the data.
  • Dublin Core is expressable in RDF; I believe www.purl.org goes into some detail on this. DC is pretty neat for true digital library content, but if you have lesser aspirations, this can be grafted on at a later point (it's just going to end up being another classification scheme for your existing data -- digital library work pretty much *is* classification schemes).
  • It sounds like you're looking for the most basic record keeping program, just a matter of choosing your favorite data structure. I could practically post the code right here!
  • I understand the Library of Congress made a deal with a database company, which now has exclusive rights (and a compilation copyright?) to distribute the catalog information in electronic form.

    Want it? Buy it from them. Complete with their software and a limited license.

    I'll try to get the person I heard flaming about this ("Flagrant misappropriation of public records/product of tax dollars", etc.) to post with the details and whether it's still current.

    The patent office aldo cut a similar deal at one point. It was still in effect as of maybe four years ago (when I interviewed at what turned out to be the database company that had the USPTO's sweatheart deal).
  • by delevant ( 133773 ) on Tuesday August 22, 2000 @12:42PM (#836112)
    You're absolutely right about the customization problem.

    You can't just code a database -- that's almost entirely useless; there's also the matter of controlling circulation, tracking books out/returned/requested/held/sent to bindery, etc.

    Plus import & export from vendors, billing, accepting bill payments, cross-referencing, all kinds of freaky subject indexing, mondo-bizarro file formats from a zillion years ago (MARC), etc. etc. etc.

    There's a reason library systems tend to be proprietary -- it's because nobody else in their right mind wants to get involved with things like MARC and Z39.50.

    . . . but then again I could be wrong.

  • and as far as I know is still being used without problem today.

    Except that somebody installed Access 2000 on their machine and converted your database's front end.
    Did you make this thing to be multi user? If so, I pity your former employer. If not, not a bad choice.

  • Make a MySQL database, serve .pl pages through apache and lookup books with a web browser. It just doesn't seem to complicated. You'd need what? a 8 or 9 column table to store all your books. If you wanted to get really fancy, you could store the authors in a separate table and be able to look up all the books by a given author, etc...

    And if you're not up for doing much work and aren't especially up for the opensource aspect (dumb statement follows:), a mac or windows box running filemaker pro would have your web enabled database up and running in half an hour, if you have any form of clue :) (READ: Filemakers dead-on easy for tasks like this...)
  • Now, Which of these can handle MARC data?

    As stated in other posts, SQL can have serious problems with some of the tricks that go on with MARC format.

  • by dchud ( 16789 ) on Tuesday August 22, 2000 @12:45PM (#836116)
    There are about three problems here (hopefully they won't moderate me down for this cuz I work for oss4lib.org :). The simpler bits have to do with the mindset of librarians: liberal about access, conservative about library collections. Since an online card catalog is about the collection, we librarian types tend to forestall any major systems overhauls until the last possible moment. And our systems vendors only have about a $500M business to sell to, so the general mindshare remains rivalrous, proprietary, dedicated to supporting legacy apps, and lacking overflow of hacker talent. Thus our systems generally suck and few are willing to admit it out loud.

    Second is that half of the pieces that go into a big library management system (including the catalog part) are really generic business systems: EDI, invoicing, accounting, etc., but they haven't been abstracted out of the realm of our systems vendors. So the level of standards followed there is minimal so those modules generally don't interoperate with our trading partners (i.e. internal payment systems and external suppliers). Lots of redundant keying and more crappy systems to maintain there, all of which is typically deeply and proprietarily tied into the catalog data.

    All that said -- and to our vendors' credit they are tending to get better these days -- we've been sharing catalog data like hackers are sharing code for over 100 years. We've been doing it online for about 35 years, but the way we do it now is pretty much the same way we've been doing it for those 35 years. i.e. largely dependent on one of two .orgs/vendors to be a clearinghouse for sharing catalog data. But those folks disappear if they can't sell the data back to us after we create it for them. So nobody running a library wants them to disappear. Especially because we've got to handle one-of-a-kind rare items in big research libraries as well as unusual local items in public libraries and so on.

    Imho the solution is to first outsource all the standard business stuff to vendors+free software that can do the same job with existing standards-based tools. Then abstract away as much as possible of the catalog data into free references sources shared and maintained by the library community (think: you could run your own amazon.com recommendations site, etc.). This is what we're trying to do (shameless plug alert) with the jake project [yale.edu] for journals. Same thing applies for books, although there are probably >=100M records to normalize.

    If we can get that done, then anybody could hack up a gtk+ front end to the free, shared catalog, and pick and choose the items you have yourselves. It would work sorta like dict.org or jake. Just imagine how much easier it will be to search for ebooks in gnutella once this is done... :)

  • I'm going to assume, for the purposes of argument, that you're not just being sarcastic. Although that's obviously the case.

    . . . nevertheless, a database is (by itself) almost entirely useless. It's like saying "hey, you asked for an airplane, so here's some bulk aircraft-grade aluminum. That's good enough, right?"

    Unless, of course, you're talking about a "library" system that can't talk to any other library system, doesn't understand any standard library data format, cannot respond to queries in a standardized way, cannot do billing, or payment, or MeSH indexing, or anything else that library systems do.

    The database is the raw material, not the finished system. There's a reason there aren't very many library software packages -- nobody in their right mind wants to write one. It's a nightmare.

    Go back to writing online shopping carts.

  • Another example is nautical charts. All the data collection, etc. is done by NOAA [noaa.gov], but Maptech, Inc. [maptech.com] has been granted exclusive distribution rights. The result is that it is impossible to get nautical chart data without paying Maptech's outrageous fees. And this is data which taxpayers have ALREADY paid for!
  • Someone mentioned using XML for cards. One thought lead to another, and...

    Why not use a floppy for the access card? Besides being slightly bigger than the credit-card sized library cards (my library actually uses a keychain-sized thingy), why not? I'm sure that there is a good way to make it secure, even with the easy accessibility of a floppy editing system.

    On the other hand, small libraries will have an easy method of doing everything without paying thousands to get library cards printed. Why not use floppies for access control in general? I can't think of a better way to do it (today), besides buying either an expensive card scanner or barcode reader and ordering the cards for it.

    --

  • A crucial piece of the puzzle isn't just another relational database; the catch is full-text and field indexing everything, prefereably in a full-text XML format; there are not any full-text search engines that are open source that work outside of the scope of a standard web site; what is needed is more of a repository, where XML-based content is stored and automatically indexed, so that records of multiple types and/or XML DTDs can be stored in one searchable repository.

    In short, Libraries need a car-catalog system built on a foundtation of a digital asset management system; something which I haven't found many foundations for in current OSS projects. Commercial examples of such a beast might include Folio Livepublish [nextpage.com], which is an "infobase" indexing and search engine that creates "repositories" or document collections that are fielda nd full-text searchable; a lot of people uses this type of stuff for electronic publishing and for knowledge-managment apps. I've used LivePublish as a developer/integrator/OEM at my previous employer. I don't particulaly like LivePublish, because it is (in my mind) unstable (it's an NT app), and the company that makes it has a rather rediculous royalty-based revenue model, but the product has some good ideas (like collecting content of multiple types into one repository, filtering binary types like word docs and PDFs so that they too can get indexed, fielded XML searches within elements); I think an OSS equivalent to something like this would be a great option for those of us who like some ideas that come out of commercial development firms, but don't like the rancid business models, crazy prices, and poor support of such companies.

    The only architecture that even comes close to provinding the means to so this sort of thing is Zope [zope.org], but Zope doesn't currently have field-searchable XML indexing; when Zope gets it, given it's a strong persistent object system (not to mention its ease of use with RDBMS systems and clean multi-tier development), then it would be an ideal architecture for building a libary card catalog system on top of.

  • Anyone looking for an open source application for keeping data about their CD's, MC's, LP's etc. may look at Project CrossRec http://www.crossrec.org which works with developing an open source (BSD license) front-end and sentral repository for all data regarding audio recording on any medium. The apps are RDBMS based (PostgreSQL and others), and supports data and relations between data not seen in commercial systems.
  • by Anonymous Coward
    ...who actually misses the card catalog (I mean the ones that had paper in them)? I have spent far more time waiting for a terminal than I ever spent waiting for a drawer. And I have never found a database that could beat either a card catalog or a (OK, well constructed) book index for browsing. Databases, even with their boolean search capability, tend to suffer from the same problem that afflicts search engines: they return too much irrelevent material.

    Anonymous Me (too lazy to log in)

  • I did a little search on Google to look for the system my university [www.usp.br] uses in its library [www.usp.br], and found an interesting listing [ua.ac.be].

    However, it seems to contain only commercial software (the one the guys here use, Aleph [aleph.co.il], is the first in the list), but you may find some interesting things if you browse the links (I didn't take the time for that).


    --
    Marcelo Vanzin
  • While most people would tend to think this is a fairly simple endeavor, it's not. Our consortium runs a library automation system on top of VMS on an Alpha cluster. It happens to be one of the best systems out there as far as high availability is concerned. However, it still doesn't take user's needs (Ref. librarians and patrons) into account.


    If something like this is going to work, you have to anticipate what your users are going to be asking for. A simple cataloging system could probably be done with MySQL or Postgres, but it will lack any of the functionality that is in existing library catalog products.


    In addition to the MARC records, you would eventually need to maintain a patron database, an acquisitions database, a record maintenance interface, circulation records and policies, etc... AND it would all have to be easy to use for a non-technical person. Even the system we use is not "easy" for the average user, it's jst reliable.


    Personally, I would love to see an open source and/or free software catalog system that outshines systems like Dynix and DRA. Especially if it brings user interfaces into the year 2000. (There is plenty of talk about new client server interfaces, but nothing has come to fruition as of yet.)


    I think the biggest challenge a project like this would face is that programmers are not librarians and vice-versa. They come from very separate worlds and have very little understanding about what the other discipline finds important in an automation system.

    Peace,
    D.B.

  • MARC is an extremely flexible data structure. Relational databases tend to view the world as a set of linked tables with data elements. Of course as anyone who has ever survived a CS data structures course can tell you, you can use almost any data structure to store any other data structure. Its mostly a matter of efficiency. Yes, people have stored MARC data in a relational database. It worked, sorta of. Think of a table where any column could be repeated any number of times, or omitted, or be of any length, or .... A book can have no authors, or 1 author or lots of authors, or some authors are really corporations, and other authors are really pseudonyms, and some authors have different names in different languages. Not an insurmountable problem if all you have is a relational database. The usual method is breaking the MARC record up into lots of itty-bitty pieces. You have the author table, the title table, the uniform title table, the serial title table, etc. The problem with breaking it up is you have to put it all back together again. Think about doing a join across 900 different tables. At this point CJ Date starts in with denormalizing your data.... Its a case of when you have a hammer everything looks like a nail. Relational databases have their place, but they aren't always the best way to store and retrieve all types of data. There are databases which aren't relational, and sometimes they outperform a relational database on specific types of data.
  • Actually, this project is in the GNU Task List [gnu.org]. A small group of volunteers began to tackle it about 2 years ago, but interest dwindled when the complexity of the task became apparent.

    It appears the desired features (at least to the initial core developers far overstep replacing "cards", as it must contemplate any format (paper, digital, film, whatever), allow for the tracking and aquisition of titles, etc.

    The initial idea was a web application, using the browser as a "thin client" for the entire shebang - allowing for the oft-underfunded libraries to use their current workstations for the purpose.

    As far as I know, the project went as far as a MARC schema, a Z39.50 client that connected and disconnected from the server, and little else (please prove me wrong).

    Perhaps this is a chance to use the much vaunted "Slashdot effect" for a positive purpose ? "Hackers wanted"

  • Presumably people have looked at PICK (allows multivalued fields) and object oriented databases for this sort of thing? OODBMSs are very good at handling data with this sort of complex structure - see www.exceloncorp.com (Excelon, formerly Object Design), www.objectivity.com, and www.versant.com for some commercial examples. There are also some open source near-equivalents but I don't know the URLs - one is called Texas Persistent Store, I think.

    As with RDBMSs, there are some arguments for going with commercial ODBMSs if you have very demanding requirements. The commercial ones also have lots of extra tools, many of them dealing with XML, which involves complex nested data structures and is also suited to ODBMSs.
  • by Anonymous Coward
    ...the app you're looking for is called a DATABASE!!!
  • Code it. There is a major customization problem with such a product for as you have mentioned each library would need to add a module based on what they currently possess/maintain (cd's, videos, microfiche). A simple database in SQL might also do the job with a PHP4 front web interface. Dunno...its up to the person that needs the sucker done.

    You are a unique individual, just like everyone else.


    -*-*-*-*-*-*-*-*-*-*-*-*-*-*
  • I definately see this as a worthwhile project. Many libraries of inner city schools would benefit from a free cataloguing[sp?] system. I see XML being mentioned in the article post, but what exactly is being done with XML in this project arena? Personally, I can see XML as the perfect tool to fit into a card cataloguing system. An XML card catalog language specification should be constructed, and used for inter-library communication between school libraries, college libraries, and public libraries.

    So yes, there seems to be some value in the project

    -=MeMpHiStO=-
  • Actullly it has already been done. It s called the Card Catalog.

    It is really hard to improve on the card catalog, manually or electonically. So what you would end up doing is just tramslating the card Cataloge to an Electronic format. Noble Work. But boring.

    Oh bye the bye all the Schema has already been designed......
  • If you let the public browse your card catalog, you better make sure you don't have anything illegal in your library, because you might get sued for linking to it...and god forbid you catalog your CD collection!
  • They don't care.

    I work for a library that got a Gates foundation grant. They went to great pains to make sure we understood that they aren't M$.

    In fact you get a choice: a computer package with lots of software and content for kids and training classes for the staff, or you can choose the cash option where they write you a check and you create your own solution.

    There are certain guidelines on what you can do with the cash, of course. That keeps library IS types from just buying 3 or 4 Monster machines to play Quake on. bummer...

    As for the automation system, good luck. They are a nightmare and it takes a brave soul to admin one...let alone write one.


    -------------------------------
  • There are applications out there (i.e. GnomeCard) that could easily be adapted to this purpose. Think about it: Catalogue cards are basically "book business cards" -- they tell you how to get a hold of a particular book. So why not adapt a contact manager to this purpose? It surely would be easy.

    --
  • Oh shure. Kill the whole debate.

    I was going to make a case for writing an App in Java (OS of course) or maybe WATCOM Fortran

    But NOOOOO you go in and give the Logical Answer.

    Where is the fun in that.
  • I believe you can get all the authority tables from the LOC if you subscribe to their cataloging service... there's got to be a better way. FOIA, maybe?
  • mysql?
  • Admit it, we all use Microsoft products.
  • As part of my undergraduate curriculum at WMU [wmich.edu], we had to work in small groups on a reasonable size project to complete the baccalaureate writing requirement. Although most projects were for other departments in the University, my group and some others worked for outside nonprofit groups. In particular, my group worked on a database system for the Kiwanis Club of Kalamazoo. Perhaps you could contact your local university and see if they don't have a similar course? Given the right students you could have yourself a great program.
  • I don't believe that's entirely the case. You can download info from LOC with any Z39.51 client... I've done it. And I know that many libraries subscribe to their cataloging service and use their own OPACs.

    But maybe the subscription service is the deal you're talking about....
  • Nobody in a library ever really embraced technology. Sure they have PC's in there for web-surfing....

    Due to this lack of a true exsting system, it would seem fairly easy to design one from the ground up. Make it web based, use SQL and XML.

    This would take no time at all to have a good multiuser system for unlimited use. Instead of buying some huge ass system, install the thing on a dual 750 with 512mb running Apache on Linux and let it go. That should handle almost any one library.

    Would cost you nothing to host and nothing to maintain. (I'm over-simplifying.)

    Fook
  • I feel your pain, AC.

    I recently alerted my fellow epixtech [epixtech.com]/Dynix customers to the HP-UX ftpd vulnerability. Not only did epixtech not tell anyone about it until I sounded the alarm, they'd rather extort $200 per server to install a new *binary* than patch it proactively and get a reputation as a security-conscious vendor.

  • by heikkile ( 111814 ) on Tuesday August 22, 2000 @12:21PM (#836145)
    Shameless plug: We at Index Data provide lots of tools you can use for this.

    - Zebra information server. Eats Marc (UsMarc, other local variants) as well as XML, mails, newsgroups, etc. You can add more input filters. Talks Z39.50
    - Yaz Z39.50 toolkit for client and server side
    - Zap web gateway and a PHP module for building easy search gateways to anything that understands Z39.50, for example our own Zebra
    - and more. Even more to come later...

    I am of course biased, but these tools are designed for library applications. All open source, at Index Data. [indexdata.dk]

  • by ink ( 4325 )
    So, when someone asks you for an HTML server would you give them a database as well? I mean, after all, it's just data that needs to be stored -- don't worry about all those small implemenation details (like importing MERC records and communicating with neighboring libraries for book checkouts and such). I'm sure it could be built on top of a database, but a databse is worthless by itself.

    The wheel is turning but the hamster is dead.

  • I always thought that institutions like this (and schools, and maybe airports... you know, public facilities) would be a great place to have open source development going on, because the software doesn't give the facility an advantage, per se. (For example, high schools don't compete with each other based on the quality of their administrative software). So, they should be willing to share their knowledge and experience with software, and even the software itself, if they could.

    Instead of state/local/federal governments spending money so that specific schools or libraries (etc.) can purchase proprietary software, why not just roll it all together, total up all the amount, and then spend maybe 50% of that on funding some open source development?

    From there on, each school can spend a small amount of money paying someone to customize it to their needs, but we could have interoperable, open, inexpensive software where it's really needed.


    ---

  • Open Source Digital Library System [arizona.edu]

    Note: Those of you simply suggesting ordinary databases don't have a clue as to what is actually involved. Yes, you need a database. But that is only one of MANY pieces that make up and automated library system. Commercial software for this stuff can cost tens and tens of thousands of dollars.

    An open source system would be welcome, indeed.

  • I know a computer consultant who created and GPLed one for a school who needed new software due to Y2K issues. It originally ran with XML, but due to the size of their database, and the need for quick development (no time to see if it could be made better), he was forced to convert it to an SQL database. It is a complete library circulation system, done in 631 lines of PHP3. Contact me if you would like more info -- I don't think he ever got around to releasing it/even giving it a name, but I am sure if I asked him to he would.

  • What restrictions, if any, are there on the use of Library of Congress data? The quality and quantity of data available on their Z39.50 port looks quite impressive.

    I sent them an email about this a couple of weeks ago but did not receive an answer. Any insight would be appreciated.
  • Finally some insight after all the "Do it in MySQL in 15 minutes" drivel.
  • I'd also find an open source library cataloging system quite handy. I too have a huge collection of books at home.

    As a general layout I can see each library having a central server that proivides the DB storage and web server interface. Larger libraries would have multiple web interface servers around a central DB server. All the client computers then need is a web browser. This would greatly simplify installation at a library. In really small poor libraries the computer at the checkin/checkout desk could serve dual purposes as the server and librarians computer. If there isn't enough memory on the beast one could forgo the GUI on it and use Lynx as the interface.

    If one designed the web pages right one could easily view them from either text or GUI based browsers. Personally I would specifically design the web interface to work smoothly on text mode browsers as then cheep terminals (already in place in many libraries) could be used for access.

    For security one can setup the library on a private 10 net or similar. An outside internet interface could be provided through an internet link using a NATed firewall of some sort.

    For getting data into the system... Beyond the standard entry screens. I was thinking of a clever Library of Congress Number, ISBN Number or Barcode Number based retreival system. When a library gets a book in it enteres the number or scans the Barcode Number off of the book. The system then queries some central server or other libraries to see if the information is already on file. If it is then the fields are populated from it. If not then the librarian can enter the data then and there. After entry it is stored locally and pushed up to the central server to speed others data entry. The central repository could be primed with data from the Library of Congress and publishers.

    Searching of collections at other libraries could be added in the second phase of implementation. It could be done via direct connection from library to library (over the internet). A library would setup a list of prefered sources for inter library loan. These would be queried first, then less prefered sources would be queried next and soforth till the book is found. This way once a library is setup and has it's books entered it is also fully capible of being on the inter library loan system too. No need for central servers here. As a matter of fact the initial information gathering system for a new book could also use this same querying system to gather it's data. All that is needed is an internet link.

    Code for controling printers to produce spine lables and possibly card catalog cards for new books.

    Inventory bar codes. If each book is given an unique ID number then it is possible to handle the checkin/checkout via barcodes and scanners greatly speeding up the process. The barcode label would be printed at the same time as the spine label. Customer ID numbers could be just another one of the unique ID numbers used for books. This way the same entry software would work for both.

    Overdue book lists by customer and book.

    I think I've rattled on long enough.

  • ...is the catalogue itself.

    for more on how even librarians (who might be expected to have more archival appreciation) are "throwing away our history as we generate it", check this excerpt from Nicholson Baker's [barnesandnoble.com] well-researched and insightful "Discards":

    • And abruptly you realize, looking at these expressive dirt bands [caused by patron handling of cards], that even the libraries, like Harvard and the New York Public Library and Cornell, who microfilmed or digitized some of their cards prior to destroying them, have - by failing to capture any information at all about the relative reflectivity of the edge of each card - lost something of real interest, something eminently studiable. Who knows what a diligent researcher who photographed (from above, on a tripod) each close-packed drawer of Harvard's Widener catalog with a high-contrast camera might find out, were he to correlate his spectrographic dirt-band records with the authors that, as distinct clumps, exhibited some darkening? Of course the "Kinsey" cards would be thoroughly dirt-banded - but which others? This is, or was, a cumulative set of scholarly Nielsen ratings for topics at twentieth-century Harvard that is perhaps more representative than any other means of surveying we have. Instead of tossing its catalog out, Harvard ought to have persuaded a rich alumnus to endow a chair for dirt-banded studies.
    it's an excellent read for anyone interested in the "books meet bytes" situation.

    ---
    the problem with teens is they're looking for certainties.
  • Check out FreeMARC: http://206.217.66.102/locmarc/

    Also, BookCAT is a nice piece of shareware for personal libraries ( -Josh

  • Koha is probably the most complete system out there. 2 other projects that are attempting this (and also trying to work together) are the Open Source Digital Library System [arizona.edu], which in fact maps MARC into a relational database, and the Avanti [nslsilus.org] project is a project that is building an API for a library circulation system. These two projects are now looking at how they can interact together, so as not to duplicate effort. Both also could use help from interested developers, btw :-).
  • First, thanks for a quality post.

    I'm thinking that what may be needed most in freeing library software are some new protocols we can demand vendors adhere to in RFPs. That would open up the wide world of library automation to alternate modules. If we can get free, or even 3rd party, software to interact reliably with our proprietary behemoths it'd be a huge win.

    At that point, a 'market' might open up for development of free software to add functionality to proprietary systems, which in turn creates the possiblilty of (simple) free core systems which can take advantage of the new modules.

    The obvious area for this kind of thing is in web (or other remote) access to library automation systems. Vendors are providing their own 'solutions' -- but with access to protocols, much more could and would be done. z39.50 will allow some of the things I'm thinking of, but only to a point. (And why's it always so slow?!)

    You've worked on this a good deal -- do you see what I'm getting at? Any insights?
  • Here's a short example. Just opened the USMARC Bibliographic Format notebook, volume 2, and flipped to a random page (page 511). Field 511. Subfield codes include "a" ("Participant or performer note"; as the second character). But this could be untyped (when the cataloger doesn't know the exact role the person played), "Hosted by", "Anchor", "Voices" (repeating field), "Presenter", or "Narrator" (to just list the examples from the notebook). Trying to integrate this flexibility into a RDBMS (or even an ODBMS) would be incredibly tricky, esp. considering that the text is largely free-text.

    And this is just one subfield. There are many subfields per field and hundreds of fields. The complexity is too great for most generic/off-the-shelf systems (Access, MySQL, etc) to handle.

    Hope this helps,
    John
  • It sounds to me like a conversion to XML wouldn't be terribly difficult, and once that's been done, existing XML tools could be used.

    Am I missing something?

  • I'm actually building exactly such a library system using Zope right now, and it has indeed proven to be an excellent platform for tackling this problem. I'm not, however, interfacing with MARC or any other standard format; I'm just using a MySQL backend and a traditional 'data manager' and 'data object' object oriented interface to the DB. I considered using XML at first, but, like you, I was not convinced of the readiness of the XML tools available to handle the task.

    I haven't yet broached the topic with my employer, for whom I am developing this system, but since I don't believe we have any plans to market this thing, I'm hoping I can release it under an open source license when I'm done.

  • It's not a problem to break out the pure MARC data into a database. It's three tables:

    MARC Record
    Marc Tag
    Marc Subfield

    Each table is linked to the table above via foreign keys.

    It's the other problem you point out -- using that data with some *context* to get something meaningful. I don't know how Web OPACs do it, but for the digital library work I do, we end up producing very specific tables for books, serial articles, etc with specific fields populated from parsing the MARC record. In our case, this is static, but a dynamic approach would be better; this would require the MARC data and it's representation to be linked -- edit the MARC record, the representation changes too (with a rebuild of the derived tables).
  • I've just spent the last 2.5 years writing a card catalog/circulation control app for my employer. Depending on what details you need, this program can range from simple (Just a card catlog that doesn't change much) to the extreme (Multiple libraries, with different rights to see "stuff" in other libraries, and place orders that have to be shipped to the end users from multiple places)

    For a home system, or a 1 or two branch library system where the card catalog doesn't need to deal with interlibrary loans, this isn't hard. When you get into things like "Branch A can borrow Books from branch B, but NOT if they are reference, but can't borrow CDs, "New" books, or videos, But branch B can borrow Books, New Books, and Videos, but Not CDs (Unless the CD is "Private")" is when the system gets complex (The rights management section of the database is fun, so you don't have to recode your app, just put entries into a table).

    So, like I said, freeware? Maybe for a simple system. For something complex? I doubt it
  • "Catalogue cards are basically "book business cards""

    Card catalogs? Yes, but with circulation? Nope. Card catlogs keep one card per TITLE, per branch/location, but the circulation system has to keep track of EACH COPY of the book. One tracks the "Intellectual Asset", the other the "Physical Asset". The rule base for dealing with "Physical Assets" can get fun, particularly when you get into multiple "physical Asset" types, each with their own rules. Get gets particularly fun when you get into non printed assets, some of which may not have a physical asset, and are at the other end of a very thin pipe. I've spent the last 2.5 years working on a system like this (the whole project is about 11 man years in)
  • How many sites can we slashdot at once?
  • While I was in college working on my CIS I was employed at the university library. I also saw a need for something like this so I went to my boss, the systems librarian, and asked for help in developing the thing. Granted, he was more librarian than programmer, but he refused on the gounds that it would require more time than a private person could sanely manage. This was a guy with 6 years of Librarian school and 20 years experience. He didn't believe it was doable with going to a "cathedral" (at least for a larger scale library) and spending lots of bucks. Could have been only his opinion, but he did have a clue how complicated it would be. My take, if you're a glutton for punishment, I'd say the project has alot of merit, but don't expect it to be a simple database with a couple of scripts. There's apparently alot more to it.
  • But here is a better one - take your idea, but put it on one of those credit card shaped/sized CD-R disks (they are like a 3 inch CD-R, but with straight "sides" - the ends are rounded, though). They only hold a 50-100 meg or so. They were originally designed as a "promo" style item - instead of exchanging business cards, you could exchange a whole ton of data (with business card info printed on one side, of course)...

    I support the EFF [eff.org] - do you?
  • by Alan Shutko ( 5101 ) on Tuesday August 22, 2000 @11:55AM (#836166) Homepage
    I got a bit of code put together to import, save and edit MARC records, with a minimal GTK app. I wasn't looking at perl at the time, because I'm not a perl hacker.

    The major problem I ran into with writing something of the sort is that there's lots of information that you really want to have that isn't on the web. Cataloging rules, the full description of the MARC fields, some of the lists (organization, I think, is one example). I could get some of those from a library, but strangely enough although I'm sure most libraries have them, they aren't necessarily on the stacks, but in people's offices. Even then, I'd have to keep them checked out for long enough that I'd rather buy a copy.

    But, if anyone wants to work on it I'd be glad to help. My ideal app would have to

    • Import records from the LOC or your Z39.50 server of your choice, given eithe ISBN or title
    • Keep track of holdings information, so I can keep track of books I've lent out, and where I'm keeping said book.
    • Handle magazine article references, so my wife can use it to manage her references in grad school. There's a way to store that stuff in MARC records, although it's not used very often.
  • by cr0sh ( 43134 )
    It seems like the poster wanted something mainly for home use, for a large collection of media. I could see such a system set up for small libraries as well (non-profit, schools, other small libraries). For these uses, all the problems inherent in a large library management system probably go away.

    I would love to see such a system - I have a large collection of books myself that I would love to catalog (I also have a ton of other media that I would love to catalog as well). Such a system would be worth looking into, if it existed. I actually started to design one for my home use, but never got further than data layouts and screen layouts (mainly due to the fact that such an application is, to me at least, while practical, not very sexy or exciting to keep me motivated)...

    I support the EFF [eff.org] - do you?
  • If your card catalogue is just sitting there on paper now, then ANY open source database system will work (yes, even mySQL). Just set it up and start typing in the info. Take your pick of anything out there. A pre-packaged product will not save you an appreciable amount of time in the long run if you have 5,000 volumes that need to be typed into the thing anyway.

    Visit DC2600 [dc2600.com]
  • To those of you who suggest that some local library develop this:

    The Kansas City Public Libraries bought a commercial product from DRA years ago, but skimped on the professional support. They worked with it for years using only their own programmers.

    The result was so unusable that the technique used by the Librarians to find a book was:
    1. Look up anything close on-line
    2. Go see if what you're really looking for is close to that on the stacks.

    Now the catalog is so full of bad entries that even after years of "clean up" to work with the new, fully-supported DRA web-capable interface (See [kclibrary.org]
    http://www.kclibrary.org) it's still a painful experience to try to find something. Multiple spellings for the same author are unlinked, some books under one, some under another. Some books in a series might be under one call number, while another book is somewhere else. (For instance, the second book of the Gormenghast trilogy is catalogged as the trilogy itself, and it's therefore impossible to retrieve volume 1 or 3.)

    This is probably more a result of stingy city budgets than any inherent problem with the job, but it shows how badly it can be done.
  • Keep in mind, The Bill & Melinda Gates Library Foundation has been giving out "Trojan Horse" computers for libraries, in a sense: they make the libraries dependent on MS software, and while the computers are free, they'll have to pay for upgrades and servicing like everyone else. (Your tax dollars, shrinking library budgets, etc. etc.) And they get a tax deduction and good press for it, too.

    Meanwhile, a reliable Open Source system that's not too cryptic to implement could save libraries a lot of (your) money and might even help keep the most cash-strapped public libs from being shut down due to "budget constraints." Something to think about.

  • Universities were heavily into building their own library systems until the mid-80s. Stanford, for example, used an Open Source-"like" model for its SPIRES system which ran everything from the library interface to the bookstore. NOTIS, one of the most successful library systems of all time, grew out of a homegrown system at Northwestern. I fear the university mindset is tainted by previous "in-house" systems due to the upheaval they went through when it was realized that these mission-critical systems were dependent on a handful of highly marketable programmers on campus. Open Source changes the equation by leveraging a much greater pool of programmers behind the application but university administrators probably only see the fearsome prospect of funding a software development group to keep their systems running.

    The danger may be in mixing up the COBOL/Assembler/whatever spaghetti code of 1975 with today's development environments. The software world is striving g mightily to give us binary re-use of code, so that putting together an application is more like configuring a new remote to work with a TV rather than getting a technician to pour through a set of schematics. Perl, Python, and other scripting environments have put very powerful programming libraries into the hands of more developers than ever before. The Enterprise Java Bean notion of Container Managed entities and tools like Castor are another step in this direction because they open the door to using XML to declare the needs of the application rather than coding each program statement step by step.

    In other words, Open Source has advantages today that didn't exist when universities were at the height of building communal code. Universities should be at the head of this movement but there may be too many bad memories out there for this to happen.

  • Isn't this what the oh so popular web browser lynx was originally developed to do?? I'm fairly sure this is the case.

    CmdrChalupa
    (who cannot, for the life of him remember how to change his sig)
  • I had to develop something very similar for a previous job, unfortuantly in MS Access though. Depending on how fancy you want to get it is a relativly simple database design. I would recommend just the basic tables for book, author, and publisher, and the relations between them to make searching/sorting, and data entry quicker. The whole project took about a week for me to finish, and as far as I know is still being used without problem today.
  • by Anonymous Coward
    Commercial products like TechLIB are nothing more than a relational database application.

    MySQL+PHP should work like a charm for this.
  • by Mrs. Rod ( 224274 ) on Tuesday August 22, 2000 @12:29PM (#836177)
    Your tax dollars paid for all the cataloging at the Library of Congress.

    Unfortunately, some years back the firm that records these records in the MARC formats legally got control not only of their formatted tapes, but of any use of the information used after extraction from these tapes. In other words, they not only own the format, but the government funded information contained in the format.

    This is critical because these MARC tapes are the primary source of library cataloging information for most libraries. There are some other independent networks, primarily of educational institutions in the western US, but most libraries depend on the Library of Congress OCLC tapes.

    The whole thing stinks, and is ridiculous. As a former librarian, who also holds a BSCS, I was outraged at this theft of public assets. The worst part was dealing with my moronic former colleagues who screamed that of course this company should own this information - it was "intellectual property." Thousands of librarians wrote letters in supporting this company's "intellectual property rights" to work created at tax payer expense.

    This happened because most librarians think that putting information into a data format is some mystical arcana mastered only by brilliant wizards. They do not realize that the far more difficult part of the operation was the original cataloging done by the awesome catalogers at the Library of Congress.

    So, libraries pay for the nose for software. First, the fee that the vendor has to pay for using the MARC tapes, the royalties for the actual use of the data contained on the tapes, and then for the library software itself. BTW, most library software is so atrocious, buggy, and difficult to use that it's writers would receive a failing grade if it had been turned in as a senior project at any half way reputable college.
  • I don't believe that's entirely the case. You can download info from LOC with any Z39.51 client... I've done it. And I know that many libraries subscribe to their cataloging service and use their own OPACs.

    But maybe the subscription service is the deal you're talking about....


    Or maybe my info is out of date.
  • It wouldn't be easy. Real book cataloging doesn't fit very well into the vcard format (or most formats at all). Take a look at the MARC format at LOC [loc.gov] for the format that real libraries use to interchange cataloging info.

    If you build an app that uses that, and can use Z39.50, it can automatically seed your entries from detailed catalogs already available from your local library.
  • by vaxer ( 91962 ) <sylvar&vaxer,net> on Tuesday August 22, 2000 @12:02PM (#836189) Homepage
    The Koha Open Source Library System [koha.org] might be useful to you.

    Public libraries, unfortunately, are too often dependent on fiercely proprietary-minded vendors for their daily operations.

    Incidentally, the "go get MySQL, you dumbass" posters are missing an important point: libraries use the MARC [loc.gov] data standard for catalog records, and SQL doesn't cope well with the kind of tricks MARC can do.

  • Well, people are already working on the XML spec. (More than one, I think.) There is, I believe, a MARC XML spec based on the normal MARC format, but that's not the most user friendly format around. (It's designed to be converted back and forth to MARC.) I also think Dublin Core [oclc.org] can be expressed in XML, but I'm not sure.
  • As far as a turnkey system, PYTHEAS is probably the closest thing you'll find. It is in its infancy though, so you are not likely to be satisfied if you want a finished product.
    From what I have seen there aren't a lot of amazing library systems anywhere, OS or proprietary.

    Since I don't know where you looked for a system I might be completely off base but this seems like a project a group of CS grads would have picked up somewhere along the line. Check with some universities, somebody has to have replaced those ancient mainframe systems somewhere. If not there are a few very good OS databases (seems like more pop up every day). If you are interested in building a library system they would be an excellent place to begin.

Always draw your curves, then plot your reading.

Working...