Re: [CODE4LIB] MARC Holdings

2018-01-25 Thread Naomi Dushay
There is also java MHLD processing code in Stanford’s branch of Solrmarc:

https://github.com/sul-dlss/solrmarc-sw/blob/master/stanford-sw/src/edu/stanford/MhldDisplayUtil.java
   esp towards bottom of that class.

- Naomi

On Jan 25, 2018, at 7:16 AM, Robert Haschart 
<rh...@virginia.edu<mailto:rh...@virginia.edu>> wrote:

There is another MARC handling library, written in Java, called marc4j  ( 
https://github.com/marc4j/marc4j )  it is used heavily by the Open Source 
project named SolrMarc, which extracts information from MARC records and builds 
Solr records.
One of the plug-ins for SolrMarc that our University's Library uses gathers 
Summary Holdings information including translating the 853 and 863 fields to 
text.It even makes an attempt to collapse a series of consecutive holdings 
into a range for example:
  2015, no.1- 2017, no.46 (2015:Jan 5-2017:Nov 13)

Although I just found that in that case it missed a few gaps in the middle of 
the range.  I can make the necessary code available is anyone is interested.

-Bob Haschart
University of Virginia Library


On 1/19/2018 7:32 PM, Julie Cole wrote:
It will take me awhile to delve into this all and understand it so I can 
determine that the code IS indeed helpful.  But one thing I know is that as 
people you are all very helpful.  Thanks so much for sharing.  I love this 
community.
Julie.

-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf Of Spurgin, 
Kristina M.
Sent: Friday, January 19, 2018 8:13 AM
To: CODE4LIB@LISTS.CLIR.ORG<mailto:CODE4LIB@LISTS.CLIR.ORG>
Subject: Re: [CODE4LIB] MARC Holdings

That MFHD.pm code is so helpful! Thanks for sharing.

-Kristina

-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf Of
Mike Rylander
Sent: Thursday, January 18, 2018 5:49 PM
To: CODE4LIB@LISTS.CLIR.ORG<mailto:CODE4LIB@LISTS.CLIR.ORG>
Subject: Re: [CODE4LIB] MARC Holdings

Evergreen has Perl code for generating holdings statements from MFHD
that we use in the serials module.  The core MFHD module could
certainly be used directly (with, perhaps, a namespace change), and
the serials module code could serve as a guide for how to make use of
the MFHD module.  The latter is, of course, tied to Evergreen's data
structures and general architecture, but the specific calls made by
the serials code to use the MFHD module should be relatively
transparent to a Perl developer and you can ignore all the Evergreen
bits.  We're dealing with MARC data (MARC::Record objects) at the
point that we're calling the MFHD module, so that should be translatable to 
one's own code.

See MFHD.pm and the contents of the MFHD directory here:
http://git.evergreen-ils.org/?p=Evergreen.git;a=tree;f=Open-
ILS/src/perlmods/lib/OpenILS/Utils

The serials module is implemented by the code here:
http://git.evergreen-ils.org/?p=Evergreen.git;a=blob;f=Open-
ILS/src/perlmods/lib/OpenILS/Application/Serial.pm

HTH,

--
Mike Rylander
 | President
 | Equinox Open Library Initiative
 | phone:  1-877-OPEN-ILS (673-6457)
 | email:  mi...@equinoxinitiative.org  | web:
http://equinoxinitiative.org


On Thu, Jan 18, 2018 at 4:25 PM, Spurgin, Kristina M.
<kspur...@email.unc.edu> wrote:
The MARC libraries cited make it easy to work with MARC in general,
but
unfortunately the Perl and Ruby versions don't come with any help for
the "interesting" problem of transforming Holdings 853s and 863s into
human- readablesummary holdings statements (like you'd record in the
866 or 867). (I haven't worked with PyMARC).
We had the same sort of need you describe years ago and came up with
some Perl code that clunkily (and in some cases not quite 100%
accurately) does this. It's not publicly available to point to, but I
could send the relevant part of that code if you are interested.
There has been mild grumbling (from those who pay attention to our
serials
display) about the not-great way this works, and we are working on a
new discovery interface, so it's on my list to improve the summary
holdings generation from 853s/863s.
I did some searching for code to do this, but didn't find anything
in my first
attempt. If you find something useful that someone else has for this,
please do share!
I've been thinking through a good approach, but don't have anything
implemented yet.
best,
Kristina

-=-
Kristina M. Spurgin -- Library Data Strategist
 E-Resources & Serials Management, Davis Library
  University of North Carolina at Chapel Hill
 CB#3938, Davis Library -- Chapel Hill, NC 27514-8890
   919-962-3825 -- kspur...@email.unc.edu

-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf
Of Andromeda Yelton
Sent: Thursday, January 18, 2018 4:01 PM
To: CODE4LIB@LISTS.CLIR.ORG
Subject: Re: [CODE4LIB] MARC Holdings

Note that if perl isn't your thing there are MARC libraries in
several languages
-

Re: [CODE4LIB] MARC Holdings

2018-01-25 Thread Robert Haschart
There is another MARC handling library, written in Java, called marc4j  
( https://github.com/marc4j/marc4j )  it is used heavily by the Open 
Source project named SolrMarc, which extracts information from MARC 
records and builds Solr records.
One of the plug-ins for SolrMarc that our University's Library uses 
gathers Summary Holdings information including translating the 853 and 
863 fields to text.It even makes an attempt to collapse a series of 
consecutive holdings into a range for example:

   2015, no.1- 2017, no.46 (2015:Jan 5-2017:Nov 13)

Although I just found that in that case it missed a few gaps in the 
middle of the range.  I can make the necessary code available is anyone 
is interested.


-Bob Haschart
University of Virginia Library


On 1/19/2018 7:32 PM, Julie Cole wrote:

It will take me awhile to delve into this all and understand it so I can 
determine that the code IS indeed helpful.  But one thing I know is that as 
people you are all very helpful.  Thanks so much for sharing.  I love this 
community.
Julie.

-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf Of Spurgin, 
Kristina M.
Sent: Friday, January 19, 2018 8:13 AM
To: CODE4LIB@LISTS.CLIR.ORG
Subject: Re: [CODE4LIB] MARC Holdings

That MFHD.pm code is so helpful! Thanks for sharing.

-Kristina


-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf Of
Mike Rylander
Sent: Thursday, January 18, 2018 5:49 PM
To: CODE4LIB@LISTS.CLIR.ORG
Subject: Re: [CODE4LIB] MARC Holdings

Evergreen has Perl code for generating holdings statements from MFHD
that we use in the serials module.  The core MFHD module could
certainly be used directly (with, perhaps, a namespace change), and
the serials module code could serve as a guide for how to make use of
the MFHD module.  The latter is, of course, tied to Evergreen's data
structures and general architecture, but the specific calls made by
the serials code to use the MFHD module should be relatively
transparent to a Perl developer and you can ignore all the Evergreen
bits.  We're dealing with MARC data (MARC::Record objects) at the
point that we're calling the MFHD module, so that should be translatable to 
one's own code.

See MFHD.pm and the contents of the MFHD directory here:
http://git.evergreen-ils.org/?p=Evergreen.git;a=tree;f=Open-
ILS/src/perlmods/lib/OpenILS/Utils

The serials module is implemented by the code here:
http://git.evergreen-ils.org/?p=Evergreen.git;a=blob;f=Open-
ILS/src/perlmods/lib/OpenILS/Application/Serial.pm

HTH,

--
Mike Rylander
  | President
  | Equinox Open Library Initiative
  | phone:  1-877-OPEN-ILS (673-6457)
  | email:  mi...@equinoxinitiative.org  | web:
http://equinoxinitiative.org


On Thu, Jan 18, 2018 at 4:25 PM, Spurgin, Kristina M.
<kspur...@email.unc.edu> wrote:

The MARC libraries cited make it easy to work with MARC in general,
but

unfortunately the Perl and Ruby versions don't come with any help for
the "interesting" problem of transforming Holdings 853s and 863s into
human- readablesummary holdings statements (like you'd record in the
866 or 867). (I haven't worked with PyMARC).

We had the same sort of need you describe years ago and came up with

some Perl code that clunkily (and in some cases not quite 100%
accurately) does this. It's not publicly available to point to, but I
could send the relevant part of that code if you are interested.

There has been mild grumbling (from those who pay attention to our
serials

display) about the not-great way this works, and we are working on a
new discovery interface, so it's on my list to improve the summary
holdings generation from 853s/863s.

I did some searching for code to do this, but didn't find anything
in my first

attempt. If you find something useful that someone else has for this,
please do share!

I've been thinking through a good approach, but don't have anything

implemented yet.

best,
Kristina

-=-
Kristina M. Spurgin -- Library Data Strategist
  E-Resources & Serials Management, Davis Library
   University of North Carolina at Chapel Hill
  CB#3938, Davis Library -- Chapel Hill, NC 27514-8890
919-962-3825 -- kspur...@email.unc.edu


-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf
Of Andromeda Yelton
Sent: Thursday, January 18, 2018 4:01 PM
To: CODE4LIB@LISTS.CLIR.ORG
Subject: Re: [CODE4LIB] MARC Holdings

Note that if perl isn't your thing there are MARC libraries in
several languages
- python and ruby at least, probably others I don't remember off
the top of my head (since I work in python and ruby, no shade to
other people's languages :). https://github.com/edsu/pymarc ,
https://github.com/ruby-marc/ruby-
marc .

On Thu, Jan 18, 2018 at 12:50 PM, Julie Cole <jc...@langara.ca> wrote:


Hello all,
I'm pretty new to the world of library systems and this is my fi

Re: [CODE4LIB] MARC Holdings

2018-01-19 Thread Julie Cole
It will take me awhile to delve into this all and understand it so I can 
determine that the code IS indeed helpful.  But one thing I know is that as 
people you are all very helpful.  Thanks so much for sharing.  I love this 
community.
Julie.

-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf Of Spurgin, 
Kristina M.
Sent: Friday, January 19, 2018 8:13 AM
To: CODE4LIB@LISTS.CLIR.ORG
Subject: Re: [CODE4LIB] MARC Holdings

That MFHD.pm code is so helpful! Thanks for sharing.

-Kristina

> -Original Message-
> From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf Of 
> Mike Rylander
> Sent: Thursday, January 18, 2018 5:49 PM
> To: CODE4LIB@LISTS.CLIR.ORG
> Subject: Re: [CODE4LIB] MARC Holdings
>
> Evergreen has Perl code for generating holdings statements from MFHD 
> that we use in the serials module.  The core MFHD module could 
> certainly be used directly (with, perhaps, a namespace change), and 
> the serials module code could serve as a guide for how to make use of 
> the MFHD module.  The latter is, of course, tied to Evergreen's data 
> structures and general architecture, but the specific calls made by 
> the serials code to use the MFHD module should be relatively 
> transparent to a Perl developer and you can ignore all the Evergreen 
> bits.  We're dealing with MARC data (MARC::Record objects) at the 
> point that we're calling the MFHD module, so that should be translatable to 
> one's own code.
>
> See MFHD.pm and the contents of the MFHD directory here:
> http://git.evergreen-ils.org/?p=Evergreen.git;a=tree;f=Open-
> ILS/src/perlmods/lib/OpenILS/Utils
>
> The serials module is implemented by the code here:
> http://git.evergreen-ils.org/?p=Evergreen.git;a=blob;f=Open-
> ILS/src/perlmods/lib/OpenILS/Application/Serial.pm
>
> HTH,
>
> --
> Mike Rylander
>  | President
>  | Equinox Open Library Initiative
>  | phone:  1-877-OPEN-ILS (673-6457)
>  | email:  mi...@equinoxinitiative.org  | web:  
> http://equinoxinitiative.org
>
>
> On Thu, Jan 18, 2018 at 4:25 PM, Spurgin, Kristina M.
> <kspur...@email.unc.edu> wrote:
> > The MARC libraries cited make it easy to work with MARC in general, 
> > but
> unfortunately the Perl and Ruby versions don't come with any help for 
> the "interesting" problem of transforming Holdings 853s and 863s into 
> human- readablesummary holdings statements (like you'd record in the 
> 866 or 867). (I haven't worked with PyMARC).
> >
> > We had the same sort of need you describe years ago and came up with
> some Perl code that clunkily (and in some cases not quite 100% 
> accurately) does this. It's not publicly available to point to, but I 
> could send the relevant part of that code if you are interested.
> >
> > There has been mild grumbling (from those who pay attention to our 
> > serials
> display) about the not-great way this works, and we are working on a 
> new discovery interface, so it's on my list to improve the summary 
> holdings generation from 853s/863s.
> >
> > I did some searching for code to do this, but didn't find anything 
> > in my first
> attempt. If you find something useful that someone else has for this, 
> please do share!
> >
> > I've been thinking through a good approach, but don't have anything
> implemented yet.
> >
> > best,
> > Kristina
> >
> > -=-
> > Kristina M. Spurgin -- Library Data Strategist
> >  E-Resources & Serials Management, Davis Library
> >   University of North Carolina at Chapel Hill
> >  CB#3938, Davis Library -- Chapel Hill, NC 27514-8890
> >    919-962-3825 -- kspur...@email.unc.edu
> >
> >> -Original Message-
> >> From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf 
> >> Of Andromeda Yelton
> >> Sent: Thursday, January 18, 2018 4:01 PM
> >> To: CODE4LIB@LISTS.CLIR.ORG
> >> Subject: Re: [CODE4LIB] MARC Holdings
> >>
> >> Note that if perl isn't your thing there are MARC libraries in 
> >> several languages
> >> - python and ruby at least, probably others I don't remember off 
> >> the top of my head (since I work in python and ruby, no shade to 
> >> other people's languages :). https://github.com/edsu/pymarc ,
> >> https://github.com/ruby-marc/ruby-
> >> marc .
> >>
> >> On Thu, Jan 18, 2018 at 12:50 PM, Julie Cole <jc...@langara.ca> wrote:
> >>
> >> > Hello all,
> >> > I'm pretty new to the world of library systems and this is my first post.
> >> >
> >&

Re: [CODE4LIB] MARC Holdings

2018-01-19 Thread Spurgin, Kristina M.
That MFHD.pm code is so helpful! Thanks for sharing. 

-Kristina

> -Original Message-
> From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf Of
> Mike Rylander
> Sent: Thursday, January 18, 2018 5:49 PM
> To: CODE4LIB@LISTS.CLIR.ORG
> Subject: Re: [CODE4LIB] MARC Holdings
> 
> Evergreen has Perl code for generating holdings statements from MFHD that
> we use in the serials module.  The core MFHD module could certainly be used
> directly (with, perhaps, a namespace change), and the serials module code
> could serve as a guide for how to make use of the MFHD module.  The latter
> is, of course, tied to Evergreen's data structures and general architecture, 
> but
> the specific calls made by the serials code to use the MFHD module should be
> relatively transparent to a Perl developer and you can ignore all the
> Evergreen bits.  We're dealing with MARC data (MARC::Record objects) at the
> point that we're calling the MFHD module, so that should be translatable to
> one's own code.
> 
> See MFHD.pm and the contents of the MFHD directory here:
> http://git.evergreen-ils.org/?p=Evergreen.git;a=tree;f=Open-
> ILS/src/perlmods/lib/OpenILS/Utils
> 
> The serials module is implemented by the code here:
> http://git.evergreen-ils.org/?p=Evergreen.git;a=blob;f=Open-
> ILS/src/perlmods/lib/OpenILS/Application/Serial.pm
> 
> HTH,
> 
> --
> Mike Rylander
>  | President
>  | Equinox Open Library Initiative
>  | phone:  1-877-OPEN-ILS (673-6457)
>  | email:  mi...@equinoxinitiative.org
>  | web:  http://equinoxinitiative.org
> 
> 
> On Thu, Jan 18, 2018 at 4:25 PM, Spurgin, Kristina M.
> <kspur...@email.unc.edu> wrote:
> > The MARC libraries cited make it easy to work with MARC in general, but
> unfortunately the Perl and Ruby versions don't come with any help for the
> "interesting" problem of transforming Holdings 853s and 863s into human-
> readablesummary holdings statements (like you'd record in the 866 or 867). (I
> haven't worked with PyMARC).
> >
> > We had the same sort of need you describe years ago and came up with
> some Perl code that clunkily (and in some cases not quite 100% accurately)
> does this. It's not publicly available to point to, but I could send the 
> relevant
> part of that code if you are interested.
> >
> > There has been mild grumbling (from those who pay attention to our serials
> display) about the not-great way this works, and we are working on a new
> discovery interface, so it's on my list to improve the summary holdings
> generation from 853s/863s.
> >
> > I did some searching for code to do this, but didn't find anything in my 
> > first
> attempt. If you find something useful that someone else has for this, please 
> do
> share!
> >
> > I've been thinking through a good approach, but don't have anything
> implemented yet.
> >
> > best,
> > Kristina
> >
> > -=-
> > Kristina M. Spurgin -- Library Data Strategist
> >  E-Resources & Serials Management, Davis Library
> >   University of North Carolina at Chapel Hill
> >  CB#3938, Davis Library -- Chapel Hill, NC 27514-8890
> >        919-962-3825 -- kspur...@email.unc.edu
> >
> >> -Original Message-
> >> From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf
> >> Of Andromeda Yelton
> >> Sent: Thursday, January 18, 2018 4:01 PM
> >> To: CODE4LIB@LISTS.CLIR.ORG
> >> Subject: Re: [CODE4LIB] MARC Holdings
> >>
> >> Note that if perl isn't your thing there are MARC libraries in
> >> several languages
> >> - python and ruby at least, probably others I don't remember off the
> >> top of my head (since I work in python and ruby, no shade to other
> >> people's languages :). https://github.com/edsu/pymarc ,
> >> https://github.com/ruby-marc/ruby-
> >> marc .
> >>
> >> On Thu, Jan 18, 2018 at 12:50 PM, Julie Cole <jc...@langara.ca> wrote:
> >>
> >> > Hello all,
> >> > I'm pretty new to the world of library systems and this is my first post.
> >> >
> >> > Anyone have any experience parsing MARC Holding records (853 and
> >> > 863) into a more readable 866 or 867 format?
> >> > We are wanting to export our holdings from our ILS into our
> >> > Discovery Layer and trying to save some of the money that the ILS
> >> > vendor would charge us to create the records.
> >> >
> >> > The parsing doesn't look fun, so I was hoping someone has some code
> >> &

Re: [CODE4LIB] MARC Holdings

2018-01-18 Thread Mike Rylander
Evergreen has Perl code for generating holdings statements from MFHD
that we use in the serials module.  The core MFHD module could
certainly be used directly (with, perhaps, a namespace change), and
the serials module code could serve as a guide for how to make use of
the MFHD module.  The latter is, of course, tied to Evergreen's data
structures and general architecture, but the specific calls made by
the serials code to use the MFHD module should be relatively
transparent to a Perl developer and you can ignore all the Evergreen
bits.  We're dealing with MARC data (MARC::Record objects) at the
point that we're calling the MFHD module, so that should be
translatable to one's own code.

See MFHD.pm and the contents of the MFHD directory here:
http://git.evergreen-ils.org/?p=Evergreen.git;a=tree;f=Open-ILS/src/perlmods/lib/OpenILS/Utils

The serials module is implemented by the code here:
http://git.evergreen-ils.org/?p=Evergreen.git;a=blob;f=Open-ILS/src/perlmods/lib/OpenILS/Application/Serial.pm

HTH,

--
Mike Rylander
 | President
 | Equinox Open Library Initiative
 | phone:  1-877-OPEN-ILS (673-6457)
 | email:  mi...@equinoxinitiative.org
 | web:  http://equinoxinitiative.org


On Thu, Jan 18, 2018 at 4:25 PM, Spurgin, Kristina M.
<kspur...@email.unc.edu> wrote:
> The MARC libraries cited make it easy to work with MARC in general, but 
> unfortunately the Perl and Ruby versions don't come with any help for the 
> "interesting" problem of transforming Holdings 853s and 863s into 
> human-readablesummary holdings statements (like you'd record in the 866 or 
> 867). (I haven't worked with PyMARC).
>
> We had the same sort of need you describe years ago and came up with some 
> Perl code that clunkily (and in some cases not quite 100% accurately) does 
> this. It's not publicly available to point to, but I could send the relevant 
> part of that code if you are interested.
>
> There has been mild grumbling (from those who pay attention to our serials 
> display) about the not-great way this works, and we are working on a new 
> discovery interface, so it's on my list to improve the summary holdings 
> generation from 853s/863s.
>
> I did some searching for code to do this, but didn't find anything in my 
> first attempt. If you find something useful that someone else has for this, 
> please do share!
>
> I've been thinking through a good approach, but don't have anything 
> implemented yet.
>
> best,
> Kristina
>
> -=-
> Kristina M. Spurgin -- Library Data Strategist
>  E-Resources & Serials Management, Davis Library
>   University of North Carolina at Chapel Hill
>  CB#3938, Davis Library -- Chapel Hill, NC 27514-8890
>919-962-3825 -- kspur...@email.unc.edu
>
>> -Original Message-
>> From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf Of
>> Andromeda Yelton
>> Sent: Thursday, January 18, 2018 4:01 PM
>> To: CODE4LIB@LISTS.CLIR.ORG
>> Subject: Re: [CODE4LIB] MARC Holdings
>>
>> Note that if perl isn't your thing there are MARC libraries in several 
>> languages
>> - python and ruby at least, probably others I don't remember off the top of 
>> my
>> head (since I work in python and ruby, no shade to other people's languages
>> :). https://github.com/edsu/pymarc , https://github.com/ruby-marc/ruby-
>> marc .
>>
>> On Thu, Jan 18, 2018 at 12:50 PM, Julie Cole <jc...@langara.ca> wrote:
>>
>> > Hello all,
>> > I'm pretty new to the world of library systems and this is my first post.
>> >
>> > Anyone have any experience parsing MARC Holding records (853 and 863)
>> > into a more readable 866 or 867 format?
>> > We are wanting to export our holdings from our ILS into our Discovery
>> > Layer and trying to save some of the money that the ILS vendor would
>> > charge us to create the records.
>> >
>> > The parsing doesn't look fun, so I was hoping someone has some code to
>> > use as a starting point.
>> > Also, I'm not sure how clean our data in 853 and 863 is so any scripts
>> > or advice on gotchas when cleaning that up would be appreciated.
>> > We have about 60,000 holding records.
>> >
>> > Thanks,
>> > Julie.
>> >
>> >
>> > Julie Cole
>> > Library Systems Administrator
>> > Langara College Library
>> > Vancouver, BC
>> >
>>
>>
>>
>> --
>> Andromeda Yelton
>> Senior Software Engineer, MIT Libraries: https://libraries.mit.edu/ 
>> President,
>> Library & Information Technology Association: http://www.lita.org
>> http://andromedayelton.com @ThatAndromeda
>> <http://twitter.com/ThatAndromeda>


Re: [CODE4LIB] MARC Holdings

2018-01-18 Thread Julie Cole
I'm definitely interested in whatever you have and are willing to share.  I'm 
also interested in whatever language at this point.   I'm new to library 
systems and returning to coding after a bit of a hiatus so I will have to learn 
the server side scripting language no matter what anyhow.

Thanks.
Julie.

-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf Of Spurgin, 
Kristina M.
Sent: Thursday, January 18, 2018 1:26 PM
To: CODE4LIB@LISTS.CLIR.ORG
Subject: Re: [CODE4LIB] MARC Holdings

The MARC libraries cited make it easy to work with MARC in general, but 
unfortunately the Perl and Ruby versions don't come with any help for the 
"interesting" problem of transforming Holdings 853s and 863s into 
human-readablesummary holdings statements (like you'd record in the 866 or 
867). (I haven't worked with PyMARC).

We had the same sort of need you describe years ago and came up with some Perl 
code that clunkily (and in some cases not quite 100% accurately) does this. 
It's not publicly available to point to, but I could send the relevant part of 
that code if you are interested.

There has been mild grumbling (from those who pay attention to our serials 
display) about the not-great way this works, and we are working on a new 
discovery interface, so it's on my list to improve the summary holdings 
generation from 853s/863s.

I did some searching for code to do this, but didn't find anything in my first 
attempt. If you find something useful that someone else has for this, please do 
share!

I've been thinking through a good approach, but don't have anything implemented 
yet.

best,
Kristina

-=-
Kristina M. Spurgin -- Library Data Strategist
 E-Resources & Serials Management, Davis Library
  University of North Carolina at Chapel Hill
 CB#3938, Davis Library -- Chapel Hill, NC 27514-8890
   919-962-3825 -- kspur...@email.unc.edu

> -Original Message-
> From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf Of 
> Andromeda Yelton
> Sent: Thursday, January 18, 2018 4:01 PM
> To: CODE4LIB@LISTS.CLIR.ORG
> Subject: Re: [CODE4LIB] MARC Holdings
>
> Note that if perl isn't your thing there are MARC libraries in several 
> languages
> - python and ruby at least, probably others I don't remember off the 
> top of my head (since I work in python and ruby, no shade to other 
> people's languages :). https://github.com/edsu/pymarc , 
> https://github.com/ruby-marc/ruby-
> marc .
>
> On Thu, Jan 18, 2018 at 12:50 PM, Julie Cole <jc...@langara.ca> wrote:
>
> > Hello all,
> > I'm pretty new to the world of library systems and this is my first post.
> >
> > Anyone have any experience parsing MARC Holding records (853 and 
> > 863) into a more readable 866 or 867 format?
> > We are wanting to export our holdings from our ILS into our 
> > Discovery Layer and trying to save some of the money that the ILS 
> > vendor would charge us to create the records.
> >
> > The parsing doesn't look fun, so I was hoping someone has some code 
> > to use as a starting point.
> > Also, I'm not sure how clean our data in 853 and 863 is so any 
> > scripts or advice on gotchas when cleaning that up would be appreciated.
> > We have about 60,000 holding records.
> >
> > Thanks,
> > Julie.
> >
> >
> > Julie Cole
> > Library Systems Administrator
> > Langara College Library
> > Vancouver, BC
> >
>
>
>
> --
> Andromeda Yelton
> Senior Software Engineer, MIT Libraries: https://libraries.mit.edu/ 
> President, Library & Information Technology Association: 
> http://www.lita.org http://andromedayelton.com @ThatAndromeda 
> <http://twitter.com/ThatAndromeda>



Re: [CODE4LIB] MARC Holdings

2018-01-18 Thread Spurgin, Kristina M.
That's a good idea, and it's sort of where I was planning to start. But I 
hadn't thought to share the specs/tests more widely. 

If I haven't seen someone else put something out there first, I'll share when I 
have a chance to put that together and have our serials cataloger check my 
work. I taught MARC cataloging for YEARS, but it was bib-record focused, and 
holdings records still make my head spin. 

-Kristina

> -Original Message-
> From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf Of Bill
> Dueber
> Sent: Thursday, January 18, 2018 4:30 PM
> To: CODE4LIB@LISTS.CLIR.ORG
> Subject: Re: [CODE4LIB] MARC Holdings
> 
> I've never actually worked with the raw holdings records, and because I
> assume everyone is just like me, I imagine other's haven't, either. I now
> working with the summary holdings information as a text string is a nightmare.
> 
> Maybe you could throw up some "given this, it should produce that" data
> somewhere for folks to look at? If nothing else, it'll force you to start a 
> test
> suite :-)
> 
> On Thu, Jan 18, 2018 at 4:25 PM, Spurgin, Kristina M. <
> kspur...@email.unc.edu> wrote:
> 
> > The MARC libraries cited make it easy to work with MARC in general,
> > but unfortunately the Perl and Ruby versions don't come with any help
> > for the "interesting" problem of transforming Holdings 853s and 863s
> > into human-readablesummary holdings statements (like you'd record in
> > the 866 or 867). (I haven't worked with PyMARC).
> >
> > We had the same sort of need you describe years ago and came up with
> > some Perl code that clunkily (and in some cases not quite 100%
> > accurately) does this. It's not publicly available to point to, but I
> > could send the relevant part of that code if you are interested.
> >
> > There has been mild grumbling (from those who pay attention to our
> > serials
> > display) about the not-great way this works, and we are working on a
> > new discovery interface, so it's on my list to improve the summary
> > holdings generation from 853s/863s.
> >
> > I did some searching for code to do this, but didn't find anything in
> > my first attempt. If you find something useful that someone else has
> > for this, please do share!
> >
> > I've been thinking through a good approach, but don't have anything
> > implemented yet.
> >
> > best,
> > Kristina
> >
> > -=-
> > Kristina M. Spurgin -- Library Data Strategist
> >  E-Resources & Serials Management, Davis Library
> >   University of North Carolina at Chapel Hill
> >  CB#3938, Davis Library -- Chapel Hill, NC 27514-8890
> >919-962-3825 -- kspur...@email.unc.edu
> >
> > > -Original Message-
> > > From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf
> > > Of Andromeda Yelton
> > > Sent: Thursday, January 18, 2018 4:01 PM
> > > To: CODE4LIB@LISTS.CLIR.ORG
> > > Subject: Re: [CODE4LIB] MARC Holdings
> > >
> > > Note that if perl isn't your thing there are MARC libraries in
> > > several
> > languages
> > > - python and ruby at least, probably others I don't remember off the
> > > top
> > of my
> > > head (since I work in python and ruby, no shade to other people's
> > languages
> > > :). https://github.com/edsu/pymarc ,
> > > https://github.com/ruby-marc/ruby-
> > > marc .
> > >
> > > On Thu, Jan 18, 2018 at 12:50 PM, Julie Cole <jc...@langara.ca> wrote:
> > >
> > > > Hello all,
> > > > I'm pretty new to the world of library systems and this is my
> > > > first
> > post.
> > > >
> > > > Anyone have any experience parsing MARC Holding records (853 and
> > > > 863) into a more readable 866 or 867 format?
> > > > We are wanting to export our holdings from our ILS into our
> > > > Discovery Layer and trying to save some of the money that the ILS
> > > > vendor would charge us to create the records.
> > > >
> > > > The parsing doesn't look fun, so I was hoping someone has some
> > > > code to use as a starting point.
> > > > Also, I'm not sure how clean our data in 853 and 863 is so any
> > > > scripts or advice on gotchas when cleaning that up would be
> appreciated.
> > > > We have about 60,000 holding records.
> > > >
> > > > Thanks,
> > > > Julie.
> > > >
> > > >
> > > > Julie Cole
> > > > Library Systems Administrator
> > > > Langara College Library
> > > > Vancouver, BC
> > > >
> > >
> > >
> > >
> > > --
> > > Andromeda Yelton
> > > Senior Software Engineer, MIT Libraries: https://libraries.mit.edu/
> > President,
> > > Library & Information Technology Association: http://www.lita.org
> > > http://andromedayelton.com @ThatAndromeda
> > > <http://twitter.com/ThatAndromeda>
> >
> 
> 
> 
> --
> Bill Dueber
> Library Systems Programmer
> University of Michigan Library


Re: [CODE4LIB] MARC Holdings

2018-01-18 Thread Bill Dueber
I've never actually worked with the raw holdings records, and because I
assume everyone is just like me, I imagine other's haven't, either. I now
working with the summary holdings information as a text string is a
nightmare.

Maybe you could throw up some "given this, it should produce that" data
somewhere for folks to look at? If nothing else, it'll force you to start a
test suite :-)

On Thu, Jan 18, 2018 at 4:25 PM, Spurgin, Kristina M. <
kspur...@email.unc.edu> wrote:

> The MARC libraries cited make it easy to work with MARC in general, but
> unfortunately the Perl and Ruby versions don't come with any help for the
> "interesting" problem of transforming Holdings 853s and 863s into
> human-readablesummary holdings statements (like you'd record in the 866 or
> 867). (I haven't worked with PyMARC).
>
> We had the same sort of need you describe years ago and came up with some
> Perl code that clunkily (and in some cases not quite 100% accurately) does
> this. It's not publicly available to point to, but I could send the
> relevant part of that code if you are interested.
>
> There has been mild grumbling (from those who pay attention to our serials
> display) about the not-great way this works, and we are working on a new
> discovery interface, so it's on my list to improve the summary holdings
> generation from 853s/863s.
>
> I did some searching for code to do this, but didn't find anything in my
> first attempt. If you find something useful that someone else has for this,
> please do share!
>
> I've been thinking through a good approach, but don't have anything
> implemented yet.
>
> best,
> Kristina
>
> -=-
> Kristina M. Spurgin -- Library Data Strategist
>  E-Resources & Serials Management, Davis Library
>   University of North Carolina at Chapel Hill
>  CB#3938, Davis Library -- Chapel Hill, NC 27514-8890
>919-962-3825 -- kspur...@email.unc.edu
>
> > -Original Message-
> > From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf Of
> > Andromeda Yelton
> > Sent: Thursday, January 18, 2018 4:01 PM
> > To: CODE4LIB@LISTS.CLIR.ORG
> > Subject: Re: [CODE4LIB] MARC Holdings
> >
> > Note that if perl isn't your thing there are MARC libraries in several
> languages
> > - python and ruby at least, probably others I don't remember off the top
> of my
> > head (since I work in python and ruby, no shade to other people's
> languages
> > :). https://github.com/edsu/pymarc , https://github.com/ruby-marc/ruby-
> > marc .
> >
> > On Thu, Jan 18, 2018 at 12:50 PM, Julie Cole <jc...@langara.ca> wrote:
> >
> > > Hello all,
> > > I'm pretty new to the world of library systems and this is my first
> post.
> > >
> > > Anyone have any experience parsing MARC Holding records (853 and 863)
> > > into a more readable 866 or 867 format?
> > > We are wanting to export our holdings from our ILS into our Discovery
> > > Layer and trying to save some of the money that the ILS vendor would
> > > charge us to create the records.
> > >
> > > The parsing doesn't look fun, so I was hoping someone has some code to
> > > use as a starting point.
> > > Also, I'm not sure how clean our data in 853 and 863 is so any scripts
> > > or advice on gotchas when cleaning that up would be appreciated.
> > > We have about 60,000 holding records.
> > >
> > > Thanks,
> > > Julie.
> > >
> > >
> > > Julie Cole
> > > Library Systems Administrator
> > > Langara College Library
> > > Vancouver, BC
> > >
> >
> >
> >
> > --
> > Andromeda Yelton
> > Senior Software Engineer, MIT Libraries: https://libraries.mit.edu/
> President,
> > Library & Information Technology Association: http://www.lita.org
> > http://andromedayelton.com @ThatAndromeda
> > <http://twitter.com/ThatAndromeda>
>



-- 
Bill Dueber
Library Systems Programmer
University of Michigan Library


Re: [CODE4LIB] MARC Holdings

2018-01-18 Thread Spurgin, Kristina M.
The MARC libraries cited make it easy to work with MARC in general, but 
unfortunately the Perl and Ruby versions don't come with any help for the 
"interesting" problem of transforming Holdings 853s and 863s into 
human-readablesummary holdings statements (like you'd record in the 866 or 
867). (I haven't worked with PyMARC).

We had the same sort of need you describe years ago and came up with some Perl 
code that clunkily (and in some cases not quite 100% accurately) does this. 
It's not publicly available to point to, but I could send the relevant part of 
that code if you are interested. 

There has been mild grumbling (from those who pay attention to our serials 
display) about the not-great way this works, and we are working on a new 
discovery interface, so it's on my list to improve the summary holdings 
generation from 853s/863s. 

I did some searching for code to do this, but didn't find anything in my first 
attempt. If you find something useful that someone else has for this, please do 
share!

I've been thinking through a good approach, but don't have anything implemented 
yet. 

best, 
Kristina

-=-
Kristina M. Spurgin -- Library Data Strategist
 E-Resources & Serials Management, Davis Library
  University of North Carolina at Chapel Hill
 CB#3938, Davis Library -- Chapel Hill, NC 27514-8890
   919-962-3825 -- kspur...@email.unc.edu

> -Original Message-
> From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf Of
> Andromeda Yelton
> Sent: Thursday, January 18, 2018 4:01 PM
> To: CODE4LIB@LISTS.CLIR.ORG
> Subject: Re: [CODE4LIB] MARC Holdings
> 
> Note that if perl isn't your thing there are MARC libraries in several 
> languages
> - python and ruby at least, probably others I don't remember off the top of my
> head (since I work in python and ruby, no shade to other people's languages
> :). https://github.com/edsu/pymarc , https://github.com/ruby-marc/ruby-
> marc .
> 
> On Thu, Jan 18, 2018 at 12:50 PM, Julie Cole <jc...@langara.ca> wrote:
> 
> > Hello all,
> > I'm pretty new to the world of library systems and this is my first post.
> >
> > Anyone have any experience parsing MARC Holding records (853 and 863)
> > into a more readable 866 or 867 format?
> > We are wanting to export our holdings from our ILS into our Discovery
> > Layer and trying to save some of the money that the ILS vendor would
> > charge us to create the records.
> >
> > The parsing doesn't look fun, so I was hoping someone has some code to
> > use as a starting point.
> > Also, I'm not sure how clean our data in 853 and 863 is so any scripts
> > or advice on gotchas when cleaning that up would be appreciated.
> > We have about 60,000 holding records.
> >
> > Thanks,
> > Julie.
> >
> >
> > Julie Cole
> > Library Systems Administrator
> > Langara College Library
> > Vancouver, BC
> >
> 
> 
> 
> --
> Andromeda Yelton
> Senior Software Engineer, MIT Libraries: https://libraries.mit.edu/ President,
> Library & Information Technology Association: http://www.lita.org
> http://andromedayelton.com @ThatAndromeda
> <http://twitter.com/ThatAndromeda>


Re: [CODE4LIB] MARC Holdings

2018-01-18 Thread Andromeda Yelton
Note that if perl isn't your thing there are MARC libraries in several
languages - python and ruby at least, probably others I don't remember off
the top of my head (since I work in python and ruby, no shade to other
people's languages :). https://github.com/edsu/pymarc ,
https://github.com/ruby-marc/ruby-marc .

On Thu, Jan 18, 2018 at 12:50 PM, Julie Cole  wrote:

> Hello all,
> I'm pretty new to the world of library systems and this is my first post.
>
> Anyone have any experience parsing MARC Holding records (853 and 863) into
> a more readable 866 or 867 format?
> We are wanting to export our holdings from our ILS into our Discovery
> Layer and trying to save some of the money that the ILS vendor would charge
> us to create the records.
>
> The parsing doesn't look fun, so I was hoping someone has some code to use
> as a starting point.
> Also, I'm not sure how clean our data in 853 and 863 is so any scripts or
> advice on gotchas when cleaning that up would be appreciated.
> We have about 60,000 holding records.
>
> Thanks,
> Julie.
>
>
> Julie Cole
> Library Systems Administrator
> Langara College Library
> Vancouver, BC
>



-- 
Andromeda Yelton
Senior Software Engineer, MIT Libraries: https://libraries.mit.edu/
President, Library & Information Technology Association: http://www.lita.org
http://andromedayelton.com
@ThatAndromeda 


Re: [CODE4LIB] MARC Holdings

2018-01-18 Thread Julie Cole
Thank you both very much,
I'll check it out.
Julie.

-Original Message-
From: Code for Libraries [mailto:CODE4LIB@LISTS.CLIR.ORG] On Behalf Of Guy 
Dobson
Sent: Thursday, January 18, 2018 9:59 AM
To: CODE4LIB@LISTS.CLIR.ORG
Subject: Re: [CODE4LIB] MARC Holdings

I agree.
http://search.cpan.org/~gmcharlt/MARC-Record/


<http://www.drew.edu/?utm_source=FIL_Email_Footer_medium=email_campaign=FIL%2BEmail%2BFooter>
  *Guy Dobson
<http://www.drew.edu/directory/?q=email:gdobson_source=FIL_Email_Footer_medium=email_campaign=FIL%2BEmail%2BFooter>*
Systems Librarian | Library
<http://www.drew.edu/library?utm_source=FIL_Email_Footer_medium=email_campaign=FIL%2BEmail%2BFooter>
Drew University | 36 Madison Ave | Madison, NJ 07940
(973) 408-3207 | drew.edu
<http://www.drew.edu/?utm_source=FIL_Email_Footer_medium=email_campaign=FIL%2BEmail%2BFooter>

<http://www.drew.edu/undergraduate/?utm_source=FIL_Email_Footer_medium=email_campaign=FIL%2BEmail%2BFooter>


On Thu, Jan 18, 2018 at 12:55 PM, Rogan Hamby <rha...@equinoxinitiative.org>
wrote:

> 60K isn't that much really. If you're comfortable with perl the 
> MARC::Record library is a good match with that kind of task and would 
> let you throw something together really quick.
>
>
> Rogan Hamby
>
> Data and Project Analyst
>
> Equinox Open Library Initiative
>
> phone:  1-877-OPEN-ILS (673-6457)
>
> email:  ro...@equinoxinitiative.org
> web:  http://EquinoxInitiative.org
>
> On Thu, Jan 18, 2018 at 12:50 PM, Julie Cole <jc...@langara.ca> wrote:
>
> > Hello all,
> > I'm pretty new to the world of library systems and this is my first post.
> >
> > Anyone have any experience parsing MARC Holding records (853 and 
> > 863)
> into
> > a more readable 866 or 867 format?
> > We are wanting to export our holdings from our ILS into our 
> > Discovery Layer and trying to save some of the money that the ILS 
> > vendor would
> charge
> > us to create the records.
> >
> > The parsing doesn't look fun, so I was hoping someone has some code 
> > to
> use
> > as a starting point.
> > Also, I'm not sure how clean our data in 853 and 863 is so any 
> > scripts or advice on gotchas when cleaning that up would be appreciated.
> > We have about 60,000 holding records.
> >
> > Thanks,
> > Julie.
> >
> >
> > Julie Cole
> > Library Systems Administrator
> > Langara College Library
> > Vancouver, BC
> >
>



Re: [CODE4LIB] MARC Holdings

2018-01-18 Thread Rogan Hamby
60K isn't that much really. If you're comfortable with perl the
MARC::Record library is a good match with that kind of task and would let
you throw something together really quick.


Rogan Hamby

Data and Project Analyst

Equinox Open Library Initiative

phone:  1-877-OPEN-ILS (673-6457)

email:  ro...@equinoxinitiative.org
web:  http://EquinoxInitiative.org

On Thu, Jan 18, 2018 at 12:50 PM, Julie Cole  wrote:

> Hello all,
> I'm pretty new to the world of library systems and this is my first post.
>
> Anyone have any experience parsing MARC Holding records (853 and 863) into
> a more readable 866 or 867 format?
> We are wanting to export our holdings from our ILS into our Discovery
> Layer and trying to save some of the money that the ILS vendor would charge
> us to create the records.
>
> The parsing doesn't look fun, so I was hoping someone has some code to use
> as a starting point.
> Also, I'm not sure how clean our data in 853 and 863 is so any scripts or
> advice on gotchas when cleaning that up would be appreciated.
> We have about 60,000 holding records.
>
> Thanks,
> Julie.
>
>
> Julie Cole
> Library Systems Administrator
> Langara College Library
> Vancouver, BC
>


[CODE4LIB] MARC Holdings

2018-01-18 Thread Julie Cole
Hello all,
I'm pretty new to the world of library systems and this is my first post.

Anyone have any experience parsing MARC Holding records (853 and 863) into a 
more readable 866 or 867 format?
We are wanting to export our holdings from our ILS into our Discovery Layer and 
trying to save some of the money that the ILS vendor would charge us to create 
the records.

The parsing doesn't look fun, so I was hoping someone has some code to use as a 
starting point.
Also, I'm not sure how clean our data in 853 and 863 is so any scripts or 
advice on gotchas when cleaning that up would be appreciated.
We have about 60,000 holding records.

Thanks,
Julie.


Julie Cole
Library Systems Administrator
Langara College Library 
Vancouver, BC