Extending the Metro server
How to modify and update the Metro server
The Metro server is the node that sits within the DMZ of a library and communicates ME Library requests to the ILS. There are times when changes have to be made, like when there are 2 versions of the same ILS being used by different institutions.
Migrating a Library from one ILS to another
PRL, as of March 14, 2019, is moving from Horizon to Polaris 6.2. Fortunately the Polaris module has been written, unfortunately it was written and tested for a different version of Polaris 5.2. To bring it up to date we need to take
describe %TABLE;. The staff at PRL were extremely helpful in dumping this information and pointing out the changes from the older version. As tradition would have it, III have removed a string column and replaced it with an integer column to represent a foreign key in a new table. We don't need to address this new table, but we do need to add some conditional code that will run differently if the target ILS is Polaris 5.2 or 6.2.
ImplementationTo do this I added an emum which defines the 2 supported versions, and added an optional tag to the
<entry key="conformance">Polaris 6.2</entry>. This means that the
PropertyReaderwill read the file, and if it finds the tag, will read it and make it available to any other class at run time. The classes that use it are:
Here library is defined as the additional
jar files, or dependencies for the MeCard.jar file. Currently they include: