• Want to be a Presenter at the 2009 ESRI Developer Summit?

    The web page for submitting User Presentations is up. 

    The ESRI Developer Summit has always been a great productivity event, and we expect the 2009 DevSummit to be even better.  ESRI staff have recently begun preparing about 25% more technical sessions.   Attendees get to hear from and interact with the product teams and innovative developers who are creating our technologies and putting them to use.  And over the past year, we have heard from you that we need to continue growing user-involvement.  After all, it is a "Summit" for all of us, right?

    So here we go.  Share your ideas, present your work, or lead a topic of discussion with the developer community.  If you have content that would be of interest to other attendees, then we encourage you to submit an abstract.

    If you are interested in learning more about this opportunity visit the 2009 DevSummit "Share Your Work" webpage.  That page also lists some suggested topic areas, but feel free to be creative.

    Once accepted, your assigned conference planner will help get you what you need to be successful.  And then your presentation will be scheduled and promoted on the website, conference materials, and signage.

    At this point, it looks like we're going to have about 10-15 scheduled slots.  The capacity of the room will be between 50 and 70, so it should end up being a more interactive experience if you want it to be.  This room will be part of the "Showcase" area, which is the central hub of the event.  Then in the weeks leading up to the DevSummit, registered attendees will be able to vote so that particularly popular sessions can be moved into larger capacity rooms.

    The deadline for submissions is February 6th, 2009.  If you're interested, let us know right away and we look forward to working with you.

    Article submitted by the EDN Team at ESRI.

  • Accessing ArcGIS Java Help System Content From within Eclipse Developer IDE for Windows Developers

    The Help System in the Eclipse Developer IDE is designed like the rest of the environment and is built with a plug-in architecture.  Packaging the Java Help System as a Developer IDE Plug-in can significantly increase memory size requirements and cause the development environment to hang on install.  This article discusses taking advantage of the Java Help System InfoCenter as a stand-alone Help System to be integrated into your Eclipse Developer Environment. This can be done in 3 easy steps.

    Step 1: To get started, you must first ensure that you have installed the ArcGIS SDK Java Help System.  This is a separate installer from ArcGIS Engine and/or ArcGIS Server for Java.  Once successfully installed, the help system runs in single user mode as stand-alone help system for the Java developers.  To set up the Java Help System in InfoCenter mode you simply execute the Java Help Server scripts located at '%ARCGISHOME%\java\ docs\'.  To start the Help System in InfoCenter mode, execute the ‘startJavaHelpServer.bat’ file:

    %ARCGISHOME%\java\docs\startJavaHelpServer.bat [<port>]

    The default port the Java Help System InfoCenter will run on if you do not set the port when you execute the script will be ‘2112’.  Clients can now access the Java Help System from any machine inside your network by pointing your web browser to the following url:  

    %ServerName%:2112\help\index.jsp

    Step 2: Now that you have successfully started the Java Help System in InfoCenter mode, you can easily integrate the Help System into your Eclipse Developer IDE. 

    Make sure you have the latest supported Eclipse developer IDE, version 3.2.2, and open the Preferences dialog by selecting ‘Window->Preferences’ from the tools menu.  In the Preference dialog, navigate to ‘Help->Content’ as shown in an illustration to the right. 

    Step 3: The Eclipse Help System needs to know the address (host/IP) and port of the remote server to integrate with the local system. Select the 'Include help content form a remote infocenter' checkbox and provide the following server information: 

    1.  Host: Put a valid Server Name or IP Address where the remote infocenter is located. In our example the server name is 'javabuild'.
    2. Path: '/help'.
    3. Select the 'Use Port' radio box and put '2112' in the port text box. The dialog should resemble the image below with your server name replacing 'javabuild'.




    Click 'OK' to close the Preference dialog and open up the Eclipse Help System, 'Help->Help Contents', to see the ArcGIS Java Developer Help System integrated into your local Eclipse Help System. 



    The Java Help System InfoCenter is a stand-alone server and doesn’t require an additional Web Server.  However, in a production environment, you may want to control important issues that are best handled by a Web Server.  For example, you may want to redirect requests by setting up a proxy module in Apache.  This is all possible for more advanced users of the java Help System InfoCenter. 

  • ArcGIS Engine now supported on 32 bit RedHat Enterprise Linux 5

    We’re happy to announce that ArcGIS Engine 9.3 as of Service Pack 1 is now officially supported on 32 bit  RedHat Enterprise Linux 5!  ArcGIS Engine has been supported on SUSE Enterprise Linux 10, Solaris 9, Solaris 10, RedHat Enterprise Linux 4, and of course Windows.  Please feel free to check out the knowledge base article for steps on installing and upgrading ArcGIS Engine on this new platform.

    Red Hat

     

     

     

     

  • How To… Developer Series: Using the Visual Studio 2008 Upgrade Wizard

    As mentioned in a previous post, developing with VB6 with ArcGIS will no longer be supported at ArcGIS 9.4.  The good news is that ArcGIS 9.x developers have a number of options when it comes time to migrating existing VB6 projects to .NET.  

    One of the easiest methods is to use the Visual Studio Upgrade/Conversion Wizard.  Check out the video to see exactly how it works.  As you’ll see, the wizard is easy to use, but as you can imagine, it does not upgrade everything perfectly.  So before jumping in, be sure to review this document on MSDN, and here are a few other things to consider:

    Pros

    1.       The wizard is “relatively” fast and easy to use.  1-2 min for our small test project.

     

    2.       An Upgrade Report is created automatically so you can easily hunt down the items that didn’t automatically convert.  Just look for “UPGRADE_ISSUE” comments in the code.

     

    3.       The .NET compiler will give you warnings and errors that were ignored in VB6 such as unused variable declarations and so on.  This should help improve the quality of your code.

    Cons

    1.       Not all ESRI.ArcGIS assemblies and types are mapped correctly and you need to deal with these issues manually.  For example, the ESRI.ArcGIS.esriSystem.OLE_HANDLE.

     

    2.       The new project will likely reference VB.NET-specific compatibility assemblies (e.g. Microsoft.VisualBasic.dll) to map to the old VB6 types.  This may or may not be desirable if you plan on moving the code to C# or if you want to just use the core .NET assemblies and types.  Performance can be affected as well.

     

    3.       Some .NET controls don’t map 100% to their VB6 counterpart, and code changes are required.  E.g. CommonDialog::xxx.

     

    4.       You may want to consider using Private or Public declares instead of Dim.

     

    5.       You need to set “Register for COM Interop” in the new project to register the classes as COM components.

     

    6.       It only converts to VB6 code to VB.NET, not C#.

     

    The last thing to consider is that the wizard simply performs a raw conversion of the interfaces and classes as they are implemented in VB6.  It has no way of knowing that there are a number of ArcGIS .NET base classes that can be used to accomplish the same task.  Therefore, if you use the wizard, and if your VB6 code implements ICommand, ITool, IToolbar and IExtension, you should consider removing the class that is created, and re-implement it with the ArcGIS base classes.  We’ll see this in a future How To… post.

     

    Regardless of the cons here, it’s obvious that the Upgrade Wizard isn’t perfect but it does provide a fast and easy way to get you through the migration process.  

       

    Special thanks to Rob Burke for contributing the video that illustrates how to get this done!

  • ArcGIS Developer Poll Results - The Visual Studio version winner is...

    Of the individuals that participated, it's clear that Visual Studio 2005 with .NET 2.0 is the most popular IDE for ArcObjects development today.  50% of the community are developing with this configuration.  The next most popular configuration is Visual Studio 2008 with .NET 3.5 at 32%.

    A smaller percentage are taking advantage of the Visual Studio 2008 IDE improvements, but still building on top of the .NET 2.0 framework. This is surprising given that .NET 3.0 and 3.5 didn't undergo any major architectural changes (still uses the .NET 2.0 CLR) and are considered an additive release.  We would be interested in hearing more feedback about this!

    There are limitations, but another interesting fact was that very few (2%) of the respondents identified that they were using Visual Studio Express.  And of course, there are still a few (3%) implementing Visual Studio 6.0.

    On that note, for all VB6 and VBA developers looking to transition to .NET, we are releasing a number blogs and videos on the migration process very soon.  Keep your eyes posted.  

    In the mean time, let's turn to the Java developers in the next poll and see what IDE they are using.

    Thanks for the feedback!

     

     

     


     

     

  • New Developer Community and Resource Survey

     

    Developers:  If you are currently using Web 2.0 technologies to find people, resources and solutions as part of your day-to-day development activities, then you might be interested in this survey

    Included are 10 questions on the following topics: 

  • Developer Resources
  • Social Media and Networking
  • Online Communities 
  • I know you are thinking "great, another ESRI survey", but the data gathered here will help us make critical decisions about how we build and foster the online communities in the future.

    And if you are reading this, then that means you are part of these communities, so now is your chance to help direct their (and your) future.

    As always, your participation is valued and appreciated.

    EDN Team

     
  • ArcGIS Engine Java: Building a Multitemporal SDSS scenario viewer

    The Summer 2008 edition of ArcUser magazine includes an interesting article on Spatial Decision Support System (SDSS) developed for the GLOWA IMPETUS research program that provides an integrated approach to the efficient management of scarce water resources in West Africa. Using ArcGIS Engine Java, comprehensive ArcGIS functionalities and partly remote sensing analysis are incorporated in the SDSS. Specifically, the SDSS includes a GIS tool for visualization called  the ArcGISDoubleMapPanel, which allows users to evaluate two multitemporal layers in one panel. This kind of functionality is not yet available in most GIS software and SDSSs.

    The ArcGISDoubleMapPanel

    The ArcGISDoubleMapPanel tool provides thematic and non-thematic raster and vector maps that can contain either two attributes and one time slider or one attribute and two time sliders (to compare two different time frames). Figures 1 and 2 contain screen shots of the ArcGISDoubleMapPanel tool during preliminary development of the SDSS. Two PageLayoutBeans, which have toolbars with common GIS tools and time sliders (for visualizing multitemporal time steps), are used. By displaying two feature layers with different attributes that are thematically mapped, the user can intuitively compare these attributes. A Java slider (JSlider) component, located below the two maps, allows the user to view changes in the scenario over time. This slider has access to multitemporal feature layers and provides different time increments. Using a processor that accesses the specific time step of the layer, the two maps of the ArcGISDoubleMapPanel are updated (using refresh) during run time. Based on the classification applied to the map, layers change color in response to movement of the time slider. In Figure 2, the ArcGISDoubleMapPanel displays feature data classified by one attribute. The user visually compares two maps from different time spans. This provides an easy way to detect change over time. Each PageLayoutBean has its own time slider.

    Above:  Screen shots showing the ArcGISDoubleMapPanel with two attributes (in this case two vector layers) and one time slider.

     

    Above:  Screen shots showing the ArcGISDoubleMapPanel displaying one attribute (population density) and two time sliders.

    In addition to simultaneous visualization of multiple scenarios, the ArcGISDoubleMapPanel tool is also useful for performing change detection analyses, assessing current conditions and predicting future situations. To learn more about the SDSS, its architecture and implementation read the ArcUser article: Visualization, Interpretation and Evaluation

    Contributed by the ArcGIS Engine Java Product Team.

     

     


     

  • ArcGIS Developer Poll Results

    Here are the results from the last poll.  It looks like 76 people participated, and more than 50% have already migrated from to .NET, and about 30% are still transitioning from VBA/VB 6.0 to .NET.

    Thanks for participating!  There's a new one today and there will be more to come...

    EDN Team

     

     

  • Context menus made easy: in Java

    As many of us might agree, context menus are a great way to place functions where users would intuitively expect them to be.  Right-click on a layer (provided your mouse has a right button) and capabilities specific to that layer should pop-up.  Right-click somewhere else, and the options hovering under the mouse change to something else.  This is a proven approach for helping your users do what they want to do more efficiently. Java developers who are using the ArcGIS Engine development kit are not provided the ability to create context menus right out of the box.  

    Steven Rozic and Lalitha Darbhamulla from ESRI recently uploaded a Code Gallery sample that we all hope you will find helpful.  It's called "Creating a Context Menu for Layers", although the source code could be applied in other contexts as well. An extra bonus:  the download includes two options to choose from.  One uses the ArcGIS ToolbarMenu and the other uses the JpopupMenu from the Java Swing package. 

     

     

  • New ArcGIS Developer Poll!

    We would like to introduce the new online ArcGIS Developer Poll.  If you remember way back, we had a similar poll on the old EDN site. 

    One of the main goals of this poll is to stay in touch with the developer community and to give you an opportunity to provide us with some direct feedback.  We'll be using this information to post a other questions and blogs topics in the future. 

    Feel free to add comments here about other polls and/or blog topics that you would like to see.

    Keep your eyes peeled as we release new questions. 
    EDN Team

  • ESRI Releases the ArcGIS API Evaluator

    If you haven’t heard, the ArcGIS Development Team has just released a new .NET utility called the ESRI API Evaluator.  This handy tool allows you to scan all of your ArcGIS .NET code and generate a complete set of API usage statistics.  This will reveal the DLL dependencies, version information and the number of calls made to all ESRI assemblies, interfaces and members. 

    Help improve the product
    One of the most important features of this tool is that it allows you to send your API usage information directly to the ArcGIS Development Team.  Once received, this information will be used to:

    1.    Better understand the APIs that our customers are using (most popular).
    2.    Make improvements to focused areas of the SDK (documentation and samples).
    3.    Make decisions for future API development projects.

    API Evaluator Scenarios
    Scenario I – Help improve the SDK
    You have been working on a number of ArcGIS projects and have had difficulty implementing various parts of the SDK.  Use the API Evaluator to let ESRI know what areas of the API are most important to you by uploading the usage statistics without actually sending us the code!

    Scenario II – Improve your code
    You have been working on an agile development project with a team of developers.  You would like to discover which parts of the API have been used the most by the team and if code reuse has been maximized.  Use the API Evaluator to determine the number of calls to all interfaces, methods and properties in the .NET assemblies and look for areas of improvement.

    Scenario III - Deployment
    You would like to determine the .NET Framework version, and ArcGIS license and extension requirements for an application.  Use this information to help determine the software and licensing requirements for deployment systems.
     
    It's easy to use!

    Step 1.  Start the tool and run a new scan.

    Step 2.  Select the folder(s) you wish to scan.    
     
    NOTE:  If you are scanning a Visual Studio 2005/2008 web application, build and publish the website to generate the precompiled assemblies first.

     

    Step 3.  Optionally, supply your contact information if you plan to upload your scan to ESRI. 


     
    Step 4 – Confirm your selections.

     

    Step 5 – Review the results.



    Step 6 - Upload results to ESRI. Simply select the "Upload Scan" menu.



    A few reasons to give it a try
    I'm sure you can think of many different uses for this tool, but in general, you can use this tool to: 

    1.    Determine the general API usage for larger or unknown code samples.
    2.    Determine the licensing required to run an application.
    3.    Locate redundant code sections and make improvements.
    4.    Detect library dependencies to help with deployment scenarios.
    5.    Detect .NET version dependencies.
    6.    And most importantly, help improve the product (see below).

    More Information
    Where can I download it?  You can download the tool from the ArcGIS Engine Code Gallery.
    Where can I find more information? You can find the documentation on the ArcGIS Engine Resource Center online.

    We want your feedback!

    Although the "Upload Scan" functionality is 100% optional, we do appreciate all feedback from the developer community, so we hope you find this tool useful and you can spend a few minutes uploading the results back to ESRI. 

    Let us know if you have any questions or feedback.

    Thanks for your participation!
    ArcGIS Development Team
  • Podcast: Introduction to ArcGIS Engine Development

     

    The ESRI Instructional Series has a new podcast out there called "Introduction to ArcGIS Engine Development".   It is about eight minutes long and it provides an introduction to ArcGIS Engine and how it can be used to develop standalone applications and extend existing ones.  Described in the podcast are the SDK itself, customization options, licensing, ArcObjects model, and the application framework.

    So, whether or not you have programmed using ArcObjects in the ArcGIS Desktop VBA editing environment, this podcast provides a good overview of the ArcGIS Engine development toolkit.  For more information, a great way to get started is at the ArcGIS Engine Resource Center.

     

  • New Error Reporting in ArcGIS 9.3

    One of the new capabilities of ArcGIS 9.3 is the ability to send error reports to ESRI anytime that ArcGIS fails.  Problems due to memory leaks, hardware limitations, incompatible third-party extensions, and others have been known to be disruptive to your work and can be extremely frustrating.  We expect this new functionality will help us identify and solve problems quicker and more completely than ever before.

    This post here in the Geodatabase Development Blog goes into this further and includes a link to a short two-minute video from Todd Stellhorn (development lead for ArcGIS 9.3) who describes how this works in more detail.

  • VB6 to .NET Migration Series: Getting ready for the ArcGIS 9.4 release

    At the 2008 ESRI International User Conference  we announced that ESRI would no longer support the development of Visual Basic 6.0 applications at the ArcGIS 9.4 release.   Well, it is true.  As we speak, the development team is in the process of removing the VB6 DLLs and dependencies throughout the system.  So what does this mean for VB6 developers that plan to release their software applications on ArcGIS 9.4?  Well here are some inside tips that will help you plan for the future.
     
     
     
    Visual Basic 6.0 SDK and Runtime
    1. The Visual Basic 6.0 SDK will not be delivered with any of the ArcGIS 9.4 products.  Developers will not have access to the VB 6 developer help files, tools, add-ins and utility applications. 
     
    2. The Visual Basic 6.0 Runtime will no longer be installed with any of the ArcGIS 9.4 products.   Therefore, if you still plan to deploy VB applications, you will need to ensure the VB 6 runtime has been installed by another application or you will need to install it as part of your deployment solution. 
    Can you still develop with VB6?
    Compilation:  The ArcObjects Type Libraries (OLBs) will still be shipped and installed with ArcGIS 9.4. As a result, as long as you don’t mind not having the ArcObjects VB6 SDK or any development tools, technically speaking, if you have a Visual Basic 6.0 development platform, you can still reference libraries and compile your applications.
     
    Compatibility:  As long as the VB6 runtime is in place, it is possible that your applications will just work on an ArcGIS 9.4 system.  But please remember, while we make every effort to maintain backward compatibility, it is still your responsibility as the developer to reference the type changes and ensure that all applications behave as expected.
     
    Microsoft Support:  In February, Microsoft released a “it just works” support statement indicating that they will continue to support the VB6 runtime on Windows 2008 and Vista; however, it is important to note that the VB6 IDE has gone past the period of extended support.  So that is something you may want to consider this as well.
    What about VBA?
    The Visual Basic for Applications SDK will still be released with ArcGIS 9.4 to support VBA development inside of the ArcGIS Desktop applications.  So VBA developers do not need to migrate their applications to .NET.
     
    Should you still be developing with VB6? 
    The bottom line is that if you are planning to develop applications for ArcGIS 9.4 and beyond, we strongly encourage you to start moving your VB6 applications to C#, VB.NET or VC++.
     
    Making the Leap
    You can find a number of articles on MSDN about how to make the switch from VB6 to .NET.  If you are thinking of transitioning to Visual Basic .NET today, there’s also a good set of articles here to get you started.   You’ll find that most of the documentation refers to Visual Studio 2005, but most of it applies to 2008 as well.  That said, you’ll need to decide whether to move to Visual Studio 2005 or 2008.  The current release of ArcGIS 9.3 supports development with both platforms.
     
    Future blog series
    To help you make the transition, be sure to stop by again or subscribe to view the upcoming VB6 to .NET Migration Series for ArcGIS developers.
     
     
     
     
    Feel free to share your comments, links and experience here as well.

     
  • Code Snippets: write 'em, save 'em, reuse 'em

    The “DRY” principle describes an element of programming efficiency:  Don’t Repeat Yourself.  

    One of the tools available to help you with this are Code Snippets.  ArcGIS 9.3 products ship with hundreds of these snippets you can quickly and easily find and use, but how can you create them, add to this repository, and share them with others?

    Back on July 14th, Don Kemlage from the ArcGIS SDK team posted a video here on the blog to describe what snippets are, how to get to the ones we provide with ArcGIS, and how to use the Snippet Finder.   At about 10:50 minutes into that video, Don mentions briefly that developers can make their own snippets too.  In this post here, we wanted to dig a little more into that, and provide some tips on how to do it in more detail.

    Frameworks such as Visual Studio and Eclipse provide several ready-to-use Code Snippets.  You can even add your own snippets into the library, organizing them into a directory structure by the subject or task they accomplish. Creating your own code snippets helps you and your team members have snippets which are greatly customized for your development.

    Code snippets are defined in XML format and are stored with the *.snippet file extension. You can use your favorite XML or text editor or Visual studio or Eclipse to create and maintain them.

     

    Creating Code Snippets in Visual Studio 2005/2008

    MSDN has a nice concise "How To" article on creating code snippets.

    In short, using Visual Studio 2005/2008 start with the File > New > File > XML File menu item.  That allows you to create the new file and save it in place, ready for editing.  Then the next step is to plug in the required information to make it an individual code snippet. Let’s show you an example code snippet, then further below we’ll explore the tags one by one.

     

    Let’s walk through it, top to bottom.

    CodeSnippets
    The <CodeSnippets> element is the root element of the code snippet XML schema and has xmlns attribute value.

    CodeSnippet
    The  <CodeSnippet> element is used to create an individual code snippet and this is where all declarations on your snippet must reside.

    Header, Title, Shortcut, Description, Author, SnippetTypes
    The <CodeSnippet> tag has a <Header> section that contains information needed by the IDE in these additional tags.  Visual Studio gives you a description of what each one does when you hover your mouse on these tags. 

    Snippet
    The <Snippet> tag is a little bit more complex. It contains both the <References> and <Code> tags.

    References
     The <References> tag is used by the IDE to add references to the project when the snippet is inserted. In this example, the code snippet adds a reference to ESRI.ArcGIS.esriSystem.dll when the snippet is inserted. Note that Visual C# code snippets do not support the References section, so a reference to ESRI.ArcGIS.esriSystem.dll must be added to the project manually.

    Code
    The <Code> tag contains the specific code to insert as <Code Language="VB"> that says that the language of the code snippet is Visual Basic. All snippet code must be placed between <![CDATA[ and ]]> brackets. You can also mention (in comments) what ArcGIS Products and which versions (9.2, 9.3) can use this snippet and any other namespaces that you wish the user imports before adding.


    Ok, so after doing this a couple of times they are pretty simple to create.  And whether you write them using Visual Studio or a plain text editor, give each one a *.snippet file extension and use the Tools > Code Snippets Manager menu item to ensure the IDE knows where these folders are.

    Code Snippets not only provide a wide variety of productivity-enhancing solutions and their real power lies in their extensibility. Give them a shot.

    Contributed by Sirisha Karamchedu from ESRI Educational Services

More Posts Next page »