<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

			<channel>
			<title>ROK Technologies ESRI Developer Blog - ArcGIS JS API</title>
			<link>http://www.roktech.net/devblog/index.cfm</link>
			<description>Discussions of the ESRI Geographic Information Systems development platform</description>
			<language>en-us</language>
			<pubDate>Wed, 08 Sep 2010 17:34:25 -0400</pubDate>
			<lastBuildDate>Fri, 04 Jun 2010 12:24:00 -0400</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>jharris@roktech.net</managingEditor>
			<webMaster>jharris@roktech.net</webMaster>
			<itunes:subtitle></itunes:subtitle>
			<itunes:summary></itunes:summary>
			<itunes:category text="Technology" />
			<itunes:category text="Technology">
				<itunes:category text="Podcasting" />
			</itunes:category>
			<itunes:category text="Technology">
				<itunes:category text="Tech News" />
			</itunes:category>
			<itunes:keywords></itunes:keywords>
			<itunes:author></itunes:author>
			<itunes:owner>
				<itunes:email>jharris@roktech.net</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			<itunes:image href="" />
			<image>
				<url></url>
				<title>ROK Technologies ESRI Developer Blog</title>
				<link>http://www.roktech.net/devblog/index.cfm</link>
			</image>
			<itunes:explicit>no</itunes:explicit>
			
			
			
			
			
			<item>
				<title>ArcGIS Server Identify Operations Slow?</title>
				<link>http://www.roktech.net/devblog/index.cfm/2010/6/4/ArcGIS-Server-Identify-Operations-Slow</link>
				<description>
				
				Here is a quick tip for my fellow ArcGIS Server developers.  While I have never been a big fan of using the Identify operation, there is no doubt that it can be quite useful at times.  Its strange though, sometimes I have noticed that it was terribly slow (I have seen 8 sec+ response times on a simple 4 layer Identify).  So, I&apos;d do the normal thing, and remove some layers, and try again.  It would usually end up being one specific layer that was causing the huge slowdown.  I would just chalk it up to a bad layer and move on.  Well, after running into this issue a few times, I couldn&apos;t really ignore it and blame it on a &apos;bad layer&apos;.  It turns out that these layers had something in common...The all had complex / detailed geometries.

I&apos;m not entirely sure why a complex geometry would effect an identify operation, but it does.  So, my simple fix was to use ArcToolbox and perform a generalization operation against the layer.  You GIS folks should be familiar with that type of thing.  In short, it removes superfluous geometry in the shape.  Instead of 1000 points along a curve, it can reduce it to say, 100.  Visually, you can normally not tell the difference.  But, to be on the safe side, I left the original layer alone, and just made a copy.  Then, I use that copy in all all my identify operations instead of the original.  

Yes, it does create extra overhead and some additional logic in your app, but the run time processing saving is huge.  My 4 sec response times have been cut to under 100 millisecs.  Yeah, its that big of a difference.  So, in my mind, totally worth the extra effort.
				
				</description>
						
				
				<category>ArcGIS JS API</category>				
				
				<category>ArcGIS Server FLEX</category>				
				
				<category>ArcGIS Server</category>				
				
				<pubDate>Fri, 04 Jun 2010 12:24:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2010/6/4/ArcGIS-Server-Identify-Operations-Slow</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Using ESRI&apos;s ArcGIS Server To Help Get Relief Flights Into Haiti</title>
				<link>http://www.roktech.net/devblog/index.cfm/2010/1/21/Using-ESRIs-ArcGIS-Server-To-Help-Get-Relief-Flights-Into-Haiti</link>
				<description>
				
				One of our long time clients, &lt;a href=&quot;http://www.FltPlan.com&quot;&gt;FltPlan.com&lt;/a&gt; is in the business of helping private and corporate pilots file flight plans with the FAA.

&lt;img src=&quot;http://www.roktech.net/devblog/images//haiti.jpg&quot;&gt;

Filing flight plans, along with navigating customs can be a daunting task.  Fltplan.com has really simplified this process by storing aircraft and pilot profiles.  Access to this data makes these filing procedures a snap.  We have worked with them over the years to help enhance their service with GIS. First with ArcIMS, and for the past 3 years, ArcGIS Server.

When the Haitian earthquake occurred and humanitarian efforts began, FltPlan asked themselves, how could they help?  With the largest online community of corporate and private pilots on the internet it was a natural step to offer a clearing house to share information  about flying in and out of Haiti to assist with the relief efforts.  Fltplan.com has a huge database of airports, waypoints and other flight related data.  However, to date, none of this Haitian flight related data, had been available on a internet based map. That&apos;s where we (ROK) came in. 

We took the data and did our GIS thing that we do so well, and the result is a Javascript API based, ArcGIS Server application dedicated to displaying information about flying in and out of Haiti and the Dominican Republic. If you are interested, check out what a pilot would see when planning a flight from Ft. Lauderdale to Port-au-Prince Haiti with this &lt;a href=&quot;http://wh94.fltplan.com/airway_viewer/index.cfm?MapServiceName=fltplan&amp;user=roktech&amp;MapHeight=99pc&amp;MapWidth=99pc&amp;maptype=jet&amp;lon=-76.22&amp;lat=22.32&amp;wid=7.106&amp;ht=7.9933333333333&amp;iwd=880&amp;iht=660&amp;ZOOMTO=12345678&amp;showmapmethod=imglink&amp;mark=-80.1533,26.0733,red,;-80.265,26.0766,vor,;-80.2833,26.1916,vor,;-80.1883,26.2416,vor,;-79.5316,26.2716,vor,;-79.345,26.2783,vor,;-79.13,25.9416,vor,;-77.395,24.16,vor,;-76.88,23.7316,vor,;-75.9316,22.9283,vor,;-75.0566,22.175,vor,;-73.6766,20.96,vor,;-73.2183,20.145,vor,;-72.625,19.0766,vor,;-72.305,18.5766,vor,;-72.2933,18.58,vor,;-80.1533,26.0733,red,KFLL,standalone;-72.2933,18.58,red,MTPP,standalone&quot; target=&quot;_blank&quot;&gt;ArcGIS Server site&lt;/a&gt;

Now, the legions of private and corporate pilots can better assist these ongoing relief efforts and get their full planes of supplies and doctor on the ground where they are needed.
				
				</description>
						
				
				<category>ArcGIS JS API</category>				
				
				<category>ArcGIS Server</category>				
				
				<pubDate>Thu, 21 Jan 2010 14:59:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2010/1/21/Using-ESRIs-ArcGIS-Server-To-Help-Get-Relief-Flights-Into-Haiti</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>ArcGIS Server Security::Token Based Authentication w/ JavaScript API</title>
				<link>http://www.roktech.net/devblog/index.cfm/2009/12/17/Securing-Services-for-ArcGIS-Server-JavaScript-API-Application</link>
				<description>
				
				&lt;p&gt;
Securing services for ArcGIS Server is not as difficult as one would think. The ArcGIS Server Manager works as a great tool to lock down  services, create and manage a security database, and grant permissions for specific services and or folders.&lt;/p&gt;&lt;br&gt;
&lt;i&gt;Check back later for screen grabs.&lt;/i&gt;&lt;br&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;Step 1: Before you  lock down your server, you will need to create a database to manage the  security.&lt;/strong&gt;&lt;br /&gt;
  Log in into the ArcGIS Server Manager and click on the &quot;Security&quot;  tab. Then click on &quot;Settings&quot;.&lt;br /&gt;
  &lt;br /&gt;
  The settings window will have a wizard that allows you to  connect to a database server. The wizard will then create a new database with  the needed tables to store permissions. &#xa0;As you are going through the wizard, be sure that  you check the box that automatically creates a user and role for &quot;Everyone.&quot; We  will use this later.&lt;br /&gt;
  &lt;strong&gt;&lt;br /&gt;
  Step 2: Create roles  and users&lt;/strong&gt;&lt;br /&gt;
  Permissions for the services are managed via roles. After  you successfully create a role, you can create a new user or add existing users  to that role.&#xa0; Creating users and roles  can be done easily via the ArcGIS Server Manager wizard. &lt;br /&gt;
  &lt;strong&gt;&lt;br /&gt;
  &lt;br /&gt;
  Step 3: Lock down  your server&lt;/strong&gt;&lt;br /&gt;
  Now that you have a database set up, you are ready to lock  down your services. &lt;br /&gt;
  Go back to the &quot;Setting&quot; section of the &quot;Security&quot; tab. &lt;br /&gt;
  You will see a section that says: &quot;Security for GIS Services  is:&#xa0;&#xa0; Not Enabled&quot;. Beside this text is a  button that says &quot;Enable&quot;&lt;br /&gt;
  &lt;/p&gt;
&lt;p&gt;Note: Once you Enable security, you cannot undo this via the  ArcGIS Server manager.&#xa0; Don&apos;t get  frightened away yet, you will see in the next step that this is not a big deal.&lt;br /&gt;
  &lt;strong&gt;&lt;br /&gt;
  Step 4: Grant  permission for &quot;Everyone&quot; at the root level&lt;/strong&gt;&lt;br /&gt;
  Now that your site is locked down, you need to grant  permissions to your services.&lt;br /&gt;&lt;br /&gt; &#xa0;The next  few steps are going to assume you have some public services and some private  services. Even though security is turned on, we want to make sure that our  public services remain public, not requiring a username / password. &lt;br /&gt;&lt;br&gt;
  Click on the &quot;Services&quot; tab.&#xa0;  It should automatically load the &quot;Manage Services&quot; section. If you are  not already there, change the &quot;Services In&quot; pulldown value to your root directory.  Then Click Manage Folders -&amp;gt; Permissions. At the root level, grant &quot;Everyone&quot; permission by adding the role to the Access List. &lt;br /&gt;&lt;br /&gt;
  Now security is turned on, but all of your services are public.&#xa0; I recommend this set up  for any initial installation of ArcGIS Server. This will allow you to quickly  add permissions when needed. &lt;br /&gt;
  &lt;strong&gt;&lt;br /&gt;
  Step 5: Lock down a  folder in your ArcGIS Server &lt;/strong&gt;&lt;br /&gt;
  Now that all of our sites are public, we want to lock down  specific services.&lt;br /&gt;&lt;br /&gt; If your services are organized into folders,  this can be done easily. Let&apos;s assume you have a folder called &quot;Private&quot;. &#xa0;Switch the &quot;Services in&quot; value to your private  folder. Then, click Manage Folders - &amp;gt; Permissions.&#xa0; Add the role you created to this folder. Be  sure to remove &quot;Everyone&quot; from the Access list. &lt;br /&gt;&lt;br /&gt;
  Now your services in this folder will require the a username  and password that is associated to that role.&lt;br /&gt;
  &lt;strong&gt;&lt;br /&gt;
  Step 6: Access the  Secure Folder via REST interface.&lt;/strong&gt;&lt;br /&gt;
  If you&apos;re developing applications with the ArcGIS Server  Javascript API, the REST interface should be your best friend. However after  you lock down a folder, you will notice the interface for that folder is gone  from your root services directory:&lt;br/&gt; http://&amp;lt;servername&amp;gt;/ArcGIS/rest/services&lt;br /&gt;&lt;br /&gt;
  To access the &quot;Private&quot; folder, simply type in the URL for your secure folder:&lt;br /&gt;http://&amp;lt;servername&amp;gt;/ArcGIS/rest/services/Private &lt;br /&gt;&lt;br /&gt; This will open up a login screen. You can now access the folder with a  username / password.&lt;br /&gt;
  &lt;strong&gt;&lt;br /&gt;
  Step 7: Using a secure service in your ArcGIS Server JavaScript API application&lt;/strong&gt;&lt;br /&gt;
  The following setup will work great if you would like to have a public  ArcGIS Server Javascript API application with secure services embeded into the  application. As a result, users will not be able to grab your service URLs and  use them in their own applications. &lt;br /&gt;&lt;br /&gt;
  To keep this blog from getting to long, we are going to  assume you already have a proxy page set up in your application.&#xa0; If you do not, that probably means 2 things.  You are not printing your maps, and you are not receiving data back in IE where  the queries are longer than 2000 characters. Here is a link to setting up your  proxy: &lt;a target=&quot;_blank&quot; href=&quot;http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/arcgis/help/jshelp/ags_proxy.htm#webprint&quot;&gt;http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/arcgis/help/jshelp/ags_proxy.htm#webprint&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;
  Since we&apos;re assuming you already have a proxy set up, the  first step is going to be an updating your settings for the proxy in your JavaScript. &lt;br /&gt;&lt;br /&gt; The sites are now secure, so you will need to use the proxy page for each  request. If you have not done so already, change the &quot;alwaysUseProxy&quot; setting  to &quot;true&quot; in your application. &lt;br /&gt;
  esri.config.defaults.io.alwaysUseProxy  = true;&lt;br /&gt;
  Additionally, change your http references to https for your secure servcies.&lt;br/&gt;&lt;strong&gt;&lt;br /&gt;
  Step 8: Token Based  Authentication&lt;/strong&gt;&lt;br /&gt;
  Token based authentication is used for authorization of  ArcGIS Server Services via the JavaScript API.&#xa0;  You have two options: &#xa0;1. Create a  token via the Token generation page. 2. Create a token Dynamically&lt;br /&gt;
  &lt;br /&gt;&lt;strong&gt;
  Option 1. Create a token via  the Token generation page&lt;/strong&gt;&lt;br /&gt;
  After you turn on security for your ArcGIS Server  installation, you will have access to a token generation page.  http://&amp;lt;servername/ArcGIS/Tokens/ gettoken.html (You can also get to this page from the REST interface.) Type in a valid user name/password and it will return a token value. &#xa0;&lt;br /&gt;&lt;br /&gt;
  Change the http reference in the proxy.config to https. Copy &#xa0;and paste the  token into the service url references in your proxy.config file. &lt;br /&gt;
  Sample from ESRI&apos;s Help:&lt;br /&gt; &amp;lt;serverUrl url=&amp;quot;https://www.example.com/arcgis/rest/services/MyMapSecureService/MapServer&amp;quot;  matchAll=&amp;quot;false&amp;quot;token=&amp;quot;5fFo4%2fI4Tv8IGSqSYbpUNORRD%2fYxXMSPo6NEHNNGMpt9CMknpXIjEVqYGm3uuQnU&amp;quot;  &amp;gt;&amp;lt;/serverUrl&amp;gt;&lt;br /&gt;&lt;br /&gt;
  You will notice on the token generation page that by default  this token is only good for 10 days. You can change this if needed in the  ArcGIS Server Manager. Optionally, you can set up your services as done below.&lt;br /&gt;
  &lt;br /&gt;
  &lt;strong&gt;Option 2. Create a token dynamically:&lt;/strong&gt;&lt;br /&gt;
  If you wish to create tokens dynamically, you will need to  download a new proxy.ashx page.&lt;br /&gt;&lt;br /&gt; We posted a question on ESRI&apos;s users forums  about this setup. Thang Le&amp;nbsp;from ESRI Support, provided us with the new  proxy file. You can download it from the user forums here: &lt;br /&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://forums.esri.com/Thread.asp?c=158&amp;amp;f=2396&amp;amp;t=297001#926770&quot;&gt;http://forums.esri.com/Thread.asp?c=158&amp;amp;f=2396&amp;amp;t=297001#926770&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
  After you download the zip file, replace your existing  proxy.ashx page with the new one. Then, you will need to update your server url references in your proxy.config file. Change the http reference to https. Add the following new attributes:&lt;br /&gt;
  dynamicToken=&amp;quot;true&amp;quot;&lt;br /&gt;
  host=&amp;quot;&amp;quot;&lt;br /&gt;
  userName=&amp;quot;&amp;quot;&lt;br /&gt;
  password=&amp;quot;&amp;quot;&lt;/p&gt;
				
				</description>
						
				
				<category>ArcGIS JS API</category>				
				
				<category>ArcGIS Server .Net</category>				
				
				<category>ArcGIS Server</category>				
				
				<pubDate>Thu, 17 Dec 2009 17:39:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2009/12/17/Securing-Services-for-ArcGIS-Server-JavaScript-API-Application</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>D-ATLAS (Diabetes Atlas) - How it works</title>
				<link>http://www.roktech.net/devblog/index.cfm/2009/11/30/Diabetes-Atlas--ArcGIS-JavaScript-API</link>
				<description>
				
				&lt;strong&gt;What is the D-ATLAS?&lt;/strong&gt;&lt;br&gt;
The D-ATLAS (Diabetes Atlas) maps the prevalence and costs associated with type 2 diabetes.&lt;br&gt;
&lt;br&gt;Press Release:&lt;br&gt; &lt;a target=&quot;_blank&quot; href=&quot;http://www.prnewswire.com/news-releases/the-d-atlas-a-tool-supporting-the-fight-against-diabetes-78148547.html&quot;&gt;The D-ATLAS: A Tool Supporting the Fight Against Diabetes&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
To View the Atlas, register here:&lt;br&gt; &lt;a href=&quot;http://www.z-atlas.com/content.php?sec=diabetes&quot; target=&quot;_blank&quot;&gt;http://www.z-atlas.com/content.php?sec=diabetes&lt;/a&gt;
&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Overview&lt;/strong&gt;&lt;br&gt;
The Diabetes Atlas was built using a combination of ESRI&apos;s &lt;a href=&quot;http://resources.esri.com/arcgisserver/apis/javascript/arcgis/&quot; target=&quot;_blank&quot;&gt;ArcGIS Server JavaScript API&lt;/a&gt; and Microsoft&apos;s .NET Framework.   ArcGIS Online data is used to show the street data in the Atlas. The Disease information is displayed using ArcGIS Server MultiLayer Cached Services.  Finally, the demographic boundaries are displayed using ArcGIS Server 9.3.1 Optimized Map Services and GraphicsLayers. 
&lt;br&gt;&lt;br&gt; 
&lt;strong&gt;Managing the Cache&lt;/strong&gt;&lt;br&gt;
Although fused caches perform the best, we needed to be able to turn layers on and off. Consequently, we decided to use multilayer services that are cached.  Now that 9.3.1 is out, we are looking more towards migrating these services to optimized map services. This would eliminate the struggles to manage large cached datasets. However, we&apos;ve found that performance at the national level is still slower with optimized map services due to the amount of information (or polygons) that need to be rendered on the server. Using the multilayer services that are cached draws the national maps quickly by grabbing the images directly from the cached folders.
&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Printing:&lt;/strong&gt;&lt;br&gt;
Printing on the web is never fun.  Consequently, it has by far been the biggest challenge. We have gone through many versions of printing during the lifetime of the Atlases.  Now, we are using the print sample  found in &lt;a target=&quot;_blank&quot; href=&quot;http://resources.esri.com/arcgisserver/apis/javascript/arcgis/index.cfm?fa=codeGalleryDetails&amp;scriptID=16092&quot;&gt;DS2009: Developing Advanced Applications with the ArcGIS JavaScript API&lt;/a&gt;. We modified the code to work with a hidden &quot;whiteout layer&quot; from the main page. A definition query on the &quot;whiteout layer&quot; is updated as users change the regions. Then when map is printed, the whiteout layer&apos;s visibility is set to true. The whiteout layer covers the non-selected areas showing only the specific region the user wants to print.
&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Managing the Atlases:&lt;/strong&gt;&lt;br&gt;
All the information displayed  in the Atlases are managed from a SQL Sever database. The database stores information at the Disease, Disease Year, and Demographic levels.  Consequently, we can easily update information in the Atlases (Legend Images, Legend Titles, Active and Inactive Services, methodology, etc)  without having to touch the code.  For example, if we need to update the cache for a service, we can simply set the service to inactive in the database, and it will not show up in the Atlas while the cache is being built.
&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;Screen Grabs:&lt;/strong&gt;
&lt;br&gt;
D-Atlas:&lt;br&gt;
&lt;img src=&quot;http://www.roktech.net/devblog/images//datlas_dc.jpg&quot;&gt;&lt;br&gt;
&lt;br&gt;
Print Page:&lt;br&gt;
&lt;img src=&quot;http://www.roktech.net/devblog/images//datlas_print.jpg&quot;&gt;
				
				</description>
						
				
				<category>ArcGIS JS API</category>				
				
				<category>ArcGIS General</category>				
				
				<pubDate>Mon, 30 Nov 2009 18:26:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2009/11/30/Diabetes-Atlas--ArcGIS-JavaScript-API</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>ArcGIS Server JavaScript API version 1.5 - Bug with Drawing Toolbar deactivation?</title>
				<link>http://www.roktech.net/devblog/index.cfm/2009/11/12/ArcGIS-Server-JavaScript-API-version-15--Bug-with-Drawing-Toolbar-deactivation</link>
				<description>
				
				After upgrading our ArcGIS Server JavaScript API sites to version 1.5, we have noticed some strange behavior with our Drawing Toolbars.

We use a &lt;a target=&quot;_blank&quot; href=&quot;http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/arcgis/help/jsapi/draw.htm&quot;&gt;Drawing Toolbar&lt;/a&gt; to allow users to draw a line or polygon to select features on the map. The geometry from the drawing toolbar is used as the geometry in the &lt;a target=&quot;_blank&quot; href=&quot;http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/arcgis/help/jsapi/query.htm&quot;&gt;Query&lt;/a&gt; for the QueryTask.&lt;br&gt;
&lt;br&gt;
At version 1.5, we noticed the last segment of the line or polygon was not being used in the QueryTask results. Consequently, no features in the last segment of the geometry were selected on the map. All other segments of the geometry  were working fine.&lt;br&gt;
&lt;strong&gt;User Selection:&lt;/strong&gt;&lt;br&gt;
&lt;img src=&quot;http://www.roktech.net/devblog/images//userSelection.JPG&quot;&gt;
&lt;br&gt;
&lt;strong&gt;Parcel Results:&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&lt;i&gt;(Notice the last segment did not return features)&lt;/i&gt;&lt;br&gt;
&lt;img src=&quot;http://www.roktech.net/devblog/images//queryResults.JPG&quot;&gt;
&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;Bug:&lt;/strong&gt;&lt;br&gt;
We use 3 different drawing toolbars on our site for measuring distances, selecting features, and drawing graphics. &lt;br&gt;
&lt;br&gt;
The problem came when we activated 1 drawing toolbar, then deactivated another toolbar after the activation.  &lt;br&gt;
&lt;br&gt;
//switch to select toolbar&lt;br&gt;
selectToolbar.activate(esri.toolbars.Draw.POLYLINE);drawingToolbar.deactivate();&lt;br&gt;

&lt;strong&gt;Soultion:&lt;/strong&gt;&lt;br&gt;
At version 1.5, you must deactivate any toolbars before you activate one. &lt;br&gt;
&lt;br&gt;
//switch to select toolbar&lt;br&gt;
drawingToolbar.deactivate();selectToolbar.activate(esri.toolbars.Draw.POLYLINE);&lt;br&gt;&lt;br&gt;
At previous versions of the ArcGIS Server JavaScript API this was not a problem. I&apos;m not sure if this falls into the category of a bug, but it is certainly something to be aware of when you migrate your applications to Version 1.5.
&lt;br&gt;

&lt;i&gt;The ESRI Fourm blog referencing this issue can be seen &lt;a target=&quot;_blank&quot; href=&quot;http://forums.esri.com/Thread.asp?c=158&amp;f=2396&amp;t=292842&amp;mc=2&quot;&gt;here&lt;/a&gt;. Thanks to xiaoming - Prince William County  for finding the work around.&lt;/i&gt;
&lt;br&gt;
&lt;br&gt;
Trent Tinker&lt;br&gt;
Developer - ROK Technologies
				
				</description>
						
				
				<category>ArcGIS JS API</category>				
				
				<category>ArcGIS Server</category>				
				
				<pubDate>Thu, 12 Nov 2009 15:29:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2009/11/12/ArcGIS-Server-JavaScript-API-version-15--Bug-with-Drawing-Toolbar-deactivation</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Sorting a FeatureSet by Attribute - JavaScript API</title>
				<link>http://www.roktech.net/devblog/index.cfm/2009/11/2/Sorting-a-FeatureSet-by-Attribute--JavaScript-API</link>
				<description>
				
				Here is a simple example that shows you how to sort your &lt;a href=&quot;http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/arcgis/help/jsapi_start.htm#jsapi/featureset.htm&quot; target=&quot;_blank&quot;&gt;FeatureSet&lt;/a&gt; in the JavaScript API.

The javascript array sort function is actually a very powerful tool. You can pass a function to the sort method that will run each time the items in your array are compared. Since the features in a featureset are stored as an array, you can write your own sort function to sort all the features by an attribute.
&lt;br&gt;
&lt;br&gt;
Here is the code:
&lt;br&gt;
&lt;br&gt;
//note: CONDITION is the attribute we are sorting on.&lt;br&gt;
//you will need to change this the appropriate attribute&lt;br&gt;
//a &amp; b are the two features be compared from your array of features
 &lt;br&gt;&lt;br&gt;
function sortByAttribute(a, b) {&lt;br&gt;
    var x = a.attributes.CONDITION.toLowerCase();&lt;br&gt;
    var y = b.attributes.CONDITION.toLowerCase();&lt;br&gt;
    return ((x &lt; y) ? -1 : ((x &gt; y) ? 1 : 0));&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
//call this from within your result function&lt;br&gt;
featureSet.features.sort(sortByFirstName);&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Trent Tinker&lt;br&gt;
Developer - ROK Technologies
				
				</description>
						
				
				<category>ArcGIS JS API</category>				
				
				<pubDate>Mon, 02 Nov 2009 18:15:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2009/11/2/Sorting-a-FeatureSet-by-Attribute--JavaScript-API</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Geoworld - Resource Of The Month</title>
				<link>http://www.roktech.net/devblog/index.cfm/2009/8/13/Geoworld--Resource-Of-The-Month</link>
				<description>
				
				Our recent &lt;a href=&quot;http://www.maphiv.org/&quot; target=&quot;_blank&quot;&gt;HivAtlas application&lt;/a&gt; (ArcGIS Server Javascript API site) was just highlighted in the latest issue of GeoWorld.  Its on page 9 - &quot;&lt;a href=&quot;http://digitalmagazinetechnology.com/a/?KEY=geoworld-09-08august#page=9&quot; target=&quot;_blank&quot;&gt;Resource Of The Month&lt;/a&gt;&quot;.  I always find it strange when the folks who publish these articles never give you a heads up. Anyway, its nice to be recognized.  Lots and lots of work went into that application.  And - its one of the many ArcGIS Server sites that are hosted here at ROK...If you would like any information on our ArcGIS Server hosting services, &lt;a href=&quot;mailto:info@roktech.net&quot;&gt; drop us a line&lt;/a&gt;
				
				</description>
						
				
				<category>ArcGIS JS API</category>				
				
				<category>Example Sites</category>				
				
				<category>ArcGIS Server</category>				
				
				<pubDate>Thu, 13 Aug 2009 11:42:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2009/8/13/Geoworld--Resource-Of-The-Month</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Dojo and Coldfusion - A Fix for Using the Dojo TitlePane with CFGrid</title>
				<link>http://www.roktech.net/devblog/index.cfm/2009/7/28/Dojo-and-Coldfusion--A-Fix-for-Using-the-Dojo-TitlePane-with-CFGrid</link>
				<description>
				
				We are automatically updating a coldfusion grid with results from a database as users type in a search box. This grid is contained in a dojo dijit.TitlePane. The TitlePane is a collapsible window.  

Recently, we discovered an issue in IE. If the Cfgrid has results, then you collapse and open the dojo TitlePane, the grid will disappear. Here is how we fixed it:

Step 1: Set the duration in the TitlePane to 0&lt;br&gt;
   Code:div dojoType=&quot;dijit.TitlePane&quot; id=&quot;resultsDivholder&quot; duration=&quot;0&quot;

Step 2: Attach an event to the toggle function using dojo.connect&lt;br&gt;
   Code: dojo.connect(dijit.byId(&apos;resultsDivholder&apos;),&quot;toggle&quot;,gridToggle);&lt;br&gt;
   Note: The TitlePane is a dijit. Therefore, you must use dijit.byId and not dojo.byId

Step 3: Refresh the coldfusion grid when the title pane is toggled to open&lt;br&gt;
   Code:&lt;br&gt;
function gridToggle()
{
	if(dijit.byId(&apos;resultsDivholder&apos;).open == true)
	{
		
		ColdFusion.Grid.refresh(&apos;ResultsGrid&apos;);
	}
}
				
				</description>
						
				
				<category>ArcGIS JS API</category>				
				
				<category>Coldfusion</category>				
				
				<category>Dojo</category>				
				
				<pubDate>Tue, 28 Jul 2009 13:13:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2009/7/28/Dojo-and-Coldfusion--A-Fix-for-Using-the-Dojo-TitlePane-with-CFGrid</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>We are going to need a bigger boat.</title>
				<link>http://www.roktech.net/devblog/index.cfm/2009/6/29/We-are-going-to-need-a-bigger-boat</link>
				<description>
				
				&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/8gciFoEbOA8&amp;hl=en&amp;fs=1&amp;&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/8gciFoEbOA8&amp;hl=en&amp;fs=1&amp;&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;


That clip is the exact reaction I had when I walked into my office last Monday morning. Beginning last week, we got absolutely crushed/overwhelmed with traffic.  A site that we developed and hosted was suddenly &apos;discovered&apos; by the media (fox, associated press, USA Today, front page of DIGG, etc). Check out the sheer number of stories on it on google news &lt;a href=&quot;http://news.google.com/news?um=1&amp;ned=us&amp;hl=en&amp;q=maphiv.org&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;  It continues today, like right now....currently our site is featured on the front page of &lt;a href=&quot;http://www.CNN.com&quot; target=&quot;_blank&quot;&gt;CNN&lt;/a&gt;.  Its a site that shows HIV disease prevalence across the country by county (and in some cases zip code) &lt;a href=&quot;Http://maphiv.org&quot; target=&quot;_blank&quot;&gt;maphiv.org&lt;/a&gt;. I will warn you that registration (its a quickie) is required if you are interested.

Its an ArcGIS Server javascript api based site running on 9.3.1 using msd&apos;s &amp; mxd based services with multi layer caches.  We plan an extensive series of posts when things calm down a bit that will focus on the many lessons that we learned from this overwhelming amount of traffic.

&lt;b&gt;QUICK UPDATE 12 noon edt:&lt;/b&gt;  Our ArcGIS server is taking close to 20 requests &lt;i&gt;per second&lt;/i&gt; and still holding strong.
				
				</description>
						
				
				<category>ArcGIS JS API</category>				
				
				<category>ArcGIS Server</category>				
				
				<pubDate>Mon, 29 Jun 2009 11:59:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2009/6/29/We-are-going-to-need-a-bigger-boat</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>New Site Using Remote Cache Hosting Service - ArcGIS Server in The Cloud</title>
				<link>http://www.roktech.net/devblog/index.cfm/2009/6/19/New-Site-Using-Remote-Cache-Hosting-Service--ArcGIS-Server-in-The-Cloud</link>
				<description>
				
				Hey folks...Just wanted to share a site that is now using our &lt;a href=&quot;http://www.roktech.net/devblog/index.cfm/2008/8/14/Map-Cache-Tile-Hosting&quot;&gt;remote cache hosting service&lt;/a&gt; to serve cached tiles.


&lt;a href=&quot;http://www.roktech.net/devblog/images/cached.jpg&quot;&gt;&lt;img src=&quot;http://www.roktech.net/devblog/images/cached_thumb.jpg&quot; border=&quot;1&quot;&gt;&lt;/a&gt;


I previously showed several Javascript API sites uing this service, but this one is using Flex api for ArcGIS Server.  

This really frees up bandwidth to let the dynamic layers be served quickly.  Those aerial images can be very bandwidth intensive, so hosting these remotely them makes a lot of sense when bandwidth is limited, or you have a high volume site.

Here is is: &lt;a href=&quot;http://maps.roktech.net/santarosa/ags/zoning/&quot;&gt;Santa Rosa Planning and Zoning Viewer&lt;/a&gt;.  The layer that is being served remotely is the &apos;Aerial Photos&apos; layer. If you are a developer geek like me, check out the site with firebug enabled so that you can see the Aerial imagery being served remotely - meaning a different location that the ArcGIS server itself.  Cool stuff.
				
				</description>
						
				
				<category>ArcGIS JS API</category>				
				
				<category>ArcGIS Server FLEX</category>				
				
				<category>Example Sites</category>				
				
				<category>ArcGIS Server</category>				
				
				<pubDate>Fri, 19 Jun 2009 12:58:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2009/6/19/New-Site-Using-Remote-Cache-Hosting-Service--ArcGIS-Server-in-The-Cloud</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Part 1 - Whats Is A Geoprocessing Task And Why Should I Care?</title>
				<link>http://www.roktech.net/devblog/index.cfm/2009/6/17/Part-1--Whats-Is-A-Geoprocessing-Task-And-Why-Should-I-Care</link>
				<description>
				
				So, lets begin this discussion of Geoprocessing with ArcGIS Server that I promised.  I guess the first question is what is geoprocessing and why should I even care?

The big promise of ArcGIS Server has always been this: &quot;Whatever you can do in ArcMap and ArcCatalog, you can now do with ArcGIS Server&quot;. I have often heard ESRI reps say &apos;You can even rebuild ArcMap if you want to&apos;.  Of course, no one would ever want to do such a thing, but wouldn&apos;t it be nice to have all that functionality available to you in a web based application?

In the old days of ArcIMS and MapObjects IMS we were pretty limited in what types of geoprocessing we could do on the web.  I can recall all sorts of crazy tricks with buffers that we used to write to really push ArcIMS to its limits.  But, at the end of the day, it was still just a buffer, and there is only so far it will take you.  How about a select by location, or a union, or a clip?  Sorry folks, you were out of luck if you needed to do that on the web.  But then, ArcGIS Server came around, and suddenly doing real geoprocessing became a reality.

So, what is a geoprocessing task?  In short, it is a set of server side tools called from a web based client. Users create a model using Model builder, and then publish that model to the web as a geoprocessing task. The output parameters of the model are then streamlined to your web application. 

Lets take for example a recent Flex application that I wrote (&lt;a href=&quot;http://maps.roktech.net/santarosa/ags/zoning/&quot; target=&quot;_blank&quot;&gt;Check it out here&lt;/a&gt;).  The purpose of this application is to help citizens locate their property and then return information about the zoning on that property.  It sounds easy enough, right? I&apos;ll bet you are thinking, why not just do an Identify, and return results from the zoning layer?   Ah, if it were only that easy.

There can be many, multiple types of zoning found on a single parcel, so a simple identify by point will not work. We need to do a spatial analysis to get  the property boundary that the map click point or address point resides in. Once we get the property boundary, we need to do a second spatial analysis to determine which zoning layers intersect that property boundary. 

&lt;img src=&quot;http://www.roktech.net/devblog/images//Geoprocessing.jpg&quot;&gt;

So, how can we use a geoprocessing task to help solve this problem?  I started by simply going into ArcMap and writing down the steps that it takes to get the results I need. Then, I used model builder to string together these tasks into a single workflow. Finally, I published this model to ArcGIS Server so I could access it from the web.

The, the final product takes in a point, selects the containing parcel for the point, and returns the zoning types that are present in the parcel.

Now, this is a pretty straightforward example.  We could take this example much further. We could actually clip that zoning layer and determine precise percentages of each zoning type on that parcel.  For parcels with multiple structures, we could determine the zoning district for each structure.  List goes on.

This scenario, while certainly not impossible to do by conventional means (thinking FIND, QUERY, and IDENTIFY tasks), becomes much, much easier to solve by using a geoprocessing task.  It also combines all the steps into one task.  Instead of writing a complex combination of code to perform these steps in javascript or actionscript (flex) on the client, I have created a new, reusable tool that does all of these steps for me, serverside.

I hope this clears up what a geoprocessing task actually is and why you should care. Next up in the series, we&apos;ll tackle the technical aspects of actually creating and executing one from your web application.
				
				</description>
						
				
				<category>ArcGIS Server FLEX</category>				
				
				<category>ArcGIS JS API</category>				
				
				<category>Geoprocessing</category>				
				
				<category>ArcGIS Server Coldfusion</category>				
				
				<category>ArcGIS Server</category>				
				
				<pubDate>Wed, 17 Jun 2009 13:11:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2009/6/17/Part-1--Whats-Is-A-Geoprocessing-Task-And-Why-Should-I-Care</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>ArcGIS Server Training - Charleston, SC</title>
				<link>http://www.roktech.net/devblog/index.cfm/2009/6/3/ArcGIS-Server-Training--Charleston-SC</link>
				<description>
				
				Everyone always asks for an excuse to visit Charleston... well here is your chance! ROK is hosting two ArcGIS Server training classes this August at College of Charleston&apos;s GIS Lab.

&lt;strong&gt;Administering ArcGIS Server&lt;/strong&gt;&lt;br&gt;
2 Days (Monday, August 17th and Tuesday, August 18th) $850.00 &lt;br&gt;
Training will cover all the steps you need to get ArcGIS Server up and running in your organization. In addition, it will go into some of the more advanced functionality ArcGIS Server has to offer including building optimized map cache and publishing geoprocessing tools to the web. 
Here is a link to the outline for Administering ArcGIS Server:&lt;br&gt;  &lt;a href=&quot;http://www.roktech.net/training/Administering.pdf&quot; target=&quot;_blank&quot;&gt;http://www.roktech.net/training/Administering.pdf&lt;/a&gt;

&lt;strong&gt;Developing Applications for ArcGIS Server&lt;/strong&gt;&lt;br&gt;
2 days (Wednesday, August 19th and Thursday, August 20th) $850.00&lt;br&gt;
Training will give you the tools and knowledge to start developing fast light weight mapping applications that users are now expecting. ArcGIS Server 9.3 offers new APIs that allow developers to get their data on the web in a quick, stylish, and developer friendly interface. We will cover the JavaScript API, Flex API, and briefly discuss the WebADF. On day two of this training, we will set aside time for you to apply the skills you&apos;ve learned to start creating or continue developing applications for your organization. ROK developers will be there to help you along the way.  
Here is the link to the outline for Developing Applications for ArcGIS Server: &lt;br&gt;&lt;a href=&quot;http://www.roktech.net/training/DevelopingApplications.pdf&quot; target=&quot;_blank&quot;&gt;http://www.roktech.net/training/DevelopingApplications.pdf&lt;/a&gt;

For more information or to sign up for a class, please contact &lt;strong&gt;training@roktech.net&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
				
				</description>
						
				
				<category>ArcGIS JS API</category>				
				
				<category>ArcGIS Server REST</category>				
				
				<category>ArcGIS Server FLEX</category>				
				
				<category>ArcGIS Server .Net</category>				
				
				<category>ArcGIS Server</category>				
				
				<category>ArcGIS General</category>				
				
				<pubDate>Wed, 03 Jun 2009 18:45:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2009/6/3/ArcGIS-Server-Training--Charleston-SC</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>ArcGIS Server Javascript API - Search with apostrophes</title>
				<link>http://www.roktech.net/devblog/index.cfm/2009/5/28/ArcGIS-Server-Javascript-API--Search-with-apostrophes</link>
				<description>
				
				We recently came across an issue with our queryTask and findTask functions when using apostrophes. If you submit a query or find task and the search text contains an apostrophe, you will get the following result:

Unable to perform query. Please check your parameters.

This is actually an issue with SQL Sever and not the Javascript API. To get SQL Sever to recognize the single apostrophe, you need to replace the single apostrophe with a pair of apostrophes. 

To fix this issue, we used the following javascript code:

var county = dojo.byId(&apos;countySelect&apos;).value;

county = county.replace(&quot;&apos;&quot;,&quot;&apos;&apos;&quot;); 

This should be done for any queryTask or findTask where the data being searched contains apostrophes.
				
				</description>
						
				
				<category>ArcGIS JS API</category>				
				
				<category>ArcGIS Server REST</category>				
				
				<category>ArcGIS Server</category>				
				
				<pubDate>Thu, 28 May 2009 12:51:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2009/5/28/ArcGIS-Server-Javascript-API--Search-with-apostrophes</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>ArcGIS Server JS API - Table of Contents (TOC) Example</title>
				<link>http://www.roktech.net/devblog/index.cfm/2009/4/1/ArcGIS-Server-JS-API--Table-TOC-Example</link>
				<description>
				
				Using ESRI&apos;s &lt;a href=&quot;http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/arcgis/demos/map/map_dynamiclayerlist.html&quot; target=&quot;_blank&quot;&gt;Dynamically create layer list&lt;/a&gt; example, we created a simple, easy to use table of contents for the Javascript API. The toc allows users to zoom the extent of a service, expand or collapse layers, and of course turn layers on and off.

Check it out and view the source to see the code in action:
&lt;a href=&quot;http://maps.roktech.net/demo/toc_example/index.htm&quot; target=&quot;_blank&quot;&gt;ROK ArcGIS Server Table Of Contents Example&lt;/a&gt;

How it works:
A function named &quot;addToTOC&quot; takes in two parameters. Layers is the actual layer being added to the map, and listLayers is a Boolean value that will either list the layers in the service or just at the layer at the root of the TOC. 

The function checks to make sure the layer has been loaded to the map. If it has not been loaded, it adds an &quot;onLoad&quot; listener to the layer.

After confirming the layer has been added to the map, the layer is passed to one of two functions depending on the value of the listLayers parameter.

&lt;b&gt;BuildLayerList&lt;/b&gt;:&lt;br&gt; Adds the layer to the root of the TOC and lists the sublayers in that service. These layers can then be turned on or off. The method is good for multilayer caches or dynamic services. 

&lt;b&gt;BuildLayerListRoot&lt;/b&gt;:&lt;br&gt; Only adds the layer to the root of the TOC. This method is good for layers hosted by ESRI and fused cache layers.

There are three functions that interact w/ the table of contents once it has been created:

&lt;b&gt;ZoomToLayer&lt;/b&gt;:&lt;br&gt; Zooms to the full extent of the service&lt;br&gt;
&lt;b&gt;ToogleService&lt;/b&gt;:&lt;br&gt; Turns a service on or off&lt;br&gt;
&lt;b&gt;UpdateLayerVisibility&lt;/b&gt;:&lt;br&gt; Turns layer in a service on or off&lt;br&gt;

Extra - Transparency Slider:&lt;br&gt;

Finally, we have also added a transparency slider that works with the layers added to the map. As you switch layers from the pulldown list, the slider value is updated to the current opacity of the layer.  This is pretty neat.&lt;br&gt;
&lt;b&gt;AddToTransparencyList&lt;/b&gt;:&lt;br&gt; Alphabetically adds the layer to the transparency pull down list&lt;br&gt; 
&lt;b&gt;UpdateTransparencyLayer&lt;/b&gt;:&lt;br&gt; Updates the global variable that stores the transparency layer id and sets the slider to the opacity of the layer&lt;br&gt;
&lt;b&gt;ChangeTransparency&lt;/b&gt;:&lt;br&gt; Updates the opacity of the layer&lt;br&gt;

We have found these functions to be quite useful, so we thought we would share these with the rest of the community.  We hope you find them as useful as we do.  If you have any trouble with them, post in the comments.Enjoy.
				
				</description>
						
				
				<category>ArcGIS JS API</category>				
				
				<category>ArcGIS Server</category>				
				
				<pubDate>Wed, 01 Apr 2009 00:50:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2009/4/1/ArcGIS-Server-JS-API--Table-TOC-Example</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>ArcGIS Server JS API and IE 8</title>
				<link>http://www.roktech.net/devblog/index.cfm/2009/3/20/ArcGIS-Server-JS-API-and-IE-8</link>
				<description>
				
				Hey all.  Just a reminder, now the IE 8 is released, to check out your ArcGIS Server javascript api based sites and make sure they all work as you expect.  I for one have had some issues with some graphic layers, so I have added a custom header to IIS instructing IE 8 to render pages in IE 7 compatibility mode.  

Here is how to add the custom header to IIS (lifted from msdn):

To configure IIS 6 and earlier versions to include a custom HTTP response header, follow these steps:

1. Click Start, click Run, type inetmgr.exe, and then click OK.

2. Expand the server you want and then expand Web Sites.

3. Right-click the Web site you want and then click Properties.

4. Click the HTTP Headers tab.

5. Under Custom HTTP headers, click Add.

6. In the Custom header name box, type X-UA-Compatible.

7. In the Custom header value box, type IE=EmulateIE7.

8. Click OK two times.


Sure, I should have taken the time to test with the previous IE 8 release candidates, but you know the life of the developer is filled with other more important things, like keeping clients happy and getting my fix of Mt Dew for the day.  So, I&apos;ll be using this method until I can properly figure out my graphics issues.

Also, another tool that I have been meaning to blog about is &lt;a href=&quot;http://www.my-debugbar.com/wiki/IETester/HomePage&quot;&gt;IEtester&lt;/a&gt;.  It comes with &apos;My DebugBar&apos; which is the IE equivalent of Firebug.  Well, I shouldn&apos;t even say that, its not anywhere near as functional as Firebug.  Anyway, IEtester lets you view your sites in different IE rendering engines.  From 5.5 all the way to 8.  Its been a pretty handy tool during testing.  Enjoy.

PS:  Anyone have an extra Asheville Phish ticket?
				
				</description>
						
				
				<category>ArcGIS JS API</category>				
				
				<category>Misc</category>				
				
				<category>ArcGIS General</category>				
				
				<pubDate>Fri, 20 Mar 2009 12:14:00 -0400</pubDate>
				<guid>http://www.roktech.net/devblog/index.cfm/2009/3/20/ArcGIS-Server-JS-API-and-IE-8</guid>
				
			</item>
			
		 	
			</channel></rss>