<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><p class="">Hi all, an update</p><div class=""># GeoNode with QGIS backend</div><div class=""><br class=""></div><div class="">Our work is in our GeoNode fork at [1]. Right now we are integrating the QGIS backend repo at [2] into our GeoNode fork, so the latter will soon disappear as a separate repo. The end result will be that when you install GeoNode you will be able to choose either the GeoServer or the  QGIS backend. </div><div class=""><br class=""></div><div class="">Why a QGIS backend? Let’s look at this from a GeoNode architecture perspective. GeoServer has been tightly integrated into GeoNode from the beginning. Hopefully you will agree that it is a design improvement to make GeoNode and GeoServer more loosely coupled, i.e. to separate Django and GeoServer without affecting any GeoNode functionality, by means of abstracting and improving the backend API. For one, this would remove the dependency of GeoNode on a specific or customised version of GeoServer.   Once that backend abstraction is in place, GeoNode then also has the flexibility of using alternative backends, which different user communities might require for various reasons.  In our case we needed a QGIS backed primarily so we could integrate InaSAFE, which is a QGIS plugin, into GeoNode (see GeoSAFE description below). A QGIS backend also has other benefits, such as the ability to use QGIS (qml) styles.</div><div class=""><br class=""></div><div class=""># QGIS GeoNode client</div><div class=""><br class=""></div><div class="">We have made some progress on a GeoNode client in core QGIS. It will eventually enable rich interaction with GeoNode metadata, layers, maps and styles. </div><div class=""><br class=""></div><div class="">The work happening on this is at [6].</div><div class=""><br class=""></div><div class=""># GeoSAFE</div><div class=""><br class=""></div><div class="">GeoSAFE is the current name of the project to provide a web interface to InaSAFE [4]. It is a Django app that adds some of the user functionality that is available in the QGIS desktop with InaSAFE, into GeoNode. </div><div class=""><br class=""></div><div class="">An outline of how GeoSAFE works:</div><div class="">- user: upload hazard and exposure layers to the GeoNode instance or fetch them from remote online sources through a metadata search. </div><div class="">- user: set up and run an analysis in the GeoSAFE view</div><div class="">- system: send the layers and analysis configuration to headless QGIS server backend running InaSAFE plugin</div><div class="">- system: QGIS backend with InaSAFE runs the analysis and generates output layers and reports</div><div class="">- system: publishes output layers and reports in GeoNode</div><div class="">- user: views output layers and reports. </div><div class=""><br class=""></div><div class="">Our GeoSAFE work is at [3]</div><p class=""># Staging server</p><p class="">The project staging server [5] will mostly be running the develop branches of GeoNode with QGIS backend and GeoSAFE, updated from time to time. </p><div class="">We’d welcome any questions, comments or contributions!</div></div><div class=""><br class=""></div><div class="">Regards</div><div class=""><br class=""></div><div class="">Gavin</div><div class=""><br class=""></div><div class="">[1] <a href="https://github.com/kartoza/geonode" class="">https://github.com/kartoza/geonode</a></div><div class="">[2] <a href="https://github.com/kartoza/geonode_qgis_server" class="">https://github.com/kartoza/geonode_qgis_server</a></div><div class="">[3] <a href="https://github.com/kartoza/geosafe" class="">https://github.com/kartoza/geosafe</a> </div><div class="">[4] <a href="http://inasafe.org" class="">http://inasafe.org</a> </div><div class="">[5] <a href="http://staging.geonode.kartoza.com" class="">http://staging.geonode.kartoza.com</a></div><div class="">[6] <a href="https://github.com/kartoza/QGIS" class="">https://github.com/kartoza/QGIS</a> </div><div class=""><br class=""></div><div class=""><br class=""></div><br class=""><div><blockquote type="cite" class=""><div class="">On 18 Jan 2017, at 15:40, Gavin Fleming <<a href="mailto:gavin@kartoza.com" class="">gavin@kartoza.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
  

    <meta http-equiv="content-type" content="text/html; charset=utf-8" class="">
  
  <div bgcolor="#FFFFFF" text="#000000" class=""><p class="">Hi all</p><p class="">I'm Gavin Fleming from Kartoza. I'm a long-time Geonode user but
      am joining this list as I'm going to be managing a component of
      the World Bank project that Kartoza has been working on for a
      while now under the direction of Tim Sutton. The goal is to build
      up the QGIS Server backend and QGIS Documentation to the point
      that they are rock solid, scalable and well integrated.</p><p class="">From now for six months our brief includes the following:</p><p class="">- Geonode architecture development to improve QGIS and GeoSAFE
      integration</p><p class="">- improved metadata management within and between QGIS and
      Geonode</p><p class="">- improved data upload and retrieval capability in Geonode to
      support import to and export from QGIS<br class="">
    </p><p class=""> - developing common style, layer, map and project idioms between
      Geonode and QGIS to enable simple sharing and management of these
      elements <br class="">
    </p>
    - extending and strengthening the Geonode/ QGIS/ GeoSAFE devops
    ecosystem for simple, robust, scalable deployment. <br class="">
    <br class="">
    If you'd like more details or to start a discussion around any one
    of these please do so in separate threads. <br class="">
    <br class="">
    We will also keep the community in the loop as we progress and will
    contribute to Geonode GitHub Issues and GNIPs where appropriate. <br class="">
    <br class="">
    regards<br class="">
    <br class="">
    Gavin
    <div class="moz-signature">-- <br class="">
      <div style="text-align:center" class="">
------------------------------------------------------------------------------------------</div>
      <div style="text-align:center" class=""><img src="http://kartoza.com/media/uploads/kartozanewlogothumbnail.jpg" moz-do-not-send="true" height="118" width="150" class=""></div>
      <div style="text-align:center" class="">Gavin Fleming - Joint MD - PrGISc
        [PGP1234]</div>
      <div style="text-align:center" class=""><span style="text-align:start" class="">Visit
        </span><a href="http://kartoza.com/" style="text-align:start" target="_blank" class="">http://kartoza.com</a><span style="text-align:start" class=""> to find out about open source:</span><br style="text-align:start" class="">
        <span style="text-align:start" class=""> * Desktop GIS programming
          services</span><br style="text-align:start" class="">
        <span style="text-align:start" class=""> * Geospatial web development</span></div>
      <div style="text-align:center" class=""><span style="text-align:start" class="">*
          GIS Training</span></div>
      <div style="text-align:center" class=""><span style="text-align:start" class="">*
          Consulting Services</span></div>
      <div style="text-align:center" class="">
        <div class="">Skype: phlemingo</div>
        <div class="">Office: +27(0)878092702</div>
        <a href="http://w3w.co/grouping.united.inviting" target="_blank" class=""><img src="http://what3words.com/calls/embed/text/grouping.united.inviting/dark" moz-do-not-send="true" height="20" class=""></a>
        <div style="text-align:start" class="">
          <div style="text-align:center" class="">-------------------------------------------------------------------------------------------</div>
          <div style="text-align:center" class=""><span style="text-align:start" class="">Kartoza
              = Linfiniti ∪ Afrispatial</span></div>
        </div>
      </div>
    </div>
  </div>

</div></blockquote></div><br class=""></body></html>