<div dir="ltr">Hi Gerald, <div>great job! Thank you for this.</div><div><br>I have a query, maybe you can clarify it for me, what is the difference between the api[1] that the ogc provides and zoo-project?<br><br>Is the ogc api just the interface or does it also run processes?<br>zoo-project, runs processes but doesn't have a restfull api?<br></div><div><br></div><div>Cheers</div><div>Pablo</div><div><br></div><div>[1] <a href="https://ogcapi.ogc.org/processes/">https://ogcapi.ogc.org/processes/</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El lun., 2 nov. 2020 a las 13:04, Gérald Fenoy (<<a href="mailto:gerald.fenoy@geolabs.fr">gerald.fenoy@geolabs.fr</a>>) escribió:<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 style="overflow-wrap: break-word;">Dear all,<div>I am glad to present some enhancements that has been added lately on the ZOO-Project and especially the addition of a basic User Interface  (UI).</div><div><br></div><div>I made this UI available on this demo server [1], as said it is a really basic UI where one can browse the processes available from the /processes path [2], get detailed informations from the /process/{processId} path (i.e. using OTB.BandMath processId [3]) but also use this same page to produce the JSON Execute request to be sent to the ZOO-Kernel with OGC API - Processes activated.</div><div><br></div><div>Indeed, from this last part of the UI, users have an HTML form that can be used to configure the inputs, the outputs and other parameters to be sent. From this HTML form, complex data can be passed by reference only when literal input can be defined right from the corresponding field. To generated the JSON Execute request, one can<span style="color:rgb(0,0,0)"> click on the « Submit » button. Note that in case you did not define a required input properly, you will be prompted to fill them.</span> </div><div><br></div><div>Also, as we now get the callbacks [4] definition supported by the ZOO-Kernel, the UI is automatically defining a URL for successUri, inProgressUri and failedUri. The consequence is that the ZOO-Kernel will send the current status of the execution of a process to the defined Uris. Also, when one click on the « Submit job » button appearing in the modal, a web socket is used to get the up-to-date information about status of execution of a process. Note that the service implemented to handle this is a very trivial python code [5] using redis and a uuid generated by the ZOO-Kernel to keep track of whom the messages should be targeted to. We implemented the UI this way to illustrate how the callbacks can be used to avoid polling using the OGC API - Processes.</div><div><br></div><div><div style="color:rgb(0,0,0)">The UI uses the Cheetah Tempalte Engine [6] and will require that the display service [7] is installed on your server. Also, to simplify the URLs to access the OGC API - Processes I have added this .htaccess [8] sample to show how to setup the transparent invocation of the display service in case the URL ends with .html. You may notice that the rewrite rules defined in this file use the original URL to create a Xlink:href that is passed as an input to the display Service which is responsible to produce the HTML output. The display service also rely on the Cheetah template [9] which define the way data should be shown in the HTML layout. One more time, this HTML code is very basic and require improvement here and there.</div></div><div style="color:rgb(0,0,0)"><br></div><div style="color:rgb(0,0,0)">Note that, by now, only the document value is acceptable for the response parameter in the JSON Execute request.</div><div style="color:rgb(0,0,0)"><br></div><div style="color:rgb(0,0,0)">I hope you will appreciate the UI. I am more than open to any comment, enhancement request and so on.</div><div style="color:rgb(0,0,0)"><br></div><div style="color:rgb(0,0,0)">I wish you a great day and a great week ahead.</div><div style="color:rgb(0,0,0)"><br></div><div style="color:rgb(0,0,0)">Best regards,</div><div style="color:rgb(0,0,0)"><br></div><div><br></div><div>[1] <a href="https://demo.mapmint.com/ogc-api/index.html" target="_blank">https://demo.mapmint.com/ogc-api/index.html</a></div><div>[2] <a href="https://demo.mapmint.com/ogc-api/processes.html" target="_blank">https://demo.mapmint.com/ogc-api/processes.html</a></div><div>[3] <a href="https://demo.mapmint.com/ogc-api/processes/OTB.BandMath.html" target="_blank">https://demo.mapmint.com/ogc-api/processes/OTB.BandMath.html</a></div><div>[4] <a href="https://swagger.io/docs/specification/callbacks/" target="_blank">https://swagger.io/docs/specification/callbacks/</a></div><div>[5] <a href="http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/server/publish.py" target="_blank">http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/server/publish.py</a></div><div>[6] <span style="color:rgb(0,0,0)"><a href="https://cheetahtemplate.org/" target="_blank">https://cheetahtemplate.org/</a></span></div><div><span style="color:rgb(0,0,0)">[7] </span><font color="#000000"><a href="http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/cgi-env" target="_blank">http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/cgi-env</a></font></div><div><font color="#000000">[8] <a href="http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/server/.htaccess" target="_blank">http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/server/.htaccess</a></font></div><div><font color="#000000">[9] <a href="http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/templates/index.html" target="_blank">http://www.zoo-project.org/trac/browser/trunk/zoo-project/zoo-services/utils/open-api/templates/index.html</a></font></div><br><div>
<div dir="auto" style="color:rgb(0,0,0);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><div>Gerald Fenoy<br>Chair, ZOO-Project PSC</div></div>
</div>
<br></div>_______________________________________________<br>
Zoo-discuss mailing list<br>
<a href="mailto:Zoo-discuss@lists.osgeo.org" target="_blank">Zoo-discuss@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/zoo-discuss" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/zoo-discuss</a></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><table width="100%" border="0" cellspacing="10" cellpadding="0" style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium"><tbody><tr><td></td></tr><tr><td align="left" valign="top" style="padding:10px"><p><font face="Arial, Helvetica, sans-serif" color="#05233d" style="font-size:18px">Pablo J. Zader</font><br><font size="4"><font face="Arial, Helvetica, sans-serif" color="#90a7b5">Lic. en Cs. de la Computación + MSc. en Aplicaciones Espaciales de Alerta y Respuesta Temprana a Emergencias</font><br></font><span style="background-color:rgb(255,255,255)"><font color="#0000ff"><a href="mailto:pablo.zader@gmail.com" target="_blank">pablo.zader@gmail.com</a> <br></font></span></p><p><font face="Arial, Helvetica, sans-serif" color="#05233d" style="font-size:14px">Universidad Nacional de Córdoba</font><br><font face="Arial, Helvetica, sans-serif" color="#416886" style="font-size:12px">Av. Valpáraíso s/n Ciudad Universitaria</font><br><font face="Arial, Helvetica, sans-serif" color="#1b4260" size="-1"></font></p><table border="0" cellspacing="0" cellpadding="15" style="margin-top:10px"><tbody><tr><td style="padding:5px"> <a style="color:rgb(0,153,204)"><img src="http://www.firmasdecorreo.com/media/img-firmas/skype.png" width="24" height="24" alt="skype" border="0"></a> <a href="http://linkedin.com/in/pablo-javier-zader-7a232125" style="color:rgb(0,153,204)" target="_blank"><img src="http://www.firmasdecorreo.com/media/img-firmas/linkedin.png" width="24" height="24" alt="linkedIn" border="0"></a> </td></tr></tbody></table></td></tr></tbody></table></div></div></div></div></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><p style="margin-bottom:0.0001pt;line-height:normal"><i><span style="font-size:10pt;font-family:Arial,sans-serif;color:rgb(106,168,79)">"Los Grandes Hombres hablan sobre ideas...  Los Hombres
Promedio hablan sobre cosas...  Los Hombres Pequeños hablan.. de
otros Hombres.</span></i></p></div></div></div></div></div></div></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><p style="margin-bottom:0.0001pt;line-height:normal"><i><span style="font-size:10pt;font-family:Arial,sans-serif;color:rgb(106,168,79)">del libro Matemática estas ahí? A. Paenza "</span></i></p></div></div></div></div></div></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote></div></div></div></div>