Evergreen ILS Website

IRC log for #evergreen, 2020-01-08

| Channels | #evergreen index | Today | | Search | Google Search | Plain-Text | summary | Join Webchat

All times shown according to the server's local time.

Time Nick Message
02:12 sandbergja joined #evergreen
06:00 pinesol News from qatests: Testing Success <http://testing.evergreen-ils.org/~live>
07:02 agoben joined #evergreen
07:10 rjackson_isl joined #evergreen
07:47 rfrasur joined #evergreen
08:40 mmorgan joined #evergreen
08:46 mantis1 joined #evergreen
08:53 mantis2 joined #evergreen
09:34 sandbergja joined #evergreen
09:43 jvwoolf joined #evergreen
09:46 jvwoolf joined #evergreen
10:44 csharp so... I had an adventure last night - upgraded PINES to PG 10 and when I re-enabled public access, I got a wall of log errors
10:45 csharp example: https://pastebin.com/Q0MYfHJz
10:45 csharp basically, PG 10 changes the way certain functions can return set values within other functions
10:46 csharp see the 5th bullet point here: https://www.postgresql.org/docs/10/release-10.html
10:46 csharp https://tapoueh.org/blog/2017/10/set-r​eturning-functions-and-postgresql-10/ helped too
10:46 csharp so... I spent an additional 3 hours re-upgrading to 9.6 and we're now live on that with no issues
10:47 csharp planning to gather details for a bug report ASAP, but no one should upgrade to PG 10 until there's a very close look at our SQL
10:49 berick csharp++ pines++ # trailblazing
10:51 csharp sooo glad I did the postgres upgrade outside of the EG upgrade window next weekend
10:51 csharp that would have been hell to untangle
10:56 csharp the most frustrating part of the ordeal is that we've been testing 3.4 on PG 10 for *months* and have not noticed the issue at all
10:57 csharp I didn't explicitly run PG unit tests, so possible it would have emerged there
10:57 dbs csharp++ # thank you for taking that bullet for the rest of us
10:58 * csharp tips his hat
11:10 sandbergja joined #evergreen
11:13 Bmagic csharp++
11:14 Bmagic csharp++ # twice because, dang
11:22 csharp thanks for the sympathy - I think we've all been there
11:23 csharp also, glad it was me finding it in the middle of the night instead of the next day with all the libraries rolling
11:23 Bmagic oh for sure!
11:23 Bmagic nice work
11:56 eby our 3.3.5 on pg10 seems to be ok so far similar to your 3.4 but i'm sure we have a simpler org/metabib use than pines. we don't expose the stock catalog
11:57 eby that said was popping in to see if checking out an item should be charging the set deposit amount even if deposit is set to no
11:58 Bmagic eby: it becomes a "rental fee" in that case
11:58 eby ah thanks. missed that. had a cataloger accidentally put the replacement price in the deposit on a bunch of things
11:58 eby bmagic++
11:59 jeff eby: yes, sorry, that was added for TADL way back when. we no longer do rentals. ;-)
11:59 jeff but yes, it's likely still poorly documented.
11:59 Bmagic I was about to link the doc
11:59 eby we also no longer do them
11:59 jeff if there is a deposit amount and no deposit required, then the amount is treated as a rental fee.
12:00 jeff there are possibly some permissions and there are settings for making profiles exempt, i think.
12:00 Bmagic I swear I've read the documentation on this somewhere
12:00 jeff oh, good that there's a doc. i think there was at least a bug calling out the lack of docs.
12:01 mmorgan eby: We encourage our libraries to hide the deposit amount field in the holdings editor to avoid putting the item price in that field by mistake.
12:01 eby jeff: related to your comments yesterday the upgrade does help with duplicate transits but we're still getting a bunch attempted which result in a sql duplicate error. Going to try to track down if similar to what you were seeing or if we had a questionable scanner, etc
12:03 jeff hrm. it looked like the bug comments claimed that the fix included code to prevent duplicate in-flight attempts to check in the same item from a single client. i didn't dig into the patch yet.
12:05 jeff thanks for the heads up.
12:06 eby my gut tells me ncip/melcat is involved
12:06 eby so i'll probably end up bothering you regardless
12:06 jeff ah.
12:06 jeff heh.
12:06 mmorgan We have not had issues with duplicate transits since moving to 3.2, BUT we did have issues when there was already a hanging transit from before the upgrade. We had to identify and cancel hanging transits but haven't had a problem since.
12:07 Christineb joined #evergreen
12:09 jihpringle joined #evergreen
12:11 eby Thanks mmorgan .
12:12 jeff mmorgan: have you noticed if the duplicate transits were paired, one hold transit and one non-hold transit?
12:14 mmorgan Hmm. It was a while ago, looking.
12:32 khuckins joined #evergreen
12:34 mmorgan jeff: I'm assuming I can tell if this is the case by looking at action.transit_copy.copy_status for same item, same-ish time? First would be 8, second would by 7?
12:36 Bmagic Is it possible for an index definition to treat two subfields as a single index? Like 810a+810t = one entry? Not sure what happens when either one is missing. Example: //marc:datafield[@tag='810​']/marc:subfield[@code='a' or @code='t']
12:36 Bmagic can "@code='a' or @code='t'" become "@code='a' AND @code='t'"
12:51 Dyrcona joined #evergreen
12:59 collum joined #evergreen
13:11 Dyrcona csharp: That Pg 10 thing is a known issue, and we have fixed all of the functions that have turned up in testing. Doesn't mean we haven't missed some. Fixes may also not have been backported.
13:19 Dyrcona Bmagic: Do you want only fields with both the subfield a and t to show up?
13:20 Bmagic Dyrcona: sure, and I could make an additional definition for just one of them (at another time)
13:20 * dbs was wondering if the PG10 thing was a difference between the experience of upgrading and a fresh install
13:21 Dyrcona Well, "or" gets fields with either or both.. "and" will only get records with both.
13:21 dbs kind of like how we had to manually recreate the three indexes that use UNACCENT (per the release notes)
13:21 Dyrcona dbs: It could be if you don't apply the upgrades.
13:21 Dyrcona AFAICT, a fresh install on Pg10 works, with concerto.
13:22 Dyrcona PG11 and PG12 also seem ok in my very limited tire kicking.
13:22 dbs Right, I would expect a fresh install to work. But it's the upgrading of an existing system that might be tricky
13:23 Dyrcona Yeahp. I'm not sure we've made it very clear what functions you have to replace, either.
13:23 Bmagic Dyrcona: Simple enough. But will the entry be the two fields concatenated? A la metabib.browse_entry.value. - I was planning on setting this up on a test server and trying it out, so no worries
13:23 Bmagic dbs: I agree, I think it's the upgrade
13:24 Dyrcona I know it's the upgrade. :)
13:24 Bmagic :)
13:25 Dyrcona Bmagic: I'm not so sure about that. I'd have to try it and see what the value comes out to be. You may need some more complicated logic to join the subfield values.
13:26 Dyrcona dbs: I'm pretty sure you know the answer: I can use just about any short string for cache-busting, rght? Something like today's date, 20200108, would work?
13:40 Dyrcona Well, doesn't matter, 'cause our custom template apparently doesn't have the cache-busting token in it.
13:40 Dyrcona BTW, I disagree that 1 year makes any sort of sense for a cache lifetime.
13:44 csharp Dyrcona: awesome - I did a search on LP for fixes, but didn't see any and decided 9.6 is ok
13:45 Dyrcona csharp: 9.6 is OK.
13:46 csharp ah https://bugs.launchpad.net/evergreen/+bug/1730726
13:46 pinesol Launchpad bug 1730726 in Evergreen "Support for PostgreSQL 10" [Wishlist,Fix released]
13:47 csharp I wasn't including Fix released bugs in my searches last night
13:48 csharp that explains why 3.4 on PG10 is fine
13:50 JBoyer Ah, ok. So if you *had* done it all in a single night you may have been ok. Not a tradeoff worth taking, necessarily, but at least there's some idea why things went south last night.
13:50 csharp heh - yep
13:50 Dyrcona csharp: https://bugs.launchpad.net/evergreen/+bug/1820339
13:50 pinesol Launchpad bug 1820339 in Evergreen "Postgres 10 support: Vandelay Edition" [Medium,Fix released]
13:51 Dyrcona But, yeah....
13:51 JBoyer Speaking of bug numbers, if anyone wanted to test bug 1858701 it's real simple and can lead to some really confusing error messages.
13:51 pinesol Launchpad bug 1858701 in Evergreen "URL modification with regular expressions can lead to 403 Forbidden errors" [Undecided,New] https://launchpad.net/bugs/1858701
13:51 JBoyer well, unexpected, anyway.
13:52 jeff Is anyone here aware of useful workflows for inspecting items on/after checkin, inspecting for missing pieces before capturing for a hold or re-shelving them?
13:53 jeff Specific case here is holdable kits with many pieces, and wanting to avoid notifying patrons that their item is ready if it isn't all-here, etc.
13:53 jeff We have in the past used Hold Capture Verify on a shelving location for this.
13:53 csharp so the order of operations for people not tracking individual bugs and want to upgrade to PG10 would be 1) upgrade Evergreen to the latest point release of 3.3 (minimum) 2) upgrade PostgreSQL to version 10
13:53 jeff And that's still probably the most likely thing we'll use.
13:54 jeff We've also considered checking these items in with "Capture Local Holds as Transits", but the challenge there is that staff would need to remember to turn that on before checkin of these specific items.
13:54 jeff (or use a dedicated workstation where it's "normally on", etc)
13:55 jeff Other options include "suppress holds and transits" on the initial checkin. Similar issue there: need to turn it on/off, not simple to "oops, scratch that!" if you forget and capture something to available-for-pickup.
13:56 jeff Persistent copy alerts with a next-status on checkin are... almost it? I don't think the workflow/features are quite there, but it's potentially promising.
13:56 JBoyer csharp: yeah, that should be fine. The PG10 changes were tested to be compatible with at least 9.6 (no reason they shouldn't be fine farther back as well)
13:57 JBoyer But farther back doesn't matter since you can't upgrade to that point without 9.6+ anyway, so it's good. ;)
13:58 csharp right
13:59 csharp I think I made the right 1:00 a.m. call :-)
13:59 jeff Having all items of a certain location/circ_modifier get a status of something like "Staff Review" or "Inspection" on initial checkin, but have it be clearable like a temporary alert on checkin... every time you check the item in you get an alert that it needs to be inspected, but only if it was actually circulating before that, and only until you clear the alert (like a temporary alert), and you'd want
13:59 jeff checkin to happen but not hold capture (but have hold capture take place once the alert was dismissed, without need to check in again)...
14:00 Dyrcona I've runt the Pg 10 changes on 9.5. We're upgrading to Pg 9.6 on the 19th.
14:01 jeff I think Hold Capture Verify is the closest thing we have now, but I'm interested in making something better. I'm especially interested in making something that can be more granular than "all items in this shelving location".
14:04 jeff Another option is to not check in the items until after inspection. We generally avoid that because it can result in people being unable to check out another item of that same type if there is a circ limit. Also, if there's a day boundary between return and checkin we end up sending overdue notices and/or charging fines (backdating helps after the fact there, and grace intervals could help beforehand).
14:05 jeff For most other items where we normally inspect (like media), it's mostly checked in initially by an RFID bookdrop or sorter, and those are all "capture local holds as transits".
14:05 jeff But these multi-part kits (including things like snap circuits, board games, etc) aren't returned via a SIP client (mostly due to their size).
14:11 jeff There are at least two separate goals, I think: 1) avoid items becoming "ready for pickup" before they have been confirmed as complete, and 2) avoid having items show as Available after Reshelving in a scenario where there's a longer-than-Reshelving-interval delay in inspection (due to weekend, backlog, etc)
14:11 jeff 2 is probably less of a concern, but it would still be neat to have something that covered it as well.
14:12 jeff Is this something others have given thought to? Have I failed to list other options above?
14:13 jeff I should probably also consider posting this to a list to reach a wider audience, but brainstorming / drafting here is often useful. :-)
14:26 lstratton joined #evergreen
14:48 mmorgan jeff: We delay hold notifications for 30 minutes across the board so staff have that long to get the item on the holds shelf, or retarget the hold if there's a problem. I think you might get some useful feedback by posting it to a list.
14:56 jeff ah yes, forgot to list those two options: delay of A/T notification (our Text notifications bypass A/T, but we could address that), and/or delay of "available" using the org unit setting Hold Shelf Status Delay / circ.hold_shelf_status_delay.
14:57 jeff I dislike the granularity of those options, though: at the A/T event def level or the org unit level...
14:57 jeff But yes, probably more responses from the list. :-)
14:57 jeff mmorgan++
15:24 eby jeff: we do that with tools. everything goes back to staff for inspection, battery charging, etc before it fills holds
15:24 eby i can try to dig up our current workflow
15:24 Dyrcona ...and cake pans! :)
15:25 Dyrcona Libraries aren't just about books anymore.
15:30 jeff eby: thanks!
15:31 eby jeff: we ended up going with a org unit that all the tools live under. we check it in immediately with hold suppressed i think and it goes in transit to that tools branch. i'd have to dig up the rest of the workflow. but we def get it off the patrons account right away
15:31 jeff Dyrcona: we used to circ cake pans. recently started doing ao again.
15:32 Dyrcona Might be nice to have a flag on an item or something to postpone/prevent hold capture.
15:32 mantis2 left #evergreen
15:33 Dyrcona But, I'm sure that's the gist of jeff's monologue. :)
15:33 jeff eby: interesting. did you end up with a workstation associated with the org unit where all tools checkin is done, or use "holds go home" or some other means of preventing holds from going to available without needing to change a setting before checking in those type of item?
15:36 eby i think both. all the real work is done with a branch workstation. but i think staff also know to change their checkin modifier when handling the items. it has changed a few times so would have to double check. right now we are digging into the booking system for tools like event lightning that patrons want on a specific date
15:36 * jeff nods
15:45 jeff Do you have a central tools collection, or are they dispersed among the various branches?
15:45 jeff I suppose they could also float...
15:45 eby you can request to any location but they all go to one location for inspection
15:47 eby they staff there know which cords go with what etc. With the more involved musical stuff we have patrons put the wrong cords into the wrong bags when they have multiple out etc
15:47 * jeff nods
15:47 * alynn26 nods also
15:47 eby battery chargers, etc live there. any batteries are swapped out and charged
15:48 eby patrons can return to any location though
16:03 pastebot "Bmagic" at 168.25.130.30 pasted "Index multiple tags results" (16 lines) at http://paste.evergreen-ils.org/10118
16:03 Bmagic Dyrcona: see the paste
16:03 sandbergja_ joined #evergreen
16:05 Dyrcona Right. What about the last one with a + instead of | ?
16:05 Bmagic did try that... will do
16:06 Bmagic indexed nothing
16:06 Bmagic *didn't*
16:08 Dyrcona Combining the values of two fields into 1 is a bit beyond the normal use of the indexing code in Evergreen.
16:10 Bmagic I'm coming to the same conclusion. Though I am contemplating editing the xslt to make the magic
16:10 Bmagic not sure how though. Just a theory at the moment
16:10 Dyrcona If I were trying to figure this out, I'd likely dump the marcxml of an example record or two and play with it using a command line xpath tool until I got what I wanted.
16:11 Bmagic I am sort of doing that but with postgres
16:12 Dyrcona xslt might be a better choice for what you want to do. My gut says xpath can do it, but it would be complicated.
16:21 berick Bmagic: there are concat and string-join functions for xpath
16:21 Bmagic I was looking at https://stackoverflow.com/questions/21996965/con​catenate-multiple-node-values-in-xpath/21998154
16:21 Bmagic doesn't seem to work when put through Evergreen's PG index functions though
16:26 eby am i missing something that if i remove the group code for evg 2020 rooms it is $30 cheaper a night
16:32 JBoyer eby, looks like hotel sites being hotel sites. If I pull up the conf link and a direct link the conference is 11 cheaper, though the "standard" rooms aren't an option. (that's only $15 cheaper for me at the moment)
16:34 eby k weird. for conference i get 165 . for the same king worklife rooms i get 135-145 depending on including breakfast
16:34 eby was wondering if some other stuff rolled into that rate
16:35 eby other than normal requires non-refundable deposit
16:36 jeff conference codes are often used to credit bookings toward the minimum that the contract with the hotel requires the conference meet. sometimes they also give you the guest additional amenities like free breakfast or wifi. it's annoying if/when the rate is higher than the normal rate. i'd probably call the hotel in that case to inquire.
16:36 jeff i've no special knowledge of this specific example.
16:36 JBoyer I just clicked through to the king worklife and it's 170 for me. (206 refundable)
16:37 alynn26 the non refundable deposit always is cheaper.
16:37 jeff but it's potentially bad for the conference that attendees doing some comparison may end up booking stays that are not then credited toward the minimum nights that the conference's contract with the hotel may require.
16:37 khuckins joined #evergreen
16:38 JBoyer And +1 to what jeff said. Part of what we're getting with a code is a set rate so employers can plan far in advance.
16:38 jeff (though yeah, the non-refundable might be the differentiator there. i wonder if the hotel can manually credit it toward the conference) :-)
16:39 jeff (i know some can, not sure if all can)
16:54 jvwoolf left #evergreen
17:08 Bmagic berick: string-join(//marc:datafield[@tag​='810']/marc:subfield[@code='a'], //marc:datafield[@tag='810'​]/marc:subfield[@code='t'], " ")      crashed the database and went into recovery mode for a few minutes, LOL
17:16 mmorgan left #evergreen
17:21 berick Bmagic: yeah, that'll happen if the xpath is not formatted correctly
17:22 Bmagic yowsa
17:23 Bmagic (I suppose that xpath is not)? - I had another run where it didn't crash postgres but instead threw an error when reingesting a record (which was nicer than crashing the whole DB)
17:28 berick Bmagic: string-join((//marc:datafield[@tag​='810']/marc:subfield[@code='a'],  //marc:datafield[@tag='810']​/marc:subfield[@code='t']), " ")
17:29 Bmagic berick++
18:00 Bmagic I'm calling this a bust. But FYI, the string-join and concat functions (with parentheses in the right places) still throw an error during ingest "invalid XPath expression" function metabib.reingest_metabib_field_entries(bigin​t,boolean,boolean,boolean,boolean,integer[]) line 49 at FOR over SELECT rows
18:00 pinesol News from qatests: Testing Success <http://testing.evergreen-ils.org/~live>
18:04 sandbergja_ joined #evergreen
19:12 cmalm joined #evergreen
19:39 sandbergja_ joined #evergreen
21:19 sandbergja joined #evergreen
21:46 sandbergja joined #evergreen
22:10 cmalm joined #evergreen
22:30 cmalm joined #evergreen
22:44 sandbergja joined #evergreen
22:58 cmalm joined #evergreen
23:20 cmalm joined #evergreen
23:29 cmalm joined #evergreen
23:58 cmalm joined #evergreen

| Channels | #evergreen index | Today | | Search | Google Search | Plain-Text | summary | Join Webchat