• Are you in the ArcGIS 9.4 Beta Program?

    The Support Blog has just posted some details about the 9.4 Beta Program covering, amongst other things, what's included and who's eligible to join.  In general, if you're currently on maintenance or an EDN subscriber, you qualify.

    It highlights that the 9.4 Beta is:

    • Available for download
    • Fully supported by ESRI Technical Support
    • Accompanied by new 9.4 Resource Centers, also in Beta state

    As a developer however, here's a few points regarding how the program can help you...

    Early Access
    First off, you get to try all of the new features in 9.4 early, like the new UI enhancements, the integrated search, map publishing, new Time support, and the new reporting system. In addition you'll have full access to the new APIs.

    Migration Planning
    Equally important is that by getting your hands on the software so early you can get a great head start on planning your upgrade/migration strategy. This should help you with:

    • Focusing your testing
    • Automating installation
    • Measuring performance improvements
    • Assessing or re-assessing dependencies
    • Migrating sooner after the final 9.4 release

    And let's not forget the day-to-day activities; you'll be able to check that the new products hook into things like your automated build or continuous integration frameworks as expected.

    Developer Community
    With the dedicated 9.4 Beta Resource Centers, blogs and forums you can get involved with the community and share your tips and discoveries with other early adopters.

    Direct Support
    And with the active online support model build into the beta program, you'll be able to interact with Support staff directly.

    Take the poll to the right, and let us know in the comments how the beta program is working for you!

    EDN Logo

  • Call for Presentations now open: 2010 ESRI Developer Summit

    We should have seen it coming... but the popularity of the user community sessions at the 2009 ESRI Developer Summit exceeded our expectations quite a bit.   So for 2010 we are more than doubling the number of available sessions in this track.  Plus this time, the ESRI user community will be voting to determine what they would like to see.  Lots of other improvements as well.  More info here.

     

    Key Links for the Developer Summit:

       

     

  • ArcGIS RIA Developers: Tips on using cross-domain policies - Part 2 (Troubleshooting)

    Part 1 of this series gave you a brief introduction to cross-domain policies, and showed you where to correctly place your policy files. In this post we want to show you some basic troubleshooting techniques for both Adobe Flex and Microsoft Silverlight. If you are having problems such as maps not displaying, or you are getting security sandbox errors then you may be having cross-domain policy problems. Here are some basic guidelines to follow:

    • Make sure the policy file is downloading
    • Make sure you are using the latest policy file
    • Check your policy file settings
    • Examine the error messages
    • Set your project to run on local web server

    Note, in this post we are focusing on resources within your domain and sub-domains; for example http://www.yourwebsite.com/ and http://maps.yourwebsite.com/. The cross-domain file needs to be on the machine with the data or service, and not necessarily the machine hosting the Flex (SWC) or Silverlight app (XAP). Also, if you are having problems accessing third party resources, then you'll need to work with the third party directly to figure out their cross-domain policies and procedures. 

    Make Sure the Policy File is Downloading

    There are a number of easy ways to verify if the policy file is being downloaded to the client. In Firefox click on the “Net” tab in Firebug. Or, if you are using Internet Explorer then Fiddler is a good choice. If you want more details on Firebug and Fiddler there's a short write up in a previous ArcGIS Developer blog post. Silverlight developers should also look at using Silverlight Spy. Silverlight Spy gets the extra bonus points for having a cross-domain access policy validator.

    If the client app can find and download the policy file, you should see a "200 OK" message. Another trick is to try and load the URL from a browser window, for example: http://tasks.arcgisonline.com/crossdomain.xml if that's the server you are trying to access content from.  

     

    Make Sure You Are Using the Latest Policy File 

    When you make changes to the cross-domain file, be sure to refresh/reload the page to make sure the browser "sees" the latest version. If you have tried multiple web page reloads and still see "304 Not Modified", then you have a few options:

    • Manually clear your cache

    You can clear your entire cache, although this often isn't very desirable if you have a lot of useful links stored. In Firefox 3.5.x they recognized this problem and implemented a very nice, new feature that lets you remove everything from the last hour called Clear Recent History.

    • Bypass the cache

    You can bypass the cache and force the whole page to reload even if there is a cached copy. Here's a page that explains how to do this: http://en.wikipedia.org/wiki/Bypass_your_cache.

    Check the Policy File Settings 

    Do a little digging into what settings are appropriate for your domain security. A typical default file is completely open and allows access to all your sub-domains from any external domain. This may not meet your organizations security requirements. Adobe's Cross-domain Policy File Specification article has a good discussion on the different configuration options for crossdomain.xml. For Silverlight developers, there is an MSDN article on Network Security and Access Restrictions that talks about the various configuration options in clientaccesspolicy.xml.

    Examine the Errors

    Most of the time, reading the error carefully will offer some important hints on how to resolve the problem. The really important information will be in the very first line or two of the error message dump. Just as an FYI, Flex has over twenty different errors related to Security sandbox violations. Silverlight 3 has only a handful related specifically to security sandbox violations.

    Here are a few of some of the most common problems with hints and suggestions on how you might be able to resolve them:

    • Error #2048: Security Sandbox Violation (Flex only)

    Cross-domain policy file is missing, or incorrectly configured to allow access. Check to see if policy file is downloading, and check its settings.

    • An Error occurred while trying to make a request to URI...This could be due to attempting to access a service in a cross-domain way... (Silverlight only)

    Cross-domain policy file is missing, or incorrectly configured to allow access. Check to see if policy file is downloading, and check its settings.

    • 404 Not Found (Flex or Silverlight)

    File is missing, or in the wrong directory. See Part 1 for suggestions on how to locate the root directory.

    • 404 Not Found - but your policy file is definitely in the right place. (Flex or Silverlight)

    A few things could be wrong here. Check your policy file pathname carefully. Copy the URL into a browser to see if it loads the policy file. Check your firewall logs to make sure the request isn't being blocked, especially if its on a non-standard port number, for example: http://subdomain.yourwebsite.com:8001/map.aspx.

    • Error #2032 Stream Error. (Flex only)

    The URL is blocked or the policy file wasn't found by URLLoader() or URLRequest(). It can also show up when using HTTPS and HTTPService(). Re-check that your URL is correctly spelled and is loadable. Try to run the app in a browser while using Firebug or Fiddler.  

    • Cross-domain file 200 OK but still get Security Sandbox Violation. (Flex or Silverlight)

    The policy file loaded okay, but domain access is not allowed. Check the policy file settings.

    • Cross-domain file 200 OK but getting 500 Internal Server Error. (Flex or Silverlight)

    Problem is with the server not the client app. Check directory permissions and other configuration files for your server. On a Windows Server check the Event Viewer log since it will contain all the details for the error.

    Set Project to Run on Local Web Server

    If you are running into cross-domain problems on your dev box while making calls to external web services, or if you want to more accurately represent a production environment, try setting your Flex Builder or Visual Studio project to run on your local web server (e.g. IIS or Apache).  

    Here's an example for Visual Studio 2008 and IIS 7. For Flex, see the example screenshot below. Also don't forget to move your cross-domain policy files to your local web server root.

    Additional Resources


     

  • Want to present at the 2010 ESRI DevSummit?

     

     

     

     

     

    Just a quick heads-up about developer community presentations at the 2010 DevSummit.  While there will be more official details to follow next week, we wanted to keep you in the loop as we plan; and we would like to hear from you before things get too far along.

    One of the more popular activities at the 2009 DevSummit was the track for attendees to present and have a forum for discussing their work directly with the developer community.  The objective was to keep this content fairly unrestricted but focused mainly on the "how did you, how can I" angle.  Here is a snapshot of what was presented.  If you go to that page, scroll down to the heading "User Presentations".  We recorded and shared many of those presentations through the ArcGIS Resource Centers so that those not in attendance could benefit also.  And we thank those presenters who gave us the permission to redistribute their presentations this way.

    Well, we're happy to report from the post-Summit surveys that these presentations were very successful and very well received.  But at the same time, the logistics of it all needed significant improvements.  We all learned quite a bit this year about how to best provide this kind of track, and planning for the 2010 DevSummit is underway. Here's what we have so far.

    Rooms

    For starters we'll be using at least one, probably two conference rooms rather than a demo theater setup in the community center.  This will double the seating capacity in each room, as well as improve the lighting and sound quality.  Not only will this be better for those attending, but also for those watching these video recordings later. 

    Location

    The rooms we will be using for this at the Palm Springs Convention Center are in the "Mesquite" area which maintains their location central to the overall event, and directly across from the Community Center (Oasis 1) area. 

    Scheduling

    We will be adjusting the scheduling of these Developer Community presentations so that they sync with the timing of the rest of the technical workshop agenda.  This should help improve the "I really wanted to go to both" type of conflicts.

    More Slots

    There will be at least double the number of presentation session slots.  In 2009 we had underestimated the demand of this track and unfortunately needed to turn away many applicants with very interesting presentations.  Best case would be if we can open this track to everyone who applies...simple as that.

    Community Voting

    At the 2009 DevSummit, a team of staff at ESRI selected presentations from a pool of abstracts.  We had planned to have the developer community vote on that set to move some sessions into larger rooms. But when those rooms became unavailable, we were not able to do that. 

    The 2010 DevSummit will be completely different.  All applicants who meet the minimum submission standards will be listed on a site where everyone in the ESRI user community can vote.  On the voting site we will list your presenters' names, title, description abstract, and organization.  Presentation slots and prioritized scheduling will be given to those topics that generate the most interest from the community.

    Milestones

    Later in September, look for an official announcement and a page on ESRI.com on which you can apply.  That is where all of the details and rules will be.  We will announce the location of this page on this blog, through Twitter, Facebook, and of course on the 2010 DevSummit website.  The site will be open to applications until January 15th, 2010 then community voting until February 6th.  Selected presenters will be notified the week of February 8th.

    What are we looking for?

    You bring the topics and the community tells us all what they want to see and discuss.  Bring the content that you believe will be interesting and useful to the developer community, even if ESRI technologies are not the central focus.  For example, at the previous DevSummit many of the more popular sessions focused on topics of general interest such as the Agile software development process, unit testing, RESTful-ness, OpenLayers, and the MVC architectural pattern.   But of course if you are developing with ArcGIS, this is also the place to show your work, maps, application design, code, your successes and failures, hurdles, tips, tricks, whatever you think will be interesting and useful.  But whatever you want to do, it's a great idea to keep things non-commercial and the focus on "how did you, how can I".  Attendees of your presentation want to take some information away that they can use.

    That's about it for now.  More details soon.  We look forward to hearing from you.

    Key Links for the Developer Summit:

       

     

    - EDN Team



     

     

  • ArcGIS RIA Developers: Tips on using cross-domain policy files - Part 1 (Intro)

    If you have spent any time with Adobe Flex or Microsoft Silverlight, there is an excellent chance you have encountered errors such as “Security sandbox violation:”, or “An error occurred while trying to make a request to URI”. Or maybe you had problems where a map layer or certain Graphic images weren't displaying. If you've hit one of these problems while trying to access your own content or services, it's possible there is something wrong with your cross-domain policy file. There's been alot of discussion on this topic in the ESRI forums and elsewhere on the internet, that's why we wanted to shine some light on a few key things to know.

    In Part 1 of this series, we give you a brief introduction to these types of files, provide a few example use cases, and show you how to make sure they have been placed in the right location on your web server.

    What is a cross-domain policy file?

    As a general rule, if your web application requests files and resources from the same origin (e.g. your domain name, port number and http protocol), then access is granted automatically. If you want to allow client apps to request resources from within your domain, but outside the origin, then you'll need a cross-domain policy file. The file also determines which external domains are granted accesss to your web server. Examples of the types of resources you might want to grant access to include map services, geoprocessing services or GeoRSS. Cross-domain policy files also eliminate the need for your users to implement a proxy in order to access your website content.

    Before Flex or Silverlight apps will allow a connection to a web resource, the runtime attempts to download the cross domain policy file from the web server. If one can’t be found, or there is a problem reading the file, then the runtime denies access and throws an error.  Silverlight uses a file named clientaccesspolicy.xml, and if your Silverlight app doesn’t find one it will then search for crossdomain.xml. Flash, on the other hand, only uses crossdomain.xml.

    Here’s an example of a clientaccesspolicy.xml and crossdomain.xml.

    What are my choices if I'm using JavaScript? 

    Even though this post is about Flex and Silverlight, we still wanted to mention JavaScript briefly. If you are using the ArcGIS API for JavaScript, or the Google or Virtual Earth (Bing) Extensions, then you won't be able to use a cross-domain policy file. Here's a good basic primer by the Yahoo! Developer Network folks on using JavaScript proxies, and the SitePen blog has several posts on Dojo and cross-domain access:

    What are some example use cases? 

    The following example is from within the same origin. Maps.swf is requesting image tiles from the same origin. This does not require a cross-domain policy file:

         Application host location: http://www.yourwebsite.com/maps.swf
         Map tile location: http://www.yourwebsite.com/images/tiles1.jpg

    And, here is an example that does require a cross-domain policy file. Your application is requesting a GeoRSS file from a sub-domain on your website:

         Application host location: http://www.yourwebsite.com/maps.swf
         GeoRSS file location:http://georss.yourwebsite.com/weather     
         Location of policy file: http://georss.yourwebsite.com/crossdomain.xml

    Or, you're testing your app in Visual Studio, and it's trying to access your Bing geocoder token file which is on a test web server:

         Application host location:  http://localhost:3782/maps.aspx
         Bing Proxy file location: http://testserver/vetoken.ashx
         Location of policy file: http://testserver/clientaccesspolicy.xml  

    Your application is accessing a REST endpoint that exists on a different domain:

         Application host location: http://www.yourwebsite.com/maps.aspx
         ArcGIS Server REST endpoint: http://www.someotherwebsite.com/ArcGIS/rest/services/Streets/MapServer
         Location of policy file: http://www.someotherwebsite.com/clientaccesspolicy.xml

    Adobe’s Flash Player 10 Security Whitepaper also notes the following about HTTPS, “By default, content loaded with a protocol other than HTTPS cannot access content that was loaded with HTTPS, even if from the same domain. The reverse direction is allowed; HTTPS content may access content loaded with other protocols from the same domain”.

    Where do I place my cross-domain policy file?

    In the majority of cases where there are problems with cross-domain access, you are most likely missing a cross domain policy file, or it may simply be located in the wrong directory. If you are just getting started, we recommend placing the file in its' default location: your web server's root directory. Included below is a screenshot showing the right location for these files on a Windows web server. If the file is placed incorrectly, such as in your application's directory, you will get errors when trying to access content.

     

    How do I figure out where my root directory is?

    In IIS 5 and 6:

    • On the Start menu, click Run.
    • In the Open dialog box, type inetmgr, and then click OK.
    • Right click on Default Web Site, select Properties.
    •  Select Home Directory tab, and look under Local Path.

     

    In Apache 2.2.x search for httpd.conf. Or if you are using Windows:

    • Go to Start, select All Programs
    • Click on Apache HTTP Server 2.2.x
    • Click on Configure Apache Server
    • Click on Edit the Apache httpd.conf Configuration File 
    • Search for "DocumentRoot"

    That's it for Part 1. Stay tuned to this blog for Part 2.

    Information Resources


  • Resources for Getting Started with ArcGIS Server Web APIs

    We’ve had quite a few requests from developers new to our JavaScript, Adobe Flex and Microsoft Silverlight APIs asking for pointers on where to start. There is a lot of good content out there, sometimes it exists in places you might not have thought to look.

    The best place to start is in the Resource Centers. Each API has a dedicated Resource Center that contains a treasure trove of code samples, as well as concept docs, complete API reference, videos (Media Gallery) and community contributed sample apps (Code Galleries).

    Read through the Concepts section, walk through all the code samples, and read the explanations. Each Media Gallery has full-length DevSummit tech session videos that offer an experience similar to taking an online course. And, be sure to subscribe to the Forums via RSS so you can get a feel for the types of questions that are being asked.

    We have also pulled together a list of Hello World tutorials, introductory classes, articles and videos. The links are below. If you know of any other good getting started links that we may have left out or are new, be sure to post a comment and share them with the rest of the community.

    ArcGIS API for JavaScript

    ArcGIS API for Flex

    ArcGIS API for Microsoft Silverlight/WPF

    ArcGIS Server Services

     

    Last but not least, there is also playlist on Youtube called ESRITV that contains short, Channel 9-style videos. These include behind-the-scenes interviews with the dev teams, as well as instructional, how-to videos.

     

     

  • New Products, Websites, Community Resources, Samples, Videos...

    As you may have noticed, there has been a lot of activity at ESRI these days.  So just to keep you up to date, here's a quick list of what's new and where to find it.

    New MapIt Product (product info, demos and videos)

    New MapIt Resource Center

    Updated Silverlight/WPF API Resource Center 

    New ArcGIS Explorer Release (learn what's new)  

    Updated ArcGIS Explorer Resource Center

    Don't forget to update your RSS feeds!

    EDN Team

  • ArcGIS Developers Tip #5: Working with Graphic Coordinates in ArcGIS API for Flex

    As an ArcGIS API for Flex developer, knowing the basic differences between Stage, Point and MapPoint will save you a lot of time when you need to use geometry or shapes in your applications. The bottom line is every Flex display object has its own coordinate space which is essentially a graph upon which you can plot locations.

    Stage represents the entire area where all Flash content is displayed. Stage coordinates start at the origin (0,0) or top left hand corner of the main drawing area, and are sometimes referred to as global coordinates. Stage coordinates can be used for such things as determining the location of a MouseEvent on a web page, or a map.

    Point represents a set of x,y coordinates contained by a display object, with the top left hand corner of the display object being 0,0.  A Point can be represented in either Stage coordinates or  local coordinates. Local coordinates reside within a child display object, such as an instance of the ArcGIS API for Flex Map component.

    Also, since both Stage and local use the Point object, be aware when converting between these two Adobe coordinate systems, and use well defined names to help keep things straight. Another item to keep in mind is the ArcGIS API for Flex Reference Doc refers to local Points as “screen points”. 

    MapPoint represents an x,y location on a map. The x,y coordinates are in the same units as the ArcGIS Server map service; such as esriDecimalDegrees (lat/lon). 

    To help determine the position of locations on a map, you can convert between Stage, local and MapPoint coordinates. Fortunately, there are already built-in methods for doing this:

    ArcGIS API for Flex:

    Adobe Flex:

    The screenshot above shows the differences between Stage, a local Point (or screen point) and MapPoint. As an example, local Point 0,0 could also be translated into Stage Point 30,20 or MapPoint (Lat/Lon) of 64.9, -15.3.

    You can also download and try out a sample Flex app that demonstrates these concepts.

    Additional References:

    ArcGIS API for Flex Resource Center 
    Basics of Geometry and ActionScript 
    Discussion on Point Objects 

     

  • GIS, Web 2.0 and Social Media Demo Theater (Samples and PPT)

    We want to thank all who attended this UC 2009 demo theater. We had great turnout and received lots of feedback and input on your real-world use cases. Since we have received quite a few requests for the session materials, here are some links to help get you started:

    Web 2.0 is Evolving

     

     

  • ArcGIS Developers: ArcGIS Silverlight Toolkit on CodePlex (Open Source)

     

    We are proud to announce that the ArcGIS Silverlight Toolkit is now available on CodePlex as an open source project.  The project contains the source for the ESRI.ArcGIS.Client.Toolkit.dll and is available for use under the Microsoft Public License (Ms-PL) agreement.  This source will be very helpful if you are customizing or extending the existing controls or if you are building your own mapping tools from scratch.

    Inside the project is the Silverlight/WPF C# code and XAML for a set of widgets (controls) designed to work with the ArcGIS Silverlight Map control. You can find a complete list of components with help documentation on the ArcGIS API for Microsoft Silverlight™/WPF™ Resource Center under Library Reference.  

    To learn more about CodePlex, please visit their FAQ page.

    We hope you find this project valuable and we encourage you to participate in the developer community.

    Enjoy!


     

     

  • GIS, Web 2.0 and Social Media Demo Theater at the UC

    If you are interested in GIS, Web 2.0 and social media development, then be sure to stop by this session.  The EDN Team will illustrate how to take advantage of different aspects of Web 2.0 and social media to add sharing and social networking features to your applications. 

    Here are some of the topics that will be covered:

  • Socializing Your Website
  • Sharing Webmaps
  • Pipes
  • Mapping Widgets
  • Social Media API Integration with Twitter and Facebook
  • Login to use My Planner Add to Outlook Add to iCal   Desktop Developer Demo Theater: GIS and Web 2.0 Application Development

    Date/Time:
    Tues, July 14, 3:00PM - 4:00 PM (New!)
    Wed, Jul 15, 1:00PM - 2:00PM
    Thurs, July 16 9:00AM - 10:00AM

    Location: Exhibit Hall C 

    Presenter(s): Allan Laframboise & Andy Gup 

    View on UC agenda

     

  • ArcGIS Developers: Technology Evangelists at the ESRI UC

    Two must-see technology evangelists will be giving talks at the ESRI User Conferece. Dylan Schieman, CEO of SitePen and Co-founder of the Dojo Toolkit, and Kevin Hoyt who is a Platform Evangelist with Adobe Systems Inc.

    Dylan will be talking on Tuesday, July 14, 12pm - 1pm, Room 15A at the ArcGIS API for JavaScript Special Interest Group meeting.

    Kevin will also be talking on Tuesday, July 14, 12pm - 1pm. He'll be in Room 28A at the Adobe Flex Special Interest Group Meeting. If you were at the last ESRI DevSummit you may remember Kevin presented at the Adobe Tech Spotlight session.

    We encourage you to stop by and hear what these experts have to say, meet them in person and ask any questions you may have. They are are also very interested in hearing your feedback!

     

  • ArcGIS Developer: Social Media and Networking Resources

    The EDN Team website now has links to all of the ESRI social networking resources for developers. 

     

    RSS Icon Blogs

    Forums Icon Forums

    YouTube Icon YouTube

    Delicious Icon Delicious

    Facebook Icon Facebook

    LinkedIn Icon Linked In

     ESRI  ESRIUC  EDN Team  (Jim Barry   Allan Laframboise   David Cardella   Andy Gup

    Feel free to join in the conversations, share ideas or just listen in to see what's going on.

     

  • ArcGIS RIA Developers: Check out Tour de Flex

    Six ArcGIS API for Flex sample apps are now available on Adobe's Tour de Flex component explorer. If you aren't already familiar with Tour de Flex, it is a great resource for all Flex developers. Adobe Tour de FlexIt gives you finger-tip access to hundreds of live AIR and Flex sample applications such as common components, skinning effect and more along with source code. 

    Our samples include a map drawing tools app, thematic-based tax lots, open a pizza store and the Sample Flex Viewer.

    If you have ideas for others samples that you'd like to see up there be sure to leave us a comment.

     

  • ArcGIS Developer Tip #4: How to use the ArcGIS 9.3.1 Visual Studio Snippet Editor

    The ArcGIS Snippet Editor is a new feature of the ArcGIS integrated development environment (IDE) that comes with the ArcGIS Desktop and ArcGIS Engine software development kit (SDK) for 9.3.1. 

    The snippet editor allows you to create, edit and manage ArcGIS snippets in Visual Studio 2005 or 2008.  It supports both VB.NET and C# code snippets.

    Be sure to check out this video as it illustrates how to accomplish the following:

    Snippet Editor Manager
    Create a snippet (Function, Sub or Statement)
    Auto-reference ArcGIS assemblies
    Set the product, version and extension
    Set title, description and help string
    Store in a custom file path location

    Snippet Finder
    Search and find snippets by key word
    Insert snippets into code windows

    You'll also find other helpful tips and tricks such as how to set the default snippet editor directory in Visual Studio for a system with Windows Vista.

     

     

    Contributions from Don Kemlage, ArcGIS Product Engineer

More Posts Next page »