Printing Legends – Common Problems/Workarounds
Lets get straight to it:
Problem: Legend spills off page
A common issue, particularly with maps that have a large number of layers or layers with thematic symbology.
Read more >>
How to set up Dekho to listen on port 80
The easiest way to do it is to set up Tomcat to publish on port 80 rather than on port 8080 modifing the file server.xml.
Some consideration to take into account before changing the port in Tomcat:
Make sure nothing is already using port 80 in particular Internet Information Service (IIS). The command netstat –a in Windows can help with that.
Note that by default IIS listens on port 80. If you change the port in Tomcat from 8080 to 80 and IIS is installed and using it, you will end up with two applications using the same port number. In order to avoid problems, only one webserver can listen a specific port number. So you will need either to change the port in IIS or to create a redirect in IIS so Dekho can be reached on port 80 (IIS will be listening on port 80 and when a new call to Dekho arrives, IIS will redirect it internally to port 8080).
Simon J. from the Dekho team, is working in a blog post in which he will explain how to set up a redirect to Tomcat within IIS. So for example, if you have ArcGIS Server and Dekho installed in the same server, and the Web Adaptor set up in IIS, you might be very interested in the next blog post before changing the port in Tomcat.
Having said that, let’s go now to see how to change the port from 80 to 8080 in Tomcat. The workflow is pretty straight forward:
- Stop the Tomcat Service
- Go to the Tomcat installation folder, in my case, Tomcat is installed in the following path:
C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\conf
- Locate and open the file server.xml
In the Line number 70, edit the port number and set it to 80.
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
5.- Save the file and restart Tomcat.
6.- Open Dekho admin ( this time changing the port at the end of the url, in my case the url is http://localhost/Dekho/admin). Once logged in you will get a warning message alerting that the cache.url value is invalid and must be updated. Click “OK”
7.- Go to “Settings” and update the following parameters, changing the port from 8080 to 80 (or just remove the port and Tomcat will use 80).
cache.url: http://<server>/DekhoCache
oneSearch.home.url: http://<server>/solr/
sqlreporting.viewer.url: http://<server>/ReportServer/Pages/ReportViewer.aspx
and click “Save”.
Now Dekho can be reached in port 80 just typing
New MDS URL
The connection to MDS Foundation Map has changed. ‘arcservices.thegeoplace.com.au’ has now been replaced by ‘arcservices.mdsgeoplace.com’.
To fix your existing connections you will need to:
1. Open up your configuration MXD(s)
2. Make a ‘Use’ connection to the new MDS URL: arcservices.mdsgeoplace.com/mds/services
3. Add the layer to your configuration MXD (remember to apply the TILED=TRUE layer description tag) and save.
4. Re-load the map in Dekho Admin.
Please be aware that from the Dekho 4.X you can no longer add MDS using the tickbox in the publishing wizard (you will have to add it using steps 1 to 4 above).
The version 4 help will reflect this change.
Pull attachments into Dekho
Attachments are new in ArcGIS 10 and provide a flexible way to manage additional information that is related to features.
Read the ArcGIS for Desktop help on how to enable attachments for a feature class and how to add attachments.
Attachments are an additional table to the primary GIS table but contains items such as documents, images and spreadsheets that are linked to one record in the feature-class.

So how can you view these attachments back in Dekho? Read more >>
Getting around Tomcat out-of-memory issues
“Server running out of memory” is one of the common causes for webserver crashing experienced by most of the Web Application Admins, yet it’s really easy for anyone to determine it happens due to java heap space limitation (JVM memory allocation). This could lead to false conclusions such as application needing more heap space or application should be clustered/load balanced to provide high availability. On the other hand, when the service is running out of memory it could appear as a memory leak within the application and eventually it can end up with development team testing it.
This post covers simple steps to fine-tune your system memory according to your application requirement, prior to deciding on any infrastructure changes that would be considered.
Read more >>
Building your .Net & Flex Dekho Custom Tools with a build server – Part 2
Using Jenkins Continuous Integration to build your custom Dekho Flex tools. Read more >>
Building your .Net & Flex Dekho Custom Tools with a build server – Part 1
You have a team of developers and consultants working on a big solution or a number of projects. You probably have a source control like subversion to help manage changes to the code, but there are still issues like;
- What version of SDK/libraries/framework and settings did person X build the software with?
- Did person X actually commit/add the source code to source control before it was released to test?
- Person X is sick or unavailable, I need a new build so I can test the latest changes. Have to wait?
- Development team is constantly being interrupted, and re-building install programs is just one more interruption
- There are actually automated unit tests for the code, but did they get run before the test release?
- The last change was a few years ago, and no one here knows how to build it? or no one has a license to install the tool(s) to create it?
If any of the above are true, then it is most likely there is no central point of truth for your software release. Read more >>
High Quality Printing with ArcPy
With some minor tweaks to the existing ArcPy print sample for Dekho, you can point the script at your source data as opposed to the map services that have references to the source data.
This not only improves the quality (as the map services ‘rasterise’ the raw data), but also dramatically speeds up the process.
For a 600DPI print at A1 using the standard ArcPy print sample for Dekho (via map services) = 1 minute
Diagnostics – Changing server logging level from Dekho Admin
In my previous post on Diagnostics, I mentioned how we can view the server logs from within Dekho Admin. At version 3.2.2 of Dekho we added another feature in the same area by which you can change server logging level from within Dekho Admin. It makes life easier because now you don’t have to go into the server directory, modify the logging.propeties file and restart tomcat service. It is more handy especially when the Dekho is on a different machine than you are accessing it from. Here is a brief note on how we do this: Read more >>
Integrating Dekho and SQL Server Reporting Services (Part 5)
This is the fifth part of blog series on integrating Dekho with SQL Server Reporting Services. In case you missed the first four parts you can access them from here;
http://www.dekho.com.au/integrating-dekho-and-sql-server-reporting-services-part-1
http://www.dekho.com.au/integrating-dekho-and-sql-server-reporting-services-part-2
http://www.dekho.com.au/integrating-dekho-and-sql-server-reporting-services-part-3
http://www.dekho.com.au/integrating-dekho-and-sql-server-reporting-services-part-4
In the previous part of this series we now used a second Dekho servlet to display information from a feature info query from selection in the users Dekho session. Let’s have a look at the data flows from the last part.
At this stage we have only used Dekho to retrieve data and while this is useful we haven’t moved beyond what is already displayed on the selection review panel within Dekho. In this part we are going to delve out of the Dekho comfort zone and start querying the database directly via SQL. Read more >>
Integrating Dekho and SQL Server Reporting Services (Part 4)
This is the fourth part of blog series on integrating Dekho with SQL Server Reporting Services. In case you missed the first three parts you can access them from here;
http://www.dekho.com.au/integrating-dekho-and-sql-server-reporting-services-part-1
http://www.dekho.com.au/integrating-dekho-and-sql-server-reporting-services-part-2
http://www.dekho.com.au/integrating-dekho-and-sql-server-reporting-services-part-3
In the previous part of this series we now used a Dekho servlet to display the feature selection from the users Dekho session. While this is useful we still have no usable data in the report.
Take a look at the diagram I presented last time;
What you will notice is that there is still no interaction with the (geo)database – the dataset we used to show the selection is being populated by Dekho. In this post we will start pulling information out of the (geo)database to make the report meaningful. Read more >>










