<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Arial Narrow";
        panose-1:2 11 6 6 2 2 2 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Arial Narrow","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Arial Narrow","sans-serif";
        color:windowtext;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</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]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span lang=EN-ZA>Hi<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>My FS is working perfectly on IIS. I have
setup a Postgres layer and successfully loaded it through FS onto an openlayers
map. I have then &#8220;hacked&#8221; the wfs-t example from openlayers to
start working on feature editing. This is what I have so far:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>--------------- JS -----------------------<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>var mainmap = new OpenLayers.Layer.WMS(
&quot;WMS&quot;, &quot;http://localhost/wms/streetmap.asp&quot;,<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>{layers:&nbsp; 'StreetMap'},<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>{'buffer': 0,'isBaseLayer': true,'gutter':
10,'displayInLayerSwitcher':true,'attribution': 'Test'}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>//2. postgis WFS layers (with a different
style than default)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>var wfsGeofence = new
OpenLayers.Layer.WFS(&quot;LocateX Geofence (postgis)&quot;,
&quot;featureserver.cgi/LocateX_Geofence/all.gml&quot;, <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>{maxfeatures: &quot;300&quot;},
{extractAttributes: true, displayInLayerSwitcher: true});<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>wfsGeofence.style = {fillColor:'#FF0000',
fillOpacity: 0.2, strokeColor: &quot;#FF0000&quot;, strokeOpacity: 1,
strokeWidth: 2};<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;wfsGeofence.onFeatureInsert=function(feature)
{ feature.style.strokeColor = &quot;#ff0000&quot;; feature.layer.drawFeature(feature);
}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>//add the layers to the map<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>map.addLayers([wfsGeofence, mainmap]);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>//add map controls<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>map.addControl(new
OpenLayers.Control.Navigation());<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>map.addControl(new
OpenLayers.Control.PanZoomBar());<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>map.addControl(new
OpenLayers.Control.MousePosition());<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>map.addControl(new
OpenLayers.Control.LayerSwitcher());<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;// ###TOOLBARS<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>var&nbsp; zb = new
OpenLayers.Control.ZoomBox({title: &quot;Zoom Box: Selecting it you can zoom on
an area by clicking and draging&quot;});<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>var panel = new
OpenLayers.Control.Panel({div:$('panel'),defaultControl: zb,'displayClass':
'olControlPanel'}); <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>// Add a multi-point polygon drawing tool
tip container <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>var dply = new
OpenLayers.Control.DrawFeature(wfsGeofence,
OpenLayers.Handler.Polygon,{handlerOptions: {'freehand': false},
'displayClass': 'olControlDrawFeaturePolygon'});<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;dply.featureAdded = function(feature)
{<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:36.0pt'><span lang=EN-ZA>feature.state =
OpenLayers.State.INSERT;<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:36.0pt'><span lang=EN-ZA>feature.style['strokeColor']
= &quot;#ff0000&quot;;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; feature.style['fillColor']
= &quot;#ff0000&quot;;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; feature.style['fillOpacity']
= 0.2;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; feature.style['strokeWidth']
= 2;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; feature.style['strokeOpacity']
= 1;<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:36.0pt'><span lang=EN-ZA>feature.layer.drawFeature(feature);<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:36.0pt'><span lang=EN-ZA>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
panel.addControls([ new OpenLayers.Control.ZoomToMaxExtent(),new
OpenLayers.Control.Navigation(), zb,dply ]); <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//add panel to map <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
map.addControl(panel);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>//set map center<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>map.setCenter(new OpenLayers.LonLat(lon,
lat), zoom);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>--------------- JS -----------------------<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>--------------- &nbsp;HTML &nbsp;-----------------------<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&lt;a href=&quot;#&quot;
onclick=&quot;map.layers[0].commit();return false&quot;&gt;Save
Geofence&lt;/a&gt;&lt;br /&gt;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&lt;div id=&quot;panel&quot;
class=&quot;olControlPanel&quot;&gt;&lt;/div&gt;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>&lt;div id=&quot;map&quot;&gt;&lt;/div&gt;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>--------------- &nbsp;HTML &nbsp;-----------------------<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>I add a new feature fine, and can see it. When
I hit the save Geofence link, It just polls until timeout. In firebug I can see
the that it is sending the correct information (I,e the gml of the new feature
I just added)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>Can anyone spot anything obvious that I am
missing. I must add that I have not added the simplejson addon to python yet as
I have not found any windows binaries for it, but I am using gml, so gdal
should handle it (correct???)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>I am really hacking away here, so again pls
ignore my ignorance </span><span lang=EN-ZA style='font-family:Wingdings'>J</span><span
lang=EN-ZA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>Thanks<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA>Andrew<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-ZA><o:p>&nbsp;</o:p></span></p>

</div>

</body>

</html>