<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>