A Guide for the Perplexed
Contents
A guide for the perplexed
What is this?
Very few people plan to have a career in library technology. Maybe you have a background in traditional librarianship, but you'd like to be a systems librarian. Maybe you're an experienced programmer, but you're having trouble learning about library specific standards. This guide is a starting point for you. It will not attempt to be a replacement for university-level education in either library studies or computer science, but it will give you a general sense of the areas of technology that are used by libraries, background knowledge you'll need in order to work effectively in these areas, and advice and ideas on how to acquire necessary skills.
Advice in this guide should focus on concrete, immediately applicable skills whenever possible. This document should be a curriculum guide, not a textbook, so before attempting to write an article on a broadly applicable subject, check to see if wikipedia has one to which you could link and contribute.
Samples of Curriculums:
Who is this for?
People with a background in libraries / archives / museums
Learning about technology can be intimidating, especially when it is a departure from the areas you're used to studying. You may have been put into a situation where you are responsible for managing or completing a technology project, but you don't understand the technology involved, and you're having a hard time finding information about it. Don't worry, this is surprisingly common and you are not alone. Many of the members of the code4lib community are self-taught, and we're here to help.
Here's a good blog post aimed at people in this category: Advice to a Library School Student by Dan Chudnov
People with a background in technology / computer science
People hiring programmers into library technology
Focus more on the why and use-cases rather than the technology. From a programming perspective much of the technology isn't terribly difficult and is well known at a basic level. How it's used, why certain choices were made is the most important information to convey. If you hired a programmer for a specific task, don't focus on dictating technology, they should tell you what is current, but rather what you need and want from the application. Helping them understand how the data is accessed by your end-users if probably the most valuable information you can convey.
Be prepared to answer questions and frustrations with library standards that aren't really machine actionable. One older example is METS, while it is XML, there is very little you can do to infer higher a higher level of organization without extensive best practice description or profiles.
-- Mike Smorul
Why is it necessary?
Broad areas of library technology
Data Formats
MaRC
MaRC stands for Machine Readable Cataloging, and many folks in the code4lib community find themselves working with MARC records at some point.
- Working with MaRC
- Interpreting MARC: Where's the Bibliographic Data?
- Coded Character Sets: A Technical Primer for Librarians
ONIX for Books
The ONIX family of standards includes the ONIX for Books Product Information format, which functions much like MaRC in the publishing, wholesaling, distribution and retail businesses.
Much of the data in a MaRC record can in principle be derived from the ONIX record for the same ISBN; see the recent mapping from ONIX to MaRC21:
Integrated Library Systems
Discovery Interfaces
Article Databases
Institutional Repositories
EAD / Archival Finding Aids
Web Archiving
Specific Technologies
Solr/Lucene
searches at http://lucidimagination.com include wikis, email lists, etc.
Git & Distributed Version Control
Libraries with Github Organizations
Ruby on Rails (Blacklight, Hydra)
Islandora
Resources
- Code4Lib Mailing List
- Code4Lib IRC channel (chat room) The channel is a less formal and more interactive alternative to the code4lib mailing list for the discussion of code, projects, ideas, music, first computers, etc..
- Code4Lib Journal