1 of 141

Things I wish I’d known

About Polaris 8 years ago

Presented by: Wes Osborn

Central Library Consortium

2 of 141

Overview

Background

Configuration

Regular Tasks

Troubleshooting

Rants

3 of 141

Background

4 of 141

Background

14 Member Consortium

Public Libraries

Formerly Dynix/Horizon

26 million annual circulation

5 of 141

Configuration

6 of 141

Configuration

Shelf locations vs Collection Codes

3M SIP Setup

Email Accounts

Remote PAC Profile

Acquisitions item creation (970)

PAC e-sources

7 of 141

Shelf locations versus

Collection Codes

8 of 141

Shelf locations

Are a pseudo shared table

Duplicate numeric IDs are allowed (between branches)

No way to “sync” up numbers across branches

Are difficult to use in reporting

Do show nicely in the PAC

Might work if you are a single library branch

9 of 141

Shelf location - Oddities

Same “number” - Different code

Same “code” - Different number

10 of 141

Shelf location - Item Record Confusion

11 of 141

Collection Codes

Use a “real” database table format

The ID is unique within the table

Are a shared code

Can still be turned on/off individually

Unique abbreviation in addition to the unique ID

12 of 141

Collection Codes - Sys Admin View

13 of 141

Collection Codes - SQL View

14 of 141

CLC’s Rule(s) of thumb(s)

Sign at the library = Collection Code

Permanent home = Collection Code

Vacation home (display, quick picks, etc.) = Shelf location

15 of 141

Collection Codes + A few Shelf Locations = Magic

  1. New Title is added to the system
    1. Collection Code = Non-Fiction
    2. Shelf Location = New Display
  2. 6 months passes, title is no longer “new”
    • Find Tool Search for Non-Fiction + New Display
    • Bulk Change - Remove only the Shelf location
    • Next time the item is checked in, it goes to its “permanent” home

16 of 141

3M SIP Setup

17 of 141

Default Staff Member and Workstation make troubleshooting difficult

18 of 141

Did this come from the PAC or a 3M SIP client?

19 of 141

This action clearly happened via a 3M SIP Client

20 of 141

3M SIP Assigned Staff + Workstation Guidelines

  • Minimum: Change them at the library level for each location
  • Optional: If using different branches for different 3M SIP applications, name them uniquely
    • For example: Boopsie Branch
      1. Staff = boopsie_3msip
      2. Workstation = boopsie_3msip

21 of 141

Bonus 3M SIP Tip on log filtering

When attempting to troubleshoot using Polaris SIP Server logs, use OpenRefine and apply this custom filter:

http://go.clcohio.org/�openrefine3msip

22 of 141

Email Accounts

23 of 141

Any email address in Polaris should be “generic”

You will forget to change the address when a staff member leaves

It will take you several attempts to even remember where the email address setting is located

Make this the email admins “problem”

24 of 141

Two types of email addresses in Polaris

Email address is “extracted” from the associated staff account

Email address is input into the SA field/setting

25 of 141

Extracted: Profile -> PAC -> Patron Access Options

26 of 141

Extracted: Email - Account

27 of 141

Email Address used as input

Organization email address & Error Reporting address

Notification email address (sender/reply to/report)

Collection Agency To/From Address

PAC Profile Email of Sender

From address for title list emails. Also used for online payment receipts, telephony service error and warning messages, and the EDI e-mail log.

28 of 141

Email Address used as input

Saved Search From Address

ACQ Claims Email Address

ACQ EDI Invoice Default Email Address

Credit card reporting email (staff/ExpressCheck/PAC/MobilePAC)

29 of 141

Organization and Org Error reporting email

30 of 141

Tips for good generic email addresses

Don’t combine

Use a different email address for each setting

Email admin can “combine” on the server

Be descriptive

credit-receipt-mobilepac@librarydomain.org

31 of 141

Finding SA email settings on your own

select * from Polaris.polaris.AdminAttributes where AttrID in

(select AttrID from polaris.polaris.Organizationspppp where Value like '%@%' or Mnemonic like '%email%' or Mnemonic like '%addr%')

32 of 141

Remote PAC Profile

33 of 141

What is the PAC for?

Inside the library

Locating material on the shelf

Placing holds

Outside the library (home)

Placing holds (primarily)

Locating material on the shelf (occasionally)

34 of 141

New exposure in 5.2 PowerPAC

35 of 141

But what if you want your branches altogether?

36 of 141

But making all branches local also impacts title bolding and Local Availability counts

37 of 141

Create a remote PAC profile

Use this profile on the library website

Remote profile would mark all library system branches as local so they would be available at the top

The title bolding could be disabled

The local availability item count could be disabled on the results page

Instead use the new Availability dashboard filter

38 of 141

Acquisitions Item Record Creation

39 of 141

Creating item records from EDI bibs/orders w/970

Method 1

Use $c (collection code), $m (material type) and try to find a matching on-order item template. If there is more than one just grab the first one.

Method 2

Use the $h (item template name) and match on the first 10 characters of the template name

40 of 141

Advantages of Method 1 - $c + $m

You enjoy uncertainty

If you have more than one possible match, you’ll have to go through all the templates to find it

You like extra work

Such as talking with vendors when you change collection or material type codes

You have more than 36^10 unique on-order templates

41 of 141

Advantages of Method 2 - $h

Easy to spot duplicates

Just sort item templates by name

Easy to make changes

Change the codes being used within the template

Recommendation

Don’t tie $h names too closely to underlying collection code or material type codes

42 of 141

PAC e-sources

43 of 141

44 of 141

Sys Admin Tasks

45 of 141

Regular Sys Admin Tasks

SQL Safety

Permissions

Settings inheritance

Dangers of deleting

Monitoring your environment

46 of 141

SQL Safety

47 of 141

SQL Safety - Use transactions

SQL Transactions are the closest thing you have to an undo

Beware they can lock the table until committed or rolled back

Always best to double commit/rollback

48 of 141

Using SQL Transactions

Begin tran = Starts the transaction process�Rollback = Undoes the work within transaction�Commit = “Saves” the work within the transaction

49 of 141

SQL Transactions - The double commit/rollback

50 of 141

SQL Transactions - Open Transactions

51 of 141

SQL Transactions - Rollbacks

52 of 141

SQL Safety - Use indexed columns

Some date columns in the PolarisTransactions database are NOT indexed

This means VERY long wait times when using the columns in WHERE transactions

Example: TranClientDate (indexed) in TransactionHeaders TransactionDate (NOT indexed)

Occasionally built-in reports use the “wrong” one

53 of 141

Permissions

54 of 141

Permissions

Finding who has what permissions

The importance of groups

Finding multiple staff members using power search

55 of 141

Permission Groups make life easier

Means Acquire Permission Groups will actually work

Makes Viewing Permission Assignments in SA tolerable

56 of 141

Even for one permission; make a group

57 of 141

Finding who can do what - The hard way

58 of 141

Finding who can do what - The easy way

Admin Explorer -> Security Section

59 of 141

Admin Explorer -> Security

Review under System / Library / Branch

Each section will only show relevant permissions

Ex: Patron Registration (Access) will only show at branch

Quickly Add/Remove Groups to a particular permission

Recommend Limiting:

Deny Hold and Modify Postal Codes table

Make sure only groups are listed for permissions

60 of 141

Adding multiple staff members at once

61 of 141

Power Search ~ STMN={user1,user2,user3}

62 of 141

SA Settings Inheritance

63 of 141

The Glory Days of Polaris SA settings

64 of 141

Bask in the richness

65 of 141

New Complexities

66 of 141

But inheritance still happens…

67 of 141

But inheritance still happens…

68 of 141

Until it doesn’t (make a change at BRANCH level)

69 of 141

Until it doesn’t (make a change at LIBRARY level)

70 of 141

Branch remains unchanged - Inheritance is broken

71 of 141

Golden Rule: Always make change at library level, but check branch level too.

72 of 141

What happened?

Changing the setting at the branch level, added an entry into the Organization's Parameters, Profiles, Permissions, and Preferences table. Polaris starts by looking for matching branch entries and then works its way “up the chain”, stopping as soon as it finds a match..

73 of 141

“Reset” Inheritance by removing branch entry

Carefully target the OrganizationsPPPP change by indicating the organizationid, attrid and the value columns.

74 of 141

75 of 141

Hooray! Inheritance has returned!

76 of 141

Dangers of deleting

77 of 141

CKO transaction - SubType 61 = Collection Code

78 of 141

Collection Code #7 = Juvenile Fiction

79 of 141

Then all you have is a number - no description

80 of 141

If description won’t be preserved, then archive

81 of 141

Monitoring your Polaris Environment

82 of 141

Monitoring

Do you know when you server is about to run out of disk space?

If a SQL job didn’t run properly?

If your SIP server isn’t responding properly on port 5001?

If you PAC isn’t returning responses to keyword searches?

If you have something with a circ status of out, but it isn’t actually checked out to a patron?

83 of 141

PRTG Can monitor all these things for you

Not the only solution, but free for 100 sensors

Enough to monitor your DB server

See my 2016 IUG presentation for more details

http://go.clcohio.org/iugprtg

84 of 141

Staff Tasks

85 of 141

Regular Staff Tasks

Using SSRS WebUI

Finding things via the control number

Hiding “bad” things (lost and can’t be reordered)

86 of 141

Using SSRS WebUI

87 of 141

SQL Server Reporting Services (SSRS)

The engine behind Utilities -> Reports & Notices

The WebUI is easy and simply to use (even for staff!)

Search for Reports

Download in multiple formats - without rerunning!

Subscribe to Reports

Alternative to Utilities -> Reports & Notices for Leap users

88 of 141

SSRS Staff Instructions

89 of 141

Additional SSRS Information

Handout for staff

http://go.clcohio.org/ssrsforstaff

CLC Report Definitions

https://reportdefs.clcohio.org

More information on SSRS for admins

http://go.clcohio.org/ssrsforadmins

90 of 141

Finding things via the Control Number

91 of 141

So you or someone in your org does a lot of SQL

92 of 141

But some things are easier to troubleshoot in the client

93 of 141

So you copy your GroupID from the results and then...

94 of 141

No place to put the ID

95 of 141

And the names aren’t always the same

96 of 141

Use the SQL Search - Select IDNumber - Method

97 of 141

Hiding “bad” things

98 of 141

What needs hiding (in the PAC)?

Long overdue but not lost

Due to notification settings

High number holds but unpurchasable

99 of 141

Why doesn’t it age to lost?

100 of 141

Use this SQL Query in Find Tool, then uncheck the Display in PAC via bulk change

select ic.ItemRecordID

from Polaris.Polaris.ItemCheckouts (nolock) ic

join Polaris.Polaris.CircItemRecords (nolock) cir on

cir.ItemRecordID = ic.ItemRecordID

where ic.DueDate < DATEADD(year, -1, GETDATE()) and cir.ItemStatusID = 2

101 of 141

Unpurchasable bibs/titles

102 of 141

Popularity ranking - A vicious cycle

Popular = Number of hold requests, num CKOs, lifetime circ

103 of 141

Find and make not displayable in PAC

Use this Bib Find Tool SQL

http://go.clcohio.org/unbuyablebibs

Adjust number of holds based on local volume

CLC is set at 50

104 of 141

Now others can rise to the top (58 copies available!)

105 of 141

Troubleshooting�IT Edition

106 of 141

Troubleshooting - IT Edition

Are you using Kerberos?

Are you having system slowdowns?

107 of 141

Checking Kerberos Configuration

108 of 141

Kerberos vs NTLM

Kerberos = Newer (since Windows 2000)

Kerberos = Faster logins - the use of tickets means re-authentications can happen as along at the ticket is valid

NTLM = Supports pre-Windows 2000 systems

Despite the fact the Kerberos is a faster, safer and more mature platform, it is often still not being used in many Polaris environments.

109 of 141

How to check authentication method

Log into a Polaris application server and check the Security Event Log.

Under authentication information, check the Logon Process. Kerberos = Good; NTLM = bad

110 of 141

Setting up Kerberos

Make sure DNS is working and healthy

Configure Service Principal Names (SPNs)

http://go.clcohio.org/msspn

SPNs need updated during each upgrade

If you’re in a multi-domain environment, setup Kerberos Forest Search Order

http://go.clcohio.org/kfso

111 of 141

What to do about system slowdowns

112 of 141

Use a systematic approach

113 of 141

Don’t start at top, may not be ID 10 T problem

114 of 141

Example - The “weekend” problem

Slowdowns every weekend for two months

Monitoring service wasn’t showing any errors

Transactions were low on the weekend

Less people were using the system

WHY is it slower!

115 of 141

A hardware issue!

116 of 141

Use our troubleshooting guide

http://go.clcohio.org/polarisperformance

Eight major troubleshooting areas

From network performance to SQL Resource Waits

Feel free to add comments to make the resource even better

117 of 141

Rants

118 of 141

Rants

Bookmobile stats

Authority Control

Bib Merging

Collection Code Groups

Bulk Change Tool (consortium)

119 of 141

Bookmobile Stats

120 of 141

There is no reasonable way to do per stop stats

Enhancement:

160930791731443

121 of 141

Authority Control

122 of 141

Polaris is built to work withOUT Authority Control

Authorities end up being a 2nd class citizen

Over 70 authority related enhancement requests

“Is there a setting that could/would include the content of see and see also references in keyword and exact searching in both the pac and the staff client?”

“Polaris does not take free floating subdivisions into account when reporting blind references.”

123 of 141

Bib Merging

124 of 141

Need to clean up some bibs using MarcEdit

  1. Export them
    1. Takes a long time because the have to be “reassembled” as MARC files
  2. Clean them up using MARCEdit
    • Isn’t MARCEdit the coolest!
  3. Let’s import them back into the system to merge them
    • No problem, the bib control # was exported in 001 so we’ll just use that as the match point

125 of 141

Wait… what!

There is no 001 = 001 duplication detection rule!

Enhancement #161229257028476

126 of 141

Collection Code Groups

127 of 141

We love our 577 Collection Codes, but….

128 of 141

Collection code groups/hierarchy

Like grouping of material types

Allow grouping of collection codes

For reporting AND searching/filtering

Enhancement #160930830658537

129 of 141

Thanks!

Wes Osborn (wosborn@clcohio.org)

130 of 141

Troubleshooting - Holds Edition

131 of 141

Troubleshooting - Holds Edition

Hold status vs Item circ. status

Earmarked Items

RTF cycle length bug

132 of 141

Hold status versus

Item Circ Status

133 of 141

Item Records Have Status but So Do Hold Records

Items:

In

Out

Held

Lost/Withdrawn/Missing

Holds:

Active

Pending

Held

Unclaimed

134 of 141

Unclaimed but still Held - Confusing but true

135 of 141

Earmarked items

136 of 141

What is earmarking an item?

CLC term for any item that has been selected by RTF process to fill a hold (hold status = Pending)

You can tell an item has been earmarked by using the Links menu in the item record

If it has a Pending For option, then it has been earmarked

These no longer follow Queue Preference settings

Use “Fill Now” option to override

137 of 141

Finding an earmarked item record

138 of 141

RTF Cycle length not properly calculated

139 of 141

RTF Cycle Length Bug

Today the RTF process counts days when the hold is inactive against the total number of days it is allowed to be in the RTF cycle. This is a bug (#484892), no ETA on when it will be fixed.

Extend your RTF cycle length to 999 days as a workaround.

140 of 141

Bulk Change Tool

141 of 141

Can’t we have them all default to (None)

Even required fields should be deliberate choices

Enhancement #160930767240410