Evergreen ILS Website

IRC log for #evergreen, 2023-02-23

| 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:12 kworstell-isl joined #evergreen
07:50 BDorsey joined #evergreen
07:58 collum joined #evergreen
08:06 mantis1 joined #evergreen
08:35 mmorgan joined #evergreen
08:50 kworstell_isl joined #evergreen
08:51 kworstell_isl_ joined #evergreen
08:55 kworstell-isl joined #evergreen
09:03 Dyrcona joined #evergreen
09:09 rfrasur joined #evergreen
09:27 csharp_ @decide evergreen or evergree
09:27 pinesol csharp_: go with evergree
09:27 csharp_ pinesol: I evergree with you
09:27 pinesol csharp_: What we have here is a failure to communicate.
09:27 csharp_ pinesol: no doubt
09:27 pinesol csharp_: pretty sure there's already a bug report about that.
09:56 kworstell-isl joined #evergreen
09:59 Dyrcona pinesol: Don't speak.
09:59 pinesol Dyrcona: always listen to berick
10:00 Dyrcona That I do.
10:02 berick buy gold
10:08 Dyrcona That, I also do.
10:09 * Dyrcona is likely going to drop out for a minute or two. I'm playing with .config/environment.d/ and I'll need to logout to see if the changes work.
10:10 Dyrcona Too bad systemd isn't the shell and I can't just source a file into it.
10:12 Christineb joined #evergreen
10:12 Dyrcona BRB.
10:15 Dyrcona joined #evergreen
10:16 Dyrcona OK. A restart worked, but not a logout and login. There was probably some sysstemd/systemctl command I could have run to have it read the environment files.
10:37 mmorgan Anybody on 3.9.1 having trouble saving circulation policies? Not sure if it's a server issue or Evergreen issue.
10:56 mmorgan Seems to work ok on demo.evergreencatalog.com (which is 3.9.1), so must be a server thing.
11:14 dbriem joined #evergreen
11:15 ACSpike98 joined #evergreen
11:19 ACSpike joined #evergreen
11:22 dbriem left #evergreen
11:22 Dyrcona branches > patches
11:24 Dyrcona I also don't agree with myself from four years ago: https://bugs.launchpad.net/eve​rgreen/+bug/1815950/comments/1
11:24 pinesol Launchpad bug 1815950 in Evergreen "fields should be hidden when the relevant ".show" org unit setting is false" [Wishlist,Confirmed] - Assigned to Jason Stephenson (jstephenson)
11:26 mantis1 joined #evergreen
11:40 Dyrcona I also don't think the patron edit/register show/suggest/require settings work the way that some people think they should.
11:41 Dyrcona Looking at this, I don't think the value should ever be set to false, or rather a non-existent setting should probably be treated as false.
11:42 Dyrcona Think I'll have some lunch and ponder this more later.
12:05 jihpringle joined #evergreen
12:10 ACSpike I'm interested to learn how create and update user information using the New-style OpenSRF JSON gateway. So far my web searches are leading me in circles. Is there a good place to find an example of listing, creating, and modifying users?
12:12 mantis1 joined #evergreen
12:15 Bmagic ACSpike: when I'm working on a project like that, I generally refer to the Evergreen source code. To discover the API/service calls that I need to make. Editing patrons will require a login authentication token. Then from there, you'll write your code to interact with the service(s) which would need to include the auth token. Have a look at perlmods/lib/OpenILS/Application/Actor.pm
12:17 Bmagic Looks like you'll be interested in open-ils.actor.patron.update
12:17 ACSpike Is over here the right spot? https://github.com/evergreen-library-sys​tem/Evergreen/blob/master/Open-ILS/src/p​erlmods/lib/OpenILS/Application/Actor.pm
12:17 Bmagic that's it, yep
12:18 Bmagic Evergreen also has "Examples" of interacting with it's own API's. Mostly in Javascript
12:18 Bmagic I grepped the code for "open-ils.actor.patron.update"
12:19 Bmagic There's a pretty straightforward example in Perl inside one of the perl tests. I'm looking at 30-barcode-completion.t
12:20 Bmagic but in that case, you'd have to run your code on the Evergreen server. I assume you're developing something that would interact with the API over the internet
12:21 ACSpike Right, I want to interact in JSON over HTTP.
12:22 Bmagic so, you're going to be interested in the javascript implementation. That we have written for our own staff client
12:22 ACSpike I'm sending requests to https://<my evergreen>/osrf-gateway-v1
12:24 Bmagic I don't have any other examples other than those that we can find in the Evergreen repo. Which might be a bit of a heavy lift, since it's built on a stack of JS (egCore). So when you see something like: egCore.net.request(            'open-ils.actor',            'open-ils.actor.patron.update',            egCore.auth.token(), user        ).then(function() {grid.refresh()});
12:26 Bmagic Maybe someone else here can provide an easier way to get onboarded with the API, other than trying to re-create egCore
12:26 ACSpike Yeah, I need to dig down far enough to see how to formulate my own HTTP request.
12:26 Bmagic ACSpike: which language are you targeting?
12:26 ACSpike probably Python
12:27 Bmagic should be doable. Python has HTTP payload/api modules you can use
12:28 ACSpike Oh, for sure, I'm not going to be stitching together the bits :-)
12:28 Bmagic essentially it's: login, get auth token, then query the API (with the auth token) for a patron object, then make edits, and call the update service, passing your new object
12:29 ACSpike Getting the authtoken was easy enough. How is the auth token supplied on subsequent requests? Header?
12:30 jeff often as the first parameter to the method call.
12:30 Bmagic One thing I might do is interact with the server with a browser and watch the requests going to the server, inspect the payload/JSON, and use that as my reference when making my own
12:30 ACSpike Is there an appropriate place in Evergreen to store a unique identifier to help tie users together with an external system?
12:31 ACSpike Oh, that's a good idea.
12:35 jeff ACSpike: what kind of thing are you trying to do?
12:36 ACSpike I work at a small college. Our library is switching to Evergreen soon. With the old system I wrote some integrations that create patrons automatically when students enroll and staff is hired. I'd like to do something similar with Evergreen.
12:37 jeff ACSpike: how sensitive is your itentifier? if it's an opaque token and you don't expect that any staff or user will be sufficiently motivated to modify it, you could create a user setting and store it there. user notes are an option also, though those have changed recently and have some side effects.
12:37 jeff ACSpike: do you have access to the Evergreen system, especially access to run scripts on the server with access to the OpenSRF XMPP endpoints, or the ability to have SQL access to the database?
12:37 ACSpike Worst case scenario, I keep the barcodes on our side. I think I could use that to link things together.
12:38 ACSpike I have SQL access to the db.
12:39 ACSpike And access to a HTTP gateway for OpenSRF.
12:39 jeff you will have a happier time loading users that way (via SQL), IMO. I can probably write up some of what we do for that kind of thing, where we're doing daily userloads of staff and students.
12:40 ACSpike Hmm, I usually try to keep my sql access to third party systems read-only just to be safe.
12:40 jeff if there's a reason you need to call it as an API and not a batch process, then maybe the old JSON HTTP gateway would be reasonable, but you will soon tire of dealing with fieldmapper objects without the benefit of a first class library supporting them. :-)
12:40 * jeff nods
12:41 ACSpike I only have to write it once ;-)
12:41 ACSpike what does "batch process" refer to?
12:41 jeff "here's a file with all the students, load them into a temporary table, stage them, add/update users that need adding/updating"
12:42 ACSpike Oh, like we're doing real SQL stuff then.
12:42 jeff batch process as in "scheduled thing that runs daily/hourly" and not "API call that our SIS/ERP makes in semi-realtime when a user is created"
12:43 ACSpike I'm doing it daily right now
12:43 ACSpike Whatever the "Right Way(TM)" is would be great.
12:43 ACSpike Documented is even better. :-)
12:44 jeff yeah, it's that balance between "right" and "practical", I think.
12:45 jeff I'll try to pass more information later. Don't take only my advice, though. :-)
12:45 ACSpike Well, now that I've found an entry point into to the source and a suggestion for sniffing the network traffic in the web client, I'll start there.
12:46 ACSpike And if you've got more info to share, that's very welcome.
12:46 ACSpike I'm sure you'll see more of me in the near future. :-)
13:28 Bmagic ACSpike: we have several projects out there that loads patron files into Evergreen (exactly the same scenario as you): https://github.com/EquinoxOpenLibraryInitiati​ve/migration-tools/tree/master/patron_loader  and here's another example: https://github.com/mcoia/mobius_evergre​en/blob/master/Random/patron_create.pl
13:28 Bmagic These are server-side
13:30 kworstell-isl joined #evergreen
13:44 jihpringle joined #evergreen
14:06 Dyrcona Heh. I submitted a pull request to Battle for Wesnoth on Monday that changed a > to >=. It looks like part of a patch I'm going to submit to Evergreen will change >= to >.
14:10 Dyrcona Hmm... Maybe not....
14:10 Dyrcona I'm beginning to question again the wisdom of show/suggested/required....
14:11 jihpringle joined #evergreen
14:12 Dyrcona My take on how it works (and possibly is supposed to work): Shown fields always show. Required fields always show and get highlighted yellow. Suggested fields show if suggested or all fields are shown.
14:13 Dyrcona Fields with no setting or that are forgotten by the code also always show, and that, I think, is a bug.
14:13 mmorgan Dyrcona: Maybe we need a 'hide'
14:14 Dyrcona mmorgan: After I'm done, you should be able to set the show org unit setting to false in order to hide.
14:14 mmorgan Dyrcona++
14:14 Dyrcona That will be courtesy of abellenir++
14:19 mmorgan abellenir++
14:20 Dyrcona We will probably need to add more config.org_unit_setting_type entries.... I wonder if I can make that smart so I don't have to a) write a lot of code or b) run into settings that may have been added locally.
14:23 * Dyrcona eats his words from an earlier meeting: "It should be simple to make the fields respect an org. unit setting."
14:27 ACSpike joined #evergreen
14:29 rhamby ACSpike if you're looking to bulk load patrons server side the Equinox one is the one I use and works with csv files since that's how I susually get them, the moebius one probably does too but I don't have personal experience with it
14:31 ACSpike Thanks! I'll check them out.
14:31 Dyrcona ACSpike: We have some SQL scripts that were passed around a decade ago that we still use to load patrons. You probably do not want those. :)
14:33 Dyrcona I commend your attempt to write something that can use the osrf gateway. I've done some little toy programs to get the basics, but I've never come up with a generically useful code library. If you do, that would be extremely useful.
14:34 ACSpike Oh, sorry. I don't know that I'm that dedicated. I just need to manage the patrons without having to manage the patrons. But if something generally useful results, I'll definitely share.
14:36 Dyrcona I'd also suggest trying the websocket gateway. That's more modern, hip, showy, web 2.0ey.... :)
14:40 Dyrcona berick: Do your rust bindings use the gateway or do they expect ejabberd access? (I could look but I'm lazy.)
14:41 berick Dyrcona: the rust code assumes a Redis setup, no jabber.  they don't use the gateway for anything (yet).
14:42 Dyrcona OK. I should have actually looked at the repo instead of glancing at my github feed. :)
14:44 berick the gateway is pretty easy to code for, though, and works fine for most tasks, so it's a decent option
14:45 Dyrcona berick: On patron edit, I want to change all default visibility of 2 to 1.
14:46 Dyrcona Yeah, the gateway isn't too bad. I wrote something once to log in and logout as a test. I did the same with XML RPC, then a bug was fixed and it broke. :_
14:48 berick Dyrcona: modifying default visibility in patron editor (2 to 1) should be pretty simple
14:49 berick angjs editor has a default_field_visibility map
14:49 Dyrcona My reasoning is 2 is show which always shows up. One is suggested which can be easily hidden. This obviates the need for so many settings.
14:49 Dyrcona Yeah. I'm looking at the angjs editor as we "speak."
14:51 Dyrcona Though, I'm planning to expand the settings that are looked up, so it may not be necessary if show = false can hide the field entirely.
14:51 Dyrcona I'll just write the code and we can sort it out in Thunderdome. :)
16:03 berick gmcharlt++
16:13 Dyrcona "Does anybody finish the day with dozens of Evergreen tabs open?" I suspect that the answer to that question is, "Yes, everyone."
16:16 stompro_home joined #evergreen
16:27 stompro_home Has anyone noticed content cafe being strange today, lots of 404 images for cover art?
16:30 mmorgan stompro_home: Yes, our cover images are missing.
16:33 stompro_home mmorgan, great, I can stop trying to troubleshoot it to see if it is on our end.  Thanks
16:35 Dyrcona stompro_home: I haven't noticed nor seen any reports of it in our local ticket system, but I've busy slamming everyone with a wall of text bug comment this afternoon. :)
16:36 Dyrcona OK. Yeahp. Our carousel isn't loading images.
16:36 * mmorgan checked a few other catalogs today and observed the same thing
16:39 * Dyrcona is surprised there were no tickets. Maybe everyone is busy playing in the snow?
16:40 mmorgan Dyrcona: We only heard from one library.
16:40 mmorgan @blame snow
16:40 pinesol mmorgan: snow is NOT CONNECTED TO THE NETWORK!!!
16:40 mmorgan :)
16:41 Dyrcona Yeah, that's usually why there is "snow." Only those of us over 45 will get that one. :)
16:42 stompro_home I should get a B&T support account.  I wonder if I just ask coverart@b&T if that will get to someone.  mmorgan, have you started a ticket with them?
16:43 mmorgan stompro_home: We contract with EBSCO for the service, I have opened a ticket with EBSCO.
16:53 * Dyrcona runs outside to play in the snow.
17:01 jihpringle joined #evergreen
17:11 mmorgan left #evergreen
23:52 smcalilly joined #evergreen
23:55 smcalilly hi, i'm working on a project that creates and updates patrons on an evergreen system. does anybody know the right format for submitting data to the open-ils.actor.patron.update endpoint? https://github.com/atz/OpenILS-Everg​reen/blob/master/Open-ILS/src/perlmo​ds/OpenILS/Application/Actor.pm#L320
23:56 smcalilly i don't know perl very well and haven't been able to find anything in the source code describing the format of the patron object (https://github.com/atz/OpenILS-Everg​reen/blob/master/Open-ILS/src/perlmo​ds/OpenILS/Application/Actor.pm#L334)
23:58 smcalilly anytime i hit that endpoint, no matter how i try to format it, i get an error about an unblessed reference
23:59 smcalilly i've successfully authenticated and able to search patrons via the open-ils.actor.patron.search.advanced.fleshed endpoint, but the data for that endpoint seems to be formatted differently than the open-ils.actor.patron.update endpoint

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