Label Printing & July 16 WMS API Install

WMS libraries - please read!


Update: this upgrade, originally scheduled for July 9, 2017 has been rescheduled to July 16, 2017.

As OCLC first notified the community in April, WMS APIs will be upgraded on July 16, 2017 to add security enhancements, which will affect libraries that rely on the label printing application from the University of New Mexico. The changes to the APIs are not backward-compatible with the current UNM application and will break this functionality.  OCLC and UNM have worked together to update the code and ensure its compatibility with the scheduled changes to the WMS APIs.

If your library relies on the UNM application, OCLC strongly urges you to test changes to your environment so that your label printing functionality continues uninterrupted after the July 16 install.

Please review the three primary use cases below for instructions on what to do prior to the install.

CASE 1: Basic implementation of UNM application

CASE 2: Custom implementation of UNM application

CASE 3: No idea if/how you implemented the UNM app


CASE 1: Basic implementation

 You have edited the following three configuration files – and these files only.

  • config.php
  • crosswalks.php
  • laser.config.php

If you know that you fall into CASE 1 – you should be able to simply install the new version of the application from GitHub and then reapply local changes to the three configuration files. We recommend installing and testing the new version prior to deleting your current installation.

Step 1: Ensure your server is using PHP 5.6 or higher

$ php –v

If you aren't using PHP 5.6 or higher, you'll need to upgrade, as previous versions are no longer supported.

Step 2: Save current configuration files

Save a copy of your current configuration files (config.php, crosswalks.php, and laser.config.php) in a location from which they can be easily retrieved.

Step 3: Install from GitHub

In a Terminal Window:

$ git clone
$ cd WMS-Labeling

Step 4: Use Composer to install the dependencies

In the same Terminal session:

$ curl -s | php
$ php composer.phar install

Composer is a dependency management library for PHP. It is used to install the required libraries for testing and parsing RDF data. The dependencies are configured in the file composer.json.

Step 5: Reconfigure the application

Copy your saved config files (from Step 2) into the config folder.


CASE 2: Customized implementation

You customized the UNM application beyond the three PHP files listed above in CASE 1. This includes changes to inc/quicklabels.php.

Rather than installing the new code – and having to reapply your local customizations – we recommend that you fix your current code following the instructions below.

To get an overview of the changes, look at the pull request for the changes in GitHub:

There are three separate commits:

Finding differences between your files and the updates can be done a couple ways. If your code was cloned from the UNM-Label GitHub and still exists in Git, then the standard Git operations can be used to Fetch and Merge the changes.

If your code doesn't exist in Git, then you will need to know which files you altered and compare these against the current files in the UNM-Label GitHub. This can be done by using a diff utility of your choice. Mac OS has as part of the OS X Developer Tools. Windows offers the Windiff.exe Utility.


CASE 3: No idea

You don’t know if or how you edited the UNM code – perhaps because the person who originally worked on the project has left.

If this is your situation, we suggest bringing in a local IT resource to determine the level of customization your institution has applied to the UNM code base and how best to proceed. Given that the install will be performed on July 16, we suggest pursuing this as soon as possible.