Configuration

The SelfIssue Configuration Editor provides a GUI editor for the contents of the config.xml file for the Self Issue Client. On running the editor it will automatically load the current config.xml values.

Menu options:

Reload – loads the values stored in the config.xml file (i.e. undoes any edits);
Save – saves any changes to the config.xml file;
Default – loads the default settings (stored in default.xml);
View XML – displays the XML file of the currently loaded values

UI – SelfIssue

Determines the main window settings used throughout the client application

  • RightIcon_Icon: Header right hand image file. Images should be stored in the res directory
  • LeftIcon_Icon: Header left hand image file. Images should be stored in the res directory
  • TitleText_Text: Main title text
  • TitleText_Font: Main title text font
  • TitleText_Size: Main title text size
  • LibraryText_Text: Subtitle text
  • LibraryText_Font: Subtitle text font
  • LibraryText_Size: Subtitle text size

UI – Palette

Configures the colours used by the application

  • OuterBorderColour: Colour of window outer border
  • InnerBorderColour: Colour of window inner border
  • TitleBackgroundColour: Background colour of title area
  • BackgroundColour: Background colour of main window
  • TitleTextColour: Colour of title at top of window
  • DefaultTextColour: Default colour for text
  • WarningTextColour: Colour used in messages when indicated by <em>
  • VersionTextColour: Colour for version text at bottom of window
  • ButtonTextColour: Colour of text in buttons
  • ButtonBackgroundColour: Colour of buttons

UI – PatronPanel

Patron panel settings

  • PatronSalutation_Text: Initial greeting to patron
  • CardIcon_Icon: Main picture (typically an example reader card). Images should be stored in the res directory
  • PatronFieldLabel_Text: Label for patron barcode edit box
  • PatronFieldLabel_ToolTipText: Tooltip for patron barcode edit box label
  • PatronField_DefaultText: Default text in patron barcode edit box (normally blank)
  • PatronField_ToolTipText: Tool tip for patron barcode edit box
  • PatronPasswordPrompt: Text if patron asked for password
  • PatronPanelNextButton_Text: Next button text
  • PatronPanelNextButton_ToolTipText: Next button tool tip text
  • PatronPanelResetButton_Text: Reset button text
  • PatronPanelResetButton_ToolTipText: Reset button tool tip text

UI – CheckOutPanel

Checkout Panel Settings

  • BooksIcon_Icon: Main image. Images should be stored in the res directory
  • PatronText_DefaultText: Default greeting to patrong
  • PatronText_ToolTipText: Tooltip text on patron information
  • StatusText_DefaultText: Default status text
  • StatusText_ToolTipText: Tooltip text for status information
  • BookFieldLabel_Text: Label for book barcode edit box
  • BookFieldLabel_ToolTipText: Tooltip for book barcode edit box label
  • BookField_DefaultText: Default text for book barcode edit box (normally blank)
  • BookField_ToolTipText: Tool tip for book barcode edit box
  • CheckoutButton_Text: Checkout button text
  • CheckoutButton_ToolTipText: Checkout button tool tip
  • BookPanelNextButton_Text: Finish button text
  • BookPanelNextButton_ToolTipText: Finish button tooltip
  • BookPanelCheckinButton_Text: Start checkin button text
  • BookPanelCheckinButton_ToolTipText: Start checkin button tooltip

UI – CheckInPanel

Checkin Panel Settings

  • BooksIcon_Icon: Main image. Images should be stored in the res directory
  • PatronText_DefaultText: Default greeting to patrong
  • PatronText_ToolTipText: Tooltip text on patron information
  • StatusText_DefaultText: Default status text
  • StatusText_ToolTipText: Tooltip text for status information
  • BookFieldLabel_Text: Label for book barcode edit box
  • BookFieldLabel_ToolTipText: Tooltip for book barcode edit box label
  • BookField_DefaultText: Default text for book barcode edit box (normally blank)
  • BookField_ToolTipText: Tool tip for book barcode edit box
  • CheckinButton_Text: Checkin button text
  • CheckinButton_ToolTipText: Checkin button tool tip
  • BookPanelNextButton_Text: Finish button text
  • BookPanelNextButton_ToolTipText: Finish button tooltip
  • BookPanelCheckoutButton_Text: Start checkout button text
  • BookPanelCheckoutButton_ToolTipText: Start checkout button tooltip

UI – Messages

Allows configuration of the various messages displayed by the application. {0}, {1} etc. will be replaced by message specific strings. Some of the messages support limited html formatting using: <strong> for bold text; <em> to display in the warning colour defined in the colour palette

  • GreetPatronCheckout: {0} = patron name or barcode
  • GreetPatronCheckin: {0} = patron name or barcode
  • CheckingPatronMessage: {0} = item barcode
  • InvalidPatronBarcode: {0} = patron barcode
  • PatronRetry: No substitutes
  • PatronNetworkError: {0} = patron barcode
  • InvalidPatronError: {0} = patron barcode
  • BlockedPatronError: {0} = message from server
  • UnexpectedPatronError: No substitutes
  • CheckoutPendingMessage: {0} = item barcode
  • InvalidItemBarcode: No substitutes
  • CheckoutRetry: No substitutes
  • CheckOutSuccess: {0} = item title or barcode
  • DueDateMessage: {0} = date due
  • NoDueDateMessage: No substitutes
  • CheckoutNetworkError: {0} = item name or barcode
  • CheckoutFailedError: {0} = item name or barcode
  • UnexpectedCheckoutError: {0} = item name or barcode
  • UnlockFailedError: {0} = item name or barcode
  • UnlockFailedCheckInFailedError: {0} = item name or barcode
  • CheckInSuccess: {0} = item name or barcode; {1] = message from server
  • CheckinNetworkError: {0} = item name or barcode
  • CheckinFailedError: {0} = item name or barcode; {1] = message from server
  • UnexpectedCheckinError: {0} = item name or barcode
  • LockFailedError: {0} = item name or barcode
  • CheckinPendingMessage: {0} = item barcode

UI – Audio

Audio feedback for messages. Remove the entries for silent operation. Audio files should be stored in the res directory

  • ValidPatron: Audio cue on valid patron
  • CheckoutSuccess: Audio cue on check out
  • CheckinSuccess: Audio cue on check out
  • PatronRetry: Audio cue on re enter patron id
  • CheckoutRetry: Audio cue on re enter last book
  • CheckinRetry: Audio cue on re enter last book
  • InvalidPatronBarcode: Audio cue on invalid patron barcode
  • PatronNetworkError: Audio cue on network error checking patron
  • InvalidPatronError: Audio cue on invalid patron
  • BlockedPatronError: Audio cue on patron account blocked
  • UnexpectedPatronError: Audio cue on unknown error checking patron id
  • InvalidItemBarcode: Audio cue on invalid item barcode
  • CheckoutNetworkError: Audio cue on network error on check out
  • CheckoutFailedError: Audio cue on checkout failed
  • UnexpectedCheckoutError: Audio cue on unknown error during checkout
  • UnlockFailedError: Audio cue on unlock security on item failed
  • UnlockFailedCheckinFailedError: Audio cue on item unlocked but check out could not be undone
  • CheckinNetworkError: Audio cue on network error on check in
  • CheckinFailedError: Audio cue on checkin failed
  • UnexpectedCheckinError: Audio cue on unknown error during checkin
  • LockFailedError: Audio cue on lock security on item failed
  • LockFailedCheckoutFailedError: Audio cue on item locked but check in could not be undone

UI – Validation

Pattern matching check on entered barcodes – remove for no validation

  • PatronBarcodeMask: The default setting of (2\d{6})|([1-9a-zA-Z][\w,. -]+ will accept a barcode consisting of seven digits beginning with the digit 2; or a name (alphabetical input including space)
  • ItemBarcodeMask: The default value of [P|T|R]\d{6}|3\d{8}|([1-9a-zA-Z][\w,. -]+) will accept a 9 digit barcode beginning with 3; a 7 digit barcode beginning with P, T or R; or an alphanumeric titles

UI – Control

Determines miscellaneous behaviour.

  • ResetTimeout: Idle time in seconds before the software resets to the patron screen
  • StripPatronChecksumDigit: Remove final digit from patron barcodes
  • StripItemChecksumDigit: Remove final digit from item barcodes
  • PersistentQueueImplementation: Implementation of persistent queue for spoolers. Default is com.gaborcselle.persistent.PersistentQueue. com.ceridwen.util.collections.PersistentQueue is deprecated but available for backwards compatibility for Self Issue 2.61 or earlier. Note: the spooled object store is not compatible between these implementations. You will need to use a different spool path, or delete the existing spools if you change the implementation.

UI – WatchDog

The SelfIssue client has a Watch dog thread which periodically checks the health of the client.

  • Timer: How often to check health (seconds)
  • CriticalSectionThreshold: Number of consecutive health checks in critical section (e.g. communication with 3M server still active) to cause fatal error log
  • MinimumMemory: Minimum working memory before causing fatal error log
  • ShowOutOfOrderScreenOnWatchDogProblem: Show Out Of Order screen if memory low or too long in critical section
  • ShowOutOfOrderScreenOnUnhandledException: Show Out Of Order screen if unhandled exception happens

Systems – SIP

This contains the connection details for the 3M SIP server. Currently supports 3M SIP2 over Telnet or Socket

  • Host: IP address of 3M SIP server
  • Port: IP Port of 3M SIP Server (typically 23 for telnet)
  • TelnetUsername: For telnet, telnet username
  • TelnetPassword: For telnet, telnet password
  • LoggedOnText: For telnet, text string to look for to determine succesful login
  • LoginUserId: If required, 3M SIP2 Username to be set on via 3M SIP2 logon message
  • LoginPassword: If required, 3M SIP2 password to be set on via 3M SIP2 logon message
  • LocationCode: If required a location code to be sent via 3M SIP2 login message
  • UIDAlgorithm: If required the UIDAlgorithm used by the 3M SIP2 server for the 3M SIP2 Login message
  • PWDAlgorithm: If required, the 3M SIP2 Algorithm used by the 3M Server for the 3M SIP2 Login message
  • ConnectionTimeout: Time (seconds) to wait during initial connection
  • IdleTimeout: Time (seconds) to wait when awaiting response to a transaction
  • RetryAttempts: Number of reconnection attempts if initial connection fails
  • RetryWait: Time (ms) to wait between connection retries
  • AddSequenceAndChecksum: Add sequence and checksum to requests – may be required by some 3M SIP2 servers
  • StrictChecksumChecking: If true reject responses from 3M SIP2 server if the checksum is not valid
  • StrictSequenceChecking: If true reject responses from 3M SIP2 server if the sequence check digit is not valid
  • InstitutionId: If required, send an institutional id on 3M SIP2 messages to server
  • TerminalPassword: If required, send an termninal password on 3M SIP2 messages to server
  • SendEndPatronSession: (Optional – may depend on 3M SIP implementation). Send an 3M SIP2 End Patron Session on discconect from server
  • RequirePatronPassword: Optional, prompt user for password after entering barcode and before allowing book issue.
  • CharsetEncoding: Character set encoding
  • FieldOrdering: Ordering of SIP2 fields in message
  • mode: Communication mode: Socket or Telnet

Systems – PatronIDReaderDevice

This allows optional support for local security tagging and gates. The included class works with JavaCard RFID devices.

  • SmartCardReader: Device name as defined in JavaSmart card API
  • class: Implementation class (currently JavaSmartCard or null device)

Systems – ItemIDReaderDevice

This allows optional support for local security tagging and gates. The included class works with JavaCard RFID devices.

  • SmartCardReader: Device name as defined in JavaSmart card API
  • class: Implementation class (currently JavaSmartCard or null device)

Systems – ItemSecurityDevice

This allows optional support for local security tagging and gates.

  • Retries: Number of retries if initial attempt to desensitize device fails
  • Timeout: Time (ms) to wait for security device
  • class: Implementation class

Systems – Printer

This allows optional receipt printing

  • PrintReceipt: If true print receipt to default printer

Systems – Loggers

The loggers will log activity of the client via e-mail, syslog or a simple REST API. Typically these are used to alert staff when a manual intervention is required (for example a book checked out whilst offline cannot be automatically checked out by the 3M server). However, they can be used to log every activity of the client. Multiple loggers (for different purposes) can be defined.

  • CheckoutSuccess: E-Mail with subject “Self Issue Checkout Report: Checkout Success Notification (no action required)” will be sent whenever a checkout is successfully performed on the 3M server (and reported to the user). It is anticipated that this would normally be suppressed unless a full record of activity is needed.
  • CheckoutFailure: E-Mail with subject “Self Issue Checkout Report: Checkout Failure Notification (no action required)” whenever a checkout cannot be completed and the user is informed that the checkout has failed. This would normally be suppressed, but might be required to be recorded if there is a danger that the user would attempt to remove the item anyway.
  • CheckoutPending: E-Mail with subject “Self Issue Checkout Report: Checkout Pending Notification (no action required)”. An item has been issued to an user when the 3M system was unavailable, and the checkout request has been spooled for an abnormally long amount of time. This is a warning message that there may be a problem with the Self Issue client’s communication with the 3M server, the 3M server has been unavailable for an abnormal amount of time, or there is a network problem. No action is required as the client will continue to attempt to commit the checkout, but these warning should be kept in case of a synchronisation mismatch (e.g. if the patron returns the item before the checkout can be committed)
  • ManualCheckout: (ii) the item was spooled in Offline mode, but the 3M server has not been available for the designated maximum life an item can be kept in the spooler
  • Notification: It is anticipated that this would normally be suppressed unless a full record of activity is needed.
  • UnlockFailure: Applicable for security system support – sends a message if security device on item could not be unlocked successfully. Action may be required, but the user would be prompted to retry. An attempt is made to cancel the checkout.
  • CancelCheckoutFailure: Applicable for security system support – sends a message if a cancel checkout could not be performed after an unlock failure. Action may be required – the user is warned that the book is checked out but still alarmed and advised to consult a member of staff
  • UnlockSuccess: Applicable for security system support – sends a message if security device on item was unlocked successfully. It is anticipated that this would normally be suppressed unless a full record of activity is needed
  • CheckinSuccess: E-Mail with subject “Self Issue Checkin Report: Checkin Success Notification (no action required)” will be sent whenever a checkin is successfully performed on the 3M server (and reported to the user). It is anticipated that this would normally be suppressed unless a full record of activity is needed.
  • CheckinFailure: E-Mail with subject “Self Issue Checkin Report: Checkin Failure Notification (no action required)” whenever a checkin cannot be completed and the user is informed that the checkin has failed. This would normally be suppressed, but might be required to be recorded if there is a danger that the user would attempt to remove the item anyway.
  • CheckinPending: E-Mail with subject “Self Issue Checkin Report: Checkin Pending Notification (no action required)” An item has been issued to an user when the 3M system was unavailable, and the checkout request has been spooled for an abnormally long amount of time. This is a warning message that there may be a problem with the Self Issue client’s communication with the 3M server, the 3M server has been unavailable for an abnormal amount of time, or there is a network problem. No action is required as the client will continue to attempt to commit the checkin, but these warning should be kept in case of a synchronisation mismatch (e.g. if the patron returns the item before the checkin can be committed)
  • LockFailure: Applicable for security system support – sends a message if security device on item could not be locked successfully. Action may be required, but the user would be prompted to retry. An attempt is made to cancel the checkin.
  • LockSuccess: Applicable for security system support – sends a message if security device on item was locked successfully. It is anticipated that this would normally be suppressed unless a full record of activity is needed
  • ReplayPeriod: Messages may be spooled if the server to receive them is not available. This indicates how often the spool is checked for stored messages (minutes)
  • OverdueAgeOutOfOrder: If age (hours) of message in queue exceeds this, force Out Of Order (0 to disable) on the basis there is a severe network problem
  • Host: Server to send messages to (not used for SMTP logger)
  • Port: Port to send messages to (not used for SMTP logger)
  • To: SMTP logger – e-mail address to send reports to
  • From: SMTP Logger: E-mail address from which reports originate (and to which bounce messages will be sent)
  • Relay: SMTP Relay address
  • ConnectionTimeout: Time (seconds) to wait during initial connection
  • IdleTimeout: Time (seconds) to wait for responses
  • Spool: File to spool messages waiting to be sent to
  • class: Type of logger (SMTP, Syslog, REST, Console, or null device)

Systems – Spooler

Local spool for offline stored requests

  • ReplayPeriod: Time (minutes) to replay spooler
  • OverdueAgeWarn: Time (hours) item can remain in spooler before generating warning message
  • OverdueAgeExpire: Time (hours) item can remain in spooler before generating manual intervention message
  • Spool: File to store spooled request

Modes

This section configures the behaviour of the Self Issue client software

  • TrustMode: When false, an item will only be reported issued if the 3M server allows the item to be issued; if the 3M server fails the issue the reason will be reported to the end user. When true, an item will always be reported issued. If the issue cannot be committed by the client to the 3M server (e.g. if the borrower has too many items out), a message is sent to the librarian (using the method specified in the Systems/Loggers section) requesting manual intervention.
  • AllowOffline: When AllowOffline is true, any attempt to issue an item when the 3M server is unavailable will result in the item being reported issued to the user. These transactions are spooled on the client and then played back to the 3M server when it is available again (any items which cannot be committed automatically will generate a message to the librarian using the method specified in Systems/Loggers for manual intervention).
  • UseNoBlock: Can be set to true if the 3M server supports NoBlock when running in Trust or Offline modes – in this case the 3M server is responsible for reporting cases where manual intervention is required rather than the self issue client.
  • RetryPatronWhenError: If running in Trust Mode or Offline Mode the Self Issue client may not be able to confirm that the patron id is valid. If RetryPatronWhenError is false, the Self Issue client will assume that the entered patron id is always valid; if true the Self Issue client will request the patron id to be re-entered if it cannot confirm validity and only continue if the patron id is entered identically twice.
  • RetryItemWhenError: If running in Trust Mode or Offline Mode the Self Issue client may not be able to confirm that the item id is valid. If RetryItemWhenError is false, the Self Issue client will assume that the entered item id is always valid; if true the Self Issue client will request the item id to be re-entered if it cannot confirm validity and only continue if the item id is entered identically twice.
  • AllowRenews: If false the 3M server will return an error if an attempt is made to issue an item already checked out to that patron; if true the 3M server will be told to interpret the check-out as a renewal request.
  • SuppressSecurityFailureMessages: Suppress errors from the Security device
  • SendShutdownStatus: If true will send a status update to the 3M server when client shuts down
  • EnableBarcodeAlii: If true allows alii for command interfaces of the form $Command% (e.g. $Shutdown System% for *Shutdown System¦) This allows commands to be encoded as barcodes e.g. can be entered from a command barcode sheet ($ and % are available in most barcode encoding schemes).
  • EnableCheckIn: Enables Check In screen as well as check out screen

CommandInterface

Enable various debugging/testing features. The client supports various commands of the form *command| whilst at the patron screen. This can be disabled as required. (commands can also be entered as $command% if EnableBarcodeAlii is enabled under Modes)

  • AllowConnectionTest: Allows *Test Connection¦ command in the patron panel (tests SIP connectivity)
  • AllowSystemsCheck: Allow *Check Systems¦ command in the patron panel (indicates current modes, memory and spool use)
  • AllowLogTest: Allow *Test Crash¦ command in the patron panel (tests unexpected error handling)
  • AllowSystemShutdown: Allow *Shutdown System¦ command in the patron panel (closes Self Issue client after password check)
  • AllowOutOfOrder: Allow *Out Of Order¦ command to switch to Out of Order screen (after password confirmation)
  • AllowResetOutOfOrder: Allow *Reset Out Of Order¦ typed on Out of Order screen to reset to normal use (after password confirmation)
  • AllowCheckIn: Allow *Check In¦ to switch to check in screen from patron screen (after password).This allows public check out only station to also be a staff only check in station
  • SystemPassword: System password required to confirm staff actions such as shutdown and reset out of order (encrypted). Default password is password.

Logging

Allows logging reporting of unexpected errors

  • level: Level of debug event to log (SEVERE, WARNING, INFO, CONFIG, FINE, FINER,FINEST, ALL)
  • smtpServer: SMTP server (for SMTP logging)
  • sender: SMTP sender (for SMTP logging)
  • recipients: SMTP recipients (for SMTP logging)
  • syslogHost: syslog host (for syslog logging)
  • syslogPort: syslog port (for syslog logging)
  • URL: URL (for REST logging)
  • class: Type of logger: SMTP, Syslog, REST, Console