<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.esri.com/Dev/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ArcGIS Server Blog</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Debug Build: 61120.2)</generator><item><title>New ESRI white paper discusses ArcGIS Server and virtualization</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/06/26/New-ESRI-white-paper-discusses-ArcGIS-Server-and-virtualization.aspx</link><pubDate>Fri, 26 Jun 2009 14:25:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:6612</guid><dc:creator>sterlingdq</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/6612.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=6612</wfw:commentRss><description>&lt;P&gt;Virtualization, which allows multiple operating systems and applications to share the resources of a physical machine, is probably a word that you have heard. Many IT departments are adopting virtualization as part of a broader strategy to conserve resources and reduce costs. In fact, maybe you're already running ArcGIS Server on a virtualized environment. &lt;/P&gt;
&lt;P&gt;We've recently released a brief &lt;A href="http://www.esri.com/software/arcgis/arcgisserver/brochures_whitepapers.html" target=_blank&gt;white paper&lt;/A&gt; with a high level overview of what virtualization is, and why you may want to use it with ArcGIS Server. The paper addresses:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Benefits of virtualization&lt;/LI&gt;
&lt;LI&gt;Available virtualization technologies&lt;/LI&gt;
&lt;LI&gt;How ArcGIS Server supports virtualized environments&lt;/LI&gt;
&lt;LI&gt;How ArcGIS Server performance is affected when running on a virtual machine&lt;/LI&gt;
&lt;LI&gt;Major design factors for considering virtualization&lt;/LI&gt;
&lt;LI&gt;Advantages of deploying ArcGIS Server in a virtualized environment&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://www.esri.com/library/whitepapers/pdfs/arcgis-server-virtualization.pdf" target=_blank&gt;ArcGIS Server and Virtualization white paper&lt;/A&gt;&amp;nbsp;(PDF)&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Contributed by Ismael Chivite, ArcGIS Server Product Manager&lt;/I&gt;&lt;/P&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=6612" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Administration/default.aspx">Administration</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Performance/default.aspx">Performance</category></item><item><title>Introducing the UserControlTask</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/06/18/Introducing-the-UserControlTask.aspx</link><pubDate>Thu, 18 Jun 2009 21:46:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:6469</guid><dc:creator>sterlingdq</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/6469.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=6469</wfw:commentRss><description>&lt;P&gt;With version 9.3.1 of the .NET Web ADF you can use the new UserControlTask to streamline the creation of your own custom tasks. Previously, you would need to create your own class that derived from FloatingPanelTask and take care of the creation and placement of your user interface controls, while paying particular attention to the page lifecycle events as they were raised. With the new UserControlTask, you can create your user interface interactively, in the design view of Visual Studio, and then simply assign a link to it using a property of the UserControlTask called &lt;I&gt;TaskControl&lt;/I&gt;.&lt;/P&gt;
&lt;P&gt;In Visual Studio, the first thing you'll want to do is right-click your project and choose "Add New Item..." from the menu. When the dialog appears, choose "Web User Control". This will create an empty template for your user control so that you can add whatever controls are necessary to your user interface. You will want to wire up any event handlers for the various user interface controls you added, and be sure to add a mechanism to start the execution of your task (typically a button).&lt;/P&gt;
&lt;P&gt;&lt;IMG title="Adding a UserControlTask to the page" style="WIDTH:727px;HEIGHT:330px;" height=330 alt="Adding a UserControlTask to the page" src="http://blogs.esri.com/Dev/photos/2008_server/images/6468/original.aspx" width=727&gt;&lt;/P&gt;
&lt;P&gt;In the code behind page for your control, you will need to make sure your class derives from the new ADF class called UserControlTaskPanel.&lt;/P&gt;&lt;PRE&gt;public partial class MyCustomTask : UserControlTaskPanel
{
    protected void btnExecute_Click(object sender, EventArgs e)
    {
        object[] input = new object[] { TextBox1.Text, DropDownList1.SelectedValue };
        this.Start(input);
    }

    public override object ExecuteTask(object input)
    {
        // Extract packaged parameters
        object[] parameters = (object[])input;

        string textBoxValue = (string)parameters[0];
        string selectedValue = (string)parameters[1];

        // Perform your task processing
        DateTime now = DateTime.Now;
        string heading = string.Format("The time on the server is {0}:{1:d2}:{2:d2}", 
            now.Hour, now.Minute, now.Second);
        string detail = string.Format("The value in the text box is {0} and the drop down list is {1}.", 
            textBoxValue, selectedValue);

        // Generate result packaged for task results control
        ESRI.ArcGIS.ADF.Web.UI.WebControls.SimpleTaskResult result = 
            new ESRI.ArcGIS.ADF.Web.UI.WebControls.SimpleTaskResult(heading, detail);
        return result;
    }
}
&lt;/PRE&gt;
&lt;P&gt;This will allow your code to access the &lt;I&gt;Start&lt;/I&gt; method of the base class to begin execution of your task and supply input parameters to your task execution logic. You will need to extract applicable values from your user interface controls and package them as a single object to be used by your execution code. The final step is to implement the abstract &lt;I&gt;ExecuteTask&lt;/I&gt; method. Here you will need to make use of the single input parameter object (which contains your packaged input values you passed into the &lt;I&gt;Start&lt;/I&gt; method), execute your particular logic, and return a task result so that it can be displayed in a TaskResults control.&lt;/P&gt;
&lt;P&gt;To test your task, you simply add a UserControlTask to your page (typically in a TaskManager control) and configure it appropriately. This includes assigning the &lt;I&gt;TaskControl&lt;/I&gt; property to point to the location where your .ascx file is located, and likely assigning a value to the &lt;I&gt;TaskResultsContainers&lt;/I&gt; property. When your application runs, your user interface should appear, collect user input, execute, and cause the task results to appear in the task results control.&lt;/P&gt;
&lt;P&gt;For further reading, see the &lt;A href="http://resources.esri.com/help/9.3/arcgisserver/adf/dotnet/developer/ADF/control_usercontroltask.htm"&gt;UserControlTask control overview&lt;/A&gt; in the .NET Web ADF Help.&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Contributed by John Donahue of the ArcGIS Server .NET Web ADF development team.&lt;/I&gt;&lt;/P&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=6469" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Tasks/default.aspx">Tasks</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/9.3.1/default.aspx">9.3.1</category></item><item><title>ESRI User Conference will feature a Virtual Map Gallery</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/06/10/ESRI-User-Conference-will-feature-a-Virtual-Map-Gallery.aspx</link><pubDate>Wed, 10 Jun 2009 17:40:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:6298</guid><dc:creator>sterlingdq</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/6298.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=6298</wfw:commentRss><description>&lt;P&gt;This year at the &lt;A href="http://www.esri.com/events/uc/"&gt;ESRI International User Conference&lt;/A&gt;, the popular Map Gallery will include a new "&lt;A href="http://www.esri.com/events/uc/participate/virtual_map_submissions.html"&gt;Virtual Map Gallery&lt;/A&gt;" area featuring applications made with &lt;A href="http://resources.esri.com/arcgisserver/index.cfm?fa=applications"&gt;ESRI's Web mapping API's&lt;/A&gt;. Along with the traditional multimedia applications, the Virtual Map Gallery will include interactive Web mapping applications that users have created with the ArcGIS API’s for Flex, JavaScript, .NET, Java, and Silverlight/WPF.&lt;/P&gt;
&lt;P&gt;At the Virtual Map Gallery you can navigate Web applications by themes, including the type of API used, the base map, and category of the application. You can also vote for your favorite application as part of the Map Gallery’s People's Choice contest.&lt;/P&gt;
&lt;P&gt;If you are registered for the User Conference and have a web application you’d like to include, visit the &lt;A href="http://www.esri.com/events/uc/participate/virtual_map_submissions.html"&gt;Virtual Map Gallery Submissions&lt;/A&gt; page to submit your entry.&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Contributed by Matthew Baker of ESRI Educational Services.&lt;/I&gt;&lt;/P&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=6298" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/User+Conference+2009/default.aspx">User Conference 2009</category></item><item><title>ArcGIS JavaScript API 1.4 released</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/06/01/ArcGIS-JavaScript-API-1.4-released.aspx</link><pubDate>Mon, 01 Jun 2009 18:44:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:6187</guid><dc:creator>sterlingdq</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/6187.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=6187</wfw:commentRss><description>&lt;P&gt;Versions 1.4 of the &lt;A href="http://resources.esri.com/arcgisserver/apis/javascript/arcgis/index.cfm?fa=home"&gt;ArcGIS JavaScript API&lt;/A&gt; and the &lt;A href="http://resources.esri.com/arcgisserver/apis/javascript/gmaps/index.cfm?fa=home"&gt;ArcGIS JavaScript Extension for the Google Maps API&lt;/A&gt; have been released. Version 1.4 of the &lt;A href="http://resources.esri.com/arcgisserver/apis/javascript/ve/index.cfm?fa=home"&gt;ArcGIS JavaScript Extension for Microsoft Virtual Earth&lt;/A&gt; will be available soon. (&lt;STRONG&gt;Update on June 12, 2009&lt;/STRONG&gt;: The Virtual Earth extension is now available)&lt;/P&gt;
&lt;P&gt;To use the new versions, just update your script reference with "v=1.4", for example: http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.4.&lt;/P&gt;
&lt;P&gt;New features in the ArcGIS JavaScript API 1.4 include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Routing with ArcGIS network analysis services&lt;/LI&gt;
&lt;LI&gt;Support for Microsoft Virtual Earth maps and geocoding&lt;/LI&gt;
&lt;LI&gt;Support for multiple graphics layers&lt;/LI&gt;
&lt;LI&gt;Class breaks and unique value renderers&lt;/LI&gt;
&lt;LI&gt;Support for Dojo 1.3.1&lt;/LI&gt;
&lt;LI&gt;Performance improvements in Internet Explorer&lt;/LI&gt;
&lt;LI&gt;Bug fixes&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;See &lt;A href="http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/arcgis/help/jshelp/new_v14.htm"&gt;What's New in Version 1.4 of the ArcGIS JavaScript API&lt;/A&gt; for a full list of improvements. There's also a &lt;A href="http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/gmaps/help/topics/new_gmaps_v14.html"&gt;What's New&lt;/A&gt; document for the Google Maps API extension. The principal new feature of the 1.4 ArcGIS JavaScript extensions for the Google Maps API and Virtual Earth is routing with ArcGIS network analysis services.&lt;/P&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=6187" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Dojo/default.aspx">Dojo</category></item><item><title>An easier way to zoom: A Dojo dijit that zooms to states and counties</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/05/29/An-easier-way-to-zoom_3A00_-A-Dojo-dijit-that-zooms-to-states-and-counties.aspx</link><pubDate>Fri, 29 May 2009 16:33:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:6134</guid><dc:creator>sterlingdq</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/6134.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=6134</wfw:commentRss><description>&lt;P&gt;&lt;A class="" title="Click to try this dijit." href="http://serverapps.esri.com/javascript_examples/ZoomToDijit/zoomTo.html" target=_blank&gt;&lt;IMG title="This dijit zooms to states and counties. Click to try it." style="WIDTH:290px;HEIGHT:117px;" height=117 alt="This dijit zooms to states and counties. Click to try it." src="http://blogs.esri.com/Dev/photos/2008_server/images/6135/original.aspx" width=290 align=right&gt;&lt;/A&gt;Dijits (Dojo widgets) have been &lt;A href="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/dijits/default.aspx"&gt;a semi-regular topic&lt;/A&gt; on this blog and those posts helped me get up to speed on how to develop my own dijit for use with the ArcGIS JavaScript API. One requirement that has come up a couple of times when I've worked with the JavaScript API is the need to zoom to a state and/or county. Since I figured I'd continue to want this functionality in the future, it seemed like a good idea to spend a little extra time and put together a dijit that can be easily re-used in applications. You can preview what I came up with here: &lt;A href="http://serverapps.esri.com/javascript_examples/ZoomToDijit/zoomTo.html"&gt;Zoom To State/County Dijit&lt;/A&gt;. This dijit is &lt;A href="http://resources.esri.com/arcgisserver/apis/javascript/arcgis/index.cfm?fa=codeGalleryDetails&amp;amp;scriptID=16323"&gt;available for download&lt;/A&gt; on the Resource Center.&lt;/P&gt;
&lt;P&gt;The UI component of the "ZoomTo" dijit is composed of a couple of other standard Dojo form dijits. It's making use of the &lt;A href="http://docs.dojocampus.org/dijit/form/DropDownButton"&gt;drop down button&lt;/A&gt; (keeps the dijit’s footprint small) and &lt;A href="http://docs.dojocampus.org/dijit/form/FilteringSelect"&gt;filtering select&lt;/A&gt; (two actually, one for states and one for counties). On the back end, the dijit connects to two JSON files. Each JSON file has state or county names, FIPS codes and, most importantly, the extent for each state or county. When a selection is made, the dijit pulls the extent out of a JSON file and then passes it to map.setExtent() to zoom and pan the map to the correct location. The dijit also draws the extent as a graphic, fades the graphic out and removes it from the map's graphics layer as a visual cue to the user.&lt;/P&gt;
&lt;P&gt;Some observant readers might be wondering about spatial references. They're taken into consideration too. The dijit will make sure it's sending an extent with the proper spatial reference to the map. The extents in the default JSON file provided are WGS84, but JSON files with extents in Web Mercator (WKID 102113) and NAD83 (WKID 4269) are also included in the dijit's data folder. It's up to you to specify a JSON file that matches the spatial reference of your map, but if the spatial reference of the map doesn't match what's in the JSON file, a request is sent to a geometry service to project the extent before sending it to the map. This is a quick operation and causes only a slight delay in the time it takes to zoom to a state or county.&lt;/P&gt;
&lt;P&gt;Please be sure to go through the ReadMe.txt file in the dijit's zip file because some edits are required to get this running on your machine/server. Also, check out the comments in the ZoomTo.js file for more info on how the dijit works.&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Contributed by Derek Swingley of the ESRI Applications Prototype team&lt;/I&gt;&lt;/P&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=6134" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Dojo/default.aspx">Dojo</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/dijits/default.aspx">dijits</category></item><item><title>ArcGIS API for Flex 1.2 Released</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/05/22/ArcGIS-API-for-Flex-1.2-Released.aspx</link><pubDate>Fri, 22 May 2009 18:06:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:6047</guid><dc:creator>sterlingdq</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/6047.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=6047</wfw:commentRss><description>&lt;P&gt;&lt;IMG title="Flex API supports multistop routing with barriers" alt="Flex API supports multistop routing with barriers" src="http://blogs.esri.com/Dev/photos/2008_server/images/6048/original.aspx" align=right&gt;We are pleased to announce the release of &lt;A href="http://resources.esri.com/arcgisserver/apis/flex/"&gt;ArcGIS API for Flex 1.2&lt;/A&gt;. This May 2009 API release corresponds with the recent release of ArcGIS Server 9.3.1. However, the ArcGIS API for Flex 1.2 can also work with services from both ArcGIS Server 9.3 and 9.3 Service Pack 1.&lt;/P&gt;
&lt;P&gt;This new version includes 
&lt;UL&gt;
&lt;LI&gt;Routing using ArcGIS Server 9.3.1.&lt;/LI&gt;
&lt;LI&gt;Microsoft Virtual Earth mapping.&lt;/LI&gt;
&lt;LI&gt;Microsoft Virtual Earth geocoding.&lt;/LI&gt;
&lt;LI&gt;Renderers for simplified thematic mapping.&lt;/LI&gt;
&lt;LI&gt;Utils package with useful utility classes for converting between geographic and web mercator projections, as well as an easy way to get the extent for an array of graphics.&lt;/LI&gt;
&lt;LI&gt;New properties on TextSymbol to easily display the value of attributes as the actual text.&lt;/LI&gt;
&lt;LI&gt;New styles on NavigationSlider to set how tall it should be or how many ticks it should show.&lt;/LI&gt;
&lt;LI&gt;Nine new and 10+ updated &lt;A href="http://resources.esri.com/help/9.3/arcgisserver/apis/flex/samples/index.html"&gt;samples&lt;/A&gt;.&lt;/LI&gt;
&lt;LI&gt;Several bug fixes reported by users in the forums and through support channels.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;You can see a full list of new functionality, changes and bug fixes in the &lt;A href="http://resources.esri.com/help/9.3/arcgisserver/apis/flex/help/index.html#whats_new.htm"&gt;What's New&lt;/A&gt; page in the online SDK.&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Contributed by Bjorn Svensson of the ArcGIS API for Flex development team.&lt;/I&gt;&lt;/P&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=6047" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Flex/default.aspx">Flex</category></item><item><title>What's new in the 9.3.1 .NET Web ADF</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/05/14/What_2700_s-new-in-the-9.3.1-.NET-Web-ADF.aspx</link><pubDate>Thu, 14 May 2009 17:05:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:5908</guid><dc:creator>sterlingdq</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/5908.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=5908</wfw:commentRss><description>&lt;P&gt;Here's a brief look at what's new in the ArcGIS Server .NET Web ADF at 9.3.1. This information comes from the &lt;A href="http://www.esri.com/software/arcgis/whats-new/whats_new_in_arcgis_931.pdf" target=_blank&gt;What's new in ArcGIS 9.3.1&lt;/A&gt; PDF where you can read about new features in all areas of the product. If you have questions about any of the new features, please leave a comment to this post.&lt;/P&gt;
&lt;H3&gt;Customizing the look and feel of MapTips&lt;/H3&gt;
&lt;P&gt;The Web ADF JavaScript Library has been enhanced to provide greater control over customizing the look and feel of MapTips. New examples have been added to the &lt;A href="http://resources.esri.com/help/9.3/arcgisserver/adf/dotnet/developer/samples/Web_Applications/Common_maptips/2235D48E-D97A-4dd9-A0B5-0C8BF869197F.htm"&gt;MapTips sample&lt;/A&gt; that demonstrate how to leverage this new capability. In addition, a new MapTips custom control template is also available from the ArcGIS Server Resource Center .NET code gallery that enables drag-and-drop configuration of the new customization endpoints.&lt;/P&gt;
&lt;H3&gt;User control task&lt;/H3&gt;
&lt;P&gt;A new User Control task has been added to the available Web controls in the Web ADF. This new task is based on the &lt;A href="http://resources.esri.com/help/9.3/arcgisserver/adf/dotnet/developer/samples/Web_Applications/common_usercontroltask/1802a1ee-ac2a-72f0-ad8d-3f9fa03a8f88.htm"&gt;User Control task sample&lt;/A&gt; available in the software developer kit (SDK). In addition, you can configure custom User Control tasks in ArcGIS Server Manager and include them in Web mapping applications.&lt;/P&gt;
&lt;H3&gt;Print task templates&lt;/H3&gt;
&lt;P&gt;In ArcGIS 9.3.1, a new property called LayoutTemplateFile is available that allows you to define the contents of your printed maps. This file, located at your Web site's default root directory/aspnet_client/ESRI/WebADF/PrintTaskLayoutTemplates/default.htm, is customizable.&lt;/P&gt;
&lt;P&gt;The Print task will generate a map layout based on your template. By default, at 9.3.1, this new map template includes the map title, map, and legend information. Task results and copyright text can also be included in the printed map.&lt;/P&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=5908" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Printing/default.aspx">Printing</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Map+Tips/default.aspx">Map Tips</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/9.3.1/default.aspx">9.3.1</category></item><item><title>Questions and answers about ArcGIS Server 9.3.1 map services</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/05/01/Questions-and-answers-about-ArcGIS-Server-9.3.1-map-services.aspx</link><pubDate>Fri, 01 May 2009 16:50:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:5691</guid><dc:creator>sterlingdq</dc:creator><slash:comments>19</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/5691.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=5691</wfw:commentRss><description>&lt;P&gt;In a previous post &lt;A href="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2008/08/05/Design-patterns-for-Web-maps.aspx"&gt;Design patterns for Web maps&lt;/A&gt;, we talked about strategies and challenges for displaying different types of map layers on the Web for the best performance. Caching is the fastest way to serve Web maps, but requires an initial time investment for cache creation. Also, datasets that change often and cover a broad extent cannot be cached and require a (typically slower) dynamically drawn service.&lt;/P&gt;
&lt;P&gt;ArcGIS Server 9.3.1 addresses some of these performance challenges through a new drawing engine, developed for rendering ESRI map services as fast as possible. The faster dynamic drawing in 9.3.1 can speed up your dynamic map services that cannot be cached due to their oft-changing nature. It can also shorten the tile creation time for cached services.&lt;/P&gt;
&lt;P&gt;All map services begin with a map document (MXD) that you create in ArcMap. A new toolbar in ArcMap, the Map Service Publishing Toolbar, does two things to help improve your map’s performance.&lt;/P&gt;
&lt;P&gt;&lt;IMG title="Map Service Publishing Toolbar" style="WIDTH:168px;HEIGHT:37px;" height=37 alt="Map Service Publishing Toolbar" src="http://blogs.esri.com/Dev/photos/2008_server/images/5689/original.aspx" width=168&gt;&lt;/P&gt;
&lt;P&gt;First, the toolbar helps you analyze your MXD for potential performance issues. At this stage you can identify bottlenecks that may not be directly related to the drawing engine. These could be things such as missing spatial and attribute indexes, or layers projecting on the fly.&lt;/P&gt;
&lt;P&gt;Second, the toolbar gives you a way to create a map service definition (MSD), which is a new file type that works with the optimized drawing engine. The diagram below shows that either an MSD or an MXD can be published as a map service. In this post we’ll talk about when you would use each file type.&lt;/P&gt;
&lt;P&gt;&lt;IMG title="You can publish a map service from an MXD or MSD" style="WIDTH:407px;HEIGHT:251px;" height=251 alt="You can publish a map service from an MXD or MSD" src="http://blogs.esri.com/Dev/photos/2008_server/images/5690/original.aspx" width=407&gt;&lt;/P&gt;
&lt;P&gt;The rest of this&amp;nbsp;article&amp;nbsp;answers common questions about the 9.3.1 MSD-based map service and its related functionality.&lt;/P&gt;
&lt;H3&gt;What aspects of drawing are improved with the MSD-based map service?&lt;/H3&gt;
&lt;P&gt;First of all, it’s faster. With MSD-based services, complex symbology does not impose the same performance burden that it does with MXD-based services. Your maps should draw at speeds comparable to or faster than similar ArcIMS maps.&lt;/P&gt;
&lt;P&gt;MSD-based services also support anti-aliasing which smoothes the edges of lines and text. This is something that was previously available only in cached map services (with a significant performance cost during cache creation). Anti-aliasing with MSD-based services is available over a range of quality levels, allowing you to get the visual benefits while maintaining control over performance. You also have the option to apply the anti-aliasing to the text only.&lt;/P&gt;
&lt;P&gt;The quality of map images return by the MSD-based service is also superior to previous versions. MSD-based services produce less “salt and pepper” dithering because the PNG 8 and GIF palettes are chosen using the 256 most frequently-used colors in the map. Also, with PNG 32 services, true transparent values are used in the anti-aliasing, which means you won’t see artifacts from the background color.&lt;/P&gt;
&lt;H3&gt;What is the MSD file and can I edit it?&lt;/H3&gt;
&lt;P&gt;The map service definition (MSD) file is a new file used by the fast map service drawing engine introduced at ArcGIS Server 9.3.1. The MSD file always starts with an MXD map document. You use the Map Service Publishing Toolbar to analyze your MXD in ArcMap. Once you’ve addressed issues returned by the analysis, you use the same toolbar to either publish the service or save the MSD file.&lt;/P&gt;
&lt;P&gt;ArcGIS Server is the only application that can read the MSD file.&lt;/P&gt;
&lt;H3&gt;Where is the MSD file created when I publish a service from the Map Service Publishing Toolbar?&lt;/H3&gt;
&lt;P&gt;When you publish a service using the Map Service Publishing Toolbar, an MSD file is created in your ArcGIS Server input directory. This is a new directory at 9.3.1 that is registered with ArcGIS Server as the default location of your MSD files. In a one-machine deployment, it’s located by default at c:\arcgisserver\arcgisinput.&lt;/P&gt;
&lt;P&gt;The toolbar also allows you to save your MSD file to other locations.&lt;/P&gt;
&lt;H3&gt;Do I need to be an administrator to publish map services with the Map Service Publishing Toolbar?&lt;/H3&gt;
&lt;P&gt;You need to be a member of the &lt;A href="http://webhelp.esri.com/arcgisserver/9.3.1/dotNet/add_usrs_agsadmin.htm"&gt;agsadmin&lt;/A&gt; group on the GIS server in order to publish map services from the Map Service Publishing Toolbar. If you’re not a member of agsadmin, you should save the MSD in a location where the server administrator can access and publish it.&lt;/P&gt;
&lt;H3&gt;If I make changes to the MXD, do I have to create the MSD again?&lt;/H3&gt;
&lt;P&gt;Yes. Once you save an MSD file, it is no longer connected with its parent MXD. If you edit the MXD, you need to use the Map Service Publishing Toolbar to save an updated MSD. Once you’ve overwritten the old MSD, restart the map service to register the changes.&lt;/P&gt;
&lt;H3&gt;What capabilities (server object extensions) are supported for MSD-based map services?&lt;/H3&gt;
&lt;P&gt;The WMS and KML capabilities are available with MSD-based services, as well as the default Mapping capability. Custom server object extensions can also work with MSD-based services but they cannot access fine-grained ArcObjects; they must use the coarse-grained methods on MapServer and its related classes.&lt;/P&gt;
&lt;H3&gt;At 9.3.1 can I still publish an MXD as a map service?&lt;/H3&gt;
&lt;P&gt;Yes. You can still publish an ArcMap document (MXD) as a service. The service will not use the new drawing engine introduced at 9.3.1; it will use the traditional drawing engine from ArcGIS Server versions 9.3 and previous.&lt;/P&gt;
&lt;H3&gt;Can I cache an MSD-based service?&lt;/H3&gt;
&lt;P&gt;Absolutely. Cache tiles get created more quickly with an MSD-based service. Also, anti-aliasing works better with caching when you use MSD-based services. The anti-aliasing occurs faster than it does with MXD-based services, and you can control the level of anti-aliasing on both features and text. &lt;/P&gt;
&lt;H3&gt;What layer types are supported by the MSD-based map service?&lt;/H3&gt;
&lt;P&gt;The MSD-based map service supports the most commonly-used feature layers and rasters. Exceptions, such as CAD layers or TINs, should be placed in a separate, MXD-based map service. The Map Service Publishing Toolbar will log errors for any layers in your map document that would prevent you from publishing an MSD-based service.&lt;/P&gt;
&lt;H3&gt;What else is available / not available in MSD-based services?&lt;/H3&gt;
&lt;P&gt;The ArcGIS Server 9.3.1 Help topic &lt;A href="http://webhelp.esri.com/arcgisserver/9.3.1/dotNet/supp_func_msd_based_svcs.htm"&gt;Supported functionality in MSD-based map services&lt;/A&gt; contains a full list of layers, symbology, and functionality available in MSD-based map services. All symbols are available with the exception of chart symbols, representations, and 3D symbols. The Maplex labeling engine is not available. &lt;/P&gt;
&lt;H3&gt;How am I supposed to use MSD-based services if Maplex isn’t supported?&lt;/H3&gt;
&lt;P&gt;Use annotation layers, which are supported in MSD-based map services. Annotation gives you the benefit of the Maplex label placement without the server having to make computationally intensive label placement decisions on every map request. Creating cache tiles from the annotated map will cause the service to run even faster.&lt;/P&gt;
&lt;P&gt;If you can’t make annotation and you need Maplex, your next best option for performance is to create a cache from an MXD-based service.&lt;/P&gt;
&lt;H3&gt;When publishing raster datasets, should I use MSD-based map services or should I use the ArcGIS Server Image extension?&lt;/H3&gt;
&lt;P&gt;In most circumstances, it’s faster to serve rasters through the ArcGIS Server Image extension instead of through map services (whether cached or dynamic). A cached map service may be a more scalable solution if your service will receive many hits at once, but a cache requires creation and maintenance of tiles. MSD-based services will speed up the tile creation if you decide to use a cached service. &lt;/P&gt;
&lt;H3&gt;When should I use anti-aliasing?&lt;/H3&gt;
&lt;P&gt;Choose anti-aliasing when you are creating a production-quality map for an Internet audience. Anti-aliased images have become a standard for Web 2.0 map appearance.&lt;/P&gt;
&lt;P&gt;Be aware that high levels of anti-aliasing can slow performance. Use the Preview button on the Map Service Publishing Toolbar to get an idea of the visual and performance effects of the anti-aliasing. If the dynamic anti-aliasing is not fast enough, you can lower the quality of the anti-aliasing or you may consider caching the service.&lt;/P&gt;
&lt;H3&gt;What licensing do I need in order to use the Map Service Publishing Toolbar?&lt;/H3&gt;
&lt;P&gt;The Map Service Publishing Toolbar is available at all license levels of ArcGIS Desktop (ArcView, ArcEditor, and ArcInfo). You can use the toolbar to analyze and improve the performance of your map documents even if you won’t be publishing an MSD-based map service. &lt;/P&gt;
&lt;P&gt;&lt;I&gt;Contributed by Ty Fitzpatrick and Sterling Quinn of the ESRI software development team&lt;/I&gt;&lt;/P&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=5691" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Map+Cache/default.aspx">Map Cache</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/9.3.1/default.aspx">9.3.1</category></item><item><title>Using detailed logging with ArcGIS Server 9.3</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/04/27/Using-detailed-logging-with-ArcGIS-Server-9.3.aspx</link><pubDate>Mon, 27 Apr 2009 18:50:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:5537</guid><dc:creator>sterlingdq</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/5537.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=5537</wfw:commentRss><description>&lt;P&gt;During the initial releases of ArcGIS Server, many users asked for fine-grained logging down to the layer draw level. This functionality was added to ArcGIS Server 9.3 as a new logging level Info:Detailed. The detailed logging is especially helpful when troubleshooting performance. In this post, we’ll consider the scenario that you have a map service that’s not drawing as fast as you’d like.&lt;/P&gt;
&lt;P&gt;Here it’s worth noting that before you go to the logs, it may be easier to catch the problem using the popular &lt;A href="http://arcscripts.esri.com/details.asp?dbid=15570"&gt;mxdperfstat&lt;/A&gt; tool from ArcScripts or the “Analyze” button on the 9.3.1 Map Service Publishing Toolbar. As ArcGIS Server 9.3.1 becomes available in the next few weeks, we’ll be posting more information about the Map Service Publishing toolbar and how it can quickly point out areas for improvement in your map document. Version 9.3.1 also includes a faster drawing engine for map services that will help improve performance.&lt;/P&gt;
&lt;P&gt;When you need more detail about what’s happening during a map draw, you can go to the log files and enable the new detailed logging. This is the workflow you’d follow:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Set the log level to Info:Detailed. If you need help with this step, see &lt;A href="http://webhelp.esri.com/arcgisserver/9.3/dotNet/specify_log_loc.htm"&gt;Specifying the log file location&lt;/A&gt; (skip steps 3 and 4). While you’re looking at the log properties page, note the path to the log file and browse to the log directory in Windows Explorer so you don’t have to hunt around for the file later.&lt;/LI&gt;
&lt;LI&gt;Make a simple request to your map service by zooming or panning. Note the current time so you can find the request in the log. &lt;/LI&gt;
&lt;LI&gt;Examine the log that was created during your request and note the feature count and elapsed draw time of each layer.&amp;nbsp;For this step sometimes it’s helpful to print the log and use a highlighter to note the draw times. You’ll immediately see which layers are taking the longest to draw. Also, keep an eye on the feature count to spot inefficient layers. A layer may take only 0.2 seconds to draw at a particular extent, but if the extent only included 2 features you may have a potential inefficiency. &lt;/LI&gt;
&lt;LI&gt;Repeat this process at several different locations and scales in your map. You want to make sure you analyze a good sample of the symbology and layers in your map. &lt;/LI&gt;
&lt;LI&gt;When you finish, set the log level back to Normal.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;The Help topic &lt;A href="http://webhelp.esri.com/arcgisserver/9.3/dotNet/log_codes_map_services.htm"&gt;Map service log codes&lt;/A&gt; contains a table of the codes you’ll see when analyzing the detailed logging. If&amp;nbsp;you scroll down the topic you’ll also find an example of the codes returned from a simple ExportMapImage request like the one that happens when you zoom or pan the map.&lt;/P&gt;
&lt;P&gt;To learn more about detailed logging and the different log levels, see &lt;A href="http://webhelp.esri.com/arcgisserver/9.3/dotNet/interpret_logs_oview.htm"&gt;How log files work&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Contributed by Sterling Quinn of the ArcGIS Server development team&lt;/I&gt;&lt;/P&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=5537" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Administration/default.aspx">Administration</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Performance/default.aspx">Performance</category></item><item><title>Performance tips for Web applications</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/04/15/Performance-tips-for-Web-applications.aspx</link><pubDate>Wed, 15 Apr 2009 20:27:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:5067</guid><dc:creator>sterlingdq</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/5067.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=5067</wfw:commentRss><description>&lt;P&gt;How do you get an ArcGIS Server application to run as fast as possible on the Web? This is one of the most common questions we receive, and at version 9.3 we added an ArcGIS Server help topic on this subject called &lt;A class="" title="Performance tips for Web applications" href="http://webhelp.esri.com/arcgisserver/9.3/dotNet/web_app_performance.htm"&gt;Performance tips for web applications&lt;/A&gt;. We've been expanding this topic on the Web Help as we identify more ways to improve performance.&lt;/P&gt;
&lt;P&gt;You also might be interested in &lt;A class="" title="Optimizing performance in Web ADF applications" href="http://resources.esri.com/help/9.3/arcgisserver/adf/dotnet/concepts_start.htm#developer/ADF/performance.htm"&gt;Optimizing performance in Web ADF applications&lt;/A&gt; which deals specifically with .Net ADF development issues.&lt;/P&gt;
&lt;P&gt;If you've gathered any ArcGIS Server performance tips from your experiences, please share them as a comment to this post.&lt;/P&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=5067" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Help/default.aspx">Help</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Performance/default.aspx">Performance</category></item><item><title>Parallel processing with ArcGIS Server: A case study with geocoding</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/04/06/Parallel-processing-with-ArcGIS-Server_3A00_-A-case-study-with-geocoding.aspx</link><pubDate>Mon, 06 Apr 2009 17:16:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:4593</guid><dc:creator>sterlingdq</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/4593.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=4593</wfw:commentRss><description>&lt;P&gt;You're probably already familiar with creating Web applications and services with ArcGIS Server, but in this blog post we're going to talk about how you can use ArcGIS Server to run very large back-end jobs. We'll also do it in the context of geocoding, which is an aspect of ArcGIS Server that we haven't covered much in this blog yet. We hope this will get you excited about some new possibilities available through ArcGIS Server.&lt;/P&gt;
&lt;P&gt;ArcGIS Server is an exceptional framework for running large jobs because it allows you to break them down into smaller chunks of work that can be run simultaneously. This way you can take full advantage of your hardware resources. A good example that you may already be familiar with is map caching. A map caching job is transparently split across all your Server Object Containers. By creatively using ArcGIS Server services, you can work in a similar manner with more specific jobs such as batch geocoding, generation of high quality map series, demographic analysis, simulation, and so on.&lt;/P&gt;
&lt;P&gt;Today we'll illustrate this with geocoding, which is the process by which you associate X/Y coordinates with addresses or place names. Imagine that you have a list of 25 million addresses to geocode. How do you effectively run this job?&lt;/P&gt;
&lt;P&gt;One idea is to create a geoprocessing service that takes a small subset of these addresses and puts the outputs in a common repository. Once the service is up, you can simultaneously send small chunks of addresses to the service, allowing the geocoding process to occur in parallel until you are done. You can use a simple Python script or executable to span the jobs on the server. A typical locator handles around 2 million addresses per hour per core on a 3Ghz server, so on an eight core server our 25 million addresses would be geocoded in a bit less than a couple of hours.&lt;/P&gt;
&lt;P&gt;All right, that is way too much of a high level description! We put together a small document that will disclose how you do this with a practical example. The document is called &lt;A href="http://www.esri.com/library/whitepapers/pdfs/arcgis-server-in-practice.pdf" target=_blank&gt;ArcGIS Server in Practice Series: Large Batch Geocoding&lt;/A&gt; and it's available from the &lt;A href="http://www.esri.com/software/arcgis/arcgisserver/brochures_whitepapers.html"&gt;ArcGIS Server brochures and white papers page&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=4593" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Administration/default.aspx">Administration</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Performance/default.aspx">Performance</category></item><item><title>Code Assist for the ArcGIS JavaScript API: Aptana Studio plug-in</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/03/24/Code-assistance-for-the-ArcGIS-JavaScript-API_3A00_-Aptana-Studio-plug_2D00_in.aspx</link><pubDate>Tue, 24 Mar 2009 17:58:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:4265</guid><dc:creator>sterlingdq</dc:creator><slash:comments>15</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/4265.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=4265</wfw:commentRss><description>&lt;P&gt;The ArcGIS JavaScript API provides classes to deliver rich mapping functionality to your applications. The &lt;A class="" href="http://resources.esri.com/arcgisserver/apis/javascript/arcgis/"&gt;Resource Center&lt;/A&gt; has a wealth of information about these classes, their properties and methods. When building your applications, you want this information easily accessible from within your IDE. If you've spent a lot of time creating web mapping applications with the ArcGIS JavaScript API, you've probably been missing this for a while now.&amp;nbsp;Yesterday we&amp;nbsp;uploaded to the Code Gallery&amp;nbsp;a &lt;A class="" href="http://resources.esri.com/arcgisserver/apis/javascript/arcgis/index.cfm?fa=codeGalleryDetails&amp;amp;scriptID=16139"&gt;plug-in that provides code assistance for the ArcGIS JavaScript API&lt;/A&gt; in the &lt;A href="http://www.aptana.com/"&gt;Aptana Studio IDE&lt;/A&gt;. The plug-in provides the following context-sensitive information: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Auto-completion of source code &lt;/LI&gt;
&lt;LI&gt;Summary of classes, constructors, properties, methods and globals &lt;/LI&gt;
&lt;LI&gt;Parameter hints for constructors and methods&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;IMG title="Example of assistance from plug-in" style="WIDTH:347px;HEIGHT:195px;" height=195 alt="Example of assistance from plug-in" src="http://blogs.esri.com/Dev/photos/2008_server/images/4262/original.aspx" width=347 align=middle&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;IMG title="Example of assistance from plug-in" style="WIDTH:517px;HEIGHT:151px;" height=151 alt="Example of assistance from plug-in" src="http://blogs.esri.com/Dev/photos/2008_server/images/4264/original.aspx" width=517 align=middle&gt;&lt;/P&gt;
&lt;P&gt;We believe the plug-in will greatly enhance your development experience with the ArcGIS JavaScript API. Moving forward, we intend to provide updates to this plug-in whenever a new version of the API is released. We are also working towards providing IntelliSense bits for Visual Studio. As always, we welcome your feedback. &lt;/P&gt;
&lt;P&gt;&lt;I&gt;Contributed by Praveen Ponnusamy of the ArcGIS JavaScript API development team&lt;/I&gt;&lt;/P&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=4265" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Help/default.aspx">Help</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>ArcGIS API for Silverlight/WPF public beta, media galleries released</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/03/20/ArcGIS-API-for-Silverlight_2F00_WPF-public-beta_2C00_-media-galleries-released.aspx</link><pubDate>Fri, 20 Mar 2009 23:17:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:4203</guid><dc:creator>sterlingdq</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/4203.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=4203</wfw:commentRss><description>&lt;P&gt;&lt;A class="" title="Try the public beta of the ArcGIS API for Microsoft Silverlight/WPF" href="http://resources.esri.com/arcgisserver/apis/silverlight/" target=_blank&gt;&lt;IMG title="Try the public beta of the ArcGIS API for Microsoft Silverlight/WPF" style="WIDTH:231px;HEIGHT:139px;" height=139 alt="Try the public beta of the ArcGIS API for Microsoft Silverlight/WPF" src="http://blogs.esri.com/Dev/photos/2008_server/images/4202/original.aspx" width=231 align=right&gt;&lt;/A&gt;Exciting things are happening on the eve of the &lt;A href="http://www.esri.com/events/devsummit/"&gt;2009 ESRI Developer Summit&lt;/A&gt;! Today the &lt;A href="http://resources.esri.com/arcgisserver/apis/silverlight/"&gt;ArcGIS API for Microsoft Silverlight/WPF&lt;/A&gt; went into a public beta. This API allows you to build interactive Internet and desktop GIS applications using Microsoft's &lt;A href="http://silverlight.net/"&gt;Silverlight&lt;/A&gt; and &lt;A href="http://windowsclient.net/"&gt;Windows Presentation Foundation (WPF)&lt;/A&gt; technologies.&lt;/P&gt;
&lt;P&gt;Try out the beta API using the &lt;A href="http://resources.esri.com/arcgisserver/apis/silverlight/"&gt;online SDK&lt;/A&gt;, where you'll find samples, introductory help, and an API reference. There's also a &lt;A href="http://resources.esri.com/arcgisserver/apis/silverlight/index.cfm?fa=codeGallery"&gt;Silverlight/WPF Code Gallery&lt;/A&gt; that already contains a &lt;A href="http://resources.esri.com/arcgisserver/apis/silverlight/index.cfm?fa=codeGalleryDetails&amp;amp;scriptID=16102"&gt;Flickr mashup&lt;/A&gt; you can try.&lt;/P&gt;
&lt;P&gt;If you encounter a bug when working with the beta, or if you just have a suggestion for improving the usability of the API, please report it to the &lt;A href="http://forums.esri.com/forums.asp?c=158&amp;amp;s=2455#2455"&gt;ArcGIS API for Silverlight forum&lt;/A&gt; or the &lt;A href="http://forums.esri.com/forums.asp?c=158&amp;amp;s=2456#2456"&gt;ArcGIS API for WPF forum&lt;/A&gt;. We look forward to hearing your feedback as we move the API toward its official release.&lt;/P&gt;
&lt;P&gt;The Silverlight/WPF API wasn't the only addition to the ArcGIS Resource Centers today. You may have also noticed some new "Media Gallery" pages in the online SDKs. These contain videos and other presentations to help you learn the APIs using a variety of media. Visit &lt;A href="http://blogs.esri.com/Dev/blogs/arcobjectsdevelopment/archive/2009/03/19/test-media-Gallery.aspx"&gt;this post on the ArcObjects Development Blog&lt;/A&gt; to learn more about the media galleries and how to access them.&lt;/P&gt;
&lt;P&gt;Happy coding, and best wishes for your travels if you're joining us in Palm Springs next week!&lt;/P&gt;&lt;I&gt;Contributed by the ArcGIS Server software development team&lt;/I&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=4203" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Help/default.aspx">Help</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Videos/default.aspx">Videos</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Creating a reusable task-oriented dijit</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/03/11/Creating-a-reusable-task_2D00_oriented-dijit.aspx</link><pubDate>Wed, 11 Mar 2009 21:59:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:4068</guid><dc:creator>sterlingdq</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/4068.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=4068</wfw:commentRss><description>&lt;p&gt;In a previous blog post, we learned how to create a &lt;a href="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2008/11/03/Creating-a-simple-map-dijit-with-the-ArcGIS-JavaScript-API.aspx" class="external text" title="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2008/11/03/Creating-a-simple-map-dijit-with-the-ArcGIS-JavaScript-API.aspx" rel="nofollow"&gt;simple dijit&lt;/a&gt; with the ArcGIS JavaScript API that combines a map with a couple of buttons and an image. Today's post will show how to create a sophisticated task-oriented dijit, which we have uploaded to the &lt;a href="http://resources.esri.com/arcgisserver/apis/javascript/arcgis/index.cfm?fa=codeGalleryDetails&amp;amp;scriptID=16085" class="new" title="Code gallery entry for Identify dijit"&gt;ArcGIS JavaScript API Code Gallery&lt;/a&gt;. The dijit encapsulates the &lt;a href="http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/arcgis/help/jsapi/identifytask.htm"&gt;IdentifyTask&lt;/a&gt; to let users identify features on the map and visualize them. &lt;/p&gt;&lt;a class="" title="Layout" name="Layout"&gt;&lt;/a&gt;
&lt;h3&gt;&lt;span class="mw-headline"&gt;Layout &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;First, let's look at the layout for this dijit. It consists of a border container with five regions(content panes): top, bottom, left, right and center, laid out in "Headline" pattern. For a detailed account on how to use the border container, read this &lt;a href="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/01/21/Using-the-Dojo-BorderContainer-to-design-application-layouts.aspx" class="external text" title="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/01/21/Using-the-Dojo-BorderContainer-to-design-application-layouts.aspx" rel="nofollow"&gt;blog post&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The top region is the the title bar for this dijit with icons, the whole left region is a button to navigate to the list of identified features, and the center region is the body of this dijit. The center region has a stack container that includes three pages (content panes) but shows only one at a time (see screenshots below). The first page contains a grid to display the list of identified features, the second page contains a grid to display the attribute fields, and the third page shows various options. &lt;/p&gt;
&lt;table&gt;

&lt;tr align="middle"&gt;
&lt;td&gt;&lt;img src="http://blogs.esri.com/Dev/photos/2008_server/images/4065/original.aspx" title="identify-dijit-features.png" alt="identify-dijit-features.png"&gt; &lt;br&gt;Features &lt;/td&gt;
&lt;td&gt;&lt;img src="http://blogs.esri.com/Dev/photos/2008_server/images/4066/original.aspx" title="identify-dijit-attributes.png" alt="identify-dijit-attributes.png"&gt; &lt;br&gt;Attributes &lt;/td&gt;
&lt;td&gt;&lt;img src="http://blogs.esri.com/Dev/photos/2008_server/images/4067/original.aspx" title="identify-dijit-options.png" style="width:225px;height:250px;" alt="identify-dijit-options.png" width="225" height="250"&gt; &lt;br&gt;Options &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;a class="" title="Easy_to_add" name="Easy_to_add"&gt;&lt;/a&gt;
&lt;h3&gt;&lt;span class="mw-headline"&gt;Easy to add &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;As a developer, you can use this dijit to easily add an identify tool to your map. All you need to do is pass a reference to the map when instantiating the dijit and it will let the users identify features on &lt;i&gt;all&lt;/i&gt; the map services added as layers to the map. To use the dijit, just click the map to see the list of features identified at that location. Click a feature to see &lt;i&gt;all&lt;/i&gt; the attribute field values associated with it. The dijit also has an "Options" panel where end users can select the map services and adjust the tolerance. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://serverapps.esri.com/javascript_examples/identify_dijit/usage1.html" class="external text" title="http://serverapps.esri.com/javascript_examples/identify_dijit/usage1.html" target="_blank" rel="nofollow"&gt;Try it live&lt;/a&gt; &lt;/p&gt;&lt;a class="" title="Customizable" name="Customizable"&gt;&lt;/a&gt;
&lt;h3&gt;&lt;span class="mw-headline"&gt;Customizable &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;That was quick and easy! But what if you want to customize it? For example, what if you want to &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Identify features on selected map services and layers within each map service &lt;/li&gt;
&lt;li&gt;Provide a user-friendly name for a layer &lt;/li&gt;
&lt;li&gt;Show user-friendly field aliases instead of field names &lt;/li&gt;
&lt;li&gt;Change the field that determines the title of the features &lt;/li&gt;
&lt;li&gt;Limit which attributes are shown &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;You can do all of the above by passing appropriate parameters to the dijit when instantiating it. Documentation for these parameters is available as part of the Code Gallery download, but you can take a quick look &lt;a href="http://serverapps.esri.com/javascript_examples/identify_dijit/dijits/identify/doc/identify.html" class=""&gt;here&lt;/a&gt;. You can also change the look and feel by modifying the CSS file associated with the dijit. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://serverapps.esri.com/javascript_examples/identify_dijit/usage2.html" class="external text" title="http://serverapps.esri.com/javascript_examples/identify_dijit/usage2.html" target="_blank" rel="nofollow"&gt;Try it live&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;An interesting thing to note about this dijit is that it behaves like an info window. That is, it is associated with a specific location on the map and remains as such when you pan or zoom. It is also possible to detach the dijit from the map and move it anywhere within the page so that the map area is uncluttered. Note, however, that it does not replace the info window that is available out of the box with the ArcGIS JavaScript API. The functionality in this dijit is implemented as a separate dojo class, packaged in a module and imported into the dijit using the dojo.require statement. Documentation for this functionality is available &lt;a href="http://serverapps.esri.com/javascript_examples/identify_dijit/dijits/identify/doc/iwconnector.html" class="external text" title="http://serverapps.esri.com/javascript_examples/identify_dijit/dijits/identify/doc/iwconnector.html" rel="nofollow"&gt;here&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Finally, we recommend that you keep in mind the following points when creating your own dijit: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Design the dijit in such a way that it is customizable and reusable as much as possible so that other developers in your organization can easily adapt it for their applications without diving too often into the code. &lt;/li&gt;
&lt;li&gt;Keep an eye out for functionality that can be spun off into separate modules and reused in other projects. &lt;/li&gt;
&lt;li&gt;Maintain user documentation for all your dijits and modules. &lt;/li&gt;&lt;/ul&gt;&lt;a class="" title="Related_links" name="Related_links"&gt;&lt;/a&gt;
&lt;h3&gt;&lt;span class="mw-headline"&gt;Related links &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://docs.dojocampus.org/quickstart/writingWidgets" class="external text" title="http://docs.dojocampus.org/quickstart/writingWidgets" rel="nofollow"&gt;Writing your own widget&lt;/a&gt; &lt;br&gt;&lt;a href="http://docs.dojocampus.org/dijit/_Widget#lifecycle" class="external text" title="http://docs.dojocampus.org/dijit/_Widget#lifecycle" rel="nofollow"&gt;Lifecycle of a dijit&lt;/a&gt; &lt;br&gt;&lt;a href="http://docs.dojocampus.org/dijit/layout/BorderContainer" class="external text" title="http://docs.dojocampus.org/dijit/layout/BorderContainer" rel="nofollow"&gt;BorderContainer&lt;/a&gt; &lt;br&gt;&lt;a href="http://docs.dojocampus.org/dijit/layout/StackContainer" class="external text" title="http://docs.dojocampus.org/dijit/layout/StackContainer" rel="nofollow"&gt;StackContainer&lt;/a&gt; &lt;br&gt;&lt;a href="http://docs.dojocampus.org/dijit/layout/ContentPane" class="external text" title="http://docs.dojocampus.org/dijit/layout/ContentPane" rel="nofollow"&gt;ContentPane&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;i&gt;Contributed by Praveen Ponnusamy of the ArcGIS JavaScript API development team&lt;/i&gt;&lt;/p&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=4068" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Tasks/default.aspx">Tasks</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Dojo/default.aspx">Dojo</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/dijits/default.aspx">dijits</category></item><item><title>Extending tiled layers in the ArcGIS API for Flex</title><link>http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2009/03/05/Extending-tiled-layers-in-the-ArcGIS-API-for-Flex.aspx</link><pubDate>Fri, 06 Mar 2009 00:19:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:3975</guid><dc:creator>sterlingdq</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.esri.com/Dev/blogs/arcgisserver/comments/3975.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/arcgisserver/commentrss.aspx?PostID=3975</wfw:commentRss><description>&lt;p&gt;The ArcGIS API for Flex supports access to layer types not included with the 
			API. Depending on what you are trying to connect to (or do), you might want to 
			extend &lt;a href="http://resources.esri.com/help/9.3/arcgisserver/apis/flex/apiref/index.html?com/esri/ags/layers/TiledMapServiceLayer.html&amp;amp;com/esri/ags/layers/class-list.html" target="_blank"&gt;
				TiledMapServiceLayer&lt;/a&gt;, &lt;a href="http://resources.esri.com/help/9.3/arcgisserver/apis/flex/apiref/index.html?com/esri/ags/layers/DynamicMapServiceLayer.html&amp;amp;com/esri/ags/layers/class-list.html" target="_blank"&gt;
				DynamicMapServiceLayer&lt;/a&gt; or &lt;a href="http://resources.esri.com/help/9.3/arcgisserver/apis/flex/apiref/index.html?com/esri/ags/layers/Layer.html&amp;amp;com/esri/ags/layers/class-list.html" target="_blank"&gt;
				Layer&lt;/a&gt;.&lt;/p&gt;
		
&lt;ul&gt;
			
&lt;li&gt;
				Extend DynamicMapServiceLayer if you want to connect to a service that returns 
				one complete image, usually created on the fly (for example, WMS).&lt;/li&gt;
			
&lt;li&gt;
				Extend TiledMapServiceLayer if you want to connect to some system of (usually 
				pre-created and cached) tiles (for example, an ArcGIS Server virtual cache 
				directory). This is especially useful if you want to access 9.2 services, since 
				9.2 doesn't have REST support and thus isn't supported using the out-of-the-box 
				ArcGIS API for Flex.&lt;/li&gt;
		&lt;/ul&gt;
		
&lt;p&gt;Today I will show how to create an &lt;a href="http://serverapps.esri.com/flex/ExtendedTileLayer/ExtendedTileLayer.html" target="_blank" title="Example Flex application that extends TiledMapServiceLayer"&gt;example 
				application&lt;/a&gt; that extends &lt;a href="http://resources.esri.com/help/9.3/arcgisserver/apis/flex/apiref/index.html?com/esri/ags/layers/TiledMapServiceLayer.html&amp;amp;com/esri/ags/layers/class-list.html" target="_blank"&gt;
				TiledMapServiceLayer&lt;/a&gt; to access tiles created in either ArcGIS 9.2 or 
			9.3 and which have been made available on the Web server (usually 
			/arcgiscache/).
		&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://serverapps.esri.com/flex/ExtendedTileLayer/ExtendedTileLayer.html"&gt;&lt;img src="http://blogs.esri.com/Dev/photos/2008_server/images/3974/original.aspx" title="Example Flex application that extends TiledMapServiceLayer" alt="Example Flex application that extends TiledMapServiceLayer" width="379" height="306"&gt;&lt;/a&gt;&lt;/p&gt;
		
&lt;p&gt;Extending TiledMapServiceLayer follows the same inheritance as the 
			out-of-the-box &lt;a href="http://resources.esri.com/help/9.3/arcgisserver/apis/flex/apiref/index.html?com/esri/ags/layers/ArcGISTiledMapServiceLayer.html&amp;amp;com/esri/ags/layers/class-list.html" target="_blank"&gt;
				ArcGISTiledMapServiceLayer&lt;/a&gt;.
		&lt;/p&gt;
		
&lt;p&gt;In Flex API: &lt;span style="font-family:Courier New,Courier,monospace;"&gt;ArcGISTiledMapServiceLayer 
				-&amp;gt; TiledMapServiceLayer -&amp;gt; Layer -&amp;gt; mx.core.UIComponent&lt;/span&gt;&lt;br&gt;
			&lt;/p&gt;
&lt;p&gt;This sample: &lt;span style="font-family:Courier New,Courier,monospace;"&gt;PortlandTiledMapServiceLayer 
				-&amp;gt; TiledMapServiceLayer -&amp;gt; Layer -&amp;gt; mx.core.UIComponent&lt;/span&gt;&lt;/p&gt;
		
&lt;p&gt;For simplicity, in this sample, we will hard-code configuration settings such as 
			extents and spatial reference. This is a little different from the 
			out-of-the-box ArcGIS layers which retrieve these settings from the REST 
			Services Directory.
		&lt;/p&gt;
		&lt;h3&gt;Tutorial&lt;/h3&gt;
		
&lt;p&gt;This tutorial shows how to extend tiled layers in the &lt;a href="http://resources.esri.com/arcgisserver/apis/flex/" target="_blank"&gt;
				ArcGIS API for Flex&lt;/a&gt; to support tiles available outside the REST 
			endpoint. The &lt;a href="http://serverapps.esri.com/flex/ExtendedTileLayer/ExtendedTileLayer.html" target="_blank"&gt;
				live application&lt;/a&gt; and its &lt;a href="http://serverapps.esri.com/flex/ExtendedTileLayer/srcview/" target="_blank"&gt;
				source code&lt;/a&gt; are also available.&lt;/p&gt;
		
&lt;p&gt;Follow these three steps in Flex Builder:&lt;/p&gt;
		
&lt;ol&gt;
			
&lt;li class="top"&gt;
				Create new ActionScript class to extend the TiledMapServiceLayer class
				
&lt;ul&gt;
					
&lt;li&gt;
						Add a new ActionScript class&lt;/li&gt;
					
&lt;li&gt;
						Set the package to "com.esri.ags.samples"&lt;/li&gt;
					
&lt;li&gt;
						Set the name to "PortlandTiledMapServiceLayer"&lt;/li&gt;
					
&lt;li&gt;
						Set the superclass to "com.esri.ags.layers.TiledMapServiceLayer"&lt;/li&gt;
					
&lt;li&gt;
						Click Finish&lt;/li&gt;
				&lt;/ul&gt;
				This will create PortlandTiledMapServiceLayer.as in com/esri/ags/samples/.
			&lt;/li&gt;
			
&lt;li class="top"&gt;
				Edit the new PortlandTiledMapServiceLayer class
				
&lt;ul&gt;
					
&lt;li&gt;
						Override the required &lt;a href="http://resources.esri.com/help/9.3/arcgisserver/apis/flex/apiref/index.html?com/esri/ags/layers/TiledMapServiceLayer.html&amp;amp;com/esri/ags/layers/class-list.html" target="_blank"&gt;
							TiledMapServiceLayer&lt;/a&gt; functions, &lt;b&gt;fullExtent()&lt;/b&gt; and &lt;b&gt;tileInfo()&lt;/b&gt;
						and have them return the specified values, for example:
						
&lt;pre&gt;override public function get fullExtent():Extent&lt;br&gt;    {&lt;br&gt;        return new Extent(-123.596895130725,&lt;br&gt;                          44.297575737946,&lt;br&gt;                          -121.553757125519,&lt;br&gt;                          46.3683237161949,&lt;br&gt;                          new SpatialReference(4326));&lt;br&gt;    }&lt;/pre&gt;
					&lt;/li&gt;
					
&lt;li&gt;
						Override the &lt;a href="http://resources.esri.com/help/9.3/arcgisserver/apis/flex/apiref/index.html?com/esri/ags/layers/TiledMapServiceLayer.html&amp;amp;com/esri/ags/layers/class-list.html" target="_blank"&gt;
							TiledMapServiceLayer&lt;/a&gt; &lt;b&gt;getTileURL()&lt;/b&gt; function to give us the 
						appropriate tiles and have the map place them in the right place.
						
&lt;pre&gt;private var _baseURL:String = "http://sampleserver1.arcgisonline.com/arcgiscache/Portland_Portland_ESRI_LandBase_AGO/Portland/_alllayers";&lt;br&gt;override protected function getTileURL(level:Number, row:Number, col:Number):URLRequest&lt;br&gt;{&lt;br&gt;    var url:String = _baseURL&lt;br&gt;        + "/L" + padString(String(level), 2, "0")&lt;br&gt;        + "/R" + padString(row.toString(16), 8, "0")&lt;br&gt;        + "/C" + padString(col.toString(16), 8, "0") + ".jpg";&lt;br&gt;    return new URLRequest(url);&lt;br&gt;}&lt;/pre&gt;
					&lt;/li&gt;
					
&lt;li&gt;
						Inside the public function PortlandTiledMapServiceLayer(), add
						
&lt;pre&gt;buildTileInfo(); // to create our hardcoded tileInfo&lt;br&gt;setLoaded(true); // Map will only use loaded layers&lt;/pre&gt;
					&lt;/li&gt;
					
&lt;li&gt;
						Optionally, as a best practice, similarly override the following properties 
						from the Layer class: &lt;b&gt;initialExtent&lt;/b&gt;, &lt;b&gt;spatialReference&lt;/b&gt; and &lt;b&gt;units&lt;/b&gt;. 
						This is needed if this is the first layer added to the map and the map property 
						hasn't been set yet. For example:
						
&lt;pre&gt;override public function get initialExtent():Extent&lt;br&gt;    {&lt;br&gt;        return new Extent(-122.539, 45.500, -122.540, 45.501, new SpatialReference(4326));&lt;br&gt;    }&lt;/pre&gt;
					&lt;/li&gt;
				&lt;/ul&gt;
			&lt;/li&gt;
			
&lt;li class="top"&gt;
				Use it with either MXML or ActionScript.
				
&lt;pre&gt;&amp;lt;esri:Map id="myMap"&amp;gt;&lt;br&gt;     &amp;lt;samples:PortlandTiledMapServiceLayer  id="virtualTiles" fadeInFrameCount="15"/&amp;gt;&lt;br&gt;&amp;lt;/esri:Map&amp;gt;&lt;/pre&gt;
				or actionscript
				
&lt;pre&gt;var myMap:Map = new Map;&lt;br&gt;this.addChild(myMap);&lt;br&gt;var myLayer:PortlandTiledMapServiceLayer = new PortlandTiledMapServiceLayer();&lt;br&gt;myMap.addLayer(myLayer);&lt;/pre&gt;
			&lt;/li&gt;
		&lt;/ol&gt;
		
&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; If the web server hosting the tile images doesn't have a crossdomain file 
			your application will still work, but while developing you will see a warning 
			("Warning: Failed to load policy file"), as well as security sandbox violations 
			for each tile.&lt;/p&gt;
		&lt;h3&gt;Resources&lt;/h3&gt;
		
&lt;ul&gt;
			
&lt;li&gt;
				&lt;a href="http://serverapps.esri.com/flex/ExtendedTileLayer/srcview/" target="_blank"&gt;
					Application source code&lt;/a&gt;&lt;/li&gt;
			
&lt;li&gt;
				&lt;a href="http://serverapps.esri.com/flex/ExtendedTileLayer/ExtendedTileLayer.html" target="_blank"&gt;
					Live application&lt;/a&gt;&lt;/li&gt;
			
&lt;li&gt;
				&lt;a href="http://livedocs.adobe.com/flex/3/html/help.html?content=basic_as_2.html#158890" target="_blank"&gt;
					Using ActionScript&lt;/a&gt; - Adobe Flex 3 Help.&lt;/li&gt;
			
&lt;li&gt;
				&lt;a href="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2007/11/07/Deconstructing-the-map-cache-tiling-scheme-_2800_Part-I_2900_.aspx" target="_blank"&gt;
					Part 1&lt;/a&gt; and &lt;a href="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2008/01/31/Deconstructing-the-map-cache-tiling-scheme-_2800_Part-II_29003A00_-Working-with-map-caches-programmatically.aspx" target="_blank"&gt;
					part 2&lt;/a&gt; about deconstructing the map cache tiling scheme.&lt;/li&gt;
			
&lt;li&gt;
				&lt;a href="http://resources.esri.com/help/9.3/arcgisserver/apis/flex/apiref/index.html?com/esri/ags/layers/TiledMapServiceLayer.html&amp;amp;com/esri/ags/layers/class-list.html" target="_blank"&gt;
					TiledMapServiceLayer&lt;/a&gt; in the API Reference.&lt;/li&gt;
		&lt;/ul&gt;
		
&lt;p&gt;This shows how easy it is to extend a layer to add support for additional types 
			of layers within the ArcGIS API for Flex.&lt;/p&gt;
		
&lt;p&gt;&lt;i&gt;Contributed by Bjorn Svensson of the ArcGIS API for Flex team.&lt;/i&gt;&lt;/p&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=3975" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Map+Cache/default.aspx">Map Cache</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Web+services/default.aspx">Web services</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Backward+compatible/default.aspx">Backward compatible</category><category domain="http://blogs.esri.com/Dev/blogs/arcgisserver/archive/tags/Flex/default.aspx">Flex</category></item></channel></rss>