Google Groups Home
Help | Sign in
Jangle now supports ILS-DI Level 1
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  8 messages - Collapse all
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
Ross Singer  
View profile
 More options Jun 30, 5:24 pm
From: "Ross Singer" <rossfsin...@gmail.com>
Date: Mon, 30 Jun 2008 17:24:30 -0400
Local: Mon, Jun 30 2008 5:24 pm
Subject: Jangle now supports ILS-DI Level 1
Hi everybody.

I wanted to mention here that Jangle now supports Level 1:  Basic
Discovery Interfaces (outside HarvestExpandedRecords ... more on that
in a minute).

Here are the URLs to the services (modeled after the Online Books Page example):

Also, Level 1 support of the DLF ILS API can be found here:

HarvestBibliographicRecords:
Identify: http://dlf-api.jangle.org/openbiblio/OAI/bibliographic?verb=Identify
ListMetadataFormats:
http://dlf-api.jangle.org/openbiblio/OAI/bibliographic?verb=ListMetad...
ListRecords: http://dlf-api.jangle.org/openbiblio/OAI/bibliographic?verb=ListRecor...

GetAvailability:
http://dlf-api.jangle.org/availability/?id=http://demo.jangle.org/ope...

GoToBibliographicRequestPage:
http://dlf-api.jangle.org/goto/?uri=http://demo.jangle.org/openbiblio...

So, HarvestExpandedRecords is next.  This is doable but I need a
little clarity about what is expected from this versus
HarvestHoldingsRecords.  Is it just that expanded records are
holdings, returned in simpleavailability with the bib id (while
HarvestHoldings would return in MFHD or something)?

Anyway, this was *super* simple to do in Jangle.  It has taken less
than three days to get this functionality from Jangle, with a good
percentage of that time being used to fix bugs it uncovered in Jangle
:)

-Ross.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Emily Lynema  
View profile
 More options Jul 3, 3:56 pm
From: Emily Lynema <emily_lyn...@ncsu.edu>
Date: Thu, 03 Jul 2008 15:56:07 -0400
Local: Thurs, Jul 3 2008 3:56 pm
Subject: Re: [ils-di] Jangle now supports ILS-DI Level 1
Ross,

Yeah, there is some confusion about HarvestExpandedRecords versus
HarvestHoldingsRecords. The original intent behind
HarvestHoldingsRecords surrounded MFHD. HarvestExpandedRecords, in our
vision, might include both MFHD and simpleAvailability / NCIP / ISO
holdings. It is *everything* that exists about a record, including
bibliographic marc, holdings marc, and related item information. We came
close to getting rid of the HarvestHoldingsRecords, but it sounded like
there was a use case related to electronic resource management. I think
the folks at National Library of Medicine (which uses machine-readable
MFHD, I think) export their holdings records. So HarvestHoldingsRecords
is really about the concept that an institution might have holdings
records (which would generally be stored in MFHD) aside from
bibliographic records and items.

But that doesn't mean that HarvestExpandedRecords should return only
simpleAvailability! :) I think the idea was to create a way for folks to
return the data they had, without having to convert MFHD into another
format or item information into something that looks like MFHD.

Is that clear as mud?

-emily

--
Emily Lynema
Systems Librarian for Digital Projects
Information Technology, NCSU Libraries
919-513-8031
emily_lyn...@ncsu.edu

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ross Singer  
View profile
 More options Jul 3, 5:51 pm
From: "Ross Singer" <rossfsin...@gmail.com>
Date: Thu, 3 Jul 2008 17:51:08 -0400
Local: Thurs, Jul 3 2008 5:51 pm
Subject: Re: [ils-di] Re: Jangle now supports ILS-DI Level 1
Ok, I think I see.  So the base 'record' is still the bib record,
right (i.e. the record count from OAI-PMH should be the same as if you
were harvesting bib records, as opposed to holdings records)?

Does ExpandedRecords schema account for these different metadata
formats?  Since it divvies things up into Bib, Holdings and Items
within the record, where would something like ISO holdings go (since
it covers all these enities)?

From a Jangle perspective the ExpandedRecord (by this definition) gets
a little expensive (which is a Jangle problem, not an ILS-DI problem),
what is the expected use case for pulling everything like this at
once?

So is it possible for HarvestHoldings to return ISO 20775 or is it
really just intended for MFHD?

One last question :)  How do systems that don't use MFHD and don't
have ISO holdings share their holdings via HarvestExpandedRecords?
(The answer to me is that ISO Holdings aren't that hard, but I'm just
throwing out the question).

Thanks!
-Ross.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Godmar Back  
View profile
 More options Jul 4, 12:07 am
From: "Godmar Back" <god...@gmail.com>
Date: Fri, 4 Jul 2008 00:07:54 -0400
Local: Fri, Jul 4 2008 12:07 am
Subject: Re: [ils-di] Re: Jangle now supports ILS-DI Level 1
I don't understand why you don't always return an expanded record as
defined using the recordType in Peter's definition [1]---
specifically, for HarvestBibliographicRecords, HarvestExpandedRecords,
GetRecords, and Search.
Since this definition allows for the embedding of any record type
(MarcXML, DC, etc.), and since this definition includes a place to put
a record identifier, and since it allows the omission of information
(holdings, items, availability) that isn't requested in a particular
operation, it provides a simple and general solution that should
drastically simplify the creation of clients for this API.

In addition, if a server implemented only HarvestExpandedRecords - for
instance -- that server would automatically provide compliant
implementations of HarvestBibliographicRecords and
HarvestHoldingsRecords.

 - Godmar

[1] http://onlinebooks.library.upenn.edu/schemas/dlfexpanded.xsd


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
John Mark Ockerbloom  
View profile
 More options Jul 7, 12:55 pm
From: John Mark Ockerbloom <ocker...@pobox.upenn.edu>
Date: Mon, 07 Jul 2008 12:55:27 -0400
Local: Mon, Jul 7 2008 12:55 pm
Subject: Re: [ils-di] Re: Jangle now supports ILS-DI Level 1

Godmar Back wrote:
> In addition, if a server implemented only HarvestExpandedRecords - for
> instance -- that server would automatically provide compliant
> implementations of HarvestBibliographicRecords and
> HarvestHoldingsRecords.

Well, this would comply with the letter of the recommendation, but
you need to consider the possible impact (including performance and
complexity) on both the ILS and the client if you go this route.

HarvestExpandedRecords can be a considerably more expensive operation for
the ILS (and possibly for the client as well) than just returning the
bibliographic records.  Consider, for instance, incremental harvesting--
there are potentially lots more things that can change in an expanded
record, so you might end up returning a lot more records than you would
if you only returned updated bibliographic records.

That's one reason we recommended separate functions for bibliographic
records alone and for expanded records.  While we didn't go so far as to
say you *can't* in effect combine the two, it might well be excessively
burdensome for server or client.

John


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Godmar Back  
View profile
 More options Jul 7, 1:05 pm
From: "Godmar Back" <god...@gmail.com>
Date: Mon, 7 Jul 2008 13:05:30 -0400
Local: Mon, Jul 7 2008 1:05 pm
Subject: Re: [ils-di] Re: Jangle now supports ILS-DI Level 1
John,

the paragraph to which you reply was secondary to my argument - let's
set it aside for a minute.

Let's assume the normal case whereby HarvestExpandedRecords,
HarvestHoldingsRecords, and HarvestBibliographicRecords are operations
of different complexity, and whereby the return different sets of
information.

What I'm proposing is to use your defined schema to describe the
response elements for each of these operations.  So, for instance, for
HarvestBibliographicRecords you'd be returning a

<record xmlns="http://onlinebooks.library.upenn.edu/schemas/dlf/1.0/">
  <bibliographic id="xxx">
     <record xmlns="http://www.loc.gov/MARC21/slim"> .... </record>
  </bibliographic>
 </record>

(or using some other record format, such as <rdf:description ...> for DC.

for HarvestHoldingsRecords, you'd be returning a set of

<record xmlns="http://onlinebooks.library.upenn.edu/schemas/dlf/1.0/">
  <bibliographic id="xxx"/>
  <holdings> ... </holdings>
 </record>

for GetRecords, the same.  For Search, the same. For GetAvailability,
you'd be returning:

<record xmlns="http://onlinebooks.library.upenn.edu/schemas/dlf/1.0/">
  <bibliographic id="xxx"/>
 <simpleavailability>
            <identifier>xxx</identifier>
            <availabilitystatus>unknown</availabilitystatus>
            <availabilitymsg>coming soon</availabilitymsg>
            <dateavailable>2001-10-26T21:32:52</dateavailable>
        </simpleavailability>
 </record>

etc.  In other words, no matter which operation, the response entry or
entries are identically structured.

 - Godmar

On Mon, Jul 7, 2008 at 12:55 PM, John Mark Ockerbloom


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
John Mark Ockerbloom  
View profile
 More options Jul 7, 2:14 pm
From: John Mark Ockerbloom <ocker...@pobox.upenn.edu>
Date: Mon, 07 Jul 2008 14:14:37 -0400
Local: Mon, Jul 7 2008 2:14 pm
Subject: Re: [ils-di] Re: Jangle now supports ILS-DI Level 1

Godmar Back wrote:
> What I'm proposing is to use your defined schema to describe the
> response elements for each of these operations.  So, for instance, for
> HarvestBibliographicRecords you'd be returning a

> <record xmlns="http://onlinebooks.library.upenn.edu/schemas/dlf/1.0/">
>   <bibliographic id="xxx">
>      <record xmlns="http://www.loc.gov/MARC21/slim"> .... </record>
>   </bibliographic>
>  </record>

(and a similar structure for HarvestHoldingsRecords, GetRecords, etc., except
with different namespace declarations for the stuff inside.)

Yes, that structure is designed to be able to hold a lot of the responses
we ask for, as we describe in section 6.4.2 "Putting it all together" in our
report. To date, I've only implemented it myself in Level 1 functions,
but it should be usable in many of the higher level functions as well.
(I confess I haven't yet had the time to look over your implementation,
but I hope to when I get the chance.)

John


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Godmar Back  
View profile
 More options Jul 7, 2:50 pm
From: "Godmar Back" <god...@gmail.com>
Date: Mon, 7 Jul 2008 14:50:59 -0400
Local: Mon, Jul 7 2008 2:50 pm
Subject: Re: [ils-di] Re: Jangle now supports ILS-DI Level 1
On Mon, Jul 7, 2008 at 2:14 PM, John Mark Ockerbloom

<ocker...@pobox.upenn.edu> wrote:

> Yes, that structure is designed to be able to hold a lot of the responses
> we ask for, as we describe in section 6.4.2 "Putting it all together" in our

6.4.2 is referring explicitly only to GetRecords, Search,
HarvestExpandedRecords, and GetAvailability.
My suggestion is to expand it to all responses, including
HarvestBibliographicRecords etc.

> report. To date, I've only implemented it myself in Level 1 functions,
> but it should be usable in many of the higher level functions as well.
> (I confess I haven't yet had the time to look over your implementation,
> but I hope to when I get the chance.)

You didn't implement it this way. For instance,
[1] http://onlinebooks.library.upenn.edu/webbin/OAI-onlinebooks?verb=List...
returns MODS records that aren't wrapped in DLF records.
[2] http://onlinebooks.library.upenn.edu/webbin/OAI-onlinebooks?verb=List...
on the other hand, returns MODS records that are wrapped in DLF records.

If find this problematic, and am proposing that URL [1] should also
return DLF records with embedded MODS records (at least as far as the
ILS-DI specification is concerned - you can of course provide a
service that just returns MODS records also.)

In the context of the ILS-DI specification, I find it problematic
because this format does not contain the bibliographic identifier
(note that your /record/header/identifier in your MODS response
differs from the corresponding /dlf:record/dlf:bibliographic@dlf:id,
which means that  there's an implicit assumption that the
"sampleIdentifier" in the OAI identifier is the bibliographic
identifier (?) - this requires a client to know that "in a OAI/mods
response, I must extract the ILS-DI bibliographic identifier by
transforming the /record/header/identifier in some way, rather than
simply being able to pass the /record/metadata/1 child to some generic
ILS-DI processing code.)

In essence, what I'm advocating is that an interface that carries the
label "ILS-DI compliant" return its metadata records *always* inside
<dlf:record> containers - no matter which ILS-DI primitive is being
used, such that a) bibliographic identifiers can be obtained in a
manner that's independent of the container/collection format used
(OAI, SRU, Atom) and such that b) client code does not require any
up-front knowledge about which format may be used in a particular
response.

Finally, doing so would allow clients to use the metadataPrefix= to
request a particular record type for the record that's embedded in the
dlf:record.  So metadataPrefix=mods on an ILS-DI OAI would return MODS
records embedded in DLF:records, but metadataPrefix=marc would return
MARC records in DLF:records.

 - Godmar


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2008 Google