This addon can be configured as a Decision Support Pipeline Addon or as a Server Addon and is installed using the ILLiad Customization Manager. See Installing and Configuring ILLiad Server Addons for more information. For more information on the Decision Support Pipeline, see Decision Support Pipeline Overview.

This addon is only compatible with ILLiad System Manager v9.1.4 or later.

If used with the Decision Support Pipeline, this is a stage 2 & 3 DSP addon. For more information on stages, see Decision Support Pipeline Overview.

The ILLiad ReShare Client Addon is available for use with ILLiad ReShare Sever Addon v2.0.4 or later. For more information, see the ReShare Client Addon documentation.

Name

ReShare

Version

2.0.6

Author

Atlas Systems, Inc.

Description

The ILLiad ReShare addon is a Server Addon/Decision Support Pipeline (DSP) Addon that helps automate fulfillment through the ReShare service. It will process ILLiad requests placed in the Loan DSP pipeline or in a specified search queue, automatically initiate a ReShare request if appropriate, and poll the status of the ReShare request to automatically complete the ILLiad request or otherwise indicate it is unfilled.

Download

The ILLiad System Manager must be restarted after updating to v2.0.6 from a previous version of the addon.

Release Notes

Release notes are available for ReShare Addon v2.0.6 and later.

Integration Known Issues

Note: At this time, ReShare has not yet developed functionality to push requests originating in ReShare to ILLiad. Please contact ReShare if you would like to see this functionality as a future enhancement.

The following known issues may affect the addon’s functionality and are awaiting resolution:

Configuration - Addon Settings

Addon settings are configured in the Server Addons form located in the ILLiad Customization Manager. These settings will be the same whether using the addon as a Server Addon or as a Decision Support Pipeline Addon.

Note on Custom Queues Used in Addon Settings

Custom ILLiad queues that are defined in addon settings do not need to be added to the ILLiad Customization Manager’s CustomQueues table to be used in routing rules defined in the Routing table. For example, you can create a routing rule that automatically routes requests into the Awaiting ReShare Search queue defined in the SearchingMonitorQueue setting without first needing to add this queue to the CustomQueues table. You can also change the name of this custom queue in the SearchingMonitorQueue setting to a new custom value or to the name of an existing ILLiad queue.

Custom queues defined by the addon should only be added to the CustomQueues table if you need the option to manually route requests into that queue using the Route button in the ILLiad Client.

Name

Type

Default

Description

NVTGC

String

ILL

This setting should be set to the same NVTGC that this addon is configured under in the Customization Manager. It is used to filter requests that should be processed by this addon. This is particularly important for shared server setups.

SharedIndexAPIUrl

String

The URL for the Shared Index API service.

ReshareAPIUrl

String

The URL for the Reshare API service.

ReshareAPIUsername

String

The username to use when authenticating against the Reshare API service.

ReshareAPIPassword

String

The password to use when authenticating against the Reshare API service.

ReshareTenant

String

Your institution's tenant ID or SLUG for the Reshare API service.

This setting is case sensitive and should be entered in lowercase letters.

OpenURLListenerURL

String

The OpenURL endpoint used to create requests in ReShare.

OpenURLTenant

String

Your institution's symbol for the ReShare OpenURL endpoint.

This setting is case sensitive and should be entered in the format ISIL:US-ABCD or ISIL:US-abcd depending on the specific casing with which your symbol has been formatted.

If you are experiencing configuration issues with this setting, please try removing the “ISIL:” prefix from the value entered.

SearchingMonitorQueue

String

Awaiting Reshare Search

Defines the ILLiad status that the addon will monitor for requests that it should try to fulfill through ReShare.

NotFoundQueue

String

Awaiting Request Processing

This defines the ILLiad status that requests will be routed to when a requestable item is not found in ReShare or when multiple matches are returned from a title, author, or date search and a single selection cannot be made.

UnfilledQueue

String

Awaiting Unfilled Processing

This defines the ILLiad status that requests will be routed to when they are marked unfilled in ReShare.

RequestSentQueue

String

Request Sent

This defines the ILLiad status that requests will be routed to when they are successfully requested in ReShare.

ErrorQueue

String

ReShare Error Processing

This defines the ILLiad status that requests will be routed to when the addon encounters an error that cannot be automatically resolved.

SendIdleRequestsToErrorQueue

Boolean

True (checked)

If true, requests with a ReShare statecode of REQ_IDLE will be routed to the error queue with a message added in the notes.

PatronIDField

String

{TableField:User.Username}

The value to use to identify who the request is for. This field supports table tags and will use the ILLiad request's username by default.

PickupLocationLookupValue

String

{TableField:User.NVTGC}

The value to use to identify a pickup location value of the request. This field supports table tags and will use the NVTGC of the owner of the ILLiad request by default. This value can then be used to lookup the ReShare pickup location code from the PickupLocationLookupMapping setting.

PickupLocationLookupMapping

String

ILL=DEFAULT_CIRC_DESK

A comma-separated mapping that defines the ReShare pickup location or LMS location code to use for a given ILLiad PickupLocationLookupValue, determined from the prior setting. If this mapping does not contain a key for the provided lookup value, the lookup value will be used without modification.

Each mapping entered in this setting must follow the pattern of ILLiad Pickup Location=ReShare Pickup Location Slug

Example: ILL=DEFAULT_CIRC_DESK

This setting is case sensitive and each mapping must be entered exactly as formatted in ILLiad and ReShare respectively.

RequestPollingFrequency

String

10

Defines how frequently, in minutes, the addon will poll the ReShare service for status updates on submitted requests.

ReshareFilledStatuses

String

REQ_SHIPPED

A comma-separated list of the ReShare states that are considered to be filled.

ReshareUnfilledStatuses

String

REQ_END_OF_ROTA, REQ_UNABLE_TO_CONTACT_SUPPLIER

A comma-separated list of the ReShare states that are considered to be unfilled.

RequestPlaceholderID

String

ReShareIdPending

Placeholder value to use in the ILLNumber field on the ILLiad request for a new ReShare request for which an HRID is not yet available.

NoteAndLogPrefix

String

ReShare

Prefix used to identify log message and transaction notes made by the addon.

Please use unique values if running multiple versions of this addon configured with different settings.

For example, if you are a member of both PALCI and IPLC and have configured a separate copy of the addon for each consortium, “PALCI ReShare” can be used to identify the copy of the addon using PALCI settings and “IPLC ReShare” can be used for the copy of the addon using IPLC settings.

ReShare Configuration & Testing

Please contact your consortium for assistance configuring these settings.

Please contact your consortium for help acquiring the initial configurations and credentials listed below. If you have any questions concerning troubleshooting for installation, please contact Atlas Support (support@atlas-sys.com):

To obtain the values for ReshareAPIUsername and ReshareAPIPassword settings, you will have to first create a user in ReShare. The values for these settings will then be the username and password credentials for that user.

As of version 1.0.6, if the addon encounters an error it is unable to resolve, such as in the case that any of the settings above are configured incorrectly and API calls cannot be made, then requests will be routed to the queue defined in the ErrorQueue setting for manual processing by staff.

Note for members of multiple consortia

Users who are members of multiple consortia (for example, an institution that is part of both PALCI and IPLC) should configure multiple copies of the ReShare addon: one for each consortium. For example, members of both PALCI and IPLC should configure two copies of the addon: one with the addon settings above configured to search the PALCI index and one with the settings above configured to search the IPLC index. When using two versions of the addon simultaneously, please ensure that the NoteAndLogPrefix setting holds a unique value for each copy in order to differentiate the two addons for troubleshooting purposes.

The SearchingMonitorQueue addon setting that defines the ILLiad status that the addon will monitor for requests to send to ReShare must also contain different values for each copy of the addon. For example, for members of both PALCI and IPLC, the copy of the addon configured for PALCI can be configured to search an “Awaiting ReShare Search - PALCI” queue and the IPLC copy of the addon configured to search a separate “Awaiting ReShare Search - IPLC” queue.

Converting the Casing of ILLiad Values Sent to ReShare

As of version 1.0.6, the tag replacement feature used to pull a value from a specified ILLiad database field in the PatronIDField and PickupLocationLookupValue settings now supports additional options to convert the casing of that value to all uppercase or lowercase characters before sending it to ReShare. This is useful when the casing for the pickup location or username value in ILLiad is different from the casing of those values in ReShare.

Formatting

To convert an ILLiad value to uppercase or lowercase, a comma should be added after the names of the specified database table and field in the tag used by the setting and followed by:

Example

If a user's username in ILLiad is 'asmith', but their username used by the ReShare system is 'ASMITH', then the value of the PatronIDField setting should be set as follows to convert the lowercase value from ILLiad to the uppercase value in ReShare: 

{TableField:User.Username,UpperCase}

ILLiad Shared Server Sites - Additional Configuration

ILLiad shared server sites will need to upload and configure the addon settings separately for each individual NVTGC on the ILLiad server. The addon settings and credentials will be the same across each NVTGC with the following exceptions, which must be adjusted appropriately for each NVTGC:

Addon Workflow Chart

The chart below can be used as a reference to track the addon’s workflows for both Server Addon and DSP Addon configurations:

Locating the ILLiad Request Information on a ReShare Request

Once a request has been successfully created in ReShare from an ILLiad request, the ILLiad transaction number and other citation information will display on the ILLiad request.

ILLiad Transaction Number

The associated ILLiad transaction number will be imported into the Other identifiers field within the Request information section on the ReShare request and can be used to crosscheck the status of the request between the two systems, if necessary:

ILLiad Citation Data

As of v2.0.4, the following citation data will be imported from the ILLiad request and will appear in the Citation metadata section of the ReShare request:

The citation information displayed in the Citation metadata section is imported from the data stored in each field on the associated ILLiad request and does not reflect the ReShare item record citation data. At this time, ReShare has not yet developed functionality to display this information on this page. Please contact ReShare if you would like to see this functionality as a future enhancement.

Server Addon Information

note

As of v2.0.4, the ReShare Server Addon will log version number information for the addon each time the addon is initialized to process requests by the ILLiad System Manager.

As of v2.0.4, the ReShare Server Addon will log version number information for the addon each time the addon is initialized to process requests by the ILLiad System Manager.

Server Addon - Workflow

Once the addon settings listed above are configured, the ReShare addon will run as a Server Addon according to the following workflow:

Step One: Request Creation

The addon will work by monitoring the ILLiad status defined in the SearchingMonitorQueue setting:

When using this addon as a Server Addon, you can add the SearchingMonitorQueue (default: Awaiting Reshare Search) to the list of default queues for manual routing in the ILLiad Customization Manager’s CustomQueues table under System | Custom Queues. You may also consider configuring additional routing rules to automatically route requests into the SearchingMonitorQueue in a way that makes sense for your institution's local workflows.

Note: Custom queues (i.e., queues that are not present in ILLiad by default) do not need to be added to the CustomQueues table in order to be used in routing rules. Adding a custom queue to this table is only necessary if you need the option to manually route requests into that queue using the Route button in the ILLiad Client.

  1. When a request enters the SearchingMonitorQueue, the addon will first confirm that the request is within the addon's scope by checking the user's NVTGC and confirming it's under the addon's NVTGC setting.

  2. If within the appropriate scope and as of v2.0.4, the addon will determine if the request was sent from the ReShare Client Addon for fulfillment. If so, the addon will skip steps 3-4 and will create the ReShare request for the specific ReShare item record that was selected in the client addon interface.

  3. If the request was not sent from the ReShare Client Addon, the addon will then search the ReShare Index using bibliographic data on the request with the following precedence (see the Detailed Shared Index Search Queries section below to view the specific queries the addon will use to search the Shared Index):

    1. By OCLC number if the ILLiad request has a value in ESPNumber (note that this field is displayed by default as OCLC Number on the ILLiad request form).

    2. If no results are found or if the OCLC number is not present on the ILLiad request, then it will search by ISBN if the ILLiad request has a value in ISxN.

    3. If no results are found or if the ISBN is not present on the ILLiad request, then it will search by title, author, and date using the LoanTitle, LoanAuthor, and LoanDate fields on the ILLiad request.

  4. As of v1.0.7:

    1. If a single result is returned from any of the types of searches listed above, the addon will create a ReShare request for the item.

    2. If multiple results are returned after performing an OCLC number or ISBN search, the addon will select the result with the most circulating holdings and create the ReShare request for the item.

    3. If multiple results are returned from a title, author, or date search, or if no matching items are found after searching on all available parameters, the ReShare request will not be created.

      1. The ILLiad request will then be routed to the status in the NotFoundQueue setting for manual processing and the addon’s workflow will stop here.

      2. As of v1.0.9, a note will be added to the request stating “More than one result when searching for bib info. Please add a standard number to request for better results.”

  5. If the ReShare request is successfully created, the addon determines the patron identifier and pickup location used for the ReShare request using the PatronIDField, PickupLocationLookupValue, and PickupLocationLookupMapping settings.

    1. The ILLiad request is then routed to the status in the RequestSentQueue setting and the ILL Number field on the request will be updated with the tracking ID number for the request in the ReShare system.

    2. As of v1.0.9, if the pickup location cannot be found, a note will be added to the request stating “Missing pickup location. Cannot create ReShare request” and the request will be routed to the status in the ErrorQueue setting.

As of v2.0.6, a note containing detailed search results will be added to the ILLiad transaction for troubleshooting purposes when the addon queries the Shared Index for the requested item. This note will include the specific query type and query terms used to perform the search and the last five characters of each result's GUID. Results will be sorted in descending order by their loanable holdings count and records with no loanable holdings will be excluded from the list.

Detailed Shared Index Search Queries

The ILLiad ReShare addon will search the Shared Index (step 2 above) using the following queries for each type of search, where {Base URL} is the URL in the addon’s SharedIndexAPIUrl setting:

  • OCLC Number Search: {Base URL}/search?lookfor={ESPNumber}&type=oclc_num&field[]=id&field[]=title&field[]=lendingStatus&sort=relevance&page=1&prettyPrint=false

    • {ESPNumber} will be substituted with the OCLC Number value on the ILLiad request (if present)

  • ISxN Search: {Base URL}/search?lookfor={ISxN}&type=ISN&field[]=id&field[]=title&field[]=lendingStatus&sort=relevance&page=1&prettyPrint=false

    • {ISxN} will be substituted with the ISxN value on the ILLiad request (if present)

  • Title/Author/Date Search: {Base URL}/search?join=AND&lookfor0[]={LoanTitle}&type0[]=title&lookfor0[]={LoanAuthor}&type0[]=author&lookfor0[]={LoanDate}&type0[]=year&field[]=id&field[]=title&field[]=lendingStatus&sort=relevance&page=1&prettyPrint=false

    • {LoanTitle}, {LoanAuthor}, and {LoanDate} will be substituted with the LoanTitle, LoanAuthor, and LoanDate values on the ILLiad request (if present)

Step Two: Request Fulfillment

After creating the ReShare request for the ILLiad request, the addon will poll the ReShare service according to the frequency defined in the RequestPollingFrequency setting, in minutes, to check the current state of requests and will automatically update their corresponding ILLiad requests that are in the RequestSentQueue in the following manner:

  1. The addon will retrieve all ReShare requests in the states defined in the ReshareUnfilledStatuses setting and check each one to see if there is a corresponding ILLiad request with a matching ILL Number field.

    1. If a matching ILLiad request is found, the addon will route that request to the status in the UnfilledQueue setting.

  2. The addon will retrieve all ReShare requests in the states defined in the ReshareFilledStatuses setting and check each one to see if there is a corresponding ILLiad request with a matching ILL Number field.

    1. If a matching ILLiad request is found, the addon will route that request to Request Finished.

Note that the addon cannot poll ReShare faster than its System Manager interval, defined in the SystemManagerAddonInterval customization key.

Decision Support Pipeline Addon Information

Decision Support Pipeline - Additional Configuration

You can optionally also configure the addon as a Decision Support Pipeline Addon. The addon will still run as a normal Server Addon according to all of the steps listed above, but will also add additional DSP functionality to give you more flexibility and options for your workflows. To enable the additional DSP functionality for the addon follow these steps:

  1. Click on the ReShare addon within the Server Addons tab in the ILLiad Customization Manager.

  2. Click the Decision Support Pipeline tab located next to the Settings tab for the addon in the bottom half of the screen.

  3. Check Borrowing Loan under “Supported Pipelines.”

  4. Click on the DSP Business Rules tab at the top of the Customization Manager screen.

  5. Set up a business rule for the new ReShare addon according to your institution’s preferences.

Example business rule:

This business rule will send borrowing loan requests in the Borrowing Loan pipeline to the ReShare addon. If a match is found in the ReShare Index for the ILLiad request according to the criteria listed in the workflow section below, then a ReShare request will be automatically created for the ILLiad request.

Decision Support Pipeline - Workflow

Errors encountered by the ReShare addon during the DSP workflow will route requests to the Awaiting Pipeline Error Review queue instead of the status specified in the ErrorQueue setting.

Once configured, the addon will run according to the following workflow when a request enters stage 2 of the DSP Pipeline and the business rule for the addon is triggered:

Step One: Request Creation

Stage 2

  1. The addon looks at requests in the Awaiting Request Pipeline status and checks the ReShare Index to see if it can be found in the Shared Index using bibliographic data with the following precedence (see the Detailed Shared Index Search Queries section in the server addon workflow above to view the specific queries the addon will use to search the Shared Index):

    1. By OCLC number if the ILLiad request has a value in ESPNumber (note that this field is displayed by default as OCLC Number on the ILLiad request form).

    2. If no results are found or if the OCLC number is not present on the ILLiad request, then it will search by ISBN if the ILLiad request has a value in ISxN.

    3. If no results are found or if the ISBN is not present on the ILLiad request, then it will search by title, author, and date using the LoanTitle, LoanAuthor, and LoanDate fields on the ILLiad request.

  2. As of v1.0.7, the addon’s search of the Shared Index will either succeed or fail depending on the type of search performed and the results returned:

    1. The search will fail under these circumstances:

      1. If multiple results are returned from a title, author, or date search, or if no matching items are found after searching on all available parameters, the search will fail.

        1. The ILLiad request is then routed to Awaiting Pipeline Request Review for manual processing and the addon’s workflow will end here.

    2. The search will succeed under these circumstances:

      1. If a single result is returned from any type of search performed, the search will succeed.

      2. If multiple results are returned after performing an OCLC number or ISBN search, the addon will select the result with the most circulating holdings and the search will succeed.

  3. If the search is successful, ILLiad will then check the business rules and either automatically route the request to Awaiting Pipeline Sending and proceed to Stage 3 if the rule type is “Automatic,” or route the request to Awaiting Pipeline Request Review if the rule type is “Recommended.”

As of v2.0.6, a note containing detailed search results will be added to the ILLiad transaction for troubleshooting purposes when the addon queries the Shared Index for the requested item. This note will include the specific query type and query terms used to perform the search and the last five characters of each result's GUID. Results will be sorted in descending order by their loanable holdings count and records with no loanable holdings will be excluded from the list.

Stage 3

  1. The addon looks at requests in the Awaiting Pipeline Sending and submits a ReShare request for the ILLiad request, determining the patron identifier and pickup location used for the ReShare request using the PatronIDField, PickupLocationLookupValue, and PickupLocationLookupMapping settings.

  2. The ILLiad request is then routed to the status in the RequestSentQueue setting and the ILL Number field on the request will be updated with the tracking ID number for the request in the ReShare system.

  3. An entry for ReShare will also be added to the Fulfillment Data Table located in the Detail tab of the ILLiad request.

Step Two: Request Fulfillment

The fulfillment process for requests routed through the Decision Support Pipeline will proceed in the same manner as requests handled by the Server Addon, detailed above.