# Task user interface ## Introduction To define the user interface for a task, a .zul file must be located at the ui directory, and the corresponding task tag should be located at ui.xml file. The user interface must be a ZK .zul page. This zul page must contain a task tag. This custom ZK tag is needed to properly manage the user interface behaviour. ## Attributes The task component extends es.caib.bpm.ui.WorkflowWindow and it has the following custom attributes:
**Attribute** | **Description** |
---|---|
canAddAttachments | a true value enables the user to upload files attached to the process instance |
canDeleteAttachments | a true value enables the user to delete attached files from the process instance |
task | read only attribute that exposes current task information |
processInstance | read only attribute that exposes current process information |
signatureHandler | read only handler responsible for recognized signature generation. |
engine | read only BPM engine handler |
**Event** | **Description** |
---|---|
onLoad | The task information has been loaded on the task component |
onSave | The task information is going to be persisted |
onPrepareTransition | A transition is going to be performed. The transition name is sent as event data If the event launches a UserWorkflowException, the transition will be cancelled |
onCompleteTransition | A transition is performed. The transition name is sent as event data |
onTabSelected | The task tab has been selected or deselected. The tab id is sent as event data |
See [ZK Data Binding](https://bookstack.soffid.com/books/addon-development/page/zkdb-zk-data-binding-tool "zkdb - ZK Data binding tool") for details.
## Example Here is a sample zul page used to authorize synchronization servers connection. ```XML