Michael Doran Home Page
Contact | Site Map | Search  
  Home > Archives > New Books List > About > Installation Tips

New Books List

Installation Tips


These tips supplement the Unix and Windows installation instructions.

Perl tips for non-programmers

Although separated out of the hard-core code for convenience, the configuration sections are all "part and parcel" of a Perl program. This means that the syntax rules of Perl still apply, and one should be careful while editing variable values, not to inadvertently delete or misplace quotation marks or the semi-colon that ends a statement. A special case is using quotation marks within quotation marks, in which case the internal quotes should be escaped with a backslash.
	my $this_service = "New Books";
	my $short_blurb  = "<img src=\"/images/your_graphic.gif\">";
Programming languages generally have some way of distinguishing commentary about the code from the code itself. In Perl, the pound sign ("#") is the character that precedes any part of the program not meant to be executed as code. Although the main purpose of commenting is to allow the author of the program to insert explanatory material, a secondary purpose is to prevent certain lines of code from executing. The New Books List uses commenting for both purposes, and you may see instructions to "uncomment the line below" in order to enable some functionality of the program. To uncomment, you would simply delete the pound sign that precedes the Perl statement.

Understand what is, and what is not, within the program

It is typical for computer programs to utilize outside components (e.g. libraries and modules) as well as functionality provided by the operating system on which the program is running. When everything is working OK, we don't pay much attention to this fact, but when there's a problem, it is necessary to determine whether the fix lays within the program itself or one of the outside components.

Not in the programs:
  • The DBI or DBD::Oracle modules
    Although not a part of the default Perl distribution, all Voyager database servers should have these modules installed courtesy of Endeavor. Generally, the problem is that newbooks.pl is looking for Perl modules in the wrong directory. See the Can't locate DBI.pm FAQ for some insight into this.
  • A mail client
    In order to send mail to users, newbooks.cgi invokes mailx, an email client that is part of the underlying Unix operating system. (The Windows version uses the smtpmail client.) If no email is arriving after sending it via the New Books List user interface, it is necessary to determine if mailx/smtpmail can successfully send an email from the command line, independent of the New Books List program.
  • An ftp or rcp client
    The newbooks.pl program relies on the networking protocols and clients of the underlying operating system in order to transfer the newbooks.txt flat file to the WebVoyage server. That transfer will only succeed if the relevant servers are configured to allow it. Although networking instructions and guidance are provided in newbooks.pl, it is ultimately up to the local system administrator to properly configure the servers.
  • Color settings for the New Books tab on the other search screens
    Having a ubiquitous "New Books" tab appear on all the search screens serves to integrate the New Books List into WebVoyage. However, the values for the New Books tab and font colors on those screens is determined by the code added to opac.ini, a Voyager configuration file, rather than a newbooks.cgi configuration file.

The language module template

The purpose of the language module template is to make it easy to create additional language modules by simply filling in the values. After doing so, rename the file (using the naming convention of the other language modules) and it should be ready to use.
	cp  newbooks.Language  newbooks.French
If you create (or improve upon) a language module, please consider sending it to me so that it can be shared with other Voyager libraries.