From b1d6b0a7b121eec860b518b4903d7c8c74f7773b Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Wed, 10 Aug 2016 17:13:08 +0200 Subject: [PATCH] Fixed #26098 -- Used cdnjs.cloudflare for OpenLayers.js. --- django/contrib/gis/admin/options.py | 2 +- django/contrib/gis/forms/widgets.py | 4 ++-- docs/ref/contrib/gis/admin.txt | 6 +++++- docs/ref/contrib/gis/forms-api.txt | 20 ++++++++++---------- docs/releases/1.11.txt | 4 ++++ js_tests/tests.html | 2 +- 6 files changed, 23 insertions(+), 15 deletions(-) diff --git a/django/contrib/gis/admin/options.py b/django/contrib/gis/admin/options.py index 5a3d2fa158..4b99ddf354 100644 --- a/django/contrib/gis/admin/options.py +++ b/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' diff --git a/django/contrib/gis/forms/widgets.py b/django/contrib/gis/forms/widgets.py index c27cd90d3e..7b58d5a477 100644 --- a/django/contrib/gis/forms/widgets.py +++ b/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', ) diff --git a/docs/ref/contrib/gis/admin.txt b/docs/ref/contrib/gis/admin.txt index b873f51a05..01a936ef0f 100644 --- a/docs/ref/contrib/gis/admin.txt +++ b/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 diff --git a/docs/ref/contrib/gis/forms-api.txt b/docs/ref/contrib/gis/forms-api.txt index 7580fac86a..dae758c8cc 100644 --- a/docs/ref/contrib/gis/forms-api.txt +++ b/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 diff --git a/docs/releases/1.11.txt b/docs/releases/1.11.txt index 20f2306ede..e45a64ffd5 100644 --- a/docs/releases/1.11.txt +++ b/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` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/js_tests/tests.html b/js_tests/tests.html index e5ec2647e7..13aefd0c06 100644 --- a/js_tests/tests.html +++ b/js_tests/tests.html @@ -83,7 +83,7 @@ class="vSerializedField required" style="display:none;" rows="10" cols="150">POINT (7.8177 47.397) - +