This section describes a folder structure that allows easy sharing of geoprocessing tools. For the purposes of discussion, and to have an unambiguous name, this folder is called the ToolShare folder. You're not required in any way to use this ToolShare folder structure; it's simply meant to provide a reference point.
In the illustration below, <ToolShare> is a system folder anywhere on your system. The folder can have any name (the angle brackets <> denote that the text is to be replaced).
This is a geoprocessing toolbox or toolboxes (.tbx) containing the tools you want to share.
- The tools must have the Store relative pathname option checked.
- Documentation for toolboxes and individual tools should clearly state what product level and extensions are required for the tools to operate.
- You can have more than one toolbox stored in the directory.
Optionally, your toolboxes could be placed in a geodatabase in the ToolData directory (the ToolData directory is meant to contain data needed for your tools, and can contain personal and file geodatabases). However, a toolbox in the <ToolShare> folder is easier to find and makes it obvious that the content of the <ToolShare> folder is to support geoprocessing tools.
If you want to deliver one or more ArcMap, ArcScene, or ArcGlobe documents they should be placed directly below <ToolShare>.
- The documents must have the Store relative pathname option checked.
It is common practice to include a Readme.txt file when delivering a folder to someone else. Readme.txt is a text file that you can create with Notepad. If you use a word processor, such as Word, be sure to save the document as simple text.
The audience of a Readme.txt file includes someone that stumbles across the directory and is not necessarily an ArcGIS user. So, it should contain text similar to:
This folder and subfolders contain data for ArcGIS geoprocessing tools. For a description of the tools, start ArcCatalog, right-click the toolbox, then click Help.
You should also consider providing more information, such as a brief purpose statement, date, and contact information.
The ToolData directory is meant to contain small datasets and .lyr files that your tools need to run. Examples simple lookup tables, such as a table of soil types and their porosity index, or a table of speed limits by CFCC (Census Feature Classification Code). This directory is not meant to contain large datasets, such as soil type polygons for a region. Such large datasets typically reside in a central location, such as an enterprise database or shared directory, and can be accessed using UNC pathnames
or database connections
This folder contains all scripts used by script tools, including any script libraries. Dynamic link libraries (DLLs) and executables can go here as well.
This folder contains anything that helps the user understand the delivered tools, such as:
- Images used in a model diagram
- XML stylesheets that replace the default tool dialog and Help dialog, along with any images used in these stylesheets
- External compiled help files (.chm) referenced by tools or toolboxes
- Other files referenced in the help you provide, such as .pdf and .doc.
This directory can be used for writing intermediate data in models and scratch data in scripts. It contains a file geodatabase named scratch. Learn more about intermediate data and the scratch workspaceLearn more about managing intermediate data