Aeon Symphony Import Server Addon

This is a Server Addon and is installed using the Aeon Customization Manager. See Configuring Server Addons for more information.

NameSymphony Web Service Server Addon
Version1.2.1
AuthorAtlas Systems, Inc.
DescriptionThis addon imports ILS data from a Symphony Web Service for transactions that are in the specified data import queue. The transaction will be routed to one of 2 queues, depending on the success of the data import.
Custom Fields SupportNo

Developers

This addon is available for developers to modify and extend. Developers are encouraged to submit changes to this addon by forking the git repository from https://github.com/AtlasSystems/SymphonyImportAddon and creating a pull request.

Download

Configuration

Addon settings are configured in the Manage Addons form.

SettingDefaultTypeDescription
RequestMonitorQueue
Awaiting ILS Data Import
String

The queue that the addon will monitor for transactions that need ILS data automatically imported from Symphony. The value of this setting is required.

SuccessRouteQueue
Awaiting Request Processing
StringThe queue that the addon will route requests to after successfully importing ILS data from Symphony. The value of this setting is required.
ErrorRouteQueue
Awaiting Manual Data Import
StringThe queue that the addon will route requests to if errors are encountered while importing ILS data from Symphony. The value of this setting is required.
SymphonyWebServiceUrl

String

Base URL for the Symphony Web Service. The value of this setting is required.

Ex: https://{Your Domain}/cgi-bin/aeonItem.pl

LookupSourceField
CallNumber
String

Specifies the transaction field that contains the Symphony record's Call Number. The value of this setting is required and must match the name of a column from the Transactions table. A second column may be specified in the lookup source in cases where an item's call number also contains a location. For these cases add a space between column names (CallNumber Location)

LocationDestinationField
Location
String
Specifies the transaction field where the location information for the transaction should be stored. The value of this setting is optional. If specified, the value of this setting must match the name of a column from the Transactions table.
ShelfLocationDestinationFieldSubLocationString
Specifies the transaction field where the shelf location information for the transaction should be stored. The value of this setting is optional. If specified, the value of this setting must match the name of a column from the Transactions table.
BarcodeDestinationField
ReferenceNumber
StringSpecifies the transaction field where gathered barcode information should be stored. The value of this setting is optional. If specified, the value of this setting must match the name of a column from the Transactions table.

Workflow Summary

The addon watches the transaction queue specified by the RequestMonitorQueue addon setting. When the addon detects that there are transactions present in the queue, it will grab the call number from the transaction. Using the call number, the addon will place a request on the Symphony Web Service and take the first result returned from the pipe-delimited record. Then, it will input the barcode, location, and shelf location into the specified fields. Note that all imported values will be trimmed of all leading and trailing spaces. If there is an error during the process, the transaction will be routed to the queue specified in the ErrorRouteQueue setting.

Requirements

Network Access

The addon requires outbound HTTP(s) access to the URL indicated in the SymphonyWebServiceUrl setting. While the port will typically be 80 (http) or 443 (https), the outbound port may be different if the WebServiceURL is served on a custom port.

Queues

The queues indicated in the RequestMonitorQueue, SuccessRouteQueue, and ErrorRouteQueue settings must all be created. The default queues use 2 custom queues that must be created before enabling the addon: Awaiting ILS Data Import and Awaiting Manual Data Import.

The suggested state code for the queue indicated in the RequestMonitorQueue setting is Submitted by User.

The suggested state code for the queue indicated in the ErrorRouteQueue setting is Awaiting Request Processing.

Note

After creating new queues a restart of the Aeon System Manager may be required for the addon to see to see the new queues.

Routing Rules

While not required, a routing rule helps ensure that the addon will import data for all requests submitted by users.

Sample Routing Rule: The following sample rule will move requests from Submitted by User to Awaiting ILS Data Import when the ReferenceNumber is not null or blank and the request has not already been routed to the RequestMonitorQueue. Checking for the null/blank ReferenceNumber helps to skip processing by the addon for requests that already have barcode information supplied. Make the appropriate match string changes if using different field(s) for BarcodeDestinationField.

Status: Submitted by User

New Status: Awaiting ILS Data Import

Match String: ISNULL(t.ReferenceNumber, '') = '' AND t.TransactionNumber NOT IN (SELECT DISTINCT TransactionNumber FROM Tracking WHERE ChangedTo = ID Of RequestMonitorQueue AND ChangedDate >= t.CreationDate)

Description: Route all requests submitted by user with a CallNumber to the _Awaiting ILS Data Import_ queue for data input.

Error Handling

All error cases add a note to the transaction and then route the transaction to the specified error queue. From that queue, staff should be able to

  1. Process the request as normal,
  2. Manually fix the record and then route it back into monitor queue, or
  3. Manually adjust the addon's settings and then route affected transactions back into the monitor queue.


Error Cases


The addon will route transactions into the error queue for any of the following reasons.

  • Call Number was not present in the specified fields of the transaction
  • The connection to Symphony Web Service failed
  • The Symphony Web Service request was invalid
  • The Symphony Web Service request returned 0 results

Addon Files

Config.xmlThe addon configuration file.
SymphonyServerAddon.luaThe main file for the addon. It handles the initialization and logic of the addon.
Utility.luaThe Utility file is used for common lua functions
WebClient.luaUsed for making web client requests.