What's new in 9.3


Summary This topic outlines the updates to the Web Application Developer Framework (ADF) included in ArcGIS 9.3 to enhance and streamline the usability and performance of the product.

In this topic


Windows Vista

Refer to the ArcGIS Server Installation Guide, included on the installation media, when installing ArcGIS Server on a machine running Windows Vista or Windows Server 2008. The installation guide lists the prerequisites for installing ArcGIS Server on a machine running either of these operating systems. Specifically, there are some instances when the Web applications feature (for example, Manager) will not be installed because Internet Information Services (IIS) does not have the necessary features enabled.

Microsoft Visual Studio 2008

Microsoft Visual Studio 2008 is supported at ArcGIS 9.3.

Microsoft .NET Framework 3.0 and 3.5

Microsoft .NET Framework 3.0 and 3.5 is supported at ArcGIS 9.3.

Microsoft ASP.NET AJAX

Microsoft Active Server Pages (ASP) .NET Asynchronous JavaScript and XML (AJAX) provides a comprehensive AJAX solution for both client and server solutions. The ASP.NET script callback framework on which ArcGIS 9.2 was built still works and is supported at ArcGIS 9.3. However, the ArcGIS 9.3 product requires ASP.NET AJAX to support an enhanced JavaScript application programming interface (API) and the use of Web ADF controls in a ASP.NET AJAX partial postback solution.      
Web ADF controls at ArcGIS 9.3 are already ASP.NET AJAX enabled and do not need to be included in an UpdatePanel.

Web ADF JavaScript library

The Web ADF JavaScript library enables interaction with the following in a script environment:
  • Map
  • Graphics and MapTips
  • Dynamic data source

ArcGIS Server data sources

There is support for curves via changes in the Simple Object Access Protocol (SOAP) API; namely, the addition of a new property on a LayerDescription used in a query to a map service via the QueryFeatureData methods on the MapServer proxy. The LayerDescription.LayerResultOptions.GeometryResultOptions.DensifyGeometries property is set to true to always return densified geometry for use in the Web ADF.  

Web controls

Two properties—UseDefaultWebResources and WebResourceLocation—only apply to images. JavaScript files are included with the Web ADF for reference (for example, under C:\Inetpub\wwwroot\aspnet_client\ESRI\WebADF\JavaScript) but the files on disk cannot be used with a Web ADF application. Instead, use the Web ADF JavaScript library to interact, extend, and customize portions of the Web ADF via client-side script.
All Web controls have a new property—IsAsync—that checks if the current request to the server is asynchronous. If the request is a callback or partial postback, it returns true. If a full postback, it returns false.   

CallbackResults

Use JavaScript Object Notation (JSON) strings instead of custom Web ADF string format. The CallbackResult class has static methods to create custom Web ADF callback results. Copying or adding callback results between Web ADF controls that maintain a property relationship is not required (for example, the Toc control is buddied (related) to a Map control).

MapResourcesManager

MapResources expose layer definitions to define query results, which enables the ability to change the selection renderer, displayed fields, and field aliases (layer format) when working with components that support layer definitions. Out-of-the-box tasks, such as SearchAttribute and QueryAttributes use layer definitions to define results shown by a TaskResults and Map control.

ArcGIS Server data sources will not list the default data frame "(default)" option in the drop-down list when configuring a map resource item at design time. Specifying the explicit data frame you want to use saves a call to the ArcGIS Server service to determine the default data frame. You can still use "(default)" as the data frame option, but you will need to enter it manually via the design time dialog box or in the .aspx page markup.

Map

A custom Hypertext Transfer Protocol (HTTP) handler—MapHandler.ashx—is provided as a light-weight map drawing solution. As a result, the page lifecycle will not be traversed for a map draw operation.

The map-centric tiling scheme has been removed. Instead, the tiling scheme can be defined for each resource item. A resource item that generates dynamic maps can choose to define a tiling scheme. A resource item that works with cached image tiles uses the tiling scheme defined by the cache. Cached services with different properties can reside within the same map.     
  • Includes a progress bar to indicate when map content is retrieved
  • Includes a custom Extent property to define initial extent
  • Includes zoom animation to visually enhance zooming in or out on the map at runtime
The show pending tiles solution added in ArcGIS 9.2 SP2 using the JavaScript map.pendingTiles property is no longer valid. In ArcGIS 9.3, the Map control contains an internal activity indicator (progress bar). The JavaScript Map class maintains an onProgress event, which can be used to track pending tiles. For more information, see Mapping.  
The Map.RefreshResource() method calls Map.Refresh() internally if ImageBlendingMode is set to Web tier, which means you do not need to check ImageBlendingMode in your code; call Map.RefreshResource() and let the method internals handle map rendering.
When a Web ADF graphics layer is rendered on the client (for example, RenderOnClient property is set to true), a Web ADF JavaScript GraphicsFeatureGroup is created in the client Web browser. A new method on the Map, GetGraphicsLayerClientID(GraphicsLayer), returns the ID of the GraphicsFeatureGroup. Each GraphicFeature has a unique ID that consists of the GraphicFeatureGroup ID plus the row index of the feature in the Web ADF graphics layer.      

Toolbar

The following are the new toolbar features:
  • Previous and next extent commands
  • Event argument types to retrieve client action features in map coordinates instead of converting from screen to map units. For example, to work with a user provided point via a Tool (ClientAction = Point) in ArcGIS 9.2, required casting the event argument to PointEventArgs, converting from screen units, and constructing Point geometry in map units. In ArcGIS 9.3, cast the event argument to MapPointEventArgs and use the MapPoint property to return a Web ADF Point in map units. The following shows a ArcGIS 9.3 specific code example: 
[C#]
ESRI.ArcGIS.ADF.Web.UI.WebControls.Map adfMap = 
    (ESRI.ArcGIS.ADF.Web.UI.WebControls.Map)toolEventArgs.Control;

ESRI.ArcGIS.ADF.Web.UI.WebControls.MapPointEventArgs mapPointEventArgs = 
    (ESRI.ArcGIS.ADF.Web.UI.WebControls.MapPointEventArgs)toolEventArgs;

ESRI.ArcGIS.ADF.Web.Geometry.Point adfPoint = mapPointEventArgs.MapPoint;

MapTips

The following are the new MapTips features:
  • Supports points, lines, and polygons
  • HeaderFormatString and BodyFormatString properties are obsolete; use LayerFormat

OverviewMap

Map image remains static by default. When static, the area of interest box is not interactive.

ZoomLevel

Enabled for use with both cached and dynamic map resources.

Web ADF controls

The following are new Web ADF controls listed in the Visual Studio toolbox:
  • MapCopyrightText—Displays copyright text on its associated Map.
  • PrintTask—Enables users to print a map and task results with a legend, scale bar, copyright, and north arrow.
  • DocExtender—Docks a control to the Map.
  • HoverExpandExtender—Adds with a control to change its opacity and minimized state based on cursor action.
  • ColorPicker—Provides a runtime dialog box that can be used to select a color.
  • ContextMenu—Shows a dialog box with selectable items by right-clicking a control. 

Tasks

  • Interacting with task results has been enhanced. Hover over results in the TaskResults control to view the associated feature highlighted on the map.
  • Define a custom icon for custom tasks listed in Manager.
  • Two new interfaces—IDefaultWebConfiguration and IWebConfiguratorValidation—have been created to help integrate a custom task with Manager. 
    • IDefaultWebConfiguration enables a custom task to define default configuration properties (for example, markup) without requiring explicit configuration within Manager. 
    • IWebConfiguratorValidation is used to determine if all required properties have been assigned. If not, a message can be returned to Manager to indicate which properties need to be defined.   

Localization

Full support is provided to localize the Web ADF and Manager in non-English locales.

Web ADF graphics layers

  • The new RenderOnClient property has been added. When set to true, Web ADF JavaScript renders graphics layer content in a GraphicsFeatureGroup as GraphicsFeatures. If set to false, the Web ADF Graphics layer renders in the Web application using the improved Windows Graphics Device Interface (GDI+). Rendering graphics layers on the client enables the use of LayerFormats to define symbology and attribute display properties and map tips on points, lines, and polygons. 
  • Use the new LayerFormat class to apply a layer format (symbology and attribute display) to a graphics layer rendered on the client. LayerFormat does not apply to Web tier rendered graphic layers. You can create a custom LayerFormat or use the FromMapResourceManager method to retrieve a layer format from an existing layer definition for a map resource. When you have a LayerFormat, apply it to a Web ADF Graphics layer using the Apply() method.
  • New property—EnableCallout—enables or disables map tips on a graphics layer when RenderOnClient is set to true.
  • New property—ForceFullClientGraphicsRefresh—refreshes the layer format applied to a Web ADF Graphics layer rendered on the client. If set to true, the client-side symbology and attribute display refreshes during a call to Map.RefreshResource(). Upon refresh, the property resets to false. If set to false, only the geometry associated with a Web ADF Graphics layer will be refreshed on the client.
  • Support for Web ADF polygons with holes is provided.

Web mapping application template

  • A new look and feel has been added.
  • ASP.NET AJAX enabled by default. As a result, a ScriptManager is included in a new Web Mapping application and partial postbacks are utilized for asynchronous communication. 
  • Tasks are included as menu items.
For more information about migrating from ArcGIS 9.2 to 9.3, see How to migrate the Web ADF from 9.2 to 9.3.

SOAP API

  • Token service provides an embedded security solution.
  • Web ADF ArcGIS Server library contains new GeometryServer and ImageServer proxy classes and supporting value objects. Both correlate with new ArcGIS Server service types available in ArcGIS 9.3.
  • New SOAP software development kit (SDK) provided to support ArcGIS Server SOAP Web service users (including .NET developers). For more information, see an overview on Working with SOAP API.


See Also:

Mapping
Web controls
How to migrate the Web ADF from 9.2 to 9.3