Tech Blog

Bulkload Multiple Bibs and create Multiple POs

  • DescriptionWith the attached code changes to webadmin, you get to do a webadmin bulk import that ends up creating a new Purchase order for every Bib added, rather than the default of adding all bibs in the load to one Purchase Order.
  • Author: Don Hamilton
  • Institution: Wilfrid Laurier University/Tri-University Group
  • Year: 2008
  • License: Do with it what you will, at your own risk.
  • Skill required for using this code:


‘Stable’ (will modify for beer!)

Programming language

This involves changes to the perl script that handles the webadmin bulk load process.

Software requirements

A working webadmin setup.

Author(s) homepage





Version 0.0 ….

Initial Release, Oct 1, 2008.

Installation instructions

The attached file (called just plain ‘forEXL’) is actually a ‘tar’d file of a directory called ‘betterbulk’. If you were to save the file, ftp it to your server, then go to the directory on the folder where you ftpd it and issue the command “tar -xvf forEXL”, you should then have a directory called betterbulk in which there are 4 files whose names all begin with ‘new’, plus an index.html Copy the four ‘new’ files to /m1/voyager/yourdb/webadmin/cgi-bin, and replace /m1/voyager/yourdb/webadmin/index.html with the one in betterbulk.

Now, if you login to webadmin, you will see, under catalog, two options where once there was one: Bulk Import… , and Better Bulk …

The difference in the two choices is that the original calls bulkimport.cgi, while the better one call newbulkimport.cgi. The part that is ‘better’ is that there’s a new prompt for “Individual records” yes or no… if you say no, the default, then the code acts just like the original. However, if you say yes, you will get an individual PO created for each marc record in the file.

TO DO list

What’s todo? Its perfect! (’til it needs to be changed…)

Known issues

The log files generated by bulkimport are time and date stamped to the minute… This process can generate multiple bulkimports within the same minute, and basically all processes log to the same file, giving a munged up listing…. but it all seems to work.


It works for us… has been in use a year or so. One other site reports success with the code. YMMV.

Leave a Reply