<div dir="ltr">I'm starting this out at the PSC level before expanding to -users. If we go to look at a broader audience then I'd like to have one or maybe two direction ideas to get feedback on rather than a general concept. Which is why I wanted to start with the smaller audience of the PSC in order to get a feel for what people think we can and should do.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Apr 15, 2020 at 8:08 AM Brian Fischer <<a href="mailto:bfischer@houstoneng.com">bfischer@houstoneng.com</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 bgcolor="white" lang="EN-US">
<div class="gmail-m_-1422604287004015831WordSection1">
<p class="MsoNormal"><span style="color:windowtext">Good Morning,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:windowtext"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:windowtext">I haven’t run across a use case yet needing editing in GeoMoose.  My general sense is with the ease of setting up PostGIS, AGOL, ESRI Enterprise Geodatabase most are using one of those options on the backend. 
 From my own work I have been typically seeing one of two ways to do editing from a web app.  Leaflet with a custom API to write to a database or AGOL app writing to ESRI feature services thru REST API.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:windowtext"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:windowtext">This is just my two cents but agree with Jim it would be interesting to see what the broader audience thinks. Although I would worry they might not understand all of the work it would take to implement something
 like this and just say yes they want it.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:windowtext"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:windowtext">Brian<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:windowtext"><u></u> <u></u></span></p>

<table style="height:150px;width:427px" width="427" cellspacing="0" cellpadding="0" border="0">
  <tbody>
  <tr>
    <td style="font-size:10pt;font-family:Calibri;background:rgb(62,93,12) none repeat scroll 0% 0%;padding-bottom:5px" width="14" valign="bottom">  </td>
    <td style="font-size:10pt;font-family:Calibri;border-bottom:2px solid rgb(62,93,8);padding-bottom:5px;padding-left:10px" colspan="2"><span style="font-size:11pt;font-family:Calibri"><strong style="font-family:Calibri">Brian Fischer 
      </strong></span><br><span style="font-size:9.5pt">Project Manager - GIS  |  Vice President<br>Houston 
      Engineering, Inc. <br><strong style="font-size:9.5pt;font-family:Calibri;color:rgb(62,93,12)">O</strong> 763.493.4522 
      | <span style="font-size:9.5pt;font-family:Calibri;color:rgb(62,93,12)"><strong style="font-size:9.5pt;font-family:Calibri">D</strong></span> 763.493.6664 
      | <span style="font-size:9.5pt;font-family:Calibri;color:rgb(106,130,62)"><strong style="font-size:9.5pt;font-family:Calibri">C </strong><span style="font-size:9.5pt;font-family:Calibri;color:rgb(0,0,0)">763.229.2734</span></span></span></td></tr>
  <tr style="height:21.95pt">
    <td style="padding-bottom:5px;padding-top:5px;background-color:rgb(138,188,193)" width="14" valign="top">  </td>
    <td style="padding-bottom:5px;padding-top:5px;padding-left:10px" width="46"><img style="height: 32px; width: 31px;" src="cid:1717df7496386b5972c1" width="31" height="32" border="0"></td>
    <td style="font-size:9.5pt;font-family:Calibri;padding-bottom:5px;padding-top:5px" width="264">7550 Meridian Circle North, Suite 120<br>Maple Grove, MN • 55369 
    </td></tr>
  <tr style="height:13.95pt">
    <td style="font-size:9.5pt;font-family:Calibri" colspan="3" width="324"><a style="font-size:9.5pt;font-family:Calibri" href="http://www.houstoneng.com/" target="_blank"><b style="font-size:9.5pt;font-family:Calibri"><span style="font-size:9.5pt;font-family:Calibri;line-height:115%">www.houstoneng.com</span></b></a><b style="font-size:9.5pt;font-family:Calibri"><span style="font-size:9.5pt;font-family:Calibri;color:rgb(31,73,125);line-height:115%"> </span></b></td></tr>
  <tr>
    <td style="font-size:9.5pt;font-family:Calibri;padding-left:10px" colspan="3"><span style="font-size:9.5pt;font-family:Calibri">Follow us: </span><a style="font-size:9.5pt;font-family:Calibri" href="https://www.facebook.com/houstoneng" target="_blank"><span style="font-size:9.5pt;font-family:Calibri">Facebook</span></a><span style="font-size:9.5pt;font-family:Calibri"> | </span><a style="font-size:9.5pt;font-family:Calibri" href="https://twitter.com/houstoneng" target="_blank"><span style="font-size:9.5pt;font-family:Calibri">Twitter</span></a><span style="font-size:9.5pt;font-family:Calibri"> | </span><a style="font-size:9.5pt;font-family:Calibri" href="https://www.linkedin.com/company/houston-engineering-inc." target="_blank"><span style="font-size:9.5pt;font-family:Calibri">LinkedIn</span></a><span style="font-size:9.5pt;font-family:Calibri"> | </span><a style="font-size:9.5pt;font-family:Calibri" href="https://www.youtube.com/user/HoustonEngInc" target="_blank"><span style="font-size:9.5pt;font-family:Calibri">YouTube</span></a> 
  </td></tr></tbody></table>
<p><span style="font-size:8pt;font-family:Calibri;color:rgb(146,147,148)">This entire message 
(including all forwards and replies) and any attachments are for the sole use of 
the intended recipient(s) and may contain proprietary, confidential, trade 
secret, work-product, attorney-client or privileged information. Any 
unauthorized review, use, disclosure or distribution is prohibited and may be a 
violation of law. If you are not the intended recipient, please contact the 
sender by reply email and destroy all copies of the original message.</span></p>
<p class="MsoNormal" style="font-size:10pt;font-family:Arial"> </p>
<p class="MsoNormal" style="font-size:10pt;font-family:Arial"> </p>
<p class="MsoNormal" style="font-size:10pt;font-family:Arial"> </p>
<div></div><div>
<div style="border-color:rgb(225,225,225) currentcolor currentcolor;border-style:solid none none;border-width:1pt medium medium;padding:3pt 0in 0in">
<p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span style="color:windowtext"> geomoose-psc <<a href="mailto:geomoose-psc-bounces@lists.osgeo.org" target="_blank">geomoose-psc-bounces@lists.osgeo.org</a>>
<b>On Behalf Of </b>Jim Klassen<br>
<b>Sent:</b> Tuesday, April 14, 2020 11:51 PM<br>
<b>To:</b> <a href="mailto:geomoose-psc@lists.osgeo.org" target="_blank">geomoose-psc@lists.osgeo.org</a><br>
<b>Subject:</b> Re: [geomoose-psc] Layer Events and Editing<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal"><strong><span style="font-size:9pt;font-family:"Helvetica",sans-serif">[External Email]</span></strong><span style="font-size:9pt;font-family:"Helvetica",sans-serif"><u></u><u></u></span></p>
<div class="MsoNormal" style="text-align:center" align="center">
<hr width="100%" size="2" align="center">
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12pt">It might be worthwhile to ask this question to the broader audience on geomoose-users.<br>
<br>
I personally don't have any answers.  I never got into GeoMoose for editing because while the 2.x editor worked enough as a generic editor, I couldn't come up with a good way to handle the business rules/constraints required to maintain integrity in my production
 datasets.  I found dealing in a user friendly way with issues such as concurrent editors/conflicting edits, relationships with other tables, and/or with enforcing topology required either very careful table structure (which isn't always possible due to compatibility
 with other systems) or a more special case editor that was more aware of the specific data structure.  The other option of just having the database reject the change without giving the user real time feedback about if their edit was valid or even a good way
 to send a message back afterwards about why an edit was rejected is just a recipe for frustrated users.  This isn't a GeoMoose only problem though, many GIS editing packages have the same faults where they make many assumptions that aren't generally true of
 relational databases.<br>
<br>
The closest I got to something was using it as a generic way to record comments/markup on the map to alert someone that a dataset might need to be updated (as opposed to directly editing the underlying dataset).<br>
<br>
The other thing I'd like to point out is GeoMoose 3.x does have an editor of sorts.  A user can download a layer (the Drawing and Markup layer in the demo, but should be configurable with other vector layers too) as KML or GeoJSON.  They can also upload that
 KML/GeoJSON back into GeoMoose.  It just saves the changes to the client instead of back to the web server.  I would guess an easy path for us would be to extend this to GET/PUT GeoJSON from/to a URL (and leave it up to the web server what it does with it). 
 An existing server implementation that could potentially work with this is CouchDB [1] which is also supported by GDAL/OGR for reading and writing [2].  However, a minimal useful subset of that is a pretty standard REST style API which should be easy to implement
 in several languages/server architectures.<br>
<br>
[1] <a href="http://damonoehlman.github.io/talk-spatial-couch-intro/-/#slide-0" target="_blank">http://damonoehlman.github.io/talk-spatial-couch-intro/-/#slide-0</a><br>
[2] <a href="https://gdal.org/drivers/vector/couchdb.html#vector-couchdb" target="_blank">https://gdal.org/drivers/vector/couchdb.html#vector-couchdb</a><u></u><u></u></p>
<div>
<p class="MsoNormal">On 4/14/20 10:19 PM, Dan Little wrote:<u></u><u></u></p>
</div>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<div>
<div>
<p class="MsoNormal">Hey Folks!<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Some of you may follow the shenanigans of the development team on GitHub but I know not everyone does! We've been working through a lot of great improvements in the last two months and as that work has evolved I've been thinking about the
 state of editing.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">1. Unlike GeoMoose 2.X, 3.X did not include any out of the box editing capability. GM2.X used a subset of WFS-T in combination with either TinyOWS or GeoServer. The each had their quirks but it did, for the most part, work.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">2. There's not been a priority put on editing in GM3. That's been for a few reasons:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">  A. There hasn't been a lot of dedicated funding for such. The bulk of GeoMoose development is done under two situations: volunteer and sponsored. There hasn't been a sponsored version of the development and none of the develoeprs uses
 GeoMoose for editing.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">  B. The state of current servers isn't great. GeoServer is actively developed but it's a lot to install and manage to simply be the WFS-T server. You could use GeoServer to serve all the WMS services as well but it's not an ask we've been
 willing to put on users. TinyOWS has not had a commit or a dedicated maintainer in a very long time. It's hard to recommend something that does not have a known amount of support.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> C. "Rolling our own" has always been an idea but that's fraught with potential maintenance disasters as well. Other services have their own API's for editing but targeting a single API as the basis for editing support in GeoMoose breaks
 our goal of being flexible and standards compliant.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">  D. WFS-T, the actual standard, can be cumbersome. Like many standards WFS-T is pretty feature-complete. It handles all geometry-types, honours property data-types, all the fun of editing state, projections, and the rest of the nitty-gritty.
 But all of that is usually overkill when you just want to share a layer between a few GeoMoose users.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I'm interested in hearing feedback. Who really had done what? What are the actual needs?<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><br>
<br>
<u></u><u></u></p>
<pre>_______________________________________________<u></u><u></u></pre>
<pre>geomoose-psc mailing list<u></u><u></u></pre>
<pre><a href="mailto:geomoose-psc@lists.osgeo.org" target="_blank">geomoose-psc@lists.osgeo.org</a><u></u><u></u></pre>
<pre><a href="https://lists.osgeo.org/mailman/listinfo/geomoose-psc" target="_blank">https://lists.osgeo.org/mailman/listinfo/geomoose-psc</a><u></u><u></u></pre>
</blockquote>
<p class="MsoNormal"><u></u> <u></u></p>
</div>


</div>
_______________________________________________<br>
geomoose-psc mailing list<br>
<a href="mailto:geomoose-psc@lists.osgeo.org" target="_blank">geomoose-psc@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/geomoose-psc" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/geomoose-psc</a></blockquote></div>