What is Dojo and why is it important to ArcGIS users?

Recently Alex Russell and
Neil Roberts
from SitePen were here
in Redlands showing us some of the capabilities of
the Dojo toolkit
and how it can greatly simplify your life if you’re a
JavaScript developer. We anticipate that a lot of you will be encountering Dojo
soon because the ArcGIS JavaScript API is built on top of it. This post gives
an overview of what Dojo is and what you need to know about it to be successful
when building ArcGIS JavaScript applications.

What is Dojo?

Dojo is a toolkit that helps you write more robust and performant JavaScript
code. JavaScript is a language that runs within the Web browser, and there are
various flavors of Web browser that interpret the JavaScript in slightly
different ways. Toolkits such as Dojo, YUI,
Prototype, and many others are designed
to abstract away the browser idiosyncrasies so that you don’t have to learn
them all and handle them in your code.

Additionally, there are often several ways to code the same thing using
JavaScript. Toolkits like Dojo provide functions you can use to do things in
easier or more efficient ways. Using libraries from a toolkit can reduce the
lines of code you write and make your JavaScript applications quicker and more

What does it mean that the ArcGIS JavaScript API is built on top of Dojo?

The ESRI developers who created the ArcGIS JavaScript API used Dojo to simplify
their development process (Why reinvent things that work?) and to ensure that
the applications you build behave the same in different browsers. For example,
the map zoom and panning animations use Dojo, as does the graphics layer.

Furthermore, the zoom level slider and info windows that you see in your
JavaScript API maps are Dojo widgets (dijits). The slider dijit is provided
with Dojo, and the info window is a custom dijit created by ESRI for the ArcGIS
JavaScript API.

How much Dojo do I need to know in order to use the ArcGIS JavaScript API?

The amount of Dojo you use when you work with the ArcGIS JavaScript API is up to
you, but at a minimum you’ll need to use several common functions:

  • dojo.require() – Similar to the <script> include tag on an HTML page. It
    imports resources into your JavaScript page.
  • dojo.addOnLoad() – Similar to <body onload=”">. It registers an
    initializing block called after the page has finished loading and the dijits
    have been initialized.
  • dojo.connect() – Similar to the Element.addEventListener and
    Element.attachEvent JavaScript functions. It registers a listener to listen to
    specific events on an Object or element on the page and returns results from a
  • dojo.byId() – Similar to the document.getElementById(id) JavaScript function.
    The function searches and returns the first HTML element with the argument ID.

When writing your ArcGIS JavaScript applications, you can take advantage of the
full Dojo toolkit, which includes buttons, grids, tree views, charts, and other
widgets. The toolkit is divided into three parts:

Core – Essential functions like those listed above
Dijit – Themeable widgets such as trees, menus, and buttons
DojoX- Extension projects in various stages of development, such as graphics,
grids, and charts

How do I get Dojo? Do I have to install it?

Dojo is included with the ArcGIS JavaScript API. When you include this script
tag referencing the ArcGIS JavaScript API, you get access to the full Dojo
tookit version 1.1.0:

<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1"></script>

Many Dojo users download Dojo and host it themselves, or they reference the
publicly available Dojo hosted on the AOL Content Delivery Network (CDN). When
building ArcGIS JavaScript applications, there is no need to download or host
Dojo, and you should use the Dojo included with the ArcGIS JavaScript API.

How do I get help with Dojo?

The Dojo Web site, www.dojotoolkit.org
contains the official Dojo documentation. Documentation may be sparse,
especially for projects in DojoX. Various
have recently become available that describe working with Dojo in
more detail than you’ll find on the web site. The
Dojo forums
and the #dojo chat room on the
server irc.freenode.net are other good ways to get help.

Do the ESRI Web ADFs use Dojo?

At 9.3, ESRI’s .NET Web Application Developer Framework (ADF) contains a
JavaScript library which should not be confused with the ArcGIS JavaScript API.
The .NET Web ADF JavaScript library is dependent on the ASP.NET AJAX JavaScript
Library and does not use Dojo.

The Java Web ADF also provides a JavaScript library, which was not written with
a toolkit and consequently does not use Dojo.

-Sterling Quinn

Posted in Services | Tagged , , | 2 Comments

Direct connections to ArcSDE geodatabases

This post was written by Kim Peter, a product engineer on the geodatabase team, and is a follow up to her post on Connections to 9.3 Geodatabases

There are two types of connections you can make to ArcSDE geodatabases: direct connections or connections through an ArcSDE service. This post deals with making direct connections to ArcSDE geodatabases with ArcGIS clients, where the ArcGIS client and ArcSDE geodatabase are from different releases.

You may have heard that to make direct connections from an ArcGIS client, you no longer need to have the client software and the geodatabase at the same release. This is true for ArcGIS 9.2 service pack 5 (SP5) or SP6 clients making a connection to an ArcSDE 9.3 geodatabase and for ArcGIS 9.3 clients making direct connections to an ArcSDE 9.0, 9.1, 9.2, or 9.3 geodatabase.

Here’s some information you need to successfully set up these inter-release direct connections.

  • You must perform a separate installation to get the direct connect drivers necessary to make these connections.
    • The setup to obtain the 9.0, 9.1, and 9.2 direct connect drivers is called ArcGIS Pre-9.3 GDB Direct Connect Setup and is included on your 9.3 client media along with an installation guide.
    • The setup to obtain the 9.3 drivers needed to make a direct connection from an ArcGIS 9.2 SP5 or SP6 client to an ArcSDE 9.3 geodatabase must be downloaded from the ESRI support site Patches and Service packs download page. This setup is called ArcGIS 9.3 GDB Direct Connect for 9.2 Clients Setup. An installation guide for this setup is also provided with the download.
  • The ArcSDE 9.0, 9.1, or 9.2 geodatabase to which you are making a direct connection must have the latest service packs applied. Check the ESRI support site’s download page for the latest service pack for each release.
  • Direct connections from an ArcGIS 9.3 client to an ArcSDE 9.0, 9.1, or 9.2 geodatabase for Informix is not supported.
  • Direct connections from an ArcGIS 9.3 client to an ArcSDE 9.0 geodatabase for Oracle 8i are not supported.
  • When you connect to a geodatabase on an ArcSDE database server (an ArcSDE geodatabase for SQL Server Express), you always make a direct connection. Be aware that the upgrade procedure for ArcSDE geodatabases for SQL Server Express will differ depending on whether or not you have the 9.2 direct connect drivers installed. See Upgrading geodatabases on ArcSDE database servers in the help to see how to upgrade these geodatabases. (Note that at 9.3 final release there is a bug that will prevent you from upgrading the geodatabase if you have the 9.2 direct connect drivers installed. If you want to upgrade the geodatabase, do it from an ArcGIS 9.3 client that does not have the 9.2 direct connect driver installed.)

For information on connections, see An overview of ArcSDE geodatabase connections and Properties of a direct connection.

Posted in Geodata | Tagged , | 5 Comments

Explorer at WGA

Eleven Governors and four Canadian Premiers participated in the recent Western Governors’ Association meeting in Jackson Hole, Wyoming. The themes of the meeting included energy, climate change and adaption, wildlife corridors, and water policies. Wyoming Governor Dave Freudenthal opened the meeting, followed by keynotes delivered by Interior Secretary Dirk Kempthorne and NBC News Special Correspondent Tom Brokaw.

Following the keynotes, ESRI President Jack Dangermond spoke during the first plenary session – Protecting Wildlife Corridors in the West. During that presentation ArcGIS Explorer was used to highlight the currently available data and mapping of wildlife habitat and corridors, along with the increasing human footprint. Here’s a short overview of the Explorer presentation, highlighting Explorer’s capabilities to tell a story with geospatial data.

The side by side screenshots above show the world combined human footprint from the Center for International Earth Science Information Network (CIESIN), a center within the Earth Institute at Columbia University. The CIESIN data has been published via ArcGIS Server, and is show on top of Explorer’s imagery basemap. The red areas show the highest combined footprint density.

The screenshots above show the CIESIN data overlain by SERGoM housing density data (courtesy of David Theobald, Colorado State University). The housing density is shown from pale yellow to red, with red being the highest density. The screenshot on the left shows the data for 1940, and the screenshot on the right shows the forecast density for 2030. The area shown is Idaho Falls.

These compare 1940 housing density with the forecast 2030 density for California’s Central Valley roughly centered on San Francisco and Sacramento. You can see the density increasing along major highway corridors and on up into the eastern Sierra foothills.

Overlying the Explorer imagery basemap is a layer showing combined habitats for Wyoming. The greater the number of habitats that occur in a given area the darker red the color. On top of the combined habitat map are the abandoned and capped oil and gas wells (red), active wells (yellow), and available leases (blue). Data was provided courtesy of Lynn Scharf, Patrick Comer, and Patrick Crist of NatureServe, and the Wyoming Game and Fish Department.

Above is a snapshot of an animation that shows the migration of pronghorn antelope as they move from their summer range at the foot of the Teton Mountains to their winter habitat in the Upper Green River Valley, and back again. A number of pronghorn were tracked via radio by Joel Berger and Kim Murray Berger of the Wildlife Conservation Society.

The blue dots represent the locations of the pronghorn as they were tracked throughout the year, the yellow dots show the individuals moving from the Teton foothills to the south. The yellow trails show a 3-day travel distance for individuals.

The time series animation of the pronghorn migration was played using the Time Navigator, a custom task developed by Richie Carmichael and available for download at the Explorer ArcScripts sharing site.

These show one of the pronghorn wintering areas. The map on the right includes buffered active wells and lease areas.

Moving to Arizona, the map above shows a section of Highway 260 near Payson. The red areas indicate zones of highest wildlife (elk) kills (data courtesy Sue Boe and Norris Dodd, Arizona Fish and Game Department).

Following an overhaul of the highway and the construction of wildlife underpasses, the dramatic decrease in highway kills can be seen (view the report). Notes were used to link the pictures to their locations.

Posted in Uncategorized | Tagged | Leave a comment

Mapping Center and ArcGIS 9.3

By Charlie Frye, Esri Chief Cartographer

ArcGIS 9.3 has hit the streets, meaning some of you should have it in hand this week, and most of you will have it in the coming weeks. After you get it installed definitely read the What’s new in ArcGIS 9.3 PDF [13Mb] (it also installed with ArcGIS 9.3 at C:Program FilesArcGISDocumentationWhats_New_In_ArcGIS_93.PDF). Use the text search (CTRL-F) to find content, like “Maplex” or “Representations”, or whatever term best describes the enhancement you’ve been hoping for. Continue reading

Posted in Mapping | Tagged , | Leave a comment

The ArcGIS JavaScript API is now available to the public

The new ArcGIS JavaScript API and its accompanying online SDK are now available
for public use. With the ArcGIS JavaScript API you can add GIS functionality to
your Web applications with JavaScript code that runs in the browser. The online
SDK includes help and samples for the API and is hosted within the ArcGIS
Server Resource Center
web site.

Who can use the ArcGIS JavaScript API? Is there a cost?

Everyone can use the ArcGIS JavaScript API. There is no fee for using the ArcGIS
JavaScript API or deploying an application built with it.

How do I learn how to use the ArcGIS JavaScript API?

The best way to learn the API is to visit the ArcGIS JavaScript API home page.
If you’re brand new to JavaScript programming, there are walkthrough topics to
help you understand what JavaScript is and how to start working with it in
ArcGIS. If you have more experience developing with JavaScript, you might take
a look at the live samples. The samples cover a range of topics and each
contains a discussion of what is happening in the code. Finally, a detailed API
reference describes each class available in the API.

What services does the API work with?

The ArcGIS JavaScript API works with ArcGIS Server 9.3 services, which are
exposed through REST technology. If you haven’t received or deployed 9.3 yet,
you can still get started learning the API using several ESRI Sample Servers
that have been configured for this purpose. The API also consumes ArcGIS Online
services. This sample shows how you can add an ArcGIS Online layer to a
JavaScript application.

What else do I need to know?

Two ArcGIS JavaScript Extensions were also released at the same time as the
ArcGIS JavaScript API:

We’ll be posting more information about these shortly. In the meantime, enjoying
exploring their online SDKs.

Posted in Services | Tagged , , , | 3 Comments

ArcGIS 9.3 .NET developer help: improvements, tips, tricks

The recent release of ArcGIS version 9.3 has been an opportunity for ESRI to improve the developer help system significantly.  Feedback during the beta cycle helped make additional improvements to help developers find the content they’re looking for so that they are more productive when coding against these APIs and components.

In this video, Don Kemlage from ESRI’s ArcGIS .NET development team takes a few minutes to describe many of these improvements.  Discussed are enhancements to the samples, code snippets, help topics, and walkthough tutorials.  Don also describes some neat tips and tricks for searching and filtering results.



Posted in Developer | Tagged , , | Leave a comment

Installing on Windows Vista and Windows Server 2008: Which IIS components are required for the Web Applications install feature of ArcGIS Server for the Microsoft .Net Framework?

Chris Whitmore, an Installation Product Engineer at ESRI Redlands, provided this tip for installing ArcGIS Server 9.3 on Windows Vista and Windows Server 2008

ArcGIS Server Manager requires the IIS
components listed below. If these components are not installed, the ArcGIS
Server for the Microsoft .NET Framework installation process will inform you
that the Web Applications feature (includes ArcGIS Server Manager) will not be
available for installation. If you see this message, cancel the install, verify
the correct IIS components are installed and launch the ArcGIS Server
installation again. This information is also documented in the ArcGIS Server
for the Microsoft .NET Framework installation guide.

Steps to add Web Server (IIS) components on Windows Server 2008

  1. Click Start -> Administrative Tools -> Server Manager -> Roles.
  2. Click Add Role Services.
  3. At the Select Role Services dialog, verify the Web Server (IIS) components
    listed below are turned on.

Web Server (IIS)

  • Web Server
    • Common HTTP Features
      • Static Content
    • Application Development
      • ASP.NET
      • .NET Extensibility
      • ISAPI Extensions
      • ISAPI Filters
    • Security
      • Basic Authentication
      • Windows Authentication
      • Request Filtering
    • Management Tools
      • IIS Management Console
      • IIS Management Scripts and Tools
      • Management Service
      • IIS 6 Management Compatibility
        • IIS 6 Metabase Compatibility

The following image shows how Web Server (IIS) components should be configured after the components have been installed (the installation status for Role Services is available on the Server Manager -> Roles panel):

Steps to add IIS components on Windows Vista

  1. Open the Control Panel -> Programs -> Turn Windows features on or off (found under Programs and Features)
  2. Expand the Internet Information Services feature.
  3. Verify the IIS components listed below are turned on.

Internet Information Services

  • Web Management Tools
    • IIS 6 Management Compatibility
      • IIS Metabase and IIS 6 configuration compatibility
    • IIS Management Console
    • IIS Management Scripts and Tools
    • IIS Management Service
  • World Wide Web Services
    • Application Development Features
      • .NET Extensibility
      • ASP.NET
      • ISAPI Extensions
      • ISAPI Filters
    • Common HTTP Features
      • Static Content
    • Security
      • Basic Authentication
      • Request Filtering
      • Windows Authentication

The following image shows how the Windows Components dialog appears on Vista:

Posted in Services | Tagged , , , , | 1 Comment

9.3 Webhelp now publically available

The 9.3 Web help is now publically available since the login requirement was lifted yesterday. The web help is a great resource for up to date information. Even after the product is released the web help gets updated weekly with content and corrections.

Check out the What’s new in 9.3 section to see what new functionality 9.3 has to offer.

As for geodatabase related documentation, there are lots of new topics and content, such as:

Merge geometries
Using the Version Changes command
Mosaicking raster datasets
Color correcting using raster data
Raster Clip geoprocessing tool
ArcSDE connection syntax
Compatibility between clients and geodatabases
Inside a geodatabase in PostgreSQL

The Resource Centers will also be publically available soon, we’ll keep you posted on those.

Posted in Geodata | Tagged , , , | Leave a comment

Find Telephone and Find Computer Location

Two more new tasks delivered with ArcGIS Explorer 480 are Find Telephone and Find Computer Location. Let’s have a look at how to access these, and how they can be used.

There are two places where new tasks are found in ArcGIS Explorer 480 - the Tasks tab under Content on the ArcGIS Explorer Resource Center, and in the Manage Tasks list. These are found in Manage Tasks. 

Choose Tools > Manage Tasks. The left side lists available tasks, the right side lists tasks currently shown in Explorer. Highlight the tasks, and use the arrow to move them to the right column, then click OK.

You’ll now see both available on the Explorer task panel where you can click to activate them.

Find Telephone

Find Telephone takes any land-based telephone number and locates it on your map. Here we’ve entered ESRI’s phone number.


Click find to create a point result that locates the telephone number entered. The telephone subscriber, if publicly available, is also displayed in the Results window.

For additional information, visit the Find Telephone Help topic.

Find Computer Location

Find Computer Location creates a point result that is the geographic location of a web address or an IP address. Here we’ve typed the URL for the ESRI.com Web site. Click the result to open its popup window.

For more details, visit the Find Computer Location Help topic.


Posted in Uncategorized | Tagged , , | Leave a comment

Copying a representation class

By Charlie Frye, Esri Chief Cartographer

Not long ago we found a workflow that demonstrated how convenient it would be to be able to copy a representation class. The situation arose as we were creating a map service for a map that had been designed for print. The problem was that many of the symbols were too small and detailed to be seen clearly on screen. Our symbols were already cartographic representations, so we didn’t want to edit them (to make them larger) because we still needed them to produce our print map. We also didn’t want to have to create and manage an extra copy of our data just to manage one additional attribute (the one added for representations). Continue reading

Posted in Mapping | Tagged , | 3 Comments