[Koha-devel] z3950 support is in CVS & specific question

paul POULAIN paul.poulain at free.fr
Tue Apr 29 10:19:57 CEST 2003


For all those not following CVS commit...

I've just commited MANY IMPORTANT things that MUST be tested...

z3950 search and import seems to works fine.
Let me explain how :
* a "search z3950" button is added in the addbiblio template.
* when clicked, a popup appears and z3950/search.pl is called
* z3950/search.pl calls addz3950search in the DB
* the z3950 daemon retrieve the records and stores them in z3950results AND in marc_breeding table.
* as long as there as searches pending, the popup auto refresh every 2 seconds, and says how many searches are pending.
* when the user clicks on a z3950 result => the parent popup is called with the requested biblio, and auto-filled

Note :
* character encoding support : (It's a nightmare...) In the z3950servers table, a "encoding" column has been added. You can put "UNIMARC" or "USMARC" in this column. Depending on this, the char_decode in C4::Biblio.pm replaces marc-char-encode by an iso 8859-1 encoding. Note that in the breeding import this value has been added too, for a better support.
* the marc_breeding and z3950* tables have been modified : they have an encoding column and the random z3950 number is stored too for convenience => it's the key I use to list only requested biblios in the popup.

*************
HOW TO TEST :
*************
* 1st, moddify a little your test-DB :
============================
marc_breeding table must be :
-----------------------------
CREATE TABLE marc_breeding (
  id bigint(20) NOT NULL auto_increment,
  file varchar(80) NOT NULL default '',
  isbn varchar(20) NOT NULL default '',
  title varchar(128) default NULL,
  author varchar(80) default NULL,
  z3950random varchar(40) default NULL,
  marc blob NOT NULL,
  encoding varchar(40) default NULL,
  PRIMARY KEY  (id),
  KEY title (title),
  KEY isbn (isbn)
) 

z3950servers must be :
----------------------
CREATE TABLE z3950servers (
  host varchar(255) default NULL,
  port int(11) default NULL,
  db varchar(255) default NULL,
  userid varchar(255) default NULL,
  password varchar(255) default NULL,
  name text,
  id int(11) default NULL,
  checked smallint(6) default NULL,
  rank int(11) default NULL,
  syntax varchar(40) default NULL
) TYPE=MyISAM;

2nd, enter z3950 servers :
==========================
In France (an in French), I use :
INSERT INTO z3950servers VALUES ('bubase.univ-angers.fr', 210, 'ADVANCE', '', '', 'ANGERS', NULL, 1, 1, 'USMARC');
INSERT INTO z3950servers VALUES ('193.52.199.5', 21210, 'ADVANCE', '', '', 'LYON3', NULL, 1, 2, 'UNIMARC');
INSERT INTO z3950servers VALUES ('138.231.48.2', 21210, 'ADVANCE', '', '', 'ens-cachan', NULL, 1, 4, 'UNIMARC');

3rd, launch "daemon" :
======================
Open a console, go to koha/z3950/ and launch ./processz3950queue 
This script should be launched by the daemon launcher, but it's a little bit modified to loop every 5 seconds, without the SIG{HUP} method provided by the true daemon.
You should see "starting loop" appearing every 5 seconds.

4th, go to Koha :
=================
(CVS updated of course !)
* search for a biblio
* edit it
* look at the link "z3950 search"
* clic on it, the popup appear
* the popup auto-refresh.
* within 5 seconds, you should see log messages in the processz3950queue console, telling that search begins/end...
* the popup should be filled with results.
* choose the biblio you want to "import", and... the popup disappear, and the original biblio is updated with your z3950 record !

NOTES :
=======
1- This is alpha. Report bugs :-)
2- works only with ISBN in complete form at the moment (2-10-200014-1, not 2102000141)
3- If you experiment some strange accented characters, change your encoding style for the server. (The sample servers works well for me)

Please let me know what you experiment with this ! I would be happy to have some success/failures before 1.9.3, which should occur on friday.

***************
SECOND QUESTION
***************
Now, let's go for dinner, then bed-time...
And tomorrow, i'll work a little on a bulkmarcimport script :-)
bulkmarcimport will be used to migrate biblios from a previous ILS to Koha. Nelsonville needs it, asked it, and nobody seems to be on the way to do it ! So i'll take care of it.
If you want me to do some tests for you, please send me a sample of a MARC iso2709 file with ITEMS, and i'll use it for my tests.
PLEASE, if you send me one sample, send me a dump of a working marc parameters table (USMARC ?) with it, or my tests won't work !
Please (2nd) : if you send me a file, compress it, and no more than 50 biblio (my mailbox is only 10MB !)

-- 
Paul POULAIN
Consultant indépendant en logiciels libres
responsable francophone de koha (SIGB libre http://www.koha-fr.org)






More information about the Koha-devel mailing list