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.
Those fields doesn't have subfields.
In koha, we will use a specific "trick" : fields <10 will have a "virtual" subfield : "@".
Note it's only virtual : when rebuilding the MARC::Record, the koha API handle correctly "@" subfields => the resulting MARC record has a 00x field without subfield.
counting categoryitems is unreliable (Bug 199)
Make a note near the begining that the file has 4-space tabs, and add
Local variables at the end for Emacs people
Create output_html_with_http_headers function to contain the "print $query
->header(-type => guesstype...),..." call. This is in preparation for
non-HTML output (e.g., text/xml) and charset conversion before output in
the future.
Created C4/Interface/CGI/Template.pm to hold convenience functions specific
to the CGI interface using HTML::Template
Modified moremembers.pl to make the "sex" field localizable for languages
where M and F doesn't make sense
this script checks MARC parameters and try to detect tome errors in configuration.
currently checks 7 differents things.
The 1.3.3 MARC21 parameters fails miserabily to this test : 3 errors !!!
in ISO-8859-1.
A new C4::Charset module (tentative name) has been created to guess the
charset of a piece of HTML markup. The CGI programs will be modified to use
this module as they are encountered during translation.
But : modification of the behaviour : when you select 200 as search string in tag screen, the tags >200 are shown. Not only the 200 tag.
I think it's more logic and better.
Note : yes, checks are performed only on client side.
I agree this is not very secure, but it's a rarely modified value and koha 2.0 will need :
* IE5+ or Mozilla/Netscape 6+
* javascript enabled.
Maybe the best solution would be to include in *.inc files a test for javascript activated and refuse acces if it's not.
* bugfixes and improvements
* manage mandatory MARC subfields
* new table : authorised_values. this table contains categories and authorised values for the category. On MARC management, you can map a subfield to a authorised_values category. If you do this, the subfield can only be filled with a authorised_value of the selected category.
this submit contains everything needed :
* updatedatabase
* admin screens
* "links" management
* creation of a html-list if a subfield is mapped to an authorised value.
Note this is different from authorities support, which will come soon.
The authorised_values is supposed to contains a "small" number of authorised values for a category (less than 50-100). If you enter more authorised values than this, it should be hard to find what you want in a BIG list...
* in marc directory, the marcschema.sql contains now the new marc structure. The old one is in marcschema.old.sql.
* in marc directory, the fill_usmarc.pl script fills the structure tables with USMARC format in english. Thanks to steve for the BIG work getting them from LOC... It's still to do for UNIMARC in english, and of course in french for me ;-)
* in admin directory, the marctagstructure.pl script helps playing with the structure and modifying it... It's not ended (tomorrow, i hope it will be)
INSERT INTO systempreferences VALUES ('template', 'french', 'Template default name. Not used for instance');
INSERT INTO systempreferences VALUES ('autoBarcode', '', '1 or else. If 1, Barcode is auto-calculated');
INSERT INTO systempreferences VALUES ('acquisitions', 'normal', 'normal or simple : will use acquisition system found in directory acqui.simple or acquisition');
branchtransfers table
Circ2.pm has been changed a little
admin/branches.pl alows branches to be added, edited and deleted.
updatedatabase needs more fixing