Main -> Support -> Technical Support Base |
Last Updated:
October 11, 1999
The Technical Support
Base serves as a resource for tasks that are not currently included in the
Documentation. The following procedures are discussed within this technical
resource:
Setting Name, IP and DNS Authentication
In Open SiteSearch, there are three modes of patron authentication: Name,
IP (Internet Protocol) and DNS
(Domain Name Server).
Name
IP
There are three basic steps for activating IP authentication.
1. Populate the authos table with valid IP addresses.
2. Set the CheckIPAuthos parameter to TRUE in the Access.ini file.
3. Disable or bypass the autho/password widgets from being sent in with
the Authorize verb.
More detail:
1. Populate the authos table with valid IP addresses.
Refer to "Configuring the Access Component" for details on creating the accessdb file.
Make sure to edit the accessdb data file and include the IP addresses in the authos table before importing the data into the accessdb database.
NOTE: If you want to add a range of IP addresses instead of entering each IP individually, use one of the following conventions:
ip:123.456.789.12-16 2. Set the CheckIPAuthos parameter to TRUE in the Access.ini file.
The Access.ini file is in the 3. Disable or bypass the autho/password widgets from being sent in with
the Authorize verb.
Sending autho and password widgets from the index.html page overrides IP authentication. These widgets must be removed
from the index.html page or bypassed with a separate hotlink button in order to enable IP authentication.
To remove the widgets, edit out the input boxes from the index.html page.
To bypass the index.html page, create a separate hotlink. For example:
<A HREF="http://hostname:portnumber/WebZ/Authorize:sessionid=0:next=html/homeframe.html:bad=error/authofail.html">Enter
via IP Autho</A>
Follow the same procedure for enabling IP authentication
with these exceptions:
1. Instead of IP addresses, populate the authos table with DNS addresses
in the format, dn:name.name.edu. Wildcards are valid, if applicable. For
example, dn: *.name.edu
2. In the Access.ini file, set CheckDNSAuthos to TRUE
NOTE: The OBI can authenticate by Name and IP simultaneously or Name
and DNS simultaneously, but not IP and DNS simultaneously. In the OBI,
the CheckIPAuthos and CheckDNSAuthos parameters cannot both be set to
TRUE. Users that need both modes of authentication will need to modify
the Authorize class.
Using zclient to Test Z39.50 Resources Z39.50 is a standard protocol that allows a user to search databases, view records, and manipulate result sets. In a perfectly standard world, each Z39.50 vendor would implement the client/server protocol in the same manner and would provide the necessary information for the configuration of Z39.50 clients. But because each vendor has implemented a different flavor of Z39.50 and has created unique databases, some Z39.50 compatibility testing is necessary. Open SiteSearch 4.x provides a basic Z39.50 client, zclient, to aid in this testing process and is able to test client/server connections, verify searchable indexes, view records, and analyze Application Protocol Data Units (APDUs). Reference
|
Modifying EmailRecs.java
(Originally distributed with the May 1999 issue of InSite)
Following are instructions for customizing messages included with email of bookmarked selections.
Steps | Example | |
1. | Open <WebZ_root>/classes/ORG/oclc/obi/extverb in your text editor Locate: StringBuffer s = new StringBuffer( ); |
StringBuffer s = new StringBuffer(); if (name != null && name.length() > 0) s.append("Hello "); if (name != null && name.length() > 0) { s.append(name); s.append(", "); } s.append("\n"); if (note != null && note.length() > 0) { s.append(note); s.append("\n"); }
s.append("Thanks for using WebZ. \n"); |
2. | Edit text in the s.append methods Substitute your institution's message |
s.append("University Systems");
|
3. | Save file then recompile NOTE: In order for the file to successfully compile, your CLASSPATH must be set correctly.
For more information about setting the CLASSPATH variable:
|
javac EmailRecs.java |
Building a Database with a Sparse Index
(Originally distributed with the April 1999 issue of InSite)
A sparse index is a kind of shortcut for speeding searches on local Newton databases. With a sparse index,
a small set of related terms is placed at the top of the postings index list. By having a sparse index at
the top, the search engine locates these terms quickly and doesn't need to scan the entire postings index.
First you need to define the sparse index in the database description file. Then you actually build the
database with the SSDOT utilities. As you build the database using SSDOT (see instructions below), the
build software pulls the values from the sparse index and groups them at the top of the postings index.
With a little planning, you can save a lot of search time.
Keep in mind
Steps | Explanation | |
1. | Start the database build with SSDOT. |
Go to <WebZ_root>/dbbuilder/ssdot. Then type ssdot at the prompt. |
2. | Type "s" to set the current database. |
When you are prompted to Select a registered database, type the name of the database you will build. |
3. | Select option 5. Advanced Options from the menu. |
|
4. | Select option 1. Initialize database. |
Once the database has been initialized, and you will receive the message There are completed jobs. |
5. | Select option 2. Convert input data to BER-formatted records. |
NOTE: If you have already converted your input data into BER, skip this step and go to step 5.
|
6. | Select option 3. Add records to database and create index terms (Pippin). |
Wait for pippin to complete processing. |
7. | Select option 4. Sort index terms (Sortnip). |
Wait for sortnip to complete processing. |
8. | Select option 5. Add index terms to the database (Rome). |
Wait for rome to complete processing. |
9. | Select option 6. Sort sparse index terms (Sortspar). |
Wait for sortspar to complete processing. |
10. | Select option 7. Add sparse index terms to the database (Sparrome). |
After sortspar completes, your database is ready to be tested. |
Adding MARC 856 to a Formatted Record Display
(Originally distributed with the March 1999 issue of InSite)
MARC field 856 includes information required for locating electronic items such as websites, ftp servers and WAIS servers.
To display this information in SiteSearch, you must modify the associated formatting class for a database.
The example below shows how to add an 856 method to a formatting class. It is just one of several approaches that could be used.
Steps | Example | |
1. | Verify CLASSPATH Verify that CLASSPATH contains correct directories including the /classes directory, the SiteSearch jar file and the JDK classes.zip file. See also Configuring CLASSPATH (found in the Installing and Configuring the Open SiteSearch Suite document) |
>echo $CLASSPATH .:/ss4/classes: /ss4/classes/lib/SS4_0_1.jar: /usr/lpp/Java/lib/classes.zip |
2. | Locate formatting class Locate the formatting class used to display full records. The class is specified in the /ini/dbs/*.ini file for each database. |
In a NetFirst.ini file for Generic State College: [Formats] full = EDU.generic.NetFirstFullFmt |
3. | Add method Add the add856 method to the formatting class. The 856 method could be added before the 'doFormat' method. |
View add856 to see sample source code for this method. |
4. | Add call Reference the 856 method in the 'doFormat' method. See NOTE below |
addISSN(dir, useLabel, useTrailer); add856(dir,[true,false]); addLibraries(dir, useLabel); addHoldings(dir); |
5. | Compile the java file | javac NetFirstFullFmt.java |
6. | Restart JaSSI and ZBase |
To display only subfield $M (13) "Contact for access assistance" information |
add856(dir, false); |
To create a hotlink for subfield $M (13) For instance, when the field contains only an email address, such as in the FirstSearch NetFirst database. |
add856(dir, true); |
The JaSSI server automatically tracks user statistics (one statistics file per JaSSI). These statistics are stored in the <WebZ_root>/stats directory and contain comma-delimited information. The statistic filenames are stamped with date and time stamps to help you locate the particular file that you might need. These files contain information about user sessions, including the unique session id and the user's IP address. System tasks associated with a session, such as starting a session, initializing the session, performing search/present requests, and shutting down the session, are also tracked. You can also review information about the database(s) searched, the type of searches the user performed, the number of records retrieved, and the type of record display, brief or full, requested.
To track this information in a database, most database applications will allow you to import each file into a database table. To import the data, copy the statistic file(s) and add a file extension which your application will recognize (e.g., .txt) to the end of each filename. If necessary, open the copied file(s) in a text editor and use the "Save As..." option to save the file(s) into the new format. Next, open your database and import each file into a new table as a comma-delimited file.
Note: The first row of every statistics file contains the column header information necessary for the table.
If you would like to display the statistics information in a different format (i.e., HTML), you may want to consider writing a script to convert the JaSSI statistics files into this format.
If you would like to track additional statistics information than that currently provided by the JaSSI, you can extend the ORG.oclc.stats.JaSSIUserStats class to perform additional tracking.
Configuring the ZBroker Server in WebZ
The Open SiteSearch WebZ software can use the ZBroker server to allow external Z39.50 clients to access the ZBase server directly to perform searches. You can then search both local and remote databases by using the zclient utility to access the ZBroker server. Upon installation, the ZBroker server is not configured to immediately start with the WebZ system. Complete the following steps to configure the ZBroker server:
Using a Proprietary SQL RDBMS Server and Database with the Access Component
This procedure explains
how to configure the Access component to work with a proprietary Structured
Query Language (SQL) relational database management software package, such as
Oracle, Sybase, or Microsoft SQL Server, on a UNIX system. The instructions
below describe how to:
Note: Refer to the SQL software documentation for instructions regarding database system administration.
Follow the steps outlined below:
Important Note: You must use the database table structure defined in the sample database for any authentication database that will be used with the Access component.
Note: You may need to change the accessdb.dump file extension (.dump) to reflect the file extension used by your software (e.g., .sql).
The JIT, ssmgr, and SiteSearch
The Just-in-time (JIT) Compiler is a compiler that converts all of the bytecode into native machine code just as a Java program is run. This results in run-time speed improvements over code that is interpreted by a Java virtual machine. (Sun Microsystems, Inc.)
Although the JIT is intended to increase processing speed, SiteSearch has encountered various problems with the current implementations of this real-time compiler. This is especially true with the current Aix versions of the Java Development Kit (JDK).
This causes some of
the following problems (each associated with communications between servers):
We have several workarounds
to this problem:
setenv JAVA_COMPILER
Note: This only works for your current Unix or NT session and does not remain as a permanent workaround.
In your ".../scripts/ssmgr.(host name)" file, you can set a system property using a "-D" flag (you can see this option in the Java usage statement). The following should be added to each server startup section:
-Djava.compiler=NONE
The "ssmgr.(host name)" file should look something like this:
echo "Starting AccessServer"
java -Djava.compiler=NONE ORG.oclc.access.server.AccessServer $ROOTDIR/ini/AccessServer.ini &
;;
jassi)
echo "Starting JaSSI"
java -Djava.compiler=NONE ORG.oclc.jassi.JaSSI $ROOTDIR/ini/JaSSIServer.ini &
Note: This should be done for each of the SiteSearch servers.
You will need to also edit the ".../scripts/ssadmin" file to disable the JIT.
The ".../scripts/ssadmin" file should look like this:
echo "Starting SSAdmin"
echo "java -Djava.compiler=NONE ORG.oclc.opserve.tty.SSAdmin $ROOTDIR/ini/SSAdmin.ini"
Note: In our testing at OCLC, we have noticed no appreciable difference in response times between enabling and disabling the JIT while using SiteSearch 4.0.x and JDK 1.1.x
Displaying DRA Holdings Information
DRA utilizes a separate database, "CIRCLE_ITEM_FILE", to store holdings information. SiteSearch WebZ 4.0.2 can be configured to utilize information in this database to display holdings within the full record display for records from DRA's Z39.50 server.
In the ".../ini/interface/DisplayGadgets.ini" file, you will want to change the following section:
# Record display formatting for Full Display records
[FullRecord]
gadget = ORG.oclc.gadgets.FormatRecords
fmtclass = full
to this:
# Record display formatting for Full Display records
[FullRecord]
gadget = ORG.oclc.gadgets.FormatRecordsAndAttachHoldings
fmtclass = full
SearchKeyFmtClass = holdingsKey
The following information
should already be configured in the sample files provided with SiteSearch
4.0.2:
.../ini/dbs/DRA.ini:
[database]
ZBaseDbType = ORG.oclc.db.DbRemoteZ
...
HoldingsDbName = DRANETHOLDINGS
.../ini/dbs/DRAHoldings.ini:
[database]
ZBaseDbType = ORG.oclc.db.DbRemoteZ
dbName = DRANETHOLDINGS
remoteZDbName = CIRCLE_ITEM_FILE
Longname = DRA Holdings
recordSyntax = DRA_HOLDINGS
SupportsSort = false
SupportsScan = false
ServerName = DRA
ServerIniFile = servers/DRA.ini
HideInMenus = true
...
and both databases should be listed somewhere in the ".../ini/databases.ini" file:
...
db* = dbs/DRA.ini
db* = dbs/DRAHoldings.ini
...
After these changes have been made, you will need to restart SiteSearch to view the DRA holdings information.
Also, we have a bug fix that improves the display of MARC Holdings fields more completely and consistently. Please see "BR058: The WebZ Formatting Classes Do Not Parse/Display MARC Holdings Information Correctly" for information regarding applying this fix.
Configuring Automatic AutoSort
SiteSearch WebZ can be configured to automatically request that a result set be sorted by specifying sort parameters. You will need to edit the appropriate search html file in the FORM section to reflect the changes you want. You will need add values for the "key" and "direction" variables to this section in order to instruct the server which field to sort on and in which direction.
Here is a modified ".../htdocs/html/advancedsearch.html" file which will send a sortRequest to sort the result set on 'Date' in Descending order and 'Title' in an Ascending order:
...
<FORM METHOD="POST" ACTION="/WebZ/AdvancedQuery:&context;"
&StyleTable.targets.searchResults;>
<input type="hidden" name="next" value="&StyleTable.pages.searchResults;">
<input type="hidden" name="bad" value="&StyleTable.pages.badquery;">
<input type="hidden" name="entitytoprecno" value="1">
<input type="hidden" name="entitycurrecno" value="1">
<input type="hidden" name="entitytempjds" value="TRUE">
<input type="hidden" name="dbgroup" value="&dbgroup;">
<input type="hidden" name="key1" value="Date">
<input type="hidden" name="direction1" value="d">
<input type="hidden" name="key2" value="Title">
<input type="hidden" name="direction2" value="a">
...
You will need to examine the current value of "maxSortRecords" and "maxAutoSortRecords" in the individual ".../ini/dbs/*.ini" files and configure values appropriate for your SiteSearch installation.
Note: With higher threshold values, the response times of searches will increase, especially with large result sets.
Current default values are:
...
maxSortRecords = 200
maxAutoSortRecords = 50
...
Also, you will probably want to remove the Auto Sort gadget (i.e., "&StyleTable.Sort.gadget;") from the ".../htdocs/html/advancedsearch.html" file so that this option no longer displays on this search page.
References
|