wiki:QesdiUiIssues

QESDI User Interface Issues

(started after Peter left in Feb 2010).

Get Figure button in Properties area

The correct bounding box is currently not passed to the server.

getCapabilities

The UI currently recieves the complete capabilities response when the user adds a WMS endpoint. This can be very large (7MB for IPCC AR4 climatologies).

Tabbed view

The tabbed version (wmsviz2) almost works, but there are some issues in the rescalable openlayers display: lines between tiles are appearing and the controls don't move when the map size changes.

Download Data

This is not working for IE8 (as installed on sstdtse01)

Following did not work on IE8 when generated from the button or pasted directly from the firefox history record (it does, however, work after being pasted into this wiki -- which appears to be truncating the trailing "&")::  http://phobos.badc.rl.ac.uk/qesdi/data/seawifs/wcs?request=GetCoverage&service=WCS&version=1.0.0&crs=EPSG:4326&format=cf-netcdf&coverage=seawifs_pml_ocean_absorption_coefficient_ph&bbox=90.5625,-15.1875,130.5,24.1875&time=1998-01-15T00:00:00.0&  http://phobos.badc.rl.ac.uk/qesdi/data/ccip/wcs?request=GetCoverage&service=WCS&version=1.0.0&crs=EPSG:4326&format=cf-netcdf&coverage=ccip_temp&bbox=-180,-90,180,90&time=2008-06-01T00:00:00.0

Similar problem after replacing "&" with "&":

 http://phobos.badc.rl.ac.uk/qesdi/data/ccip/wcs?request=GetCoverage&service=WCS&version=1.0.0&crs=EPSG:4326&format=cf-netcdf&coverage=ccip_temp&bbox=-180,-90,180,90&time=2008-06-01T00:00:00.0& from ndg3: LOG: Making wcs request to  http://ndg3beta.badc.rl.ac.uk/cows/demo_hadcm3/wcs?request=GetCoverage&service=WCS&version=1.0.0&crs=EPSG:4326&format=cf-netcdf&coverage=demo_hadcm3_air_temperature&bbox=-19.6875,3.9375,40.5,46.125&air_pressure=10.0&time=2290-06-01T00:00:00.0&

If the URL that fails is copied from the IE8 developer tools console and pasted into the address line the download fails. If the trailing ampersand is deleted it works; if the trailing ampersand is put back it still works.

Whereas this (from  http://phobos.badc.rl.ac.uk/qesdi/viz/wcsdown) does::  http://phobos.badc.rl.ac.uk/qesdi/viz/wcsdown/download?endpoint=http%3A%2F%2Fphobos.badc.rl.ac.uk%2Fqesdi%2Fdata%2Fseawifs%2Fwcs%3Frequest%3DGetCapabilities%26service%3DWCS&layer=seawifs_pml_ocean_absorption_coefficient&format=cf-netcdf&crs=EPSG%3A4326&bboxN=31.0&bboxW=64.1&bboxS=-38.2&bboxE=154.1&bbox=64.1%2C-38.2%2C154.1%2C31.0&single_time=true&time=1998-02-15T00%3A00%3A00.0&time_end=1998-01-15T00%3A00%3A00.0

escaped:  http://phobos.badc.rl.ac.uk/qesdi/data/fao_soil/wcs?request=GetCoverage&service=WCS&version=1.0.0&crs=EPSG%3A4326&format=cf-netcdf&coverage=fao_soil_soiln&bbox=-180%2C-90%2C180%2C90&  http://phobos.badc.rl.ac.uk/qesdi/data/fao_soil/wcs?request=GetCoverage&service=WCS&version=1.0.0&crs=EPSG%3A4326&format=cf-netcdf&coverage=fao_soil_soiln&bbox=-180%2C-90%2C180%2C90

May be a problem with MIME type detection, which is identified as a problem on some query boards, but it is unclear why above URL works clicked on, but does not when pasted in the IE8 url window or by the javascript window.open command.

Now fixed by replacing window.open() with getElementById(...).src = , where the element in question is a hidden iframe inserted for that purpose (followinghttp://bytes.com/topic/javascript/answers/617203-file-download-ajax-php).

These lines (in wcs.js): window.open(wcsurl, 'download');

this_div = document.getElementById('ie8downloadIFrm'); this_div.src = wcsurl;

It is not clear where the initial problem comes from: possible related to mime type detection and checking or UAC (User access control) -- two IE features mentioned in association with failed downloads in the blogosphere.

Making the endpoint selection list readable

In public/js/endpointSelection.js, the list endpointList[i].name contains strings which make up the labels on the html page.

see endpointList = Utils.buildObjectList in htmp template

linksname? = childText added on line 43 of utils.py, and line removing square brackets shifted up. This creates a copy of the name which is not converted to key format (no spaces).

On line 65 os status_builder.py, this 'name' is passed into 'xname', ( 'name' being used for the dictionary key). For non-COWS links, the 'name' is still used (have not yet tracked where this comes from).

xname added on line 58 of endpoint.js

line 64 of endpointSelection.js: replace name with xname.

econfig.buildEndpointList('wmsviz') (econfig is an instance of cowsclient.lib.config_file_parser.EndpointConfigFileParser?) builds the endpoint list, from a config file. Points to a single html page (qesdi/data) for the COWS datasets. This page is served over port 5000 (see /etc/apache2/conf.d/qesdi.conf) which is used by the wms_server. The wms_server appears to get it usinf url_for from ./Routes-1.11-py2.5.egg/routes/util.py.

cowsserver-1.5.0-py2.5.egg/cowsserver/templates/catalogue.xml is the template for the qesdi/data page.

_buildItemList builds a list of "items", each of which is a dictionary with key/value pairs taken from a configuration file, which appears to have been built from the csml files.

Parallel changes made in compressed js client: replace "name" with "xname" where it occurs after the "Select Preset" title (which needs to be changed) and add "xname" to the required properties lits: REQUIRED_PROPERTIES:["url","name","service","xname"].

To get directory based datasets, consisting of multiple csml datasets, displayed nicely, the directory names have been changed, as this is what gets put in the title of the WMS Capabilities document and I was not able to find how to change this behaviour. Trial and error suggests that names should not include a ",", but space and brackets are acceptable. This does have the negative consequence that the tag used in the layer selection box becomes very long for these datasets.