Tasks
Tasks is a predefined configuration of the Item List component that displays a list of the user’s tasks in Windchill. For each task, Tasks displays attributes which you can set via configuration. Each attribute is shown as a column in Tasks. The default attributes that are shown are Name, Subject Name, Due Date, Status, Context Name, and Task Progress. The Task Progress attribute is unique to the Tasks predefined configuration, and displays how many members have responded to the change request related to the task.
You can configure Tasks so that the attributes in one of the columns are links to specified mashup.
Tasks has the same search, sort, filter, export, and restore defaults capabilities as Item List. The embedded Action Bar includes the Reassign action in addition to the Export action. When clicked, the Reassign action opens a popup window that allows you to reassign one or more tasks to a different user.
The following is a sample image showing the Tasks predefined configuration:
Binding Properties 
For information on binding Tasks, see the Item List component.
* 
For Tasks, the output of the selectedItems binding property contains items with the PTC.Workflow.WorkItem object type.
Out-of-the-box, Tasks retrieves task items with the PTC.Workflow.WorkItem object type. Therefore, it does not require that any input data be bound to the input binding property.
Configuration Properties 
For information on configuring Tasks Items, see the Item List component. In addition, the following JSON properties are specific to Tasks.
For more information on the structure of the configuration, see Component Configuration Structure.
For more information on sub-properties, see Sub-Properties and Container Keys.
Property Name
Description
Property Type
Default Value
Required or Optional
taskTypeFilter
Determines which type of tasks are fetched and displayed in Tasks, based on a combination of activityName and workItemProcessTemplate name, which define a unique set of tasks. Used to filter the tasks to display. When left blank, all tasks with the object type PTC.Workflow.WorkItem are displayed.
Format: Stringified JSON object array, where each JSON object represents a single task type that consists of a combination of the activityName and workItemProcessTemplate fields.
This configuration property is placed under the implementationConfiguration property in the component comfiguration.
Example:
"taskTypeFilter": {
"value": "[{\"activityName\": \"Conduct Online CRB Review\",
\"workItemProcessTemplate\": \"Change Request Workflow\"}]"
}
N/A
Optional
linkToMashup
Turns the specified attribute into a hyperlink, and defines the target mashup to open when the attribute is clicked. Can be used for opening a detailed view of the task.
This is a sub-property to the attributes configuration property. The specified mashup is passed through a mashup parameter together with the Task ID of the corresponding task. The query parameter in the resulting URL is TaskID=<Task Id>.
This property’s container key is implementationAttributesDefinition.
Example:
{
"implementationAttributesDefinition":{
"linkToMashup":{
"mashupName":"PTC.CRDetailedReviewAppMashup"
}
}
}
Resulting mashup URL: /Thingworx/Runtime/index.html?mashup=PTC.CRDetailedReviewAppMashup&TaskID=<Task Id>
N/A
Optional
attributes
See Item List for more information.
Accepts attributes of the PTC.Workflow.WorkItem object type.
Additionally, accepts the TaskProgress attribute, which has the PTC.Workflow.WorkItem.Custom.Implementation object type. The TaskProgress attribute shows the number of members that have responded to the change request.
N/A
Required
defaultSortField
See Item List for more information.
Accept attributes of the PTC.Workflow.WorkItem object type.
N/A
Optional
filterFields
See Item List for more information.
Accepts attributes of the PTC.Workflow.WorkItem object type.
N/A
Optional
Sample Configuration 
{
"actionBarConfiguration":{
"value":{
"actionBarConfigurationJSON":{
"value":"{\"maxItemsToShow\": {\"value\": 2},\"modelThingName\": {\"entityName\": \"PTC.ActionBarModel.Thing\"},\"actions\": {\"selectedValues\": {\"data\": [{\"itemListsData\": [{\"items\": [{\"id\": \"Reassign\",\"additionalData\": {\"actionConfiguration\": {\"iconWhenDisabled\": {\"entityName\": \"PTC.ActionBar.ReassignDisabledIcon\"},\"iconWhenHovered\": {\"entityName\": \"PTC.ActionBar.ReassignHoverIcon\"},\"overrideLabel\": {\"value\": \"[[PTC.Nav.TaskList.TaskReassignLabel]]\"},\"popupHeight\": {\"value\": 579},\"inputConstraints\": {\"selectedKey\": \"InputRequired\"},\"actionButtonVisibility\": {\"selectedKey\": \"AlwaysShown\"},\"buttonStyle\": {\"selectedKey\": \"transparent\"},\"mashupName\": {\"mashupName\": \"PTC.AccessApp.WindchillServices.ReassignActionMashup\"},\"fireEventOnFinish\": {\"value\": false},\"activityType\": {\"selectedKey\": \"popup\"},\"iconWhenEnabled\": {\"entityName\": \"PTC.ActionBar.ReassignIcon\"},\"popupWidth\": {\"value\": 600}}},\"ordinal\": 0}],\"objectType\": \"WT.WorkItem.Actions\"}],\"adapter\": {\"instanceName\": \"windchill\",\"thingName\": \"PTC.WCAdapter\"}}]}}}"
}
}
},
"attributes":{
"inTailoring":true,
"selectedValues":{
"data":[
{
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
},
"itemListsData":[
{
"items":[
{
"additionalData":{
"implementationAttributesDefinition":{
"linkToMashup":{
"mashupName":"PTC.CRDetailedReviewAppMashup"
}
},
"itemListAttributesDefinition":{
"fieldTitleOverride":{
"value":""
}
}
},
"id":"Activity|Name",
"ordinal":0
},
{
"additionalData":{
"itemListAttributesDefinition":{
"fieldTitleOverride":{
"value":""
}
}
},
"id":"Subject|SubjectName",
"ordinal":1
},
{
"additionalData":{
"itemListAttributesDefinition":{
"fieldTitleOverride":{
"value":""
}
}
},
"id":"Activity|Deadline",
"ordinal":2
},
{
"additionalData":{
"itemListAttributesDefinition":{
"fieldTitleOverride":{
"value":""
}
}
},
"id":"Status#Display",
"ordinal":3
},
{
"additionalData":{
"itemListAttributesDefinition":{
"fieldTitleOverride":{
"value":""
}
}
},
"id":"Activity|Context|Name",
"ordinal":4
}
],
"objectType":"PTC.Workflow.WorkItem"
},
{
"items":[
{
"additionalData":{
"itemListAttributesDefinition":{
"fieldTitleOverride":{
"value":"PTC.Nav.TaskList.TaskProgress"
}
}
},
"id":"TaskProgress",
"ordinal":5
}
],
"objectType":"PTC.Workflow.WorkItem.Custom.Implementation"
}
]
}
]
}
},
"defaultSortFields":{
"selectedValues":{
"data":[
{
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
},
"itemListsData":[
{
"items":[
{
"additionalData":{
"itemListDefaultSortFieldDefinition":{
"defaultSortDirection":{
"selectedKey":"asc"
}
}
},
"id":"Activity|Deadline"
}
],
"objectType":"PTC.Workflow.WorkItem"
}
]
}
]
}
},
"enableSearch":{
"additionalData":{
"itemListSearchDefinition":{
"searchHintText":{
"value":"[[PTC.Nav.TaskList.FindHintText]]"
}
}
},
"value":true
},
"filterFields":{
"selectedValues":{
"data":[
{
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
},
"itemListsData":[
{
"items":[
{
"additionalData":{
"itemListFilterFieldDefinition":{
"defaultSelectedFilterValues":{
"filters":{
"filters":[
{
"fieldName":"",
"type":"EQ",
"value":"POTENTIAL"
},
{
"fieldName":"",
"type":"EQ",
"value":"ACCEPTED"
}
],
"type":"Or"
}
},
"filterLabelOverride":{
"value":"[[PTC.Nav.TaskList.Status]]"
}
}
},
"id":"Status#Display",
"ordinal":0
}
],
"objectType":"PTC.Workflow.WorkItem"
}
]
}
]
}
},
"implementationConfiguration":{
"value":{
"taskTypeFilter":{
"value":"[{\"activityName\": \"Conduct Online CRB Review\",\"workItemProcessTemplate\": \"Change Request Workflow\"}]"
}
}
},
"label":{
"value":"[[PTC.Nav.TaskList.Label]]"
},
"maxNumberOfRowsInGrid":{
"inTailoring":true,
"value":50
},
"selectionType":{
"selectedKey":"multi"
},
"showExportAction":{
"inTailoring":true,
"value":true
},
"waitForInput":{
"value":false
},
"baseConfigurationVersion":{
"value":"9.0.0"
},
"implementationConfigurationVersion":{
"value":"9.0.0"
}
}
Customization Services 
In addition to configuration, each component supports extending its business logic to customize the component. The business logic of each component includes overridable services in a Thing Template that you can extend and override. The overridable services for this component are detailed in the following table.
For examples of returns and parameters for each service, see Examples of Input/Output for Customization Services.
Name
Description
GetConfigurations
Returns the available configurations for Tasks.
Parameters: None
Returns: JSON
GetImplementationLabel
Returns either the localized name of the component or the token that can be used to obtain the localized name. This localized name is displayed in the Mashup Builder user interface.
Parameters: None
Returns: String
GetItems
Returns the list of tasks for the user from the backend system, together with their attributes and values.
Parameters:
input (Optional)– JSON in CCO format that includes the input ID for the data to be fetched from the backend system and the adapter information for the backend system.
configuration (Required)– JSON with the final merged configuration obtained from the Tailoring Manager resource.
Returns: JSON in CCO format
InitializeFilters
Returns the filter type definition for the filter fields in the configuration. Initializes the filter enum options data for the first filter field item under the filterFields key of the configuration. The filter field's enum options are retrieved from the Adapter API.
Parameters:
input (Optional)– JSON in CCO format that includes the input ID for the data to be fetched from the backend system and the adapter information for the backend system.
configuration (Required)– JSON with the final configuration obtained from the Tailoring Manager resource.
Returns: JSON in CCO format
DefHookImplementationConfigurationDefinitionGroup
Returns the Tasks implementation definition with the available custom configurations. Includes the definition for the taskTypeFilter configuration property.
Parameters: None
Returns: JSON:Array
DefHookImplementationAttributesDefinition
Returns the Tasks implementation definition for the selected attributes. Includes the definition for the linkToMashup configuration property.
Parameters: None
Returns: JSON:Array
Implementation Definition 
[
...
// Tasks injections to the Definition:
{
"property": {},
"value": {
"initializationData": {
"constraints": {},
"properties": {
"directDefinition": [ // Tasks specific:
{
"property": {},
"value": {
"initializationData": {
"constraints": {},
"properties": {
"hintText": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "taskTypeFilter"
}
]
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.DefinitionGroup"
},
"mandatory": true,
"key": "implementationConfiguration"
},
{
"property": {},
"value": {
"initializationData": {
"constraints": {},
"properties": {
"supportedTypes": {
"data": [ // Tasks specific:
{
"adapter": {
"thingName": "PTC.WCAdapter",
"instanceName": "windchill"
},
"itemListsData": [
{
"objectType": "PTC.Workflow.WorkItem",
"selectionGroupIds": ["1"]
}
]
}
],
"allowSubsetForTailoring": false
},
"additionalDefinition": [
{
"key": "itemListAttributesDefinition",
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"constraints": {},
"properties": {
"hintText": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "fieldTitleOverride"
}
]
},
{
"key": "implementationAttributesDefinition",
"directDefinition": [ // Tasks specific:
{
"property": {},
"value": {
"initializationData": {
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.MashupSelector"
},
"mandatory": false,
"key": "linkToMashup"
}
]
}
],
"updateServiceName": "UpdateAvailableAttributes",
"addServiceName": "GetCustomAttributes",
"maximumSelectedAttributes": null,
"minimumSelectedAttributes": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.AttributesSelector"
},
"mandatory": true,
"key": "attributes"
},
{
"property": {},
"value": {
"initializationData": {
"constraints": {},
"properties": {
"supportedTypes": {
"data": [ // Tasks specific:
{
"adapter": {
"thingName": "PTC.WCAdapter",
"instanceName": "windchill"
},
"itemListsData": [
{
"objectType": "PTC.Workflow.WorkItem",
"selectionGroupIds": ["1"]
}
]
}
],
"allowSubsetForTailoring": false
},
"additionalDefinition": [
{
"key": "itemListFilterFieldDefinition",
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"constraints": {},
"properties": {
"type": {},
"dynamiclySetTypeServiceName": "GetFilterTypeDefinitionForFilterField"
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.FieldFilter"
},
"mandatory": false,
"key": "defaultSelectedFilterValues"
},
{
"property": {},
"value": {
"initializationData": {
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "filterLabelOverride"
}
]
}
],
"updateServiceName": "UpdateAvailableFilterAttributes",
"addServiceName": "GetCustomFilterAttributes",
"maximumSelectedAttributes": 1,
"minimumSelectedAttributes": 0
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.AttributesSelector"
},
"mandatory": false,
"key": "filterFields"
},
{
"property": {},
"value": {
"initializationData": {
"constraints": {},
"properties": {
"supportedTypes": {
"data": [ // Tasks specific:
{
"adapter": {
"thingName": "PTC.WCAdapter",
"instanceName": "windchill"
},
"itemListsData": [
{
"objectType": "PTC.Workflow.WorkItem",
"selectionGroupIds": ["1"]
}
]
}
],
"allowSubsetForTailoring": false
},
"additionalDefinition": [
{
"key": "itemListDefaultSortFieldDefinition",
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"constraints": {},
"properties": {
"options": [
{
"key": "asc",
"label": "[[PTC.Nav.ItemList.SortOrder.Asc]]",
"description": "",
"additionalDefinition": []
},
{
"key": "dsc",
"label": "[[PTC.Nav.ItemList.SortOrder.Dsc]]",
"description": "",
"additionalDefinition": []
}
],
"updateServiceName": "",
"addServiceName": ""
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.RadioButton"
},
"mandatory": false,
"key": "defaultSortDirection"
}
]
}
],
"updateServiceName": "UpdateAvailableSortAttributes",
"addServiceName": "GetCustomSortAttributes",
"maximumSelectedAttributes": null,
"minimumSelectedAttributes": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.AttributesSelector"
},
"mandatory": false,
"key": "defaultSortFields"
}

...
]
Was this helpful?