<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body>
<p>Hi again Ola,</p>
<p>By seeing the email from David (and previous one from Martin), I
just realize I focused on the "API matter" , and "Plugin matter"
went completely out of my scope :)</p>
<p>I guess you know already but plugins could be a great way to
expand Koha API current capabilities by providing "contrib" routes
(api extensions provided by plugins).</p>
<p>Then, you could use plugin to leverage your developments from the
"hassle" of submitting your changes to the community.</p>
<p>Work done for the plugin could then maybe be reused at a later
time to get integrated to koha with much less effort.</p>
<p>Also about authentication, Koha Api also support "Basic Auth",
which might help you get rid of user having to log in (again?),
given the consumer app holds the koha user password in its data.</p>
<p>Good luck!</p>
<div class="moz-cite-prefix">On 08/09/2020 15:27,
<a class="moz-txt-link-abbreviated" href="mailto:dcook@prosentient.com.au">dcook@prosentient.com.au</a> wrote:<br>
</div>
<blockquote type="cite"
cite="mid:03ea01d685e3$c3446c40$49cd44c0$@prosentient.com.au">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:DengXian;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@DengXian";
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"Segoe UI Light";
panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
span.EmailStyle20
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Hi
again Ola,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Apologies
if my previous email came across as rude or aggressive. That
certainly wasn’t my intention. I can be overly enthusiastic
about technology and overly focus on details. I am very
excited by the work you have in mind.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">I
think that it’s great that the Swedish Koha User Group has
created a task group for creating a Order module/plugin for
Koha. That use case seems like a good candidate for a Koha
plugin. I do have critical feedback for the proposed design,
but one of the advantages of Koha plugins is that it is easy
to iteratively develop them. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Actually,
I also have a few more questions. You mention that you
haven’t hired a contractor yet, but you’ve proposed a
particular design. I’m guessing that design is coming from
the Vendor? I wonder if it would be worthwhile having that
vendor get in touch with us. I suspect that the Koha
community would be able to give the best advice if we knew
more about the Vendor service. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Going
back to the proposed design, if I understand correctly, I
think you may run into issues doing the HTTP POST with the
base64 encoded JSON data to Koha when unauthenticated, as
the user will be prompted with a login screen that will
perform another HTTP request to Koha, which means your
“order” field will be lost. But maybe I’m missing something.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Thanks
for posting to the listserv, and looking forward to hearing
more.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">David
Cook<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Software
Engineer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Prosentient
Systems<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">72/330
Wattle St<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Ultimo,
NSW 2007<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Australia<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Office:
02 9212 0899<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Online:
02 8005 0595<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span
style="mso-fareast-language:ZH-CN" lang="EN-US">From:</span></b><span
style="mso-fareast-language:ZH-CN" lang="EN-US">
Koha-devel
<a class="moz-txt-link-rfc2396E" href="mailto:koha-devel-bounces@lists.koha-community.org"><koha-devel-bounces@lists.koha-community.org></a> <b>On
Behalf Of </b><a class="moz-txt-link-abbreviated" href="mailto:dcook@prosentient.com.au">dcook@prosentient.com.au</a><br>
<b>Sent:</b> Tuesday, 8 September 2020 11:44 AM<br>
<b>To:</b> 'Ola Andersson' <a class="moz-txt-link-rfc2396E" href="mailto:ola.andersson@ltu.se"><ola.andersson@ltu.se></a>;
<a class="moz-txt-link-abbreviated" href="mailto:koha-devel@lists.koha-community.org">koha-devel@lists.koha-community.org</a><br>
<b>Subject:</b> Re: [Koha-devel] Review on Koha Order
Module/plugin API<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Hi
Ola,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">I’ve
only skimmed the document, but I really dislike the
proposal. It’s not really describing an API. It’s describing
a non-standard workaround. I’ve seen integrations like this
before, but I wouldn’t recommend them, especially not for a
new development.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">I’d
suggest that the Koha plugin provides an API where the
Vendor Service can send the JSON in the body of a background
POST request using AJAX. Once that POST request is complete,
they could then offer a link to navigate to Koha. That link
would be to the Koha plugin and include an identifier
returned by the earlier AJAX POST request. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">In
Koha, the user logs in and sees the Vendor Service order as
shown by the Koha plugin, and then you can action that order
from there however you like. Easy.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">You
would need to provide authentication credentials to the
Vendor Service, but that’s a reasonable thing to do when
consuming an API. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">I
hope that helps.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">David
Cook<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Software
Engineer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Prosentient
Systems<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">72/330
Wattle St<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Ultimo,
NSW 2007<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Australia<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Office:
02 9212 0899<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN">Online:
02 8005 0595<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="mso-fareast-language:ZH-CN"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span
style="mso-fareast-language:ZH-CN" lang="EN-US">From:</span></b><span
style="mso-fareast-language:ZH-CN" lang="EN-US">
Koha-devel <<a
href="mailto:koha-devel-bounces@lists.koha-community.org"
moz-do-not-send="true">koha-devel-bounces@lists.koha-community.org</a>>
<b>On Behalf Of </b>Ola Andersson<br>
<b>Sent:</b> Tuesday, 8 September 2020 12:41 AM<br>
<b>To:</b> <a
href="mailto:koha-devel@lists.koha-community.org"
moz-do-not-send="true">koha-devel@lists.koha-community.org</a><br>
<b>Subject:</b> [Koha-devel] Review on Koha Order
Module/plugin API<br>
<b>Importance:</b> High<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif" lang="EN-GB">Dear <span
style="color:black">Koha Developers</span>,<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif" lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif" lang="EN-GB">Here in Sweden we have
started a <span style="color:black">task group</span> in
the Swedish Koha User Group to build a Order module/plugin
to Koha that allow automatic influx of order data directly
from a book vendor into Koha. <o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif" lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif" lang="EN-GB">The API<span
style="color:black"> draft</span> is described here: </span><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif" lang="SV"><a
href="https://docs.google.com/document/d/13EIWxTlN3Wo-8OtJuwu5serQu-dl-zdpK1qY5BNs0dk/edit#heading=h.jtxo4681sgpr"
moz-do-not-send="true"><span lang="EN-GB">https://docs.google.com/document/d/13EIWxTlN3Wo-8OtJuwu5serQu-dl-zdpK1qY5BNs0dk/edit#heading=h.jtxo4681sgpr</span></a></span><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif" lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif" lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif" lang="EN-GB">We have had it posted
for review in the Swedish user group – but <span
style="color:black">we</span> <span style="color:black">are</span>
thinking it would be valuable to get the larger Koha
community to give feedback before we hire contractors to
build the module/plugin.<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif" lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif" lang="EN-GB">Please<span
style="color:black"> </span>share thoughts <span
style="color:black">on </span>the <span
style="color:black">API and how to best implement it in
Koha from a developer/QA perspective. All comments are
appreciated and </span>anyone looking at the Google docs
above can send comments/suggestions into the document.<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif;color:black" lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif;color:black" lang="EN-GB">When the
API is becoming more stable and comments have been looked at
we could move it into the Koha wiki site.<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif;color:black" lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif;color:black" lang="EN-GB">Please
leave comments before 21 September 2020.<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif;color:black" lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:14.0pt;font-family:"Segoe UI
Light",sans-serif;color:black" lang="EN-GB">/Swedish
Koha User Group – the book vendor module/plugin task group<o:p></o:p></span></p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
Koha-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Koha-devel@lists.koha-community.org">Koha-devel@lists.koha-community.org</a>
<a class="moz-txt-link-freetext" href="https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel">https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel</a>
website : <a class="moz-txt-link-freetext" href="http://www.koha-community.org/">http://www.koha-community.org/</a>
git : <a class="moz-txt-link-freetext" href="http://git.koha-community.org/">http://git.koha-community.org/</a>
bugs : <a class="moz-txt-link-freetext" href="http://bugs.koha-community.org/">http://bugs.koha-community.org/</a>
</pre>
</blockquote>
</body>
</html>