Evergreen ILS Website

IRC log for #evergreen, 2023-11-02

| 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
07:23 redavis joined #evergreen
07:33 BDorsey joined #evergreen
07:49 sandbergja joined #evergreen
08:11 dguarrac joined #evergreen
08:32 Dyrcona joined #evergreen
08:34 mmorgan joined #evergreen
08:49 collum joined #evergreen
08:52 Stompro JBoyer, morning.  My testing of NCIP AcceptItem and RequestItem with ToAgencyID set to our system level OU seems like it works ok.  As long as <PickupLocation> is set in the AcceptItem message at least. I'll send you my notes.
08:54 JBoyer Stompro ++
09:03 sandbergja joined #evergreen
09:04 sleary joined #evergreen
09:05 mantis1 joined #evergreen
09:08 kmlussier joined #evergreen
09:08 sandbergja Good morning all!  We are now feature slushed for 3.12.  So in general, please don't target any more new features to 3.12-beta in launchpad, and instead let's focus on bringing home the features that are currently targeted (which includes some really cool stuff!).
09:08 sandbergja And to keep you warm in all that slush...
09:08 sandbergja @coffee [someone]
09:08 * pinesol brews and pours a cup of Sumatra Aceh Pondok, and sends it sliding down the bar to scottangel
09:08 sandbergja @tea [someone]
09:08 * pinesol brews and pours a pot of Magic Summer Organic Tea, and sends it sliding down the bar to jeff (http://ratetea.com/tea/organic-herb​ie/magic-summer-organic-tea/9533/)
09:08 kmlussier sandbergja++
09:09 Dyrcona Oof! Does that mean I'm a day late to target a marc_export new feature?
09:11 sandbergja I think it's okay to be a bit flexible.  redavis, mmorgan, collum: thoughts?
09:13 sandbergja Dyrcona: what's the feature, out of curiosity?
09:14 Dyrcona Lp 2015484 and looks like it is already targeted at 3.12 beta.
09:14 pinesol Launchpad bug 2015484 in Evergreen "marc_export: provide way to exclude OPAC-suppressed items" [Wishlist,Confirmed] https://launchpad.net/bugs/2015484 - Assigned to Jason Stephenson (jstephenson)
09:14 sandbergja Excellent!
09:15 * mmorgan would be ok with that, as long as it's close.
09:15 mmorgan Dyrcona: Looks like that should get a pullrequest tag, right?
09:16 Dyrcona i ued it in production last night and was going to add the pullrequest tag today.
09:16 * mmorgan nods
09:16 mmorgan Dyrcona++
09:25 Dyrcona I updated Chrome this morning, and the interface is flickering in Gmail and Google Meet. Anyone else seen this? (I'm on Ubuntu 20.04, as that probably matters.)
09:28 sandbergja joined #evergreen
09:29 * collum is late to the party, but is OK with marc_export new feature.
09:30 Bmagic Dyrcona++
09:32 Bmagic I'm having a heck of a time getting Evergreen to fill in biblio.record_entry.vis_attr_vector on an electronic bib (and $9's properly filled in) - I ended up manually executing UPDATE  biblio.record_entry SET   vis_attr_vector = biblio.calculate_bib_visibi​lity_attribute_set(650266)
09:32 Bmagic and that worked
09:37 bgillap_ joined #evergreen
09:43 Bmagic it's almost* like it's not executing z_opac_vis_mat_view_tgr, but I ran this explain analyze UPDATE  biblio.record_entry SET marc=marc WHERE id = 650266; it's said it executed it.
09:43 Bmagic my best guess is that it's not passing this else statement ELSIF TG_TABLE_NAME = 'record_entry' AND OLD.source IS DISTINCT FROM NEW.source THEN
09:44 Bmagic it would seem that source needs to be non-null? In my example, it's null
09:44 Dyrcona Is the triggering using the NEW row?
09:45 Dyrcona Oh, bib source might be necessary, yeah.
09:45 Bmagic what does this mean in English "OLD.source IS DISTINCT FROM NEW.source"
09:46 Bmagic does that mean that the row is getting the source column changed?
09:46 Dyrcona I think so, but that's not how I would do it.
09:47 Dyrcona Oh! Yeah. old <> new would trigger if they're both null, so "is distinct from" is needed.
09:48 Dyrcona null <> null is true in pg, IIRC.
09:50 Dyrcona OK. What I said about 'null <> null' is not exactly right, but "null is distinct from null" returns false. The other comparisons return null.
09:51 collum I didn't know this operation existed.  https://wiki.postgresql.org/wiki/Is_distinct_from
09:51 Bmagic but what if they are the same (as they would be most of the time)
09:52 Bmagic wouldn't we want the trigger to recalculate the bib's visibility regardless of whatever source has?
09:52 Dyrcona Well, that returns false. Are you saying there's a bug in the trigger?
09:52 Dyrcona I would think so, yes.
09:53 Bmagic so the question becomes: will "OLD.source IS DISTINCT FROM NEW.source" resolve as "TRUE" when OLD.source == NEW.source ?
09:53 Dyrcona That's false. Source has to be different.
09:53 Bmagic ok, I think this is a bug
09:53 Dyrcona Try it yourself in your favorite pg client.
09:54 Dyrcona select 'x' is distinct from 'x';
09:54 Dyrcona false.
09:54 Bmagic it would seem, that Evergreen will only recalculate the vis_attr_vector when source changes
09:54 Dyrcona Well, that's probably a bug.
09:55 Bmagic I'm racking my brain to figure out why it's written like that in the first place
09:55 Dyrcona Don't bother. Just open a bug on Lp. :)
09:56 Bmagic furthermore, I find it hard to believe that no one else has hit this, which makes me think I'm not understanding it
09:56 Dyrcona Maybe no one has noticed.
09:57 Dyrcona Try a git blame. See how old that code is.
09:57 sleary joined #evergreen
09:57 Bmagic that's where I was headed. Great minds think alike
09:58 Dyrcona Devious minds, too. :)
09:58 * redavis is gonna read back.
09:58 redavis Sorry sandbergja.  Was in a meeting.
09:59 sandbergja np!
10:00 Bmagic Dyrcona: 2017!
10:00 redavis sandbergja, yes.  I think it's okay to be just a little flexible.  If there are hard fought tickets that are ready to have pullrequest tags added (like Dyrcona's), so long as they're in by EOB today it should be okay.
10:01 Dyrcona I have noticed it being an issue. I don't think the vis_attr_vector changes that often.
10:01 Dyrcona s/have/haven't/
10:01 Bmagic there must be another place where SQL is updating that column
10:02 Dyrcona One of the metabib ingest functions, maybe?
10:02 Bmagic I'm diving
10:04 Bmagic oh, maybe it's engineered to perform this when asset.call_number is changed. There's if statements in here looking for "##URI##" that trigger's an update to biblio.record_entry
10:06 Dyrcona OK.
10:08 Dyrcona I'm not entirely sure how vis_attr_vector is used, but I'm sure it's most important for records with URIs.
10:13 sleary sandbergja: thank you for changing that route :)
10:14 Bmagic update config.internal_flag set enabled='f' where name~'ingest.reingest.force_on_same_marc'
10:15 Dyrcona Bmagic: Yeah. You may or may not want that flag enabled all the time. It depends on how much/how often your MARC actually changes.
10:16 Dyrcona You might be surprised to see how often MARC gets updated when it hasn't changed.
10:16 Bmagic I think that was the trick, still playing with it
10:18 Bmagic confirmed, that was it
10:18 Bmagic I could have swore I checked that before I started posting here
10:20 Dyrcona You can set that flag during a transaction, and it will only take effect during the transaction until you COMMIT. This means you can set true, do stuff, set it back to false, then commit. That won't work if the triggers are DEFERRED however.
10:20 Bmagic Dyrcona++ # always being there for a shoulder to slam my head against
10:21 Dyrcona Bmagic++
10:23 Dyrcona I think the issue that I mentioned with Chrome earlier was related to Google Meet. I closed the tab after the meeting, and the flickering continued until I closed all of the Chrome tabs and restarted Chrome. It seems fine, now.
10:24 sandbergja joined #evergreen
10:37 mantis1 trying to work with Angular to have the exclude e resources box to be defaulted
10:37 mantis1 just wanted to ask for clarification on this tag in the div class field
10:37 mantis1 '*ngIf="showExcludeElectronic()"'
10:38 mantis1 I'm assuming this means if the box is checked off, then show the results as true?
10:39 berick mantis1: showExcludeElectronic() is true if we should show the checkbox at all
10:40 mantis1 ah ok
10:40 berick unrelated to the actual behavior of the checkbox
10:40 mantis1 gotcha
10:52 briank joined #evergreen
10:53 * Dyrcona wonders if you can concatenate a variable '-v variable=value' with a string in o in psql, i.e. specify the output directory from an external source....
10:54 Dyrcona I know how to make that work in queries.
10:56 Dyrcona Awesome sauce! The "obvious" approach works.
10:57 Dyrcona `psql -v outputdir=output -f script`, then in the script: `\o :outputdir/outfile.dat`.
10:58 Dyrcona Think I'll shorten it to 'outdir' for the actual thing, though.
11:24 Dyrcona Bmagic (and berick for that matter): I'm going to run the Rust MARC exporter either later today or tonight to capture the error output. It seems to find more "bad" records than the Perl code. Just thought I'd give you a head's up. I don't expect the load to spike on the utility server, but you never know.
11:25 Bmagic Dyrcona++ # you go on with your bad self
11:25 berick Dyrcona: cool, be curious to see what you find
11:26 Dyrcona Actually, I'll schedule it for 9:00 PM since we don't seem to have any database updates requested. I'll write something to parse the error output afterward. (It will be good practice.)
11:26 berick also what Bmagic said
11:26 Dyrcona :)
11:27 Dyrcona I'm going to extract all of the records, and I won't bother with holdings.
11:28 Dyrcona berick: Can the eg-marc-export do authorities, too? If not, that would be a useful feature.
11:28 berick Dyrcona: not yet
11:28 Dyrcona I'll work on a pull request, then. ;)
11:28 berick awesome
11:29 * Dyrcona decides to break early for lunch.
11:33 Bmagic Dyrcona++ # you go on with your bad self x2
11:37 Dyrcona Hhe
11:41 berick phasefx++ # comprehensive feedback on bug 1993824
11:41 pinesol Launchpad bug 1993824 in Evergreen "wishlist: Angular Link Checker Interface" [Wishlist,Confirmed] https://launchpad.net/bugs/1993824
11:46 csharp_ idea: database table with a boolean that gets set via trigger after certain org_unit fields are updated - cron script checks that table row, and if true, run autogen.sh
11:47 Dyrcona csharp_: Sounds OK to me.
11:47 Bmagic csharp_++ # autogen automation would be super. We usually couple that with a full restart of the stack, not sure that's needed anymore but it's so annoying when autogen is the issue
11:48 Dyrcona Bmagic: Not sure that org_unit changes require a restart, but settings changes in the XML files require settings (at least) to be restarted. I usually bounce the whole thing and Apache2.
11:49 Bmagic might work if it were a column on actor.org_unit, but it would need to be flipped back to false after autogen completes. The issue is multiple bricks would need to see it and react, and only after all of the bricks finished, should the column flip
11:50 Bmagic new org units or old org unit visibility changes, sure seems to want apache restarted
11:50 csharp_ yes, the cron-ish script would reset the flag
11:50 Dyrcona Timestamp the change and the cron can keep track of the last time something changes.
11:50 csharp_ yeah, noticed there's not a last update time on orgs
11:51 Bmagic the database would almost need to "know" how many bricks were "there" so it would "know" when they've done the thing
11:51 csharp_ I think that would all be managed client-side (thinking of a playbook, maybe?)
11:51 csharp_ the thoughts, they are fluid
11:51 Dyrcona Bmagic: Not if the cronjob keeps track and runs on all bricks.
11:53 Bmagic the problem I'm thinking of is: when do we resolve and flip the boolean back to false. But it seems like you're offering a different idea based upon a timestamp? That would work better, so there's nothing the bricks need to do back on the DB after they've finished
11:53 Dyrcona I've got a cronjob that I run on a server to check for OpenBSD updates. It hits the web page and parses it. It keeps track of the last time it checked and what the last patch number it saw was. It uses the time stamp with an 'If-Modified-Since' header so the web server can send back whatever the code is for "not changed."
11:54 Bmagic it could be disruptive if bricks reacted immediately at the same time during the day, so the cron would want to be checking the timestamp only during off hours, seems doable
11:55 Stompro Dyrcona++ the NCIPServer code is a joy to read through.  Lots of good comments and good variable names.
11:55 Dyrcona I don't think services need to be restarted.
11:55 Dyrcona Stompro: Thank you. I was thinking of future me when I did it. :)
11:55 Bmagic csharp_: I love it already. It seems like it could be pretty straightforward, and adding the column "edit_date" onto actor.org_unit would do it I think
11:56 Dyrcona We *may* have to do some cache busting, but IIRC autogen.sh will do that unless you give a specific cache key?
11:56 jihpringle joined #evergreen
11:56 csharp_ agreed
11:57 csharp_ Dyrcona: yeah, autogen updates the cache key when it runs
11:57 csharp_ I'll work something up
11:57 Dyrcona csharp_++ Bmagic++
11:57 csharp_ Bmagic++ Dyrcona++
11:57 Bmagic csharp_++ Dyrcona++
11:57 Bmagic lol
11:57 csharp_ lol++
11:58 csharp_ pinesol: lol
11:58 pinesol csharp_: did you finish your beer?
11:58 csharp_ pinesol: I don't drink you insensitive bot
11:58 pinesol csharp_: git diff origin/hamster
11:58 Dyrcona pinesol: you should know better.
11:58 pinesol Dyrcona: MARC still isn't dead yet, alas
11:58 csharp_ pinesol: that's origin/hain to you
11:58 pinesol csharp_: Go away, or I'll replace you with a very small shell script!
11:58 * Dyrcona has to make "hamster" the main branch in a repo just for fun, now.
11:59 csharp_ pinesol: blame pinesol
11:59 pinesol csharp_: itself must eat cottage cheese!
11:59 Dyrcona "Did you check the hamster branch?"
11:59 Dyrcona I don't know why that is so funny to me right now, but there it is.
11:59 csharp_ "pretty sure that made it into hamster"
12:00 Dyrcona csharp_++
12:04 Dyrcona 'git checkout hamster'
12:16 redavis pinesol: blame infoexpress
12:16 pinesol redavis: It really IS infoexpress's fault!
12:16 redavis pinesol: blame the courier
12:16 pinesol redavis: the courier must eat cottage cheese!
12:17 redavis pinesol: blame people who react but don't pay attention
12:17 pinesol redavis: people who react but don't pay attention typed Google into Google; broke the Internet.
12:17 redavis thanks pinesol
12:49 Dyrcona Heh... funny typo: "OUTPUTRID" for "OUTPURDIR"
12:49 Rogan joined #evergreen
12:50 berick OUTPUTRID=/dev/null
12:50 Dyrcona And, I typoed my typo example....."OUTPURDIR" should be OUTPUTDIR.
12:50 jeff amused also that there appear to be two typos... yeah. :-)
12:50 Dyrcona yeah... all complaints to /dev/null.
12:51 jeff Errors-To: Non-standard, discouraged.
12:51 Dyrcona They asked for a timestamp in the file name. I hope they like this: now=$(date --iso-8601=s | sed s/-0[45]:00//)
12:52 Dyrcona I was also told the timestamp "can be anything you like."
12:57 jeff "anything you like" leaves room for a lot of creativity.
12:57 jeff now=$(date +%s | cowsay | base64 -w0)
13:00 Dyrcona Ok. I'm gonna run that, but do I have cowsay?
13:01 Dyrcona Nope. Have to install it.
13:01 Dyrcona Nifty!
13:02 jeff it gives you a very inefficient base64 string. there's probably more efficient encodings, or simpler cows.
13:02 jeff (or you could hash it, if you don't care about being able to get back to the original/meaningful value)
13:02 Dyrcona Yeah... But, now, I'm thinking that I should just use `date +%s` for the timestamp.
13:03 jeff ...when (hashes of) (spherical) cows collide!
13:03 jeff echo IF9fX19fX19fX19fXwo8IDE2OTg5NDQ0ODMgPgogLS0tL​S0tLS0tLS0tCiAgICAgICAgXCAgIF5fX14KICAgICAgIC​AgXCAgKG9vKVxfX19fX19fCiAgICAgICAgICAgIChfXyl​cICAgICAgIClcL1wKICAgICAgICAgICAgICAgIHx8LS0t​LXcgfAogICAgICAgICAgICAgICAgfHwgICAgIHx8Cg== | base64 -d
13:04 jeff gzip cuts it almost in half... ;-)
13:04 Dyrcona :)
13:05 Dyrcona I don't think the binary data would work so well in a file name. :)
13:05 jeff (also, base64 isn't filename-safe, so further reason to use a different encoding, if we were going to take this rather ridiculous exercise any further.)
13:06 Dyrcona sha512, maybe?
13:06 jeff Dyrcona: oh, i was gzipping before the base64.
13:06 jeff echo H4sIAAAAAAAAA1OIRwJcNgqGZpYWliYmZiYmCnZcCr​pIgEsBCmKAOC4+Pg4uABLRyM/XjIEZo4AENOLjNWOg​bM0Y/RgUSRCoqQGZXq5Qg0UGSnEBAF4X4lumAAAA | base64 -d | gunzip -c
13:06 Dyrcona Oh, right. That makes more sense.
13:06 jeff shorter, no binary, but still wildly impractical!
13:07 Dyrcona I think I'll stick with what I've got, thought I am considering '-u' for UTC and changing the sed part appropriately.
13:07 Dyrcona s/thought/though/
13:09 Dyrcona Yeah, I'll use UTC. Our servers are set to America/New_York, but that might not always be the case. I think I'll just strip the "minutes" off the timezone.
13:09 Dyrcona jeff++
13:11 Dyrcona now=$(date --iso-8601=s -u | sed s/:[0-9][0-9]$//)
13:12 Dyrcona Let's hope that they aren't transferring this to a filesystem that has a problem with ':' in the filename and that they're using MTP, which also seems to have an issue with ':' in a filename.
13:13 Dyrcona should be "that they're not using MTP."
13:17 Dyrcona What I find more interesting is that this actually works in psql: `\o :outdir/incremental_changes_:mdate.ids`.
13:17 Dyrcona Where mdate is set to the timestamp.
13:31 Dyrcona hmm. don't want to get emailed every 10 minutes about a successful upload.... '> /dev/null'
13:59 sleary joined #evergreen
14:07 Dyrcona oof... Looks like sftp send the "Connected to <host>" to stderr.
14:09 jeff -q is probably going to be helpful there.
14:13 Dyrcona jeff++
14:13 Dyrcona That's what I'm starting to think. Filtering 2 hasn't worked so far.
14:16 Dyrcona Oh. I think I'm doing it in the wrong order. I think you have to do 2 before the redirect on 1, unless you use numbers for both.... That sounds like something I've run into before.
14:16 Dyrcona Yeahp... That's it. But -q is less to type, so I'll use that "for real."
14:22 Dyrcona Bash "programming" is "fun!"
14:50 mantis1 left #evergreen
15:08 Stompro Dyrcona, is there an easy way to get logging in NCIPServer... I'm trying to troubleshoot why "User Privilege" isn't being included in lookupuser, but I cannot figure out how to get debugging messages.
15:08 Dyrcona Stompro: No, there isn't. There's a bug about that in the NCIPServer Launchpad. There's no logging at all.
15:09 Dyrcona One of the things I've been meaning to get to. There are times that I'd have liked it.
15:10 Stompro I tried the Dancer logging... but I must not be able to use them in Evergreen.pm, info, debug, ...
15:11 Dyrcona Yeah, I'd like to eliminate Dancer, too. That's a legacy of trying to be compatible with Koha.
15:11 Dyrcona @blame rangi
15:11 pinesol Dyrcona: rangi forgot to give the gerbils their chocolate-frosted sugar bombs
15:11 Dyrcona @praise rangi
15:11 * pinesol rangi is the very model of a modern major hacker
15:11 Dyrcona That second one if probably true.
15:11 Dyrcona s/if/is/
15:17 Dyrcona It's 8:16 AM. Maybe rangi is over in #koha on oftc.net?
15:18 * csharp_ at the next hackaway https://www.instagram.com/reel/CzEYh​Y1oWwO/?igshid=MTc4MmM1YmI2Ng%3D%3D
15:21 berick that would be ideal for the 2-hackers-on-the-same-keyboard setup
15:21 berick just slappin keys
15:28 Stompro Can't just add  "use OpenSRF::Utils::Logger;"  "Bareword "OpenSRF::Utils::Logger" not allowed while "strict subs" "
15:39 JBoyer Stompro, when I've wanted this I just used the raw perl syslog module, hard-code the various params, and just dropped a log line with the whole incoming and outgoing xml messages for testing. I don't use it in prod because SHAREit does send passwords even though we don't check them.
15:39 Dyrcona JBoyer++
15:42 Stompro JBoyer, thanks, I just want to add some print statements to figure out why certain code isn't working correctly.  I don't actually need the messages right now.
15:43 JBoyer Ah, fair. But the end result is the same, sprinkle syslog() calls wherever you want to shine a light.
15:44 Stompro Thanks, I'll give it a try.
15:47 Dyrcona Stompro: I'm not sure why you get the error message when trying to use OpenSRF::Utils::Logger. Something has to be wrong there.
15:50 Stompro I'll give it another try next week.   I off to vacation land.
17:13 mmorgan left #evergreen
17:57 kmlussier left #evergreen
18:28 sandbergja joined #evergreen
19:16 bgillap__ joined #evergreen
20:36 sleary joined #evergreen

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