Evergreen ILS Website

IRC log for #evergreen, 2026-05-14

| 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
06:56 collum joined #evergreen
08:35 mmorgan joined #evergreen
08:46 Dyrcona joined #evergreen
08:46 Dyrcona gmcharlt++
09:30 Bmagic joined #evergreen
09:30 Bmagic test
09:31 Bmagic test2
09:35 Dyrcona I see you Bmagic.
09:35 Bmagic ty! Switching QuasselCore servers
09:36 * gmcharlt claims 1521
09:41 eby https://distrowatch.com/wee​kly.php?issue=20260511#news
09:42 eby (coreutils / rust quip)
09:43 eby the cve's have never been more memory safe
09:55 Dyrcona eby: Good thing I switch to Arch where I get the good, old C coreutils again. :)
09:59 Dyrcona I've also been reading quite a bit about GitHub's imminent demise lately.
10:00 Bmagic Github is going away!??? I hope not, we just migrated to it
10:01 Dyrcona Well, here's a recent one with links to other people's opinions: https://dbushell.com/2026/04/29/github-is-sinking/
10:02 Dyrcona I am being a bit sarcastic about "imminent demise." I don't think GitHub is going away for real any time soon.
10:03 * Dyrcona tries to decide which set of tools to install to work with markdown... I guess pandoc since it does everything, for certain values of "everything."
10:04 Dyrcona Of course, that adds 510MB of Haskell code to the system. :)
10:06 Dyrcona And, the Haskell folks publish updates almost daily.... Had to refresh to get installable packages.
10:18 * Dyrcona tries to remember what's the program that uses pandoc and will display markdown as formatted text?
10:19 Dyrcona Calibre...
10:21 Dyrcona And, here comes 696MB of Python and Qt and who knows what else.... :) Maybe I should have just installed it via Flatpak?
10:21 Bmagic you go boooy!
10:21 Dyrcona I find it interesting that pacman makes me far more aware of the dependencies being installed than does apt.
10:23 Dyrcona I've taken to formatting my notes in markdown because a) GNU Emacs markdown mode attempts to render it and does a decent job, b) it's easy to format with markdown-mode,  and c) it's easy to convert to something else to share with others.
10:29 Dyrcona goood: I'm looking into implementing the multiclass search, and I am considering one endpoint, /search/multiclass, that does both multiclass and multiclass.query depending on the arguments. This raises a couple of questions.
10:30 Dyrcona Bmagic: UserDir is not configured on evergreen-ils.org any more. Is that intentional?
10:34 Bmagic please feel free to configure it
10:34 Dyrcona Bmagic: OK. Maybe later. I was going to share my notes I was formatting that way.
10:35 Bmagic when I get through this high workload, I'll loop back and document the server more thouroughly
10:35 Dyrcona I'm signed in. I'll give it a go.
10:36 Dyrcona And, it's working.
10:37 Dyrcona Bmagic++
10:38 Bmagic Dyrcona++ # backatcha
10:38 Dyrcona Here's the notes I'm talking about: https://evergreen-ils.org/~dy​rcona/multiclass_params.html
10:43 Dyrcona I'm thinking about adding all of those as optional parameters in the CGI query string and then figuring out (based on the presence or absence of "query") if the backend should run open-ils.search.biblio.multiclass or open-ils.search.biblio.multiclass.query.
10:44 Dyrcona I have some concerns about the authtoken argument and maybe I should just leave it out for now.
10:46 Dyrcona Also, "searches" isn't required for the latter, only if the "query" option is absent. Both are used if present.
10:51 Dyrcona I also wonder if this can handle things like "title|proper:"
10:53 Christineb joined #evergreen
11:11 Dyrcona hmm. That won't matter, since that's only allowed in the query string, and OpenAPI won't validate that. I think I can do it this way.
11:27 Dyrcona If your function has fourteen parameters, maybe that's too many. :)
11:27 Dyrcona Really 16 because I am ignoring 2 of them.
11:43 Dyrcona And I found 3 more possibilities: identifier, isbn, and issn.
11:43 Dyrcona Not documented...
11:56 jihpringle joined #evergreen
12:07 goood Dyrcona: cool! a couple things -- since all endpoints are authenticated, you could just use eg_auth_token in the param list and not accept one from the user (I'm pretty nervous about "act as this other authtoken's user" behavior), and, if you're going to use a wrapper anyway, it might be simplest to take (for instance) a CGI param called "author" via every_param.author, which gives you an arrayref, and tack that onto what param.query gives you like "$
12:07 goood query .= ' '.join(' || ', @$author);" ... repeat for each of keyword, title, etc. then ?title=gone+with is the same as ?query=title:gone+with and nobody has to turn JSON into a param. ... as it stands, I do not believe that mojolicious GET handlers will receive a content body, so req.json isn't available for "easy" structure passing. however, it might be worth testing that empirically, and if that DOES work, the wrapper could accept that and walk the
12:07 goood well-known keys for an alternate delivery mechanism. (and, if it does NOT pass req.json to GET handlers, this /might/ be a time to allow abuse of POST or PUT)
12:08 goood (and, I've not looked for any updated code, this is just from reading your .html above)
12:19 jihpringle joined #evergreen
12:22 Dyrcona goood: I had not noticed every_param before. I'll use that. I wasn't planning on passing structures as cgi params. I plan to build searches{..} from the other params.
12:23 Dyrcona I will add eg_auth_token and tag_circulated_records.
12:23 goood +1
12:27 Dyrcona I'll give it a try with get. If it unruly we could switch to POST.
12:35 Dyrcona Looking at the underlying code, it seems that there are many things possibly that are not documented.
12:36 goood (note, param.FOO is for nonrepeatable params, gives you the last one (perl hash semantics); every_param gives you the arrayref; you can use any method that's available on the mojo stash, but param, every_param, and cookie are the most likely. req is a special case, it lets you get to the controllers request body, so you can get the content in json or text or binary, or whatever)
12:37 Dyrcona based on a comment in Storage::Publisher::metabib, I'm inclined to remove format.
13:15 goood it's a specially formated combo of type and form, so I would agree with not using it more (note: we'll probably never get rid of it in the backend)
13:17 Dyrcona OK. I'll drop format.
13:18 goood Dyrcona: above, re "3 more possibilities", I'm sure there are some embedded values hanging around, but the /real/ full list is something like config.metabib_class.name + config.metabib_search_alias.alias
13:19 goood (and, obv, any field-specified combos, like title|proper|corporate:foo)
13:19 Dyrcona Yeah... I've also seen vr_format specifically in the code, but I'm not adding it.
13:20 Dyrcona Also, should I allow sort on edit_date and create_date? They're specifically looked for in the storage code. The perldoc only mentions pubdate, author, and title.
13:20 goood you mean for dynamic filters? well, there are lots of dynamic filters ... they're not hard coded, but dynamic ;)
13:21 Dyrcona arghash has a sort paramater specifically mentioned in the docs. That's the one I'm talking about. I'll allow it.
13:21 goood edit_date and create_date are static filters -- there's a specific backing column
13:22 goood that's why the storage code looks for them for sort
13:22 goood ah, I see what you mean, sort axes
13:22 goood ok, I need lunch. brain not braining
13:23 Dyrcona I think I'll start coding and implement what I've come up with. If someone finds some thing missing, we can add it later.
13:24 Dyrcona I'm not sure that "title|proper|corporate:foo" will work with "?title=foo", but it should work with "?query=title|proper|corporate:foo"
13:48 Dyrcona csharp_: Jinx!
13:48 Dyrcona :)
13:50 Dyrcona "No plan survives contact with the email inbox."
13:52 Bmagic lol
13:52 Bmagic so true
14:05 goood Dyrcona: right, "use query if you want anything advanced"
14:17 Dyrcona goood: Should I supply default values for ofsset and limit? I notice other endpoints do that.
14:19 Dyrcona Guess I will.
14:21 Dyrcona abneiman++ Bmagic++
14:21 Rogan joined #evergreen
15:17 jihpringle joined #evergreen
17:13 mmorgan left #evergreen
18:12 jihpringle joined #evergreen

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