Browse Source

Fixed #26098 -- Used cdnjs.cloudflare for OpenLayers.js.

Daniel Hahler 8 years ago
parent
commit
b1d6b0a7b1

+ 1 - 1
django/contrib/gis/admin/options.py

@@ -34,7 +34,7 @@ class GeoModelAdmin(ModelAdmin):
     map_height = 400
     map_srid = 4326
     map_template = 'gis/admin/openlayers.html'
-    openlayers_url = 'http://openlayers.org/api/2.13.1/OpenLayers.js'
+    openlayers_url = 'https://cdnjs.cloudflare.com/ajax/libs/openlayers/2.13.1/OpenLayers.js'
     point_zoom = num_zoom - 6
     wms_url = 'http://vmap0.tiles.osgeo.org/wms/vmap0'
     wms_layer = 'basic'

+ 2 - 2
django/contrib/gis/forms/widgets.py

@@ -79,7 +79,7 @@ class OpenLayersWidget(BaseGeometryWidget):
 
     class Media:
         js = (
-            'http://openlayers.org/api/2.13.1/OpenLayers.js',
+            'https://cdnjs.cloudflare.com/ajax/libs/openlayers/2.13.1/OpenLayers.js',
             'gis/js/OLMapWidget.js',
         )
 
@@ -95,7 +95,7 @@ class OSMWidget(BaseGeometryWidget):
 
     class Media:
         js = (
-            'http://openlayers.org/api/2.13.1/OpenLayers.js',
+            'https://cdnjs.cloudflare.com/ajax/libs/openlayers/2.13.1/OpenLayers.js',
             'gis/js/OLMapWidget.js',
         )
 

+ 5 - 1
docs/ref/contrib/gis/admin.txt

@@ -42,8 +42,12 @@ GeoDjango's admin site
     .. attribute:: openlayers_url
 
     Link to the URL of the OpenLayers JavaScript.  Defaults to
-    ``'http://openlayers.org/api/2.13.1/OpenLayers.js'``.
+    ``'https://cdnjs.cloudflare.com/ajax/libs/openlayers/2.13.1/OpenLayers.js'``.
 
+    .. versionchanged:: 1.11
+
+        Older versions default to
+        ``'http://openlayers.org/api/2.13.1/OpenLayers.js'``.
 
     .. attribute:: modifiable
 

+ 10 - 10
docs/ref/contrib/gis/forms-api.txt

@@ -153,16 +153,16 @@ Widget classes
     ``template_name`` is ``gis/openlayers.html``.
 
     ``OpenLayersWidget`` and :class:`OSMWidget` use the ``openlayers.js`` file
-    hosted on the ``openlayers.org`` website. This works for basic usage
-    during development, but isn't appropriate for a production deployment as
-    ``openlayers.org/api/`` has no guaranteed uptime and runs on a slow server.
-    You are therefore advised to subclass these widgets in order to specify
-    your own version of the ``openlayers.js`` file in the ``js`` property of
-    the inner ``Media`` class (see :ref:`assets-as-a-static-definition`). You
-    can host a copy of ``openlayers.js``
-    `tailored to your needs`_ on your own server or refer to a copy from a
-    content-delivery network like https://cdnjs.com/. This will also allow
-    you to serve the JavaScript file(s) using the ``https`` protocol if needed.
+    hosted on the ``cdnjs.cloudflare.com`` content-delivery network. You can
+    subclass these widgets in order to specify your own version of the
+    ``OpenLayers.js`` file `tailored to your needs`_ in the ``js`` property of
+    the inner ``Media`` class (see :ref:`assets-as-a-static-definition`).
+
+    .. versionchanged:: 1.11
+
+        Older versions use ``OpenLayers.js`` from ``openlayers.org`` which
+        isn't suitable for production use since it offers no guaranteed uptime
+        and runs on a slow server.
 
     .. _tailored to your needs: http://docs.openlayers.org/library/deploying.html
 

+ 4 - 0
docs/releases/1.11.txt

@@ -116,6 +116,10 @@ Minor features
 
 * Added support for the :lookup:`dwithin` lookup on SpatiaLite.
 
+* The OpenLayers-based form widgets now use ``OpenLayers.js`` from
+  ``https://cdnjs.cloudflare.com`` which is more suitable for production use
+  than the the old ``http://openlayers.org`` source.
+
 :mod:`django.contrib.messages`
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 

+ 1 - 1
js_tests/tests.html

@@ -83,7 +83,7 @@
                   class="vSerializedField required" style="display:none;"
                   rows="10" cols="150">POINT (7.8177 47.397)</textarea>
     </div>
-    <script src='http://openlayers.org/api/2.13.1/OpenLayers.js'></script>
+    <script src='https://cdnjs.cloudflare.com/ajax/libs/openlayers/2.13.1/OpenLayers.js'></script>
     <script src='../django/contrib/gis/static/gis/js/OLMapWidget.js' data-cover></script>
     <script src='./gis/mapwidget.test.js'></script>