Here is a list of known issues with wms layer implementation. These bugs are known and are to be fixed soon. Please feel free to report an bugs you find in this version by email at sudeep495@gmail.com . This version is under development so, quite a number of bugs are expected. More these are reported, better it is. 1.Right Indented User Names ڝڍڑڭڏڧڲڝڍڑڭڏڧڲ Arabic String or any right indented string doesnt work quite well with the current version. 2.Resizing not being done properly 3.Coding Standards of wxgui programming not followed exactly till now. Code to be modified soon for that. 4.UserName Password not checked if they are required by a particular server or not, currently hard coded. 5.Layers fetched are not being displayed hierarchly, bug known, to be fixed. 6.In case, on adding or removing a server, if the write to file is unsuccessful, the application removes it from the serverlist, even though is not written in the file. So when the application restarts, all the changes done are lost, since data was not written to file successfuly. 7.[done]Name of temporary file to be changed to ServersList.xml~ from tempList.xml 8.[done]The Save/Dont Save/Cancel popup works fine for the first time, but for the 2nd time leads to PyDeadObjectError error. This bug is known and is of serious nature. Fix to be done soon. Some other issues detected with this popup. Like when adding a new server name "" , and then click on save and then on quit, the popup appears, now click on cancel. After clicking on cancel, another popup appears and this continues. Serious issue. This popups code needs to be checked throughly. 9.On quiting the application it leads to segmentation error or even after quiting application the console doesnot quits. Need to use ctrl-c right now. 10.If a single server is present, unable to select a server because selection depends on the change of selection. need to modify this. 11.Tab doessnot work to switch between different fields while filling server info. 12.If ServersList.xml doesnot exist, then when new servers are added in manager servers window, then on selecting getcapabities, somehow the self.map_servernameTouid doesnot gets updated and is shows a key error. 13.when a server requires username and password, this is not figured out yet. 14.[done]On giving servername = now++ and url = now++, and then saving it. it behaves starngely in hitting quit after saving. 15.[done]To check the getmap functionality (now uses temp file) 16.To check return values of self.savexml() 17.SUBMITTING_PYTHON point 13 to be implemented 18.ErrorTrace2.log 19.ErrorTrace1.log 20.Add a reduntant blank item in the serverlist which is displayed 21.In integerated version, when the application is started closed and then again started it gives pydeadobject error. this is probably due to improper exiting in the first quit More to be added... Things done 1.[Fixed]Username checked for delimeter presence 2.[Fixed]On closing add server window, main window also closes. 3.[Fixed]In addserver.py when pressing the quit button or closing it, main wmsmenu window closes, and it gives an error of maximum recurssion depth reached error. 4.[Fixed]Reply from wms server on getmap should be an image or a service exception, Now this check is being made. Following are issues reported by Maris and their current status. (Issues marked with [done] are fixed). Issues reportes by Maris , Mail 1 AddServer dialog: * TODO: Dialog layout doesn't re-size well; Text doesn't fit. *[done] Quit button quits application and not just closes server editing dialog. *[done] Save button should save edits to current server and not create a new one; "Save as a new" should create a new entry. *[done] TODO: check for name duplication before adding a new server to avoid existence of server entries with identical names. That would break current XML too, as common name is used as ID. ID should be something more generic. UUID? *[done] Only server name and URL should be mandatory * [done] TODO: StatusBar should provide real info on application state: editing existing entry; creating a new one; saved successfully; save failed + popup with error message etc. *[Need help] If a new server is saved successfully, preselect it in servers drop-down list. *[done] Failure to save server list should not wipe existing server list. This is important! Use copy on success trick (save to temporary file; in case of success, copy temporary file over original one). *[done] All fields should accept non-ascii characters. * TODO: validate user provided URL by doing getCapabilities request.[Can it be validated ?, sometimes a server might be down, so instead we leave it at user to decide if he gives a valid url, as in case he gives something like www.google.com or any other website, the application can handle the wrong responses recieved] *[Need help ] When server is removed, it should switch dropdown server list to other entry to indicate it's removal. wmsmenu: *[done] Code makes assumptions that serverlist files are readable and writable. This might not be true. Just chmod -r serverlist* to see how it affects program. *[?] TODO: server list storage in Location OR users preferences. This should be offered as a choice to user. *[done] "AddServer" should be called "Edit server list" or some of edit icons on button should be used. * getCapabilities should provide not only layer list, but also access to any data about layer from capabilities document. Comments/description are most important. I.e. for gisnet.lv topo service layer name "DTC" (desmit tūkstoši, C sistēma) is meaningful only to some folks, still description contains more infromation * getCapabilities layers might be in hierarchical system (layer groups) Design decisions to be made: * Should we store EPSG code; preferred image format in server settings? * How to determine automatically locations EPSG code? You should ask -dev mailing list. Coding style, variable naming etc. You already know. Issues reported by Maris, Mail 2 *[done] To display important error messages to user use wx.MessageDialog with standard options (OK, ERROR icon). For example, "fill all fields" should be changed to popup dialog and it also should list missing fields. Like: "Following required fields are missing: " *[done] Saving a new server should send a signal to main windows (wmsFrame) server list to update itself. *[done] Closing main application window (wmsFrame) should close also AddServer dialog. *[done] If user has edited some of server fields without Save or SaveNew, onClose should ask "There are unsaved changes. Save/SaveNew" More important: *[done] getCapabilities response should be validated. HTTP code 200 doesn't mean it's a valid response. I.e. create a server with url http://slashdot.org and it will threat it's responses as getCapabilities documents! *[done] server name might contain characters that are forbidden in XML. They should be encoded/escaped on save and decoded/unescaped on XML read. I.e. create a server called and see how it breaks Your XML... + some of previous issues... Issues reported by Maris, Mail 3 Add server: *[done] Impossible to close window without saving changes ("Don't save" doesn't work) *[done, rigorous testing needs to be done] URL field doesn't accept & symbol, still it's a valid URL symbol and should be allowed as some WMS URLs require GET parameters and they are separated by & WMS menu: *[done] If GetCapabilities times out, it should display a pop-up window with error. *[done][requests now time out after time set in config file, default 5 seconds] After GetCapabilities request has timed out, wmsmenu window is locked and it's impossible to do anything. It should be back in working state. * FEATURE: Add ability to stop running request. * Current server list implementation: **[done] fails to select a new server when it is added to list (one can select it, still it fails with "No server selected") **[done] long URLs break dropdown list **[done] sometimes throws key/value error instead of GetCapabilities action OnServerList: done key error reported {} * URLs should be pre-processed before using them! ** URL already might contain some parameters. Here's an list of valid URLs. Your code should be ready to use all of them by removing or adding necessary URL parts: http://www.gisnet.lv/cgi-bin/topo http://giz.zpr.gov.lv/glog/Glog/entry.php?class=Mapman.MapmanWms&mapProject=mapproject0&instance=&SERVICE=WMS&REQUEST=GetCapabilities http://kaart.maaamet.ee/wms/alus? http://deli.dnr.state.mn.us/cgi-bin/wms?map=/mapfiles/contour.map& * GetMap doesn't check request EPSG code in list of service provided EPSG codes. Clients can request only one of servers provided EPSG SRS or fail. * GetMap doesn't perform WMS version check. Client has to use one of servers supported WMS versions or fail. * GetMap doesn't perform check of supported output formats. Some services might not provide PNG as an output option. I think it would be enough for now.