An overview of sharing tools and toolboxes


One of the fundamental design goals of the geoprocessing framework is the ability to distribute your tools amoung the ArcGIS community of users.

Nothing is more satisfying to you as a tool author than to distribute your tools to others and to have them report back that everything worked great and that you're a genius, having saved them months of work (it happens). And nothing is more disappointing than to hear that they couldn't get your tools to work and it was all a waste of their time. The latter situation can be easily avoided with some insight and a few simple guidelines.

The biggest stumbling block to sharing tools are the resources that your tool uses. Resource, in this case, means existing geographic datasets, map documents, toolboxes, scripts, layer files, graphic files, and documentation files that your tools use—everything but the data the user provides as tool parameters. Resources that existed on your computer when you created your tool may not be accessible when others use your tool. Seemingly minor issues with data access that you encounter running your tools locally become major issues when sharing your tools. These data access issues are not ArcGIS specific—they are generic issues found in all software applications.

Guide to topics

The topic links below give you the insight to determine the best way to distribute your tools, as well as guidelines for structuring your toolboxes, scripts, script libraries, documentation style sheets, compiled help files, graphics, layer files, map documents, and project data in such a way that they can be easily delivered, installed, and used by your clients.


Topic Description
Methods for distributing tools Discusses the three basic methods for distributing your tools and weighs the pros and cons of each method. The three methods are as follows:

  • Package and ship.
  • Share across your local area network (LAN).
  • Publish to ArcGIS Server.
Pathnames explained: Absolute, relative, UNC, and URL You deal with pathnames every day to navigate to your data and toolboxes. You probably don't give them much thought, nor do you need to, until it comes time to share your tools and data. The section on pathnames goes through the basics and describes how ArcGIS manages pathnames.
A structure for sharing tools Organizing your tools and data into a well-structured folder is the first step in sharing your tools. This topic describes a folder structure, the ToolShare folder, that you can use as a template for a well-organized folder.
Accessing ArcSDE data in tools This topic describes how to create an explicit ArcSDE connection file that your tools can use.
Techniques for sharing Python scripts This topic describes techniques to make your Python scripts and libraries portable.
Managing intermediate data in shared models This topic goes into the details of how geoprocessing determines where to write intermediate data created by models. This is especially important when authoring tools for ArcGIS server.
Sharing stylesheets You can change the appearance of your tool dialog by supplying a stylesheet and a background image. The stylesheet and image must be delivered to your user.
An overview of sharing tools on an ArcGIS Server Your tools can be distributed and used across the internet by using ArcGIS Server technology. ArcGIS Server is a separate product that works with ArcGIS, and once installed at your workplace, you can use it to share your tools as services available to anyone with an Internet connection.
Checklist for sharing tools and toolboxes Use this checklist to help you share your tools and toolboxes.

See Also