[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Koha-cvs] CVS: koha-doc/en/sysadmin/migration holdings.xml,NONE,1.1
From: |
skemotah |
Subject: |
[Koha-cvs] CVS: koha-doc/en/sysadmin/migration holdings.xml,NONE,1.1 |
Date: |
Mon, 22 Aug 2005 16:50:37 -0700 |
Update of /cvsroot/koha/koha-doc/en/sysadmin/migration
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31209
Added Files:
holdings.xml
Log Message:
Initial xml markup
--- NEW FILE ---
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<article>
<title>MARC Holdings, Koha, and Migration</title>
<articleinfo>
<pubdate>2005-08-21</pubdate>
<author>
<firstname>Thomas</firstname>
<surname>Dukleth</surname>
<email>kohadocs AT agogme.com</email>
</author>
<copyright>
<year>2005</year>
<holder>Thomas Dukleth</holder>
</copyright>
<legalnotice>
<para>This document is related to Koha and is licensed to you under the
GNU General Public License version 2 or later (<ulink
url="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</ulink>).</para>
<para>Koha-related documents may be reproduced and distributed in whole
or in part, in any medium physical or electronic, as long as this
copyright notice is retained on all copies.</para>
<para>You may create a derivative work and distribute it provided that
you:</para>
<orderedlist>
<listitem>
<para>License the derivative work with this same license, or the
Linux Documentation Project License (<ulink
url="http://www.tldp.org/COPYRIGHT.html">http://www.tldp.org/COPYRIGHT.html</ulink>).
Include a copyright notice and at least a pointer to the license
used.</para>
</listitem>
<listitem>
<para>Give due credit to previous authors and major
contributors.</para>
</listitem>
</orderedlist>
<para>Commercial redistribution is allowed and encouraged; however, the
author would like to be notified of any such distributions.</para>
<para>No liability for the contents of this document can be accepted.
Use the concepts, examples and information at your own risk. There may
be errors and inaccuracies, that could be damaging to your system.
Proceed with caution, and although this is highly unlikely, the
author(s) do not take any responsibility.</para>
<para>All copyrights are held by their respective owners, unless
specifically noted otherwise. Use of a term in this document should not
be regarded as affecting the validity of any trademark or service mark.
Naming of particular products or brands should not be seen as
endorsements.</para>
</legalnotice>
<revhistory>
<revision>
<revnumber>2.2.3</revnumber>
<date>2005-08-21</date>
<revdescription>
<para>Initial XML markup.</para>
</revdescription>
</revision>
</revhistory>
</articleinfo>
<abstract>
<para>Things that you were afraid to ask about MARC holdings in Koha with
a MARC 21 to Koha holdings table mapping.</para>
</abstract>
<section>
<title>Current Koha Holdings Model</title>
<para>Koha has adopted a holdings implementation modelled on the French
Recommendation 995, <ulink
url="http://www.adbdp.asso.fr/outils/infogestion/r995.htm">http://www.adbdp.asso.fr/outils/infogestion/r995.htm</ulink>.
Using this model, holdings information for one record is retained in one
and only one repeatable local use field within the bibliographic record.
Using Koha with MARC 21, any single field may be adapted for that purpose.
952 is the Koha default implemented at the largest Koha implementation at
the time of this writing, Nelsonville Public Library.</para>
</section>
<section>
<title>Recommended Changes to Koha</title>
<section>
<title>Changes to the Koha SQL Data Types</title>
<para>At the time of this writing, the default SQL sets
<varname>items.itemcallnumber</varname> to
<parameter>VARCHAR(30)</parameter>. Changing the data type to
<parameter>VARCHAR(100)</parameter> may be more helpful if you have long
call numbers. Call numbers with lengthy prefix or suffix strings may
otherwise be truncated.</para>
<para>Similar changes to support large <parameter>VARCHAR</parameter>
data types should be made to
<varname>biblioitems.classification</varname>,
<varname>biblioitems.dewey</varname>, and
<varname>biblioitems.subclass</varname>, if you decide to use them. The
current default SQL sets <varname>biblioitems.dewey</varname> to a poor
choice for data type.</para>
</section>
<section>
<title>Koha Template Call Number Use</title>
<para>All the templates may be adjusted to use
<varname>items.itemcallnumber</varname> as a sensible choice for MARC
format Koha. If that is done, it is not necessary to map any MARC
field/subfield to <varname>biblioitems.classification</varname>,
<varname>biblioitems.dewey</varname>, or
<varname>biblioitems.subclass</varname> in <emphasis>System
Administration : MARC Links</emphasis>.</para>
</section>
</section>
<section>
<title>MARC 21 to Koha Holdings Mappings</title>
<note>
<para>Corrected generally, and with reference to information about Koha
tables that Chris Cormack and Paul Poulain gave to me over IRC. Thank
you Chris and Paul.</para>
</note>
<para>Yes, this is missing a mapping for other tables that might be part
of the migration process. Mapping to the Koha items table for MARC 21
holdings is the only issue treated here.</para>
<para>Mapping existing standard data to a MARC 21 local use field is
necessary when migrating holdings to Koha. Using the
<filename>MARC::Record</filename> Perl module or some other tool to remap
records prior to importing with <filename>bulkmarkimport.pl</filename>
will most likely be necessary. If you need assistance beyond what may be
provided on the Koha listserve, <ulink
url="http://www.koha.org/mailing/">http://www.koha.org/mailing/</ulink>,
consider options for commercial support, <ulink
url="http://www.koha.org/installation/support.html">http://www.koha.org/installation/support.html</ulink>.</para>
<para>The following is based on standard usage of MARC 21 holdings stored
in a MARC bibliographic format record. If you require complex serials
holdings records as described in later sections of this document, Koha is
not yet ready to manage your holdings. If that is the case, you may choose
to develop the necessary changes locally and contribute them back to the
Koha code base or you may choose to contribute support to sponsoring the
development of the necessary changes.</para>
<para>If your existing system now stores the required values in another
field/subfield location presently, this mapping must be adjusted for your
records. If using the default local use field 952, the following may be a
common mapping. Be certain to construct unique 952 fields populated from
the corresponding $t, if present. Mappings with multiple subfields listed
should have all listed subfields mapped to the corresponding local use 952
subfield where the last populated subfield value would overwrite any
previous populated value for that local use 952 subfield.</para>
<itemizedlist>
<listitem>
<para>Map <emphasis role="bold">852 $t</emphasis>, <emphasis
role="bold">876 $t</emphasis>, <emphasis role="bold">877
$t</emphasis>, and <emphasis role="bold">878 $t</emphasis> to
<emphasis role="bold">952 $t</emphasis> for a nonexistent
<varname>items.copynumber</varname> column. (If you have been using
$3, you should find some way of combining $t with $3 to form a unique
whole number.) Do not link <varname>items.itemnumber</varname> to a
MARC subfield, not even 952 $t in the MARC to Koha links to avoid
possible loss of data. Koha will assign a unique itemnumber to your
items with no help from your old records. If you need to maintain your
existing copy numbers in a Koha table, create a new column in Koha for
representing that information, such as
<varname>items.copynumber</varname>, and programme a solution. You
could append copy numbers to an appropriate subfield accompanied by a
text label 'copy ' within an existing value such as call number, given
below, and suppress appending in cases where only one copy
exists.</para>
</listitem>
<listitem>
<para>Map <emphasis role="bold">852 $p</emphasis>, <emphasis
role="bold">876 $p</emphasis>, <emphasis role="bold">877
$p</emphasis>, and <emphasis role="bold">878 $p</emphasis> to
<emphasis role="bold">952 $p</emphasis> for
<varname>items.barcode</varname>.</para>
</listitem>
<listitem>
<para>Map <emphasis role="bold">541 $d</emphasis>;
<emphasis>or</emphasis> <emphasis role="bold">876 $d</emphasis>,
<emphasis role="bold">877 $d</emphasis>, and <emphasis role="bold">878
$d</emphasis> to <emphasis role="bold">952 $d</emphasis> for
<varname>items.dateaccessioned</varname>. Be certain to convert to the
date format that you have chosen in <emphasis>Koha System
Administration : Preferences : Date Format</emphasis>.</para>
</listitem>
<listitem>
<para>Map <emphasis role="bold">850 $a</emphasis>, <emphasis
role="bold">852 $a</emphasis>, or <emphasis role="bold">852
$b</emphasis> to <emphasis role="bold">952 $b</emphasis> for
<varname>items.homebranch</varname>. Be certain to convert to the 4
character all caps code as defined for Koha branches in <emphasis>Koha
System Administration : Branches</emphasis>.</para>
</listitem>
<listitem>
<para>Map <emphasis role="bold">541 $h</emphasis>; or <emphasis
role="bold">876 $c</emphasis>, <emphasis role="bold">877
$c</emphasis>, and <emphasis role="bold">878 $c</emphasis> to
<emphasis role="bold">952 $o</emphasis> for
<varname>items.price</varname>.</para>
</listitem>
<listitem>
<para>Map <emphasis role="bold">365 $b</emphasis>;
<emphasis>or</emphasis> <emphasis role="bold">876 $c</emphasis>,
<emphasis role="bold">877 $c</emphasis>, and <emphasis role="bold">878
$c</emphasis> to <emphasis role="bold">952 $u</emphasis> for
<varname>items.replacementprice</varname>.</para>
</listitem>
<listitem>
<para>Map <emphasis role="bold">365 $f</emphasis> to <emphasis
role="bold">952 $r</emphasis> for
<varname>items.replacementpricedate</varname>. Be certain to convert
to the date format that you have chosen in <emphasis>Koha System
Administration : Preferences : Date Format</emphasis>.</para>
</listitem>
<listitem>
<para>Map <emphasis role="bold">852 $b</emphasis> to <emphasis
role="bold">952 $d</emphasis> for
<varname>items.holdingbranch</varname>. Be certain to convert to the 4
character all capitals code as defined for Koha branches in
<emphasis>Koha System Administration : Branches</emphasis>.</para>
</listitem>
<listitem>
<para>Map <emphasis role="bold">506 $a</emphasis>, <emphasis
role="bold">876 $h</emphasis>, <emphasis role="bold">877
$h</emphasis>, and <emphasis role="bold">878 $h</emphasis> to
<emphasis role="bold">952 $y</emphasis> for
<varname>items.notforloan</varname>. Be certain to convert to an
integer where NULL or 0 is for loan and 1 is not for loan.</para>
</listitem>
<listitem>
<para>Map <emphasis role="bold">876 $j</emphasis>, <emphasis
role="bold">877 $j</emphasis>, and <emphasis role="bold">878
$j</emphasis> to <emphasis role="bold">952 $1</emphasis> for
<varname>items.itemlost</varname>. Be certain to convert to an integer
where NULL or 0 is not lost, 1 is lost and paid or by the party
responsible for losing the item, and 2 is lost with no payment
yet.</para>
</listitem>
<listitem>
<para>Map <emphasis role="bold">876 $j</emphasis>, <emphasis
role="bold">877 $j</emphasis>, and <emphasis role="bold">878
$j</emphasis> to <emphasis role="bold">952 $w</emphasis> for
<varname>items.withdrawn</varname>. Be certain to convert to an
integer where NULL or 0 is not withdrawn and 1 is restricted.</para>
</listitem>
<listitem>
<para>Map <emphasis role="bold">852 $k</emphasis>, <emphasis
role="bold">852 $h</emphasis>, <emphasis role="bold">852
$i</emphasis>, and <emphasis role="bold">852 $m</emphasis>
concatenated together sequentially, with separating spaces to join
them where needed, to <emphasis role="bold">952 $h</emphasis> for
<varname>items.itemcallnumber</varname>.</para>
</listitem>
<listitem>
<para>Map <emphasis role="bold">506 $a</emphasis>, <emphasis
role="bold">876 $j</emphasis>, <emphasis role="bold">877
$j</emphasis>, and <emphasis role="bold">878 $j</emphasis> to
<emphasis role="bold">952 $4</emphasis> for
<varname>items.restricted</varname>. Be certain to convert to an
integer value where NULL or 0 is not restricted and 1 is
restricted.</para>
</listitem>
<listitem>
<para>Map <emphasis role="bold">852 $c</emphasis>, <emphasis
role="bold">856 $u</emphasis>, <emphasis role="bold">876
$l</emphasis>, <emphasis role="bold">877 $l</emphasis>, and <emphasis
role="bold">878 $l</emphasis> to <emphasis role="bold">952
$c</emphasis> for <varname>items.location</varname>.</para>
</listitem>
</itemizedlist>
<para>After your mappings are complete, be certain to set them for the
Koha items table in <emphasis>System Administration : MARC
Links</emphasis>. There should be no mapping to any items table column not
given in the mapping above to avoid possible data corruption with
automatically populated key columns or senseless use of orphan
columns.</para>
</section>
<section>
<title>MARC 21 Holdings</title>
<para>MARC 21 bibliographic has always provided multiple holdings fields.
MARC 21 holdings format for storing holdings information in a separate
record follows the original introduction of the USMARC holdings format in
1996. Despite the holding standard for MARC 21, some systems have
continued to implement nonstandard local use holdings fields and
subfields. Certainly, some information often not considered to apply well
to standard holdings fields or not provided in the standard at all
requires local use field or subfield implementation. Koha's use of a local
use field for holdings is certainly not exceptional. At the beginning of
2005, OCLC announced their plan to implement holdings in separate holdings
format records by year's end.</para>
<para>In the the MARC 21 bibliographic format, as in the MARC 21 holdings
format, copy number $t is the linking subfield for identifying the
particular copy across multiple holdings fields. For those cases where a
subset of the copy is required, materials specified $3 is the linking
subfield for identifying the subset. Control number for related
bibliographic record 004 in MARC 21 holdings identifies the control number
001 for the corresponding MARC 21 bibliographic record on the same system.
System control number 035 in MARC 21 holdings matches 035 in MARC 21
bibliographic on the same system for identifying the control number 001
for a bibliographic record obtained from another system.</para>
<section>
<title>MARC 21 Serials Holdings</title>
<para>MARC 21 holdings fields from both MARC 21 bibliographic records
and MARC 21 holdings records allow storing complex serials holdings
information in a format that is easy for machines to parse, although
difficult for humans to read. Display presentation and complementary
textual holdings fields allow for easy human readability of complex
serials holdings.</para>
<para>Complex serials holdings can be stored in the following
fields:<itemizedlist>
<listitem>
<para>Captions and patterns fields 853-855</para>
</listitem>
<listitem>
<para>Enumeration and chronology fields 863-865</para>
</listitem>
<listitem>
<para>The simpler textual holdings fields 866-868</para>
</listitem>
</itemizedlist>853-855, 863-865, 866-868, and item information fields
876-878 are linked together by field link and sequence number $8. If the
enumeration and chronology fields 863-865 are not used, then location
852 or textual holdings fields 866-868 are linked to item information
fields 876-878 by $3.</para>
<para>The all-holdings-in-one-local-use-field model that Koha uses based
on Recommendation 995 only allows for simpler format textual holdings
that are easy for humans to read but difficult for machines to parse. At
some future time, when Koha needs to support more complex needs, of
academic libraries or other libraries with complex serials holdings, or
to provide for the configuration of OpenURL resolvers, this issue should
be addressed.</para>
</section>
</section>
<section>
<title>UNIMARC Holdings</title>
<para>UNIMARC had omitted holdings support from the bibliographic format.
Implementers used local use fields or some other means for holdings
information. The French government supported Recommendation 995 for public
libraries. In 2004, the IFLA approved a UNIMARC holdings format as a
separate record from the linked bibliographic record, <ulink
url="http://www.ifla.org/VI/8/projects/UNIMARC-HoldingsFormat04.pdf">http://www.ifla.org/VI/8/projects/UNIMARC-HoldingsFormat04.pdf</ulink>.
Paul Poulain reports that the UNIMARC holdings format has not yet been
adopted by any ILS that he knows.</para>
<para>Related bibliographic control number 004 in UNIMARC holdings
identifies the control number 001 for the corresponding UNIMARC
bibliographic record on the same system. Other system control number 035
in UNIMARC holdings matches 035 in UNIMARC bibliographic on the same
system for identifying the control number 001 for a bibliographic record
obtained from another system. In accordance with the approval of the
UNIMARC holdings format, two fields are being added to the UNMARC
bibliographic format. Location and call number 852 is being added to
UNIMARC bibliographic to match the corresponding 252 field in UNIMARC
holdings. Electronic location and access 856 is being added to UNIMARC
bibliographic to match the corresponding 252 field in UNIMARC holdings.
Within UNIMARC holdings, copy number $t is the linking subfield for
identifying the particular copy across multiple fields.</para>
<section>
<title>UNIMARC Serials Holdings</title>
<para>The UNIMARC holdings format allows storing complex serials
holdings information in a format that is easy for machines to parse,
although difficult for humans to read. Display presentation and
complementary textual holdings fields allow for easy human readability
of complex serials holdings.</para>
<para>Complex serials holdings can be stored in the following
fields:<itemizedlist>
<listitem>
<para>Captions and patterns fields 500-502 are optional</para>
</listitem>
<listitem>
<para>Enumeration and chronology<itemizedlist>
<listitem>
<para>Basic bibliographic unit 510 is mandatory if
applicable</para>
</listitem>
<listitem>
<para>The other enumeration and chronology fields 511 and
512 are optional</para>
</listitem>
</itemizedlist></para>
</listitem>
<listitem>
<para>The simpler textual holdings fields 520-521 are
optional</para>
</listitem>
</itemizedlist>500-502, 510-512, and 520-521 are linked together by
interfield linking data $6.</para>
<para>Recommendation 995 only allows for simpler format textual holdings
that are easy for humans to read but difficult for machines to parse. At
some future time, when Koha needs to support more complex needs of
academic libraries or other libraries with complex serials holdings, or
to provide for the configuration of OpenURL resolvers, this issue should
be addressed.</para>
</section>
</section>
<section>
<title>Development of Koha Holdings Model</title>
<para>An account of the development of the Koha holdings model can be
found in the "Koha diary" along with much other useful history. (Hedges,
Stephen. <citetitle>A Koha diary : implementing Koha at the Nelsonville
Public Library</citetitle>. kohadocs.org. 2005. <ulink
url="http://www.kohadocs.org/koha_diary.html">http://www.kohadocs.org/koha_diary.html</ulink>.)</para>
<para>The diary describes part of how the default Koha table linkings to
MARC fields had originated. (Poulain, Paul. <citetitle>Re--dumpmarc :
date--Wednesday May 21, 2003, 10:02 AM ; to--shedges /
from--paul.p.</citetitle>)</para>
<para>Stephen is quoted. "We've been discussing our item information.
There is _so_ much valuable information in our old system about each item
that we don't want to lose, but which doesn't fit into a MARC tag. Things
such as date last seen (which is also in Koha items table) or date last
borrowed (also in Koha). We're very tempted to just write a script to read
the item information from our old system and load it directly into the
Koha items table."</para>
<para>Paul replied. "Why don't you add specific non-standard marc tags in
the parameters table and map them to the corresponding koha fields ? Note
that I agree to say that there are only a few 852 subfields code that are
free in MARC21 (1,4,5,7,9,d,o,u,v,w,y if my table is right), but it may be
enough."</para>
<para>Local use field 952 had been used for holdings by the ILS that NPL
had been using prior to migrating to Koha and was retained for the Koha to
MARC items linkings and presented as a default for Koha. The substitution
of a local use field avoids the risk of some possible future assignment of
unassigned subfields for those items table columns that are not part of
the MARC standard.</para>
</section>
</article>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Koha-cvs] CVS: koha-doc/en/sysadmin/migration holdings.xml,NONE,1.1,
skemotah <=
- Prev by Date:
[Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/npl/en/bookshelves addbookbybiblionumber.tmpl,1.1.2.3,1.1.2.4 shelves.tmpl,1.1.2.4,1.1.2.5
- Next by Date:
[Koha-cvs] CVS: koha stats.screen.pl,1.2,1.3
- Previous by thread:
[Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/npl/en/bookshelves addbookbybiblionumber.tmpl,1.1.2.3,1.1.2.4 shelves.tmpl,1.1.2.4,1.1.2.5
- Next by thread:
[Koha-cvs] CVS: koha stats.screen.pl,1.2,1.3
- Index(es):