Brief overview of Voyager/Primo integration data sources
- Product: Voyager
- Relevant for Installation Type: Multi-Tenant Direct, Dedicated-Direct, Local, TotalCare
Question
Basic information about Voyager/Primo integration data sources.
Answer
In basic terms, Voyager data that are displayed in Primo come from two different sets ("sources") of data:
- Extracts from bibs done on the Voyager server that are manipulated by normalization rules through the pipe loading process on the Primo server. The normalization rules get the ILS data in the extract into Primo in a format that Primo understands.
- API calls for mostly MFHD data whose display is mapped primarily by the OPAC via Primo mapping tables. Holdings record configuration mapping tables are used for retrieving and displaying the data in the Voyager MFHDs and acquisitions data.
There are some linkages
- such as the data that identifies the institution for both bibs and holdings
and some exceptions
- such as the availability status from the Voyager item that is extracted in the 949 data through the bib extract AND the RTA API call that gets processed through the normalization rules for bibs or Real-Time Availability (using normalization rules) MT for the API call. Those are the same normalization rules they’re just specified in two different places for the code to handle.
It’s basically the contrast between
- data that is fairly constant (BIBs) vs. current more variable data (holdings & items)
- server jobs vs. API calls
and
- configuring display of the relatively constant data via norm rules vs. display of variable data via mapping tables.
This difference in data processing is clearly shown in the Out-of-The-Box PrimoExp-*.ini files:
- The data extract process is run on the Voyager server. The database host is localhost. You don’t need to define the UserPass (credentials) because Voyager is designed to use the data from the voyager.env that is loaded at startup.
# Database and the other Database parameters determine which database to connect to.
# Ordinarily these are set by the wrapper script based on the environment.
# -d
# DataBase=
#
# DatabaseHost
DatabaseHost=127.0.0.1
#
# DatabasePort
# -e
# UserPass
# The credentials needed to connect to the database.
# Optional parameter, override on command line with -u
# STRONG RECOMMENDATION: do not set this value here, use
# the command line override instead.
# Special note: Oracle TNS Alias (@DB) is _not_ used here
#UserPass=xxxdb/xxxdbwrite2
#
Database=VGER
Protocol=com.endinfosys.voyager.extract.OAIPMHXmlWriterProtocol
- In contrast, the PrimoExp-Rta.ini needs to specify both the actual DatabaseHost and UserPass because the API query is coming from another server. Its localhost is on the source server making the API call AND the API call doesn’t/can’t lookup the UserPass loaded to the Voyager environment at startup.
# Database and the other Database parameters determine which database to connect to.
# Ordinarily these are set by the wrapper script based on the environment.
# -d
# DataBase=
#
# DatabaseHost
DatabaseHost=10.1.234.84
#
# DatabasePort
# -e
# UserPass
# The credentials needed to connect to the database.
# Optional parameter, override on command line with -u
# STRONG RECOMMENDATION: do not set this value here, use
# the command line override instead.
# Special note: Oracle TNS Alias (@DB) is _not_ used here
UserPass=xxxdb/xxxdbwrite2
#
Database=VGER
Protocol=com.endinfosys.voyager.extract.OAIPMHXmlWriterProtocol
Additional Information
See the Voyager Primo Integration User's Guide.
- Article last edited: 08-Oct-2021