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.
Name | Symphony Web Service Server Addon |
---|---|
Version | 1.2.1 |
Author | Atlas Systems, Inc. |
Description | This 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 Support | No |
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.
Setting | Default | Type | Description |
---|---|---|---|
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 | String | The 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 | String | The 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. |
ShelfLocationDestinationField | SubLocation | String | 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 | String | Specifies 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
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
- Process the request as normal,
- Manually fix the record and then route it back into monitor queue, or
- 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.xml | The addon configuration file. |
SymphonyServerAddon.lua | The main file for the addon. It handles the initialization and logic of the addon. |
Utility.lua | The Utility file is used for common lua functions |
WebClient.lua | Used for making web client requests. |