Advanced Customization > Info*Engine User’s Guide > Info*Engine Custom Tag Reference > Info*Engine Tags > Core Library Tags > task
  
task
The task tag identifies an XML task that you want to execute.
You can nest this tag in unit, init, parallel, success, and failure tag blocks.
You can specify the parameters for a task by nesting the param tag within this tag block. Task parameters provide a way to set the following items:
The VDB groups that are available to the task. Specifying GROUP_IN task parameters allows you to define which groups are initially available to the task.
The VDB groups that are available when the task finishes. Specifying GROUP_OUT task parameters allows you to filter the groups that are returned to the VDB of the task in which the nested task is executed.
By default, the GROUP_OUT parameter on the last webject executed identifies the groups that are returned. If there is no GROUP_OUT webject parameter, then the last group added to the VDB is returned.
When multiple groups are returned through the last webject (which can be the case with the Return-Groups webject), specifying a subset of these groups in GROUP_OUT task parameter limits the groups that are returned to the VDB of the calling task.
@FORM context group variables so that they are available to the task. An @FORM context group variable is set for each parameter name and data pair that you specify in a param tag nested in a task tag block. This includes any GROUP_IN and GROUP_OUT parameters specified for the task.
Because the @FORM group GROUP_IN variables contain the names of the VDB groups that are initially available in the task, you can get the VDB group names by reading the values from the @FORM group GROUP_IN variables.
* 
Using this tag with the Info*Engine task processor .secret.text or .secret.text2 and .secret.algorithm properties allows for validation to occur before a remote processor executes the task. For information about configuring these properties, see Configuring Request Validation.
Syntax
When there are parameters, you can use the following syntax:
<ie:task uri="uri_task_source"
processor="processor1"
processor="processor2"

.
.
.
processor="processorn"
resumable="[true|false]">

.
. (Nest task parameters using param tags)
.
</ie:task>
When there are no parameters, you can use the following syntax:
<ie:task uri="uri_task_source"
processor="processor1"
processor="processor2"

.
.
.
processor="processorn"
resumable="[true|false]"/>
Attribute Descriptions
Required attribute: uri
processor
Specifies one or more names of remote Info*Engine task processors to which the task can be sent for execution. Each name you specify must map to a task processor that is available from your current environment. The names you can specify in this attribute are those service names defined for task processors through the Info*Engine Property Administration utility.
This attribute is optional. When it is not specified, the task named in the task tag is executed by the task processor that is currently executing the JSP page or task that contains the task tag. For JSP pages, the task processor used by default is running in the JSP engine. To direct the nested task to execute in the Info*Engine Server task processor (rather than in the JSP engine), you must include the processor attribute that identifies the server task processor. For example, if the task processor has the default name of “com.myCompany.server.taskProcessor” you can include the following processor attribute:
processor="com.myCompany.server.taskProcessor"
If your current environment has other task processors set up for your use, you can direct the task to choose one of those task processors by specifying the processor names on processor attributes in the order you want them selected. For example, assume that your site has set up “xxx.taskProcessor” and “yyy.taskProcesor” for your use, and that you would prefer running the task on “yyy.taskProcessor”. To accomplish this, include the following processor attributes in the task tag:
<ie:task uri="task1.xml" processor="yyy.taskProcessor" processor=
"xxx.taskProcessor" processor="zzz.taskProcessor" />
Notice that the third processor named is the “zzz.taskProcessor.” It is only used if both of the other processors are not available.
resumable
Indicates whether the VDB state must be saved before running the subtask named in this task tag. This attribute is only used when guaranteed task execution has been enabled and the task tag is executed from a task.
If you omit the attribute (or set it to false) and guaranteed task execution is enabled, then Info*Engine saves the state of the VDB before running the task. When this is done, the VDB can be restored in the case where the task must be rerun.
If you set the attribute to “true” and guaranteed task execution is enabled, then Info*Engine does not save the state of the VDB before running the task. Set resumable to true when the task can be run without causing side effects that would prevent the task from producing the same results if it were run again.
uri
Specifies a URI that is the location of the XML task file to execute. The URI can be a relative or absolute URI:
Relative URIs reference files that reside under the root file system directory that is defined for the local Info*Engine task processor.
Absolute URIs reference files that reside in the local file system, reside on a remote HTTP server, or are referenced through an accessible LDAP directory.
This attribute is required.
Example
The following example declares that the page or task uses tags from the Info*Engine core tag library and that the tags have the ie prefix. The example task tag executes the task1.xml file that is in the root file directory defined for the local task processor. The nested parameter sets the FORM variable attr to “ENAME”:
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie" %>

<ie:task uri="task1.xml">
<ie:param name="attr" data="ENAME"/>
</ie:task>