Now, the API...
authortipaul <tipaul>
Wed, 24 Jul 2002 16:11:37 +0000 (16:11 +0000)
committertipaul <tipaul>
Wed, 24 Jul 2002 16:11:37 +0000 (16:11 +0000)
commit9fb81afb858bf8e1eef159ecc2ea3db13cf1c5f5
tree29345cd0788d6f95a55ff38633f6204bc3e61299
parent1da4e0ff2fd4800b1d3c86161f27bd7e610c72b3
Now, the API...
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.
C4/Biblio.pm
C4/Database.pm
C4/Output.pm