From MeLibraries Wiki
Revision as of 10:42, 22 January 2014 by Eplils (Talk | contribs) (I have some files named 'metro--data.txt')

Jump to: navigation, search

What do we do when a customer comes in claiming they registered with our library, but we have no record?

If a customer comes to your library claiming that they used the Me service to register, you should manually register them using these [procedures]. A check of the log directory will show if there was a problem loading customers, and the error files will contain information about the error and the customer's account information.

Each library has a Me server, and it stores the customer information to be loaded and sends a receipt message back to the customer. This is done because on some systems, the loading of the customer account can take place up to 5 minutes later. If at the time of loading there is a problem during the load there will be error files in the logs directory. Routine checks of the logs directory, and reports of failures can vastly improve customer service, and help improve the Me software.

Is there a way I can view current Me stats? Or can you share that with me?

There is no easy way yet to see stats for two reasons. The first is because I have been spending all of my effort in development of other parts of the service, the second reason is because I am waiting to see what kind of statistics people want. After initial development ends, the next job will be to determine what libraries want to know about the service, how best to answer those questions and finally create an interface for members to help themselves. Until then I am taking requests.

I have some files named 'metro-<customer_id>-data.txt'

On a Windows system it is possible that the metro server was interrupted if Windows crashes. There is a loader application that runs on a schedule, when it wakes up it checks for a PID file. If it finds the PID file it goes back to sleep assuming that the metro server just happens to be creating a customer file at that time. This was created to cope with a race condition that occurs for institutions that house more than one Horizon system on a single physical server.
Make sure the metro server is not running, remove the PID file, start the server again. The next time the scheduled loader start it will load the backlog of accounts.

We were curious how many Me patrons there were and how many checkouts that had resulted in so far

2684 customers have used the service since its official launch at the beginning of October, 2013 until January 13, 2013.

The next part of the question can’t be answered because the Me is a registration system. It allows customers to load their accounts with your Library’s ILS. Once that is done, the customer is your customer. Their behaviour, borrowing patterns and all other information about how they interact with your library is intentionally private to your customer and your institution.

The server says there is a problem with the customer’s postal code but it looks Ok to me?

Look at the customer’s code and see if there are any mistaken or transposed characters. The character 0 (zero) looks like an uppercase ‘O’ to a human, but to the metro server they are vastly different. Older releases of the server would sometimes fail to parse broken phone numbers and then erroneously report that the customer's City and Province are unset. This bug has been fixed. If you continue to have problems please contact Andrew anisbet(at)epl.ca for assistance.

How can I test procrun?

Prunmgr is a GUI application for helping to set up command line options for your startup script. The way to use it on an installed service is:

c:\metro\prunmgr //ES//Metro

I see [user_id].fail files in the logs directory, what’s going on?

The metro server has received a legitimate customer creation or update request but the ILS failed to load the user. For Horizon users, this usually means that the customer’s address is a name that is not listed in your city_st table. Check the city_st table and if necessary add the name and code to the table. Find the customer’s bimport entry in the timestamped bimport files and reload the customer’s account with bimport manually. Alternatively you can cut and paste the customer data into a file named metro-[user_id]-bimport.txt, where the number in the middle is the customer’s user id. The next time the scheduled loader runs it will reload it. For Unix users this usually means that there is a spelling mistake in the symphony.properties file. The fastest way to deal with this is to copy over the user’s information to the ILS and user loadflatuser to create or update the account. See Appendix F for a script that will create the user from a given flat user file on the command line.

What to do with members who are unsuccessful at using the web service?

Verify that the customer is not barred or blocked. If they are, work to resolve the situation appropriately (ie. by taking payment to bring any fees owing below limit, or unbar the card after verifying ID if the card was mailed home). Ensure that the customer has an email address on file. If not, add an email address to their account and try registering through melibraries.ca again. If the registration is still unsuccessful, let the customer know that they can still register manually in person at any of the other member libraries. Each other library would need to call your institution to verify the status of the customer, as per the normal reciprocal borrower procedures. If symptoms persist contact product support (See getting help).

We have had several ME online registrations fail due to unknown city codes. What's going on?

The ‘city code’ is an oddity of Horizon ILSs. The way it works is the metro server looks for a suitable place-name-code in your CITY_ST table and, if one exists, loads the user’s account with that code. Your CITY_ST table might not have an entry for city in question, so the metro server will looked up the code in the Alberta place name code codex, and added it to the account. It knows that the account will not load, but it does provide a way to determine that the customer's city. Once a code is entered into your CITY_ST table, the customer can then be reloaded. If you decide you don’t want to use ‘0305’, you can create any code you want in the CITY_ST table, but then you also have to make an entry for it in your bimport.properties file.

What do we do if there is an ILS outage?

There are two types of outages, planned and unplanned.

  1. Unplanned If the outage is unplanned the metro server will be unable to contact the ILS and automatically report that the Me Card service is currently unavailable, please try again later. The disadvantage with this is that there may be a delay before the user gets that message while the connection to the ILS server times out. It is set to 5 seconds by default (See sip.properties for more details).
  2. Planned If you know you are going to have an outage you can use the debug.properties file to great advantage. Here are the steps:
    1. Edit debug.properties file. Change the "return-code" to 1, then enter the message you would like to display to Me Card customers in the "stderr".
    2. Copy the existing environment.properties file so you can restore it after the outage.
    3. In the original environment.properties file edit the protocol entries and change them to dummy:
<entry key="status-protocol">dummy</entry>
<entry key="get-protocol">dummy</entry>
<entry key="update-protocol">dummy</entry>
<entry key="create-protocol">dummy</entry>

You do not need to restart your server. Your message will show up on the melibraries.ca website when a customer from your library tries to register, or when another library requests you to create or update a customer account. After the outage copy your debug.properties file to debug.properties.outagenotice for use on the next outage, and restore the original environment.properties file. No restart is required.

My load customer scheduled task under Windows 2008 (SP2) fails to exit. What's going on?

The problem can be fixed by selecting the "Start in: (optional)" option in task scheduler.

The server stderr reports a XML parse exception, but everything looks ok. What's going on?

If an entry was cut and pasted from an email, you may have a unknown character code in the property file entry. It may look like a '"' character, but the XML parse sees it as a different character all together and will stop, since it is expecting a normal quote character. To fix it erase the quote and retype it in Notpad++ or Notepad, then save the file. Never edit and save property files with Word.

The service doesn't seem to be running, how do I figure out what happened?

The service is started with a script (or batch file on Windows), in it there should be mention the files that contain the operational logs. Check these files regularly.

What's this mean: Cannot open PID file /var/run/metro.pid, PID is 19797 Service exit with a return value of 255?

You may not have write permission on that directory. You can try another directory that you do have permission for, or change the user ID in the startup script.

What's this mean: jsvc: fatal: /usr/local/apache-tomcat/jdk1.7.0_25/jre/lib/sparc/client/libjvm.so: wrong ELF class: ELFCLASS32 Service exit with a return value of 1

The application jsvc has not been compiled for your platform. You should get a precompiled binary if possible, or alternatively compile the binary for the target platform.

What are all the bat files for?

Unlike JSVC on Unix, Windows machines require Metro to be installed as a service. The install.bat file does just that. Once installed Metro can be started with the start.bat. Over time you may need to change some part of your configuration. Once the change is made the Metro server needs to be restarted. Use stop.bat, then start.bat. Check error logs for messages about the success of the restart. Major releases may require the user of uninstall.bat to both stop and uninstall the service. If the service does not install correctly, try a registry cleaner like CClean.

How do I check if the server is running?

On Unix use ps aux | grep jsvc, on Solaris ps -ef | grep commons. You can check if something is listening on the metro port with netstat -an | grep 2004 on Windows and Unix.

When checking for services on Windows 7, open a file explorer, select 'computer' and right-click, select 'Manage' and look under the 'Services and Applications' menu tree on the left side of the open window. To check for error messages, within the same menu tree select 'Event Viewer', 'Custom Views'.