Workflow Manager Custom Steps
This topic applies to ArcEditor and ArcInfo only.
Workflow Manager provides several custom steps. The source code for each of these are provided as part of the developer kit. The following table outlines the process steps and what they can do.
Steps library
The Steps library contains steps that can be executed in both the desktop and server environments. The steps and their arguments and return codes are outlined below.
Step name |
Prog ID |
Description/Arguments |
Return codes |
Example argument entry |
---|---|---|---|---|
CleanUp |
JTXSteps.CleanUp |
Cleans up the job, based on the arguments. Arguments can be any of the following in any order: Version Cleanup: /version|v (optional) MXD Cleanup: /mxd|m (optional) Attachment Cleanup: /attachments|a (optional) |
0 = Success |
/v /m When executed, the job's version and map document will be deleted. |
CloseJob |
JTXSteps.CloseJob |
Closes a job as a step, as opposed to it being a manual process once the workflow is completed. |
0 = Success |
|
CreateJob |
JTXSteps.CreateJob |
Creates a child job, based on the arguments. Job Type ID: /jobtypeid:<job type id> (required)Assign to Group: /assigngroup:<group to assign to> (optional)Assign to User: /assignuser:<user to assign to> (optional) |
0 = Success |
/jobtypename:Street Updates /assigngroup:"SourceManagers" When executed, a new job will be created of type 3 and be assigned to the Source Managers group. |
CreateVersion |
JTXSteps.CreateVersion |
Creates the version for the job. The protection level of the version is specified by one of the following arguments: Version Access Scope: /scope:<public|private|protected> (optional) |
0 = Success |
|
ExecuteSQL |
JTXSteps.ExecuteSQL |
Executes a SQL statement. Database to Send SQL: /database:<jtxsystem|data> (required)SQL Command: /sql:<sql command> |
0 = Success |
|
ReassignJob |
JTXSteps.ReassignJob |
Reassigns the job. Assign Type: /assignType:<user|group> (required) Assign To: /assignTo:<user or group name> (required) |
0 = Success |
/assignType:user /assignTo:cjones When executed, the job will be reassigned to the cjones user. |
SendNotification |
JTXSteps.SendNotification |
Sends a notification of the type specified by the first arguments; notification Type: /notifType:<type> (required) |
0 = Success |
/notifType:RequestReceived When executed, an e-mail notification of type RequestReceived will be sent. |
UpdateExtentFeatureClass |
JTXSteps.UpdateExtentFeatureClass |
Updates a feature class with job information to provide visual status. Feature Class to Update (must be in data geodatabase): /fclass:<fully qualified feature class name> (required) Job ID Field (field to put job ID in): /jobfield:<field name> (optional) Date Field (field to put date/time): /datefield:<field name> (optional) |
0 = Success |
|
VersionExists |
JTXSteps.VersionExists |
Checks to see if the version exists for the job. |
|
DesktopSteps library
The DesktopSteps library contains steps that can be executed only from the desktop because of the pop-up user interfaces. The steps and their arguments and return codes are outlined below.
Step name |
Prog ID |
Description/Arguments |
Return codes |
Example argument entry |
---|---|---|---|---|
CopyFile |
JTXDesktopSteps.CopyFile |
Copies a file from one location to another. Source File: /src:<source file path> (optional) Destination File: /dest:<destination file path> (optional) File Title: /title:<file title> (optional) |
0 = Success |
/src:"C:\data\Project Info\Plan.xls" When executed, the user will be prompted to select the output folder, and the source file will be copied to the selected location. |
CreatePDF |
JTXDesktopSteps.CreatePDF |
Creates a .pdf of the job's basemap and optionally attaches it to the job. Initial Directory: /initdir:<initial directory> (optional) Attach File To Job: /attach (optional) Resolution (dpi): /resolution:<dpi> (optional) |
0 = Success |
/initdir:C:\temp /attach When executed, the job's map document layout will be exported to .pdf and attached to the job. The .pdf will be temporarily stored in the designated initdir location. If the initdir is not designated, the user will be prompted for a location during the execution of the step. |
DefineAOI |
JTXDekstopSteps.DefineAOI |
Shows a tool to allow the user to define an Area of Interest. Does not require any Arguments. |
|
|
LaunchArcMap |
JTXDesktopSteps.LaunchArcMap |
Please see the section below for details regarding the arguments for this step. |
0 = Success |
/cliptoaoi /guid:esriArcMapUI.AddDataCommand When executed, ArcMap will launch. In addition to resourcing the layers to the job version and zooming to the area of interest, the data frame will be clipped to only show data within the bounds of the area of interest and click the add data button for the user to allow adding additional data to the map. |
LaunchGPTool |
JTXDekstopSteps.LaunchGPTool |
Executes geoprocessing tools from within your workflows. Toolbox Path (explicit path to the tbx file): /toolboxpath:<toolboxpath> (optional) Toolbox Name (if in system toolboxes): /toolbox:<toolbox> (optional) Display Name of the Tool in the toolbox: /tool:<tool> Parameter to override on the tool (can be specified multiple times): /param:<ParamName>:<ParamValue> (optional) Flag to attach the log to the job once the tool has completed: /attach (optional) License enumeration code for any additional license that should be used in the execution of the tool: /license:<enum value> (optional) |
1 = Success |
/toolboxpath:"C:\Program Files\ArcGIS\ArcToolbox\Toolboxes\Network Analyst Tools.tbx" /tool:BuildNetwork /license:8 When executed, launches the Build Network geoprocessing tool dialog box. Additionally, the Network Analyst license will be checked out, if available, for the execution of the tool and checked back in once it's done. |
The Launch ArcMap Step
The expected behavior of the Launch ArcMap step with no arguments is detailed in the following table.
Job type map document defined? |
Launch ArcMap with data workspace and version |
Launch ArcMap with data workspace and no version |
Launch ArcMap with no data workspace |
---|---|---|---|
Yes |
ArcMap is launched using the map document defined. Layers are resourced to the job's version based on the Feature Class's short name.* The map is zoomed to the Area of Interest. |
This works the same as the scenario when a version exists, except the default version for the data workspace is used for the resourcing of layers. |
No changes are made to the layer sources. The map is zoomed to AOI. |
No |
ArcMap opens with a blank document. In this case, since no map exists, there are no layers to resource. Once layers are added to the map, the Add Data button on the Job Tracking toolbar will take the user directly to the version defined for the job or the default version for the Data Workspace selected. Users can use the Zoom To AOI button on the Job Tracking toolbar to zoom to the job's AOI. |
This works the same as the scenario when a version exists. |
ArcMap opens with a blank document. The Add Data button on the Job Tracking toolbar is disabled. If an AOI exists for the job, the Zoom To AOI tool can be used. |
*The short name is the feature class name not fully qualified: Streets instead of NIS.Streets, for example. Also note that no matter how the basemap was originally defined, any short name matches should be resourced.
Argument Descriptions
The Launch ArcMap step has many optional parameters available, allowing you to customize its execution for your needs without writing a code.
Descriptive name |
Argument example |
Behavior |
---|---|---|
Zoom to AOI |
/aoifactor:3 or /nozoomaoi |
With the default behavior, the map will be panned to the job's AOI and zoomed by a factor of 1 to the shapes geometry. Optionally, you can choose to not pan or zoom the map using the /nozoomaoi option. Or you can zoom to the AOI with a greater zoom factor using the /aoifactor: argument. |
Change MXD Versions |
/nochangeversion |
The default behavior, when the /nochangeversion argument is not used, is detailed in the section below. If you choose to use the /nochangeversion option, then the layers in the job type's map document will be left as they were originally configured. |
Save MXDs |
/nosavemxd |
The default behavior, when the /nosavemxd argument is not used, will save the job's map document in the Workflow Manager database. If your map documents are large, you may need to adjust the MAXBLOBSIZE SDE configuration setting. If you choose to use the /nosavemxd option, then the job's map document will not be saved. |
Clip Data Frame to AOI |
/cliptoaoi |
The default behavior, when the /cliptoaoi argument is not used, will show all the data in the map document that can be viewed. When the /cliptoaoi option is used, the data frame in the job's map document will be clipped to the shape of the AOI. Note: This does not create a definition query on the layers. All features in the layers in the map are still accessible through their respective tables. |
Wait for ArcMap to close (suspend WMX) |
/nowait |
The default Workflow Manager application behavior, when the /nowait argument is not used, is to hide while the ArcMap process is running. This means that the user cannot interact with the Workflow Manager application while working in ArcMap. When the /nowait option is used, ArcMap will be launched in a separate process, allowing the user to interact with the Workflow Manager application while ArcMap is running.* |
Use existing ArcMap Session |
/useexisting |
The default behavior, when the /useexisting argument is not configured, is to open a new ArcMap session during the execution of the step. With the /useexisting option, if an ArcMap session is open when the step is executed, Workflow Manager will open the job's map document in that existing session. If there is not an ArcMap session open, then Workflow Manager will open a new one. |
Store MXDs in shared location |
/mxdfolder:"D:\Data\JTXMapDocuments" |
With the default behavior, no alternative location is configured, and the job's map documents will be stored in the Workflow Manager database. If your map documents are large, you may need to adjust the MAXBLOBSIZE SDE configuration setting. If you choose to store the map documents in an alternative location, Workflow Manager will not save the map documents in the database, but will save them to that location for future use. |
Use Alternative MXD |
/mxd:"D:\Data\JTXTemplates\Editing.mxd" |
With the default behavior, the step will use the job type's default map document as the basemap document to use when Launch ArcMap. If you choose to use this option, Workflow Manager will load the map document or template configured for the argument. |
Run ArcMap Command |
/guid:esriArcMapUI.AddDataCommand |
Once ArcMap has finished loading, the button represented by the ProgID entered will be programmatically pushed. |
Load Task Assistant workflow |
/taworkflow:"LotSplit" |
With this argument configured, once ArcMap is opened, Workflow Manager will open the Task Assistant Manager workflow configured. The workflow name passed in is the alias of the TAM workflow stored in the Workflow Manager system. Multiple workflows can be passed in by adding additional /taworkflow: entries or by selecting the desired workflows in the argument editor. |
Store Task Assistant History in Job History |
/storetahistory |
With this argument configured, the Task Assistant Manager workflow will be added to the job history by default. You can still choose to attach this as a text file using Workflow Manager tools. |
*This option was added because the Launch process asynchronously option for workflow steps is not available for Custom Step Objects.