Available with Standard or Advanced license.
Available with Workflow Manager license.
ArcGIS Workflow Manager (Classic) Desktop provides several custom steps. The source code for each of these is provided as part of the developer kit. The following outlines the steps and what they can do.
All Platforms library
The All Platforms library contains steps that can be run in ArcMap, ArcCatalog, ArcGIS Pro, and ArcGIS Server. The following sections describe the steps, their arguments, and return codes.
AddJobHold—JTXSteps.AddJobHold
Adds a hold to the current job.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/holdType:<hold type> | The name of the hold type | Required |
/holdComment:<string> | The comment to add for the hold type | Optional |
Return codes
The following is a list of return codes:
- 1 = Success
- 0 = Failure
CheckAOI—JTXSteps.CheckAOI
Checks if a location of interest (LOI) exists for the current job.
Arguments
The step doesn't require any arguments.
Return codes
The following is a list of step return codes:
- 1 = The job has an LOI.
- 2 = The job does not have an LOI.
CleanUp—JTXSteps.CleanUp
Cleans up the job based on the arguments. Enable the Administration system settings to allow users to delete versions owned by other users. This will prompt for a user name and password.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/version|v | Cleans up versions | Optional |
/mxd|m | Cleans up MXDs | Optional |
/attachments|a | Cleans up attachments | Optional |
Return codes
The step returns 0 if the step was successful.
CloseJob—JTXSteps.CloseJob
Closes a job as a step, as opposed to it being a manual process once the workflow is completed.
Arguments
The step doesn't require any arguments.
Return codes
The step returns 0 if the step was successful.
CreateJob—JTXSteps.CreateJob
Creates a child job based on the arguments.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/jobtypename:<job type name> | The name of the job type | Required |
/assigngroup:<group to assign to> | The group to whom the job will be assigned | Optional |
/assignuser:<user to assign to> | The user to whom the job will be assigned | Optional |
Return codes
The step returns 0 if the step was successful.
CreatePDF—JTXSteps.CreatePDF
Creates a PDF document of the job’s basemap and attaches it to the job.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/initdir:<initial directory> | The location to which to PDF will be saved. | Optional |
/noattach | Don’t attach the PDF to the job. | Optional |
/resolution:<dpi> | The resolution of the PDF. | Optional |
Return codes
The step returns 0 if the step was successful.
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, or Scope. The step supports the traditional data workspace and the feature service data workspace.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/scope:<public|private|protected> | The protection level of the version. The default is private. | Optional |
Return codes
The step returns 0 if the step was successful.
ExecuteGPTool—JTXSteps.ExecuteGPTool
Runs a geoprocessing tool, model, or script without displaying the geoprocessing dialog box. The integer output from a tool can be used as a return code to guide the path of the workflow upon the tool's completion.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/toolboxpath:<toolboxpath> | The full path to the toolbox .tbx file and tool name | Required |
/tool:<tool> | The display name of the tool in the toolbox | Required |
/param:<ParamName>:<ParamValue> | The parameter to override on the tool (can be specified multiple times) | Optional |
/attach | Attaches the log to the job once the tool has finished running | Optional |
/outParam:<parameter name> | The output parameter to use as a return value | Optional |
Return codes
The following is a list of step return codes:
- 0 = Success
- 1 = Cancel
ExecuteSQL—JTXSteps.ExecuteSQL
Runs an SQL statement.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/database:<jtxsystem|data> | The database to which the query will be sent | Required |
/sql:<sql command> | The SQL query to send to the database | Required |
Return codes
The step returns 0 if the step was successful.
ExecuteURL—JTXSteps.ExecuteURL
Opens a URL without displaying a browser to show the response. For example, you can run a geoprocessing service or any other web service as a workflow step.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/url:<url> | The URL to open | Required |
/timeout:<timeout in seconds> | The time-out for the request, in seconds | Optional |
/proxy:<proxy> | The proxy server to use | Optional |
/addjobcomment | Adds a comment to the job with the response | Optional |
/postdata:<data to post> | The data to send when the URL is opened | Optional |
Return codes
The step returns 200 if the step was successful.
ExecuteWorkflow—JTXSteps.ExecuteWorkflow
Runs another workflow associated with a job type.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/jobtype:<job type name> | The name of the job type. | Required |
/donotuseaoi | Doesn’t use the job AOI. | Required |
/donotuseversion | Doesn’t use the job version. | Optional |
/donotcopyactivities | Doesn’t copy activities to the parent job’s history. | Optional |
Return codes
The step returns 0 if the step was successful.
ReturnValue—JTXSteps.ReturnValue
Retrieves the value of the extended property or token passed, which is the return code for the next path in the workflow.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/value:<extended properties field> | The extended properties field from which you want to retrieve a return value | Required |
Return codes
The step returns the value of the specified extended property field.
ReassignJob—JTXSteps.ReassignJob
Reassigns the job.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/assignType:<user|group> | Reassign the job to a user or a group. | Required |
/assignTo:<user or group name> | The user or group to whom the job will be assigned | Required |
Return codes
The step returns 0 if the step was successful.
SendNotification—JTXSteps.SendNotification
Sends a notification of the type specified by the argument.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/notifType:<type> | The type of notification to send | Required |
Return codes
The step returns 0 if the step was successful.
SetVersion—JTXSteps.SetVersion
Sets the job's version to a named version. For example, set the job's version to “Quality Control version” to validate edits that were posted in that version. If there is no step argument, the job version will be reset to the original version. The step supports the traditional data workspace and the feature service data workspace.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/version:<versionName> | The version to use as the job version | Optional |
Return codes
The step returns 0 if the step was successful.
UpdateExtentFeatureClass—JTXSteps.UpdateExtentFeatureClass
Updates a feature class with job information to provide visual status.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/fclass:<fully qualified feature class name> | The feature class to update (must be in the data geodatabase) | Required |
/jobfield:<field name> | The field in which the job ID will be stored | Optional |
/datefield:<field name> | The field in which the date and time will be stored | Optional |
Return codes
The step returns 0 if the step was successful.
VersionExists—JTXSteps.VersionExists
Checks if the job already has a geodatabase version. The step supports the traditional data workspace and the feature service data workspace.
Arguments
The step doesn't require any arguments.
Return codes
The following is a list of step return codes:
- 1 = Version exists
- 2 = Version doesn't exist
- 3 = No data workspace selected
ArcGIS Pro and ArcGIS Desktop only library
The ArcGIS Pro and ArcGIS Desktop only library contains steps that can only be run in ArcGIS Pro, ArcMap, and ArcCatalog. The following sections describe the steps, their arguments, and return codes.
AddAttachments—JTXDesktopSteps.AddAttachments
Adds a linked, embedded, or URL attachment to the job.
Arguments
The step doesn't require any arguments.
Return codes
The following is a list of return codes:
- 1 = Success
- 0 = Failure
CreateJobAdvanced—JTXDesktopSteps.CreateJobAdvanced
Creates a job and allows you to define the parent/child relationship with dependencies on the job. When creating a child job, the start date, due date, data workspace, and priority are copied from the parent job, while the job assignment is copied from the job type's default properties if a value is not specified in the step arguments. The step supports creating a version for the job with a traditional data workspace and a feature service data workspace. When the child job is set with a feature service data workspace, the parent version can only be sde.Default.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/jobtypename:<job type name> | The name of the job type. | Required |
/assigngroup:<group to assign to> | The group to whom the job will be assigned. | Optional |
/assignuser:<username to assign to> | The user to whom the job will be assigned. | Optional |
/dependThisStep | Creates a dependency and holds the current job at this step. | Optional |
/dependNextStep | Creates a dependency and holds the current job held at the next step in the workflow. | Optional |
/dependStatus:<Status Type Name> | The name of the dependency status type (current job is held until new job reaches this status). | Optional |
/useparentaoi | Uses the current job's AOI as the new job's AOI. | Optional |
/aoiOverlapFeatureClassName:<fully qualified feature class name > | Creates new jobs based on the overlap between the current job's AOI and the specified feature class. | Optional |
/numberJobs:<number of jobs to create> | The default number of jobs to create. | Optional |
/createVersionSetting:<the version to use as the parent version> | The version to use when creating new jobs. | Optional |
/assignVersionSetting:<the existing version the job will be assigned to> | The existing version to use when creating new jobs. | Optional |
/setExtendedProps:<ChildJobFullyQualifiedExtendedPropertiesTableName.FieldName=[JOBEX:ParentJobFullyQualifiedExtendedPropertiesTableName.FieldName]>; <ChildJobFullyQualifiedExtendedPropertiesTableName.FieldName=[JOBEX:ParentJobFullyQualifiedExtendedPropertiesTableName.FieldName]>;... | The extended properties value will be set to one of the current job's extended properties values (specified by a JTX token) or to the given string value when creating new jobs. To set multiple extended properties values, separate each entry with a semicolon. | Optional |
/dueDate:<due date of the new job> | The due date for the new jobs. | Optional |
/jobDuration:<duration of the new job> | The duration for the new jobs. | Optional |
/child | Creates the new job as a child of the existing job. | Optional |
Return codes
The following is a list of return codes:
- 0 = Success
- 1 = Failure
DefineAOI—JTXDesktopSteps.DefineAOI
Shows a tool to allow the user to define a location of interest.
Arguments
The step doesn't require any arguments.
Return codes
The following is a list of return codes:
- 1 = Success
- 0 = Failure
EditExtendedProperties—JTXDesktopSteps.EditExtendedProperties
Displays the job's one-to-one (1-1) extended properties as a pop-up form to allow the required properties to be defined. This step can be included multiple times in the workflow, with different extended properties to be opened at different stages of the workflow. This gives you the ability to choose only some extended properties configured for the job type to be displayed in the pop-up form. The extended properties can be chosen by opening the argument editor or by typing in the arguments box. All chosen properties honor the properties set on the job type, such as visible, editable, and so on. If no arguments are specified, all the extended properties chosen on the job type will be displayed when the steps are run. The argument editor contains all the tables and fields configured for all the job types in the repository; however, if properties are chosen that are not configured for the job type, they will not appear in the pop-up form. The argument is composed of the extended property table name and field name. For example, if you want to display the RequestorName<fieldName> field from the RequestorInformation table, the argument would be /Property: RequestorInformation.RequestorName.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/Property:<Property Name> | The extended property table name and field name | Required |
Return codes
The step returns 1 if the step was successful.
Import/Launch Mapping Items—JTXDesktopSteps.LaunchArcMap
Starts ArcGIS Pro or ArcMap, resources layers to the job version, and zooms the map to the job's location of interest.
Arguments
Refer to the Import/Launch Mapping Items step section for more information on step arguments.
Return codes
The step returns 0 if the step was successful.
LaunchGPTool—JTXDesktopSteps.LaunchGPTool
Runs geoprocessing tools from a workflows. The integer output from a tool can be used as a return code to guide the path of the workflow upon the tool's completion.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/toolboxpath:<toolboxpath> | The full path to the toolbox .tbx file and tool name | Optional |
/toolbox:<toolbox> | The name of the toolbox, if it’s in the system toolboxes | Optional |
/tool:<tool> | The display name of the tool in the toolbox | Required |
/param:<ParamName>:<ParamValue> | The parameter to override on the tool (can be specified multiple times) | Optional |
/attach | Attaches the log to the job once the tool has finished running | Optional |
/license:<enum value> | The license code for any additional licenses that should be used to run the tool | Optional |
/outParam:<parameter name> | The output parameter to use as a return value | Optional |
Return codes
The following is a list of step return codes:
- 0 = Success
- 1 = Cancel
SelectDataWorkspace—JTXDesktopSteps.SelectDataWorkspace
Shows a form that allows you to pick the data workspace for your job from a list of preconfigured data workspaces.
Arguments
The step doesn't require any arguments.
Return codes
The following is a list of return codes:
- 1 = Success
- 0 = Failure
ArcGIS Desktop only library
The ArcGIS Desktop only library contains steps that can only be run from ArcMap and ArcCatalog. The following sections describe the steps, their arguments, and return codes.
CopyFile—JTXDesktopSteps.CopyFile
Copies a file from one location to another.
Arguments
The following table contains a list of step arguments:
Argument | Description | Argument type |
---|---|---|
/src:<source file path> | The file to copy | Optional |
/dest:<destination file path> | The destination for the file that’s being copied | Optional |
/title:<file title> | The title for the file being copied | Optional |
Return codes
The step returns 0 if the step was successful.
Import/Launch Mapping Items step
The expected behavior of the Import/Launch Mapping Items step with no arguments is detailed in the following table.
Job type map document defined? | Launch mapping items with data workspace and version | Launch mapping items with data workspace and no version | Launch mapping items with no data workspace |
---|---|---|---|
Yes | ArcMap is opened 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 resourcing the layers. | No changes are made to the layer sources. The map is zoomed to the LOI. |
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 Workflow Manager toolbar will take you directly to the version defined for the job or the default version for the selected data workspace. | This works the same as the scenario when a version exists. | ArcMap opens with a blank document. The Add Data button on the Workflow Manager toolbar is unavailable. If an LOI exists for the job, the Zoom To LOI tool can be used. |
Basemap layers are not repointed in the map opened by Workflow Manager (Classic).
Argument descriptions
The Import/Launch Mapping Items step has many optional parameters available, allowing you to customize its execution for your needs without writing code.
Descriptive name | Argument example | Behavior |
---|---|---|
Zoom to LOI. |
or
| With the default behavior, the map is panned to the job's AOI and zoomed by a factor of 1 to the shape's geometry. Optionally, you can choose to not pan or zoom the map using the /nozoomloi option. Or you can zoom to the AOI with a greater zoom factor using the /aoifactor argument. The zoom factor does not apply to a POI. For a single POI, the map will be zoomed to 1:2,000, and for multiple POIs, the map will zoom to their extent. |
Do not change any connection information. |
| The default behavior, when /norepoint is not used, changes all the layers in the map to the current data workspace and, optionally, the job's version. |
Change only the version for job's data workspace. |
|
If you choose to use the /changeversiononly option, the version of the layers in the job type's map document will be changed. The data user and connection information will be left as they were originally configured. All layers from the data workspace will be repointed regardless of whether they are selected for repointing in the job type properties or not. The layers that are not from the data workspace are displayed with a broken data source. |
Save MXDs. |
| The default behavior, when the /nosavemxd argument is not used, saves the job's map document in the Workflow Manager (Classic) database. Thus, every time you open the job's map document using this step in the workflow, the last saved map from the database is retrieved. However, if you choose to use the /nosavemxd option, the job's map document will not be saved in the Workflow Manager (Classic) database. Thus, if you change the extent of the job map and close it, the new extent will not be saved, and the next time, the map will still open with the original extent. If your map documents are large, you may need to adjust the MAXBLOBSIZE SDE configuration setting. This option also allows you to switch jobs in ArcMap without clearing out the map document. |
Clip Data Frame to AOI. |
| The default behavior, when the /cliptoaoi argument is not used, shows 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 is clipped to the shape of the AOI. |
Wait for ArcMap to close (suspend Workflow Manager (Classic)). |
| The default Workflow Manager (Classic) 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 (Classic) application while working in ArcMap. When the /nowait option is used, ArcMap is launched in a separate process, allowing the user to interact with the Workflow Manager (Classic) application while ArcMap is running. |
Use existing ArcMap session. |
| 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 run, Workflow Manager (Classic) opens the job's map document in that existing session. If there isn't an ArcMap session open, Workflow Manager (Classic) will open a new one. |
Store MXDs in shared location. |
| With the default behavior, no alternative location is configured, and the job's map documents are stored in the Workflow Manager (Classic) 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 (Classic) will not save the map documents in the database but will save them to that location for future use. |
Use Alternative MXD. |
| With the default behavior, the step uses the job type's default map document as the basemap document for LaunchArcMap. If you choose to use this option, Workflow Manager (Classic) will load the map document or template configured for the argument. |
Run ArcMap Command. |
| Once ArcMap has finished loading, the specified command runs. |
Load Task Assistant workflow. |
| With this argument configured, once ArcMap is opened, Workflow Manager (Classic) opens the Task Assistant workflow configured. The workflow name passed in is the alias of the Task Assistant workflow stored in the Workflow Manager (Classic) system. Multiple workflows can be passed in by adding additional /taworkflow entries or by choosing the workflows in the argument editor. |
Store Task Assistant History in Job History. |
| With this argument configured, the Task Assistant workflow is added to the job history by default. You can still choose to attach this as a text file using the Workflow Manager (Classic) tools. |