| 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/weekly.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/~dyrcona/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 |