Stumbling across this while evaluating OpenStreetMap.org integration with OFBiz in a customer project.

This still does not work. If I see it right, the cause are wrong image paths pointing to the outdated framework image folders instead of the theme folders.

Am 23.11.17 um 08:16 schrieb jler...@apache.org:
Author: jleroux
Date: Thu Nov 23 07:16:25 2017
New Revision: 1816105

URL: http://svn.apache.org/viewvc?rev=1816105&view=rev
Log:
Fixed: OpenStreetMap geolocation no longer works
(OFBIZ-)

Easily checked at
//demo-trunk.ofbiz.apache.org/example/control/ExampleOsmGeoLocationPointSet1

It "works" but OpenStreetMap images are not showing. Locally there are no errors
in log. So hopefully it could be just an OpenStreetMap needed setting change.

Since Pierre said it worked, I searched the reason.

Turned it out it was a CSP exception in my main browser (FF) due to a setting
I'm not sure about. But anyway there are CSP errors reported in browsers tools
console.

I tried to use OpenLayers-4.5.0.js but it did not work as is.

I then tried in GeoLocation.ftl to follow the officially way to use the
Official OSM tileset as protocol-independent URLs

-        map.addLayer(new OpenLayers.Layer.OSM());
+        <#-- Official OSM tileset as protocol-independent URLs -->
+        <#noparse>
+        map.addLayer(new OpenLayers.Layer.OSM(['
//a.tile.openstreetmap.org/${z}/${x}/${y}.png',
'//b.tile.openstreetmap.org/${z}/${x}/${y}.png',
'//c.tile.openstreetmap.org/${z}/${x}/${y}.png']));
+        </#noparse>

But for a reason I did not get it did not work either.

Out of desperation this fixes it by using a modified
OpenLayers-2.13.1-modified-for-CSP-.js lib

Thanks: Pierre Smits for initially saying it was working in Safari

Added:
     
ofbiz/ofbiz-framework/trunk/themes/common/webapp/images/OpenLayers-2.13.1-modified-for-CSP-.js
       - copied, changed from r1816103, 
ofbiz/ofbiz-framework/trunk/themes/common/webapp/images/OpenLayers-2.13.1.js
Removed:
     
ofbiz/ofbiz-framework/trunk/themes/common/webapp/images/OpenLayers-2.13.1.js
Modified:
     ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml
     ofbiz/ofbiz-framework/trunk/themes/common/widget/Theme.xml

Copied: 
ofbiz/ofbiz-framework/trunk/themes/common/webapp/images/OpenLayers-2.13.1-modified-for-CSP-.js
 (from r1816103, 
ofbiz/ofbiz-framework/trunk/themes/common/webapp/images/OpenLayers-2.13.1.js)
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common/webapp/images/OpenLayers-2.13.1-modified-for-CSP-.js?p2=ofbiz/ofbiz-framework/trunk/themes/common/webapp/images/OpenLayers-2.13.1-modified-for-CSP-.js&p1=ofbiz/ofbiz-framework/trunk/themes/common/webapp/images/OpenLayers-2.13.1.js&r1=1816103&r2=1816105&rev=1816105&view=diff
==============================================================================
--- 
ofbiz/ofbiz-framework/trunk/themes/common/webapp/images/OpenLayers-2.13.1.js 
(original)
+++ 
ofbiz/ofbiz-framework/trunk/themes/common/webapp/images/OpenLayers-2.13.1-modified-for-CSP-.js
 Thu Nov 23 07:16:25 2017
@@ -606,7 +606,7 @@ b.id));a.appendChild(c);c=this.createEle
  
h=d.getAttribute("owsURL")):""!=d.getAttribute("wfs")?(g="WFS",h=d.getAttribute("wfs")):""!=d.getAttribute("wcs")&&(g="WCS",h=d.getAttribute("wcs"));d=d.getElementsByTagName("Query");0<d.length&&((k=d[0].getAttribute("typeName"))||(k=d[0].getAttribute("typename")));d={layerName:e,owsType:g,owsURL:h,typeName:k};c.layerDescriptions.push(d);c.length=c.layerDescriptions.length;c[c.length-1]=d}else
 if("ServiceException"==e)return{error:(new OpenLayers.Format.OGCExceptionReport).read(a)};return c},CLASS_NAME:"OpenLayers.Format.WMSDescribeLayer.v1_1_1"});
  
OpenLayers.Format.WMSDescribeLayer.v1_1_0=OpenLayers.Format.WMSDescribeLayer.v1_1_1;OpenLayers.Layer.XYZ=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:!0,sphericalMercator:!1,zoomOffset:0,serverResolutions:null,initialize:function(a,b,c){if(c&&c.sphericalMercator||this.sphericalMercator)c=OpenLayers.Util.extend({projection:"EPSG:900913",numZoomLevels:19},c);OpenLayers.Layer.Grid.prototype.initialize.apply(this,[a||this.name,b||this.url,{},c])},clone:function(a){null==a&&(a=new
 OpenLayers.Layer.XYZ(this.name,this.url,this.getOptions()));return 
a=OpenLayers.Layer.Grid.prototype.clone.apply(this,
  [a])},getURL:function(a){a=this.getXYZ(a);var 
b=this.url;OpenLayers.Util.isArray(b)&&(b=this.selectUrl(""+a.x+a.y+a.z,b));return
 OpenLayers.String.format(b,a)},getXYZ:function(a){var 
b=this.getServerResolution(),c=Math.round((a.left-this.maxExtent.left)/(b*this.tileSize.w));a=Math.round((this.maxExtent.top-a.top)/(b*this.tileSize.h));b=this.getServerZoom();if(this.wrapDateLine)var
 
d=Math.pow(2,b),c=(c%d+d)%d;return{x:c,y:a,z:b}},setMap:function(a){OpenLayers.Layer.Grid.prototype.setMap.apply(this,
-arguments);this.tileOrigin||(this.tileOrigin=new 
OpenLayers.LonLat(this.maxExtent.left,this.maxExtent.bottom))},CLASS_NAME:"OpenLayers.Layer.XYZ"});OpenLayers.Layer.OSM=OpenLayers.Class(OpenLayers.Layer.XYZ,{name:"OpenStreetMap",url:["http://a.tile.openstreetmap.org/${z}/${x}/${y}.png","http://b.tile.openstreetmap.org/${z}/${x}/${y}.png","http://c.tile.openstreetmap.org/${z}/${x}/${y}.png"],attribution:"&copy;
 <a href='http://www.openstreetmap.org/copyright'>OpenStreetMap</a> 
contributors",sphericalMercator:!0,wrapDateLine:!0,tileOptions:null,initialize:function(a,b,c){OpenLayers.Layer.XYZ.prototype.initialize.apply(this,arguments);this.tileOptions=
+arguments);this.tileOrigin||(this.tileOrigin=new 
OpenLayers.LonLat(this.maxExtent.left,this.maxExtent.bottom))},CLASS_NAME:"OpenLayers.Layer.XYZ"});OpenLayers.Layer.OSM=OpenLayers.Class(OpenLayers.Layer.XYZ,{name:"OpenStreetMap",url:["//a.tile.openstreetmap.org/${z}/${x}/${y}.png","//b.tile.openstreetmap.org/${z}/${x}/${y}.png","//c.tile.openstreetmap.org/${z}/${x}/${y}.png"],attribution:"&copy;
 <a href='http://www.openstreetmap.org/copyright'>OpenStreetMap</a> 
contributors",sphericalMercator:!0,wrapDateLine:!0,tileOptions:null,initialize:function(a,b,c){OpenLayers.Layer.XYZ.prototype.initialize.apply(this,arguments);this.tileOptions=
  
OpenLayers.Util.extend({crossOriginKeyword:"anonymous"},this.options&&this.options.tileOptions)},clone:function(a){null==a&&(a=new
 OpenLayers.Layer.OSM(this.name,this.url,this.getOptions()));return 
a=OpenLayers.Layer.XYZ.prototype.clone.apply(this,[a])},CLASS_NAME:"OpenLayers.Layer.OSM"});OpenLayers.Renderer=OpenLayers.Class({container:null,root:null,extent:null,locked:!1,size:null,resolution:null,map:null,featureDx:0,initialize:function(a,b){this.container=OpenLayers.Util.getElement(a);OpenLayers.Util.extend(this,b)},destroy:function(){this.map=this.resolution=this.size=this.extent=this.container=null},supported:function(){return!1},setExtent:function(a,b){this.extent=a.clone();if(this.map.baseLayer&&this.map.baseLayer.wrapDateLine){var
 c=a.getWidth()/this.map.getExtent().getWidth();
  
a=a.scale(1/c);this.extent=a.wrapDateLine(this.map.getMaxExtent()).scale(c)}b&&(this.resolution=null);return!0},setSize:function(a){this.size=a.clone();this.resolution=null},getResolution:function(){return
 
this.resolution=this.resolution||this.map.getResolution()},drawFeature:function(a,b){null==b&&(b=a.style);if(a.geometry){var
 c=a.geometry.getBounds();if(c){var 
d;this.map.baseLayer&&this.map.baseLayer.wrapDateLine&&(d=this.map.getMaxExtent());c.intersectsBounds(this.extent,{worldBounds:d})?this.calculateFeatureDx(c,
  
d):b={display:"none"};c=this.drawGeometry(a.geometry,b,a.id);if("none"!=b.display&&b.label&&!1!==c){d=a.geometry.getCentroid();if(b.labelXOffset||b.labelYOffset){var
 
e=isNaN(b.labelXOffset)?0:b.labelXOffset,f=isNaN(b.labelYOffset)?0:b.labelYOffset,g=this.getResolution();d.move(e*g,f*g)}this.drawText(a.id,b,d)}else
 this.removeText(a.id);return c}}},calculateFeatureDx:function(a,b){this.featureDx=0;if(b){var 
c=b.getWidth();this.featureDx=Math.round(((a.left+a.right)/2-(this.extent.left+this.extent.right)/

Modified: ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml?rev=1816105&r1=1816104&r2=1816105&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml 
(original)
+++ ofbiz/ofbiz-framework/trunk/themes/common/widget/CommonScreens.xml Thu Nov 
23 07:16:25 2017
@@ -442,7 +442,7 @@ under the License.
                      <!-- jQuery CSSs -->
                  <set field="layoutSettings.styleSheets[+0]" 
value="/common/js/jquery/plugins/asmselect/jquery.asmselect-1.0.4a-beta.css" global="true"/>
- <set field="layoutSettings.javaScripts[]" value="/images/OpenLayers-2.13.1.js" global="true" />
+                <set field="layoutSettings.javaScripts[]" 
value="/images/OpenLayers-2.13.1-modified-for-CSP-.js" global="true" />
                  <set field="layoutSettings.javaScripts[]" 
value="/common/js/util/OfbizUtil.js" global="true"/>
                  <set field="layoutSettings.javaScripts[]" 
value="/common/js/util/fieldlookup.js" global="true"/>
                  <!-- The default (global) shortcut icon -->

Modified: ofbiz/ofbiz-framework/trunk/themes/common/widget/Theme.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common/widget/Theme.xml?rev=1816105&r1=1816104&r2=1816105&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/themes/common/widget/Theme.xml (original)
+++ ofbiz/ofbiz-framework/trunk/themes/common/widget/Theme.xml Thu Nov 23 
07:16:25 2017
@@ -67,7 +67,7 @@ under the License.
          <property name="VT_HDR_JAVASCRIPT['add']" 
value="/common/js/jquery/plugins/jquery.maskedinput-1.3.1.min.js"/>
          <property name="VT_HDR_JAVASCRIPT['add']" 
value="/common/js/jquery/plugins/jeditable/jquery.jeditable.js"/>
          <property name="VT_HDR_JAVASCRIPT['add']" 
value="/common/js/jquery/plugins/validate/jquery.validate.min.js"/>
-        <property name="VT_HDR_JAVASCRIPT['add']" 
value="/images/OpenLayers-2.13.1.js"/>
+        <property name="VT_HDR_JAVASCRIPT['add']" 
value="/images/OpenLayers-2.13.1-modified-for-CSP-.js"/>
          <property name="VT_HDR_JAVASCRIPT['add']" 
value="/common/js/jquery/plugins/elrte-1.3/js/elrte.min.js"/>
          <property name="VT_HDR_JAVASCRIPT['add']" 
value="/common/js/util/OfbizUtil.js"/>
          <property name="VT_HDR_JAVASCRIPT['add']" 
value="/common/js/util/fieldlookup.js"/>




Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to