marcimport.pl has been almost completly rewritten, so LOT OF BUGS TO COME !!! You've been warned. It seems to work, but...
As with my former messages, nothing seems to have been changed... but ...
* marcimport now uses HTML::Template.
* marcimport now uses MARC::Record. that means that when you import a record, the old-DB is populated with the data as in version 1.2, but the MARC-DB part is filled with full MARC::Record.
<IMPORTANT NOTE>
to get correct response times, you MUST add an index on isbn, issn and lccn rows in biblioitem table. Note this should be done in 1.2 too...
</IMPORTANT NOTE>
<IMPORTANT NOTE2>
acqui.simple manage biblio, biblioitems and items tables quite properly. Normal acquisition system manages biblio, biblioitems BUT NOT items. That will be done in the near future...
</IMPORTANT NOTE2>
what's next now ?
* bug tracking, of course... Surely a dozen of dozens...
* LOT of developpments, i'll surely write a mail to koha-devel tomorrow (as it's time for dinner in France, and i plan to play NeverwinterNights after dinner ;-) ...
Database.pm and Output.pm are almost not modified (var test...)
Biblio.pm is almost completly rewritten.
WHAT DOES IT ??? ==> END of Hitchcock suspens
1st, it does... nothing...
Every old API should be there. So if MARC-stuff is not done, the behaviour is EXACTLY the same (if there is no added bug, of course). So, if you use normal acquisition, you won't find anything new neither on screen or old-DB tables ...
All old-API functions have been cloned. for example, the "newbiblio" sub, now has become :
* a "newbiblio" sub, with the same parameters. It just call a sub named OLDnewbiblio
* a "OLDnewbiblio" sub, which is a copy/paste of the previous newbiblio sub. Then, when you want to add the MARC-DB stuff, you can modify the newbiblio sub without modifying the OLDnewbiblio one. If we correct a bug in 1.2 in newbiblio, we can do the same in main branch by correcting OLDnewbiblio.
* The MARC stuff is usually done through a sub named MARCxxx where xxx is the same as OLDxxx. For example, newbiblio calls MARCnewbiblio. the MARCxxx subs use a MARC::Record as parameter.
The last thing to solve was to manage biblios through real MARC import : they must populate the old-db, but must populate the MARC-DB too, without loosing information (if we go from MARC::Record to old-data then back to MARC::Record, we loose A LOT OF ROWS). To do this, there are subs beginning by "ALLxxx" : they manage datas with MARC::Record datas. they call OLDxxx sub too (to populate old-DB), but MARCxxx subs too, with a complete MARC::Record ;-)
In Biblio.pm, there are some subs that permits to build a old-style record from a MARC::Record, and the opposite. There is also a sub finding a MARC-bibid from a old-biblionumber and the opposite too.
Note we have decided with steve that a old-biblio <=> a MARC-Biblio.
WARNING : YOU MUST DO THE FOLLOWING IF YOU EXPECT THE MAIN-BRANCH TO WORK.
* install MARC::Record package, from cpan or sourceforge
* OVERWRITE File.pm and USMARC.pm. The original misses 1 functionnality we absolutly need in koha (reading a MARC from a variable, not from a file). Thanks to Steve, who modified MARC::Record.
* modify your DB by adding marcschema.sql tables
* populate new tables by launching fill_usmarc.pl
Then, it should work...
What works exactly will come in the next commit, in a few minuts (hitchcock suspens...)
after being logged out for inactivity. Also switched from crypt passwords to
md5 passwords stored in borrowers table. Used Digest::MD5 module. I ain't
gonna reinvent _that_ wheel. :)