appgeo / gpv Goto Github PK
View Code? Open in Web Editor NEWGeneral Purpose Viewer: configurable integration of map servers with enterprise databases
License: Apache License 2.0
General Purpose Viewer: configurable integration of map servers with enterprise databases
License: Apache License 2.0
If the LayerID in the Search table does not have the same capitalization as the LayerID in the LayerID, check configuration produces no errors, but double clicking on search results does not populate the selection query grid as expected.
The LayerID column of the Search config table must match the case of Layer.LayerID. A case mismatch causes an error even though the foreign key constraint is satisfied.
Selection action should populate based on the presence of selection layers, not the properties of the target layer. This was causing Worcester's app to fail. The workaround was to enable target layers as selection layers which should not be necessary.
Created in Bitbucket 2013-07-02
I had to adjust the CSS to get the Markup tab to not get cut off with the presence of this new Search tab, but now I can’t drag to resize the map window horizontally. - Damon Pettitt
Garrett Walsh: The buffer disappears when changing from Find All Within to Select. Would prefer the buffer to remain as it did in all previous versions.
Created in Bitbucket 2014-06-09
Version 4.1.0 went out with the previous version of AppGeo.Clients.dll that does not support AGS token authentication (required for AGS 10.1 and higher).
When using the 'reset' button on the Search function, not all search input fields are cleared (mainly occurs when using lists).
This still shows Windows Live Local instead of Bing.
Created in Bitbucket 2013-03-08
The password in the GPVMapTab table is currently unsecured. Use modern techniques for securing (salt column, key stretching). Also address the weak security in GPVUser table.
The Export to KML function doesn’t produce a valid KML. In Firefox (v 31), I get a “500 - Internal server error” when I try to save the map as a KML. In Chrome, the KML that is generated doesn’t show as a valid in ArcMap or Google. - Damon Pettitt
Current process of executing a stored proc multiple times with increasing numbers of parameters and waiting for an exception is too slow. Instead use OleDbConnection.GetSchema("Procedures") and OleDbConnection.GetSchema("ProcedureParameters") to retrieve stored proc metadata.
Andy Buck: I changed the active color setting in the web.config to "cyan", cleared my cache, and the active color remains the default yellow
Another issue has surfaced with the active color representation in the query grid. If an item is selected and is in a row of the query grid that has a grey background, the active color disappears when the mouse rolls off the query grid. (see attached photo showing selected item on map, but not grid)
Created in Bitbucket 2014-03-21
Provide all of the data aspects of the GPV in an accessible form. Suggested by Lowell.
Create in Bitbucket 2013-03-08
The Mobile Viewer on iOS functions properly until zooming by pinch/expand gesture; pan no longer works after a pinch/expand.
When using "find all within" selection, the add (shift) and remove (crtl) features capability works only on selection features. For certain workflows, such as abutters list creation, it would be helpful if this capability could work on target features. Requested by Garrett Walsh.
Allow data tab to fetch images directly from the database. Suggested by Lowell.
Created in Bitbucket 2013-03-08
From ENC: Can a feature be auto selected when a feature is searched by ID (and return only one result)? User desires to type the ID, hit search, and then have the map highlight and pan to the point and the data tab opens without having to double click the tree in the side box. Is this possible?
Allow for a default application so Viewer.aspx with no arguments shows a map. Suggested by Lowell.
Created in Bitbucket 2013-03-08
From Damon: I have recently noticed that the Back to Previous Extent button behaves rather unpredictably.
Right off the bat, to use it for the first time seems to require 2 clicks. After that, I can’t quite tell what the pattern is to make it work.
Requested by several users.
I've created a script to load default print templates during GPV install. That script and 3 default files are in the attached zip file.
Please add the InsertPrintTemplate.sql file attached to the "Database Configuration Scripts v3.1 for SQL Server" in the wiki.
The following files should be included in the code base print/images and print/text folders: logo.gif, north.png, and disclaimer.txt.
I think it makes sense to add all this to the "complete" code base rather than as an update. Some users may have files of the same name and we don't want to clobber them.
PrintTemplate.zip attached in Bitbucket
Created in Bitbucket 2013-12-13
Perform the specified search when the Enter key is pressed. - Damon Pettitt
Damon Pettitt: We had a user report today that the GPV was clearing out the selection when the user switched from the Select to the Find All options even though our web.config setting was set to target.
Datatab links need to be able to work with the file:// network protocol
No longer used.
Andy Buck: After setting Application.TrackUse to 1, checking and reloading the configuration, then launching the site one or two times, the UsageTracking table remains empty.
Created in Bitbucket 2014-02-24
The Search link looks disabled after you click Reset, and yet you can still click on it. Indeed, if you want to search again on the dropdown choice you already made, you would have to click the Search link again, but it’s not obvious to me that you would do that since it looks grayed out. - Damon Pettitt
GPV Security currently manifests as a login prior to accessing the interface. It would be highly desirable to make it an option for security to only apply to Markup Categories: i.e., public markups would appear for all users, but from the markup tab, a user would be able to login to access secured markup groups as well.
Andy Buck: I think this is caused because the two layers that I'm trying to put in a radio button group are not in the same group in the MXD.
I guess the bug is that the CheckConfiguration.aspx does not look to see that the radio button layers are in the same group in the MXD.
Repeatable:
Line 52: HtmlInputRadioButton radio = new HtmlInputRadioButton();
Line 53: radio.Checked = layerProperties[i].CheckMode == CheckMode.Checked;
Line 54: radio.Name = String.Format("{0}_{1}", mapTabId, layer.Parent.ID);
Line 55: check = radio; Line 56: }
Source File: d:\hosting\websites\VTrans\LegendPanel.ascx.cs Line: 54
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.] LegendPanel.AddLayerToLegend(String mapTabId, List1 configuredLayers, List1 layerProperties, HtmlGenericControl container, CommonLayer layer) in d:\hosting\websites\VTrans\LegendPanel.ascx.cs:54
LegendPanel.Initialize(Configuration config, AppState appState, ApplicationRow application) in d:\hosting\websites\VTrans\LegendPanel.ascx.cs:286 Viewer.Page_Load(Object sender, EventArgs e) in d:\hosting\websites\VTrans\Viewer.aspx.cs:85
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
CustomStyledPage.OnLoad(EventArgs e) in d:\hosting\websites\VTrans\App_Code\CustomStyledPage.cs:35
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
Created in Bitbucket 2013-12-13
There is currently no way to know when a search is running. - Damon Pettitt
Currently some customers add these into numbers returned from stored procedures. The GPV right justifies these but does not sort them correctly in the query grid. Stored procedures should probably return undecorated numbers and GPV should inject the separators for display.
With the num lock key in either position, you cannot use the auxiliary number keypad for entry of numeric data (number, and numberrange field types).
The extra keypad works when the num-lock is engaged and one is desirous of entering numbers in an alphanumeric search input filed.
At Worcester find nearest in the URL is zooming to the selection feature, not the combined extent of selection and target as it should.
Created in Bitbucket 2013-03-08
The test for the substitution string in the search stored procedure where clause requires a space following the closing curly brackets (line 843 of Configuration.cs):
if (!command.CommandText.Contains(" {0} "))
Leaving off the space causes check configuration to fail.
ALTER PROCEDURE GPVSearch_AddressPoints AS
SELECT
'SELECT
ObjectID as [MapID],
ObjectID as [DataID],
Full_Addr as Address
FROM Cambridge.GISDATA.ADDRESS_ADDRESSPOINTS
WHERE {0}
ORDER BY StName, StNm'
GO
1 AddressPoints Addresses invalid Select statement does not contain a where clause substitution: {0}
The visual ambiguity makes this a tough issue to track down (at least the first time before you know about the space requirement).
WHERE {0}
vs.
WHERE {0}
It would be preferable to allow a trailing newline, and also to allow the string to end with the closing curly braces for those cases where the ORDER BY clause is not required.
Auto open data tab when feature selected on the map (even if search function tab is open).
Damon Pettitt: GPV doesn’t seem to work with secured map services at ArcGIS Server 10.1+
Created in Bitbucket 2014-01-02
So, not sure if other people are experiencing this with their GPVs, but in our environment I recently noticed that in some browser/PDF viewer combinations, when you try to create a Printable Map from the GPV you either get:
As of yet, I can’t figure out what the pattern is to try to troubleshoot further, so I’m hoping someone else out there can shed some light on this.
I’ve seen the problem with Firefox and Chrome w/ or w/o Adobe or Foxit Reader and I’ve seen if behave normally in IE and Opera.
Interestingly, changing line 605 in PdfMap.cs from this:
response.AddHeader("Content-Disposition", inline ? "inline" : "attachment" + "; filename=Map.pdf");
To this:
response.AddHeader("Content-Disposition:", inline ? "inline" + ";filename=Map.pdf" : "attachment" + "; filename=Map.pdf");
fixes the #2 issue – it now saves it as Map.pdf. But this doesn’t fix #1.
Changing that same line to:
response.AddHeader("Content-Disposition", "attachment; filename=Map.pdf");
seems to solve both #1 and #2, but perhaps this is not a viable solution???
Anyway, any help would be appreciated. Thank you.
Damon Pettitt, GISP
GIS Coordinator | Albemarle County, VA
(434) 296-5823 ext. 3231 | [email protected] | www.albemarle.org/gds
Add a partialtext field type to allow for searches starting with the specified text.
Provide the user interface in different languages
Created in Bitbucket 2013-03-08
Reported by Mike Olkin. Does appear to work, however.
Created in Bitbucket 2012-09-04
Andy Buck: The data tab print function produces an error.
To recreate the error click this:
http://beta.appgeo.com/vtrans/Viewer.aspx?state=587719204286
and then click the "print" link in the data tab header area.
Created in Bitbucket 2014-02-24
Show number of records returned on search, like on the Selection panel. - Damon Pettitt
When choosing "email this page" option, the saved state does not include any elements from the search function. Would be helpful if the saved state extended to the search aspect as well.
Using database authentication. Users with multiple roles, such as 'a,b' cannot access applications assigned to one of those roles (e.g. 'a')
Develop a light weight utility to manage the distribution of GPV code to the user group. Social media (if it includes gmail) can be used as the authentication method.
Add a setting to PrintTemplateContent to allow for text colors other than black.
Created in Bitbucket 2013-03-08
Happening when the text has many wide characters. Observed at Lowell.
Created in Bitbucket 2013-03-08
I have a citizen who is trying to run To Mailing Labels on a large abutters list and the GPV is just hanging on him. I’m getting the error below on the server side. I’m wondering if there is some way I can configure or work around this timeout so he can make his list? At the very least it would be nice if it could be caught reported back to the user. Have others had this issue?
More info:
Here is my approximation of their query, though the caveat is that the mailing label download works for me in this ma. Maybe because I’m internal?
http://gis.cambridgema.gov/map/Viewer.aspx?state=783894434671
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 3/27/2015 9:42:30 AM
Event time (UTC): 3/27/2015 1:42:30 PM
Event ID: 1d5603c8d0994adca271ee6b004953bf
Event sequence: 394
Event occurrence: 2
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1/ROOT/Map-1-130719362811828185
Trust level: Full
Application Virtual Path: /Map
Application Path: D:\gis_website\GPV\GPV_v4.1.0\
Machine name: FIDO
Process information:
Process ID: 8324
Process name: w3wp.exe
Account name: IIS APPPOOL\GPVMapAppPool
Exception information:
Exception type: OleDbException
Exception message: Query timeout expired
at System.Data.OleDb.OleDbDataReader.ProcessResults(OleDbHResult hr)
at System.Data.OleDb.OleDbDataReader.NextResult()
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.OleDb.OleDbCommand.ExecuteReader()
at MailingLabels.CreateLabels(String id, String fontName, Single textSize, Boolean columnMajor) in d:\gis_website\gpv\GPV_v4.1.0\MailingLabels.aspx.cs:line 127
at MailingLabels.cmdCreate_Click(Object sender, EventArgs e) in d:\gis_website\gpv\GPV_v4.1.0\MailingLabels.aspx.cs:line 80
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Request information:
Request URL: http://gis.cambridgema.gov/map/MailingLabels.aspx
Request path: /map/MailingLabels.aspx
User host address: 69.46.224.126
User:
Is authenticated: False
Authentication Type:
Thread account name: IIS APPPOOL\GPVMapAppPool
Thread information:
Thread ID: 39
Thread account name: IIS APPPOOL\GPVMapAppPool
Is impersonating: False
Stack trace: at System.Data.OleDb.OleDbDataReader.ProcessResults(OleDbHResult hr)
at System.Data.OleDb.OleDbDataReader.NextResult()
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.OleDb.OleDbCommand.ExecuteReader()
at MailingLabels.CreateLabels(String id, String fontName, Single textSize, Boolean columnMajor) in d:\gis_website\gpv\GPV_v4.1.0\MailingLabels.aspx.cs:line 127
at MailingLabels.cmdCreate_Click(Object sender, EventArgs e) in d:\gis_website\gpv\GPV_v4.1.0\MailingLabels.aspx.cs:line 80
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Custom event details:
Currently if I point a 4.1.0 (production) GPV MapTab to an ArcGIS for Server 10.3.1 service I get the error "Could not connect to the Server" for that MapTab on the check configuration page.
When launching the GPV using the state parameter in IE 10 on Windows 8.1 Preview the action/target/proximity/selection/query pulldowns do not populate. Reported by Mike Olkin. Cannot reproduce in IE 10 on Windows 7.
Created in Bitbucket 2013-08-22
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.