Re: [OPEN-ILS-GENERAL] 008 field and leader

2011-06-27 Thread Galen Charlton
Hi,

On Jun 26, 2011, at 8:14 AM, Dan Scott wrote:
 Alternately, we could teach open-ils.cat.biblio.record.xml.create to
 set 008/00-05 if they are blank or a placeholder value. The trigger is
 probably more versatile, as it would handle direct loads into the
 database and records created via other means as well as new records
 created via this particular API, but it also puts more load on our
 single point of failure.

I favor using triggers to ensure consistency no matter how a bib makes its way 
into Evergreen.  However, whether we add yet another trigger or attach the 
logic to open-ils.cat.biblio.record.xml.create, I think we're at the point 
where we should think about setting up a scheme for managing the 
transformations to be applied when a record is added or updated.

In particular, I propose something like the following:

config.metadata_transform
  id   serial
  name text
  trigger  text

config.metadata_transform_profile
  id   serial
  name text

config.metadata_transform_profile_map
  profile_id   int foreign key references config.metadata_transform_profile (id)
  transform_id int foreign key references config.metadat_transform (id)
  seq  int

Examples of transforms would include:

* update_901
* update_005
* marc21_update_008_date

Example transform profiles would include:

bib_create_mandatory (includes update_901, update_005, marc21_update_008_date)
bib_update_mandatory (update_901 and update_005 but not marc21_update_008_date)

But, of course, this would open the door to *optional* profiles that would be 
applied when needed.  For example, a transform profile could be applied for a 
particular Vandelay import (or, for that matter, export).

Besides the flexibility that something like this would give us, it would also 
provide a way to separate MARC21-specific transforms from (say) transforms that 
apply only to UNIMARC.

 Aside: if we create this and it gets backported to a current release,
 should one of the placeholder values for
 open-ils.cat.biblio.record.xml.create going forward be '070101', at
 least until we update the MARC templates accordingly?

Yes.

Regards,

Galen
--
Galen Charlton
Director of Support and Implementation
Equinox Software, Inc. / Your Library's Guide to Open Source
email:  g...@esilibrary.com
direct: +1 770-709-5581
cell:   +1 404-984-4366
skype:  gmcharlt
web:http://www.esilibrary.com/
Supporting Koha and Evergreen: http://koha-community.org  
http://evergreen-ils.org
Equinox is going to New Orleans! Please visit us at booth 550
at ALA Annual to learn more about Koha and Evergreen.


Re: [OPEN-ILS-GENERAL] 008 field and leader

2011-06-25 Thread Joel Harbottle
Hi Mieke,

I know with the 008 tag in Evergreen you can click on the line and highlight
the 070101 and change it to the current date, e.g., 110625, and then just
complete the 008 tag as you normally would, either directly in the text of
the tag, or via the table/grid at the top of the MARC Editor screen.

I hope this helps.

Kindest Regards,
Joel




 From: Mieke Stroo m...@iisg.nl
 Reply-To: Evergreen Discussion Group
 open-ils-general@list.georgialibraries.org
 Date: Thu, 23 Jun 2011 14:41:56 +0200
 To: Evergreen Discussion Group open-ils-general@list.georgialibraries.org
 Subject: [OPEN-ILS-GENERAL] 008 field and leader
 
 Hi all,
 
 The IISG in Amsterdam is running EG 2.0.3. We noticed that the 008 field
 always starts with 070101, presumably January first 2007. Could anyone tell us
 how to have this date changed automatically when entering a new record? Is it
 possible to have a computer generated date in this field?
 
 The positions 0-4 and 12-16 in the leader are unclear to us. According to the
 MARC 21 standard this information should be computer generated. Is it alright
 to use a set number (00620) for the positions 0-4 and leave the positions
 12-16 open?
 
 Mieke Stroo
 
 IISG
 Postbus 2169
 1000 CD Amsterdam
 The Netherlands
 
 m...@iisg.nl
 
 
 
 
 



Re: [OPEN-ILS-GENERAL] 008 field and leader

2011-06-25 Thread Dan Scott
We could add an ON CREATE trigger on biblio.record_entry to set the
first six characters of 008 (if it exists in the record - I'm not sure
we want to get into the business of creating 008 fields from scratch)
by invoking to_char(create_date, 'YYMMDD') to get the properly
formatted version of the date.

This is probably something we should have in place out of the box;
it's a relatively small piece of work for an additional standards
compliance checkmark. Mieke, would you mind adding a wishlist item on
this point to http://bugs.launchpad.net/evergreen ?

Dan

On Sat, Jun 25, 2011 at 10:51 AM, Joel Harbottle
joel.harbot...@hotmail.com.au wrote:
 Hi Mieke,

 I know with the 008 tag in Evergreen you can click on the line and highlight
 the 070101 and change it to the current date, e.g., 110625, and then just
 complete the 008 tag as you normally would, either directly in the text of
 the tag, or via the table/grid at the top of the MARC Editor screen.

 I hope this helps.

 Kindest Regards,
 Joel


 
 From: Mieke Stroo m...@iisg.nl
 Reply-To: Evergreen Discussion Group
 open-ils-general@list.georgialibraries.org
 Date: Thu, 23 Jun 2011 14:41:56 +0200
 To: Evergreen Discussion Group
 open-ils-general@list.georgialibraries.org
 Subject: [OPEN-ILS-GENERAL] 008 field and leader

 Hi all,

 The IISG in Amsterdam is running EG 2.0.3. We noticed that the 008 field
 always starts with 070101, presumably January first 2007. Could anyone
 tell us
 how to have this date changed automatically when entering a new record? Is
 it
 possible to have a computer generated date in this field?

 The positions 0-4 and 12-16 in the leader are unclear to us. According to
 the
 MARC 21 standard this information should be computer generated. Is it
 alright
 to use a set number (00620) for the positions 0-4 and leave the positions
 12-16 open?

 Mieke Stroo

 IISG
 Postbus 2169
 1000 CD Amsterdam
 The Netherlands

 m...@iisg.nl








Re: [OPEN-ILS-GENERAL] 008 field and leader

2011-06-25 Thread Galen Charlton
Hi,

On Jun 25, 2011, at 16:39, Dan Scott d...@coffeecode.net wrote:

 We could add an ON CREATE trigger on biblio.record_entry to set the
 first six characters of 008 (if it exists in the record - I'm not sure
 we want to get into the business of creating 008 fields from scratch)
 by invoking to_char(create_date, 'YYMMDD') to get the properly
 formatted version of the date.

Such a trigger would work, but to avoid changing the recorded creation date of 
an imported record, it should set the date only if the 008/00-05 contains 
blanks or a placeholder value.

Regards,

Galen
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Equinox is going to New Orleans! Please visit us at booth 550
at ALA Annual to learn more about Koha and Evergreen.


[OPEN-ILS-GENERAL] 008 field and leader

2011-06-23 Thread Mieke Stroo
Hi all,

The IISG in Amsterdam is running EG 2.0.3. We noticed that the 008 field always 
starts with 070101, presumably January first 2007. Could anyone tell us how to 
have this date changed automatically when entering a new record? Is it possible 
to have a computer generated date in this field?

The positions 0-4 and 12-16 in the leader are unclear to us. According to the 
MARC 21 standard this information should be computer generated. Is it alright 
to use a set number (00620) for the positions 0-4 and leave the positions 12-16 
open?

Mieke Stroo

IISG
Postbus 2169
1000 CD Amsterdam
The Netherlands

m...@iisg.nl






Re: [OPEN-ILS-GENERAL] 008 field and leader

2011-06-23 Thread Paul Hoffman
Mieke,

On Thu, Jun 23, 2011 at 08:41:56AM -0400, Mieke Stroo wrote:
 The positions 0-4 and 12-16 in the leader are unclear to us. According
 to the MARC 21 standard this information should be computer generated.
 Is it alright to use a set number (00620) for the positions 0-4 and
 leave the positions 12-16 open?

A MARC record consists of three parts: leader, directory, and field
contents.  Leader/0-4 encode the length (in bytes) of the whole record,
and leader/12-16 encodes the offset (in bytes) from the beginning of the
record to the beginning of the field contents -- in other words, the
length of the leader plus the length of the directory.  So they have to
be exactly right, which is why they're computer generated.  I don't know
enough about EG to know if it will tolerate incorrect values, but I
doubt it.

Paul.

-- 
Paul Hoffman p...@flo.org
Systems Librarian
Fenway Libraries Online
c/o Wentworth Institute of Technology
550 Huntington Ave.
Boston, MA 02115
(617) 445-2914
(617) 442-2384 (FLO main number)


Re: [OPEN-ILS-GENERAL] 008 field and leader

2011-06-23 Thread Mike Rylander
On Thu, Jun 23, 2011 at 9:32 AM, Paul Hoffman p...@flo.org wrote:
 Mieke,

 On Thu, Jun 23, 2011 at 08:41:56AM -0400, Mieke Stroo wrote:
 The positions 0-4 and 12-16 in the leader are unclear to us. According
 to the MARC 21 standard this information should be computer generated.
 Is it alright to use a set number (00620) for the positions 0-4 and
 leave the positions 12-16 open?

 A MARC record consists of three parts: leader, directory, and field
 contents.  Leader/0-4 encode the length (in bytes) of the whole record,
 and leader/12-16 encodes the offset (in bytes) from the beginning of the
 record to the beginning of the field contents -- in other words, the
 length of the leader plus the length of the directory.  So they have to
 be exactly right, which is why they're computer generated.  I don't know
 enough about EG to know if it will tolerate incorrect values, but I
 doubt it.


Evergreen only deals with MARC in XML format, so the leader's length
bytes are of no use.  Upon export in binary MARC, the leader is
appropriately adjusted.  So, in fact, Evergreen tolerates incorrect
(or more correctly, useless) data there, since it doesn't mean
anything in XML.

-- 
Mike Rylander
 | VP, Research and Design
 | Equinox Software, Inc. / Your Library's Guide to Open Source
 | phone:  1-877-OPEN-ILS (673-6457)
 | email:  mi...@esilibrary.com
 | web:  http://www.esilibrary.com