<div dir="ltr">What Galen said.<div><br></div><div>--</div><div><br></div><div>If we want to talk about the future, the community has previously discussed and experimented with delivering hash-based data via certain APIs so the IDL is not required. This can simplify implementation for new vendors and avoid the "data shifted" issues that can occur with stale IDLs.</div><div><br></div><div>As part of the Redis project, I created Rust variants of the Websockets and HTTP gateways which contain runtime options to use hash-based input and output.</div><div><br></div><div><div>E.g. <a href="https://redis.demo.kclseg.org/eg-http-gateway?service=open-ils.actor&method=open-ils.actor.org_tree.retrieve&format=hashfull" target="_blank">https://redis.demo.kclseg.org/eg-http-gateway?service=open-ils.actor&method=open-ils.actor.org_tree.retrieve&format=hashfull</a><br></div><div><br></div></div><div>Once we're running Redis at KCLS, I plan to deploy the Rust variants. If all goes well, I expect this will be our default for vendor API access and some one-off patron interfaces going forward.</div><div><br></div><div>-b<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 11, 2023 at 9:56 AM Galen Charlton via Evergreen-dev <<a href="mailto:evergreen-dev@list.evergreen-ils.org" target="_blank">evergreen-dev@list.evergreen-ils.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi,</div><div><br></div><div>Having the app consult the IDL is indeed the way to go. This ideally should happen on startup, although it would be reasonable to cache the results, potentially for fairly lengthy durations. The 24 hours you suggest should generally be fine, although it could still lead to some friction for patrons the day after an Evergreen upgrade. Triggers for updating the cached IDL values would include:</div><div><br></div><div>- a change in Evergreen version number as reported by opensrf.open-ils.system.ils_version</div><div>- a change in file modification date reported by an HTTP HEAD request on /reports/fm_IDL.xml<br> </div><div><br></div><div>Parsing /reports/fm_IDL.xml will work, but alternatives to parsing the whole IDL (most of which is presumably irrelevant to the app) is parsing the output of /IDL2js. This can be restricted to only the class of interested, e.g., /IDL2js?acp,au</div><div><br></div><div>Regards,</div><div><br></div><div>Galen<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 11, 2023 at 8:55 AM Josh Stompro via Evergreen-dev <<a href="mailto:evergreen-dev@list.evergreen-ils.org" target="_blank">evergreen-dev@list.evergreen-ils.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello, I was working with Solus on some breakage of their app after our upgrade to 3.11. The issue was related to the fields ordering changing in the results to
<span style="color:rgb(0,0,0);font-size:13px">service=open-ils.auth method=open-ils.auth.session.</span><span style="color:rgb(0,0,0);font-size:13px">retrieve.</span><div><font color="#000000"><br></font></div><div><font color="#000000">When they initially set it up, they just went by the index number of each result, but that changed due to actor.usr changes over the years.</font></div><div><font color="#000000"><br></font></div><div><font color="#000000">I suggested that they could take a look at </font>
<span style="color:rgb(0,0,0);font-size:13px">/reports/fm_IDL.xml for the new ordering, and they quickly setup a system to grab that file every 24 hours and use it to access the fields for api results. I just wanted to double check to see if that is the recommended way to handle things if they have customers with different versions of evergreen? Is there a simpler approach that would be better?</span></div><div><font color="#000000"><br></font></div><div><span style="color:rgb(0,0,0);font-size:13px"></span><font color="#000000">Thanks</font></div><div><font color="#000000">Josh<br clear="all"></font><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><table style="padding:0px;margin:10px 0px;border:medium"><tbody><tr><td style="vertical-align:middle;padding:0px 7px 0px 0px"><img alt="Company logo" height="107" src="https://storage.googleapis.com/signaturesatori/customer-C039u5c5y/images/7DIM6.png" width="125"></td><td style="border-left:3px solid rgb(232,232,232);padding:7px 0px 0px 10px">
<div style="font-family:arial,helvetica,sans-serif;font-size:14px;line-height:17px;font-weight:bold;color:rgb(238,142,22)"><span style="color:rgb(0,0,0)"><strong>Josh Stompro</strong></span></div>
<div style="font-family:arial,helvetica,sans-serif;font-size:12px;line-height:14px;font-weight:normal;color:rgb(0,0,0);margin-bottom:10px">IT Director<br>
<a href="mailto:stomproj@gsuite.larl.org" target="_blank"><span style="color:rgb(27,70,152)">stomproj@gsuite.larl.org</span></a><span style="color:rgb(27,70,152)"> </span>| 218-233-3757 ext. 139<span style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:small;color:rgb(32,33,36)"> </span>| 218-790-2110</div>
<div style="font-family:arial,helvetica,sans-serif;font-size:12px;line-height:14px;color:rgb(0,0,0)"><strong>Lake Agassiz Regional Library </strong></div>
<div style="font-family:arial,helvetica,sans-serif;font-size:12px;line-height:14px;font-weight:normal;color:rgb(0,0,0);margin-bottom:10px">118 5th ST S<br>Moorhead MN 56560<br>
<a href="http://www.larl.org" target="_blank"><span style="color:rgb(27,70,152)">www.larl.org</span></a><br>
<em>Our mission is to enrich lives and strengthen communities.</em></div>
</td></tr></tbody></table>
</div></div></div></div></div>
_______________________________________________<br>
Evergreen-dev mailing list<br>
<a href="mailto:Evergreen-dev@list.evergreen-ils.org" target="_blank">Evergreen-dev@list.evergreen-ils.org</a><br>
<a href="http://list.evergreen-ils.org/cgi-bin/mailman/listinfo/evergreen-dev" rel="noreferrer" target="_blank">http://list.evergreen-ils.org/cgi-bin/mailman/listinfo/evergreen-dev</a><br>
</blockquote></div><br clear="all"><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr">Galen Charlton<br>Implementation and IT Manager<br>Equinox Open Library Initiative<br><a href="mailto:gmc@equinoxOLI.org" target="_blank">gmc@equinoxOLI.org</a><br><a href="https://www.equinoxOLI.org" target="_blank">https://www.equinoxOLI.org</a> <br>phone: 877-OPEN-ILS (673-6457)<br>direct: 770-709-5581<br><a href="http://evergreen-ils.org" target="_blank"></a></div></div>
_______________________________________________<br>
Evergreen-dev mailing list<br>
<a href="mailto:Evergreen-dev@list.evergreen-ils.org" target="_blank">Evergreen-dev@list.evergreen-ils.org</a><br>
<a href="http://list.evergreen-ils.org/cgi-bin/mailman/listinfo/evergreen-dev" rel="noreferrer" target="_blank">http://list.evergreen-ils.org/cgi-bin/mailman/listinfo/evergreen-dev</a><br>
</blockquote></div>