Hi Bryan,

Thanks for the information. I also downloaded Lintadditions. Right now, I'm 
trying to figure out what I want to do. I'm new to object-oriented programming 
in Perl, so it's a learning experience for me. What I think I need to do is 
create my own module for checks specific to ebook records, like checking that 
all records have an 856 field with 2nd indicator 0 or an electronic resource 
007, among other things. I need to think about it more and play around with the 
different modules more. 


----- Original Message -----
> From: "Bryan Baldus" <bryan.bal...@quality-books.com>
> To: "Shelley Doljack" <sdolj...@stanford.edu>, perl4lib@perl.org
> Sent: Tuesday, July 17, 2012 6:15:45 PM
> Subject: RE: Customizing MARC::Errorchecks
> On Tuesday, July 17, 2012 4:34 PM, Shelley Doljack
> [sdolj...@stanford.edu] wrote:
> >I'm playing around with using MARC::Errorchecks for reviewing ebook
> >records we get from vendors. I want to make some modifications to
> >the module, but I find that if I do so in a similar manner
> >described in the tutorial for customizing MARC::Lint, by making a
> >subclass of the module, it doesn't work. Is this not possible with
> >Errorchecks?
> Indeed, MARC::Errorchecks was not written in the object-oriented
> style that MARC::Lint uses. Skimming through the code just now (I've
> not worked with it as regularly as I might like to be able to keep
> it fresh in my memory), I believe it is essentially a collection of
> subs with a wrapper sub to call each check--check_all_subs() calls
> each of the checking subroutines and returns the arrayref of any
> errors found. When I wrote it I was still early in learning Perl
> (and while I've gotten better since then, lack of recent practice
> working with it hasn't necessarily improved my knowledge of the
> language), so I'm sure it's not the most optimized code possible.
> check_all_subs() and the POD comments could serve as an index to
> each of the checks, with the SYNOPSIS showing examples of how to
> call the individual checks.
> That said, if you have ideas for additions or changes, or other
> questions, I welcome hearing about them, either to add to the base
> module or to help with creating a related module of your own. I do
> know that I need to get working on the changes required for RDA
> records, but haven't really even started looking into the challenges
> those will pose (though that will likely result in a new module or
> more devoted just to RDA, and will also likely require
> changes/subclasses to MARC::Lint and MARC::Lintadditions).
> Also of note, I have a newer version I've just uploaded to CPAN [1]
> with the following changes (in addition to those listed below, I
> plan on removing MARC::Lint::CodeData from the Errorchecks
> distribution and then requiring MARC::Lint, which includes CodeData
> (to hopefully resolve issues with installing both module packages at
> the same time due to this file):
> Version 1.16: Updated May 16-Nov. 14, 2011. Released 7-17-2012.
>  -Removed MARC::Lint::CodeData and require MARC::Lint
>  -Turned off check_fieldlength($record) in check_all_subs()
>  -Turned off checking of floating hyphens in 520 fields in
>  findfloatinghyphens($record)
>  -Updated validate008 subs (and 006) related to 008/24-27 (Books and
>  Continuing Resources) for MARC Update no. 10, Oct. 2009 and Update
>  no. 11, 2010; no. 12, Oct. 2010; and no. 13, Sept. 2011.
>  -Updated %ldrbytes with leader/18 'c' and redefinition of 'i' per
>  MARC Update no. 12, Oct. 2010.
> Version 1.15: Updated June 24-August 16, 2009. Released , 2009.
>  -Updated checks related to 300 to better account for electronic
>  resources.
>  -Revised wording in validate008($field008, $mattype, $biblvl)
>  language code (008/35-37) for '   '/zxx.
>  -Updated validate008 subs (and 006) related to 008/24-27 (Books and
>  Continuing Resources) for MARC Update no. 9, Oct. 2008.
>  -Updated validate008 sub (and 006) for Books byte 33, Literary form,
>  invalidating code 'c' and referring it to 008/24-27 value 'c' .
>  -Updated video007vs300vs538($record) to allow Blu-ray in 538 and 's'
>  in 07/04.
> [1] While the CPAN indexer works on that:
> <http://www.cpan.org/authors/id/E/EI/EIJABB/MARC-Errorchecks-1.16.tar.gz>
> , I've also posted the file to my website:
> <http://home.comcast.net/~eijabb/bryanmodules/MARC-Errorchecks-1.16.tar.gz>,
> with text versions of each file visible in:
> <http://home.comcast.net/~eijabb/bryanmodules/MARC-Errorchecks-1.16>
> #####################
> Finally, I meant to mention it on this list earlier, but I've posted
> a new version of MARC::Lint, 1.45, to CPAN [2], with the current
> development version (as of now, same as CPAN's version), in
> SourceForge's Git repository [3]. Updates to that module include:
>  - Updated Lint::DATA section with Update No. 10 (Oct. 2009) through
>  Update No. 14 (Apr. 2012)
>  - Updated _check_article with the exceptions: 'A & ', 'L is '
> #####################
> [2] <http://search.cpan.org/~eijabb/MARC-Lint-1.45/>
> [3]
> <http://marcpm.git.sourceforge.net/git/gitweb.cgi?p=marcpm/marcpm;a=summary>
> I hope this helps,
> Bryan Baldus
> Cataloger
> Quality Books Inc.
> 1-800-323-4241x402
> bryan.bal...@quality-books.com
> eij...@cpan.org
> http://home.comcast.net/~eijabb/

Reply via email to