Workflow forms definition
Workflow forms are based on a formal XML definition. The DTD (Document Type Definition) defines the structure and the legal elements and attributes of an XML document.
Basic XML skeleton
Section titled “Basic XML skeleton”<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.6//EN" "http://www.openkm.com/dtd/workflow-forms-2.6.dtd"><workflow-forms>
</workflow-forms>- The DOCTYPE is a formal definition of a DTD. In the previous example, the DTD is workflow-forms-2.6.dtd.
- The XML begins with the
tag and ends with . Inside this element, the workflow form task definitions are declared.
Workflow task form definition
Section titled “Workflow task form definition”<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.0//EN" "http://www.openkm.com/dtd/workflow-forms-2.0.dtd"><workflow-forms> <workflow-form task="evaluate price">
</workflow-form></workflow-forms>- Each
… block identifies the beginning and end of a new workflow form task definition. - Each task has a unique name, “evaluate price”.
- Do not use special characters in the name.
| Attribute | Description | Required |
|---|---|---|
| task | Unique task identifier. Two form tasks cannot have the same name. The name must be unique. Do not use special characters in the task name. We suggest (0-9a-zA-Z_). |
true |
| defaultValueClassName | Set a custom Java class for setting initial default values. | false |
Basic example
Section titled “Basic example”Available field types:
- Checkbox
- Button
- Download
- Input
- Iframe
- Select
- Separator
- Suggestbox
- Text
- TextArea
- Upload
- VerticalPanel
- HorizontalPanel
More information about field type elements is at Workflow fields
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.0//EN" "http://www.openkm.com/dtd/workflow-forms-2.0.dtd"><workflow-forms> <workflow-form task="evaluate price"> <input label="Purchase price" name="price" data="price" readonly="true" /> <textarea label="Purchase description" name="description" data="description" readonly="true" /> <button name="approve" label="Approve" transition="approve"/> <button name="deny" label="Deny" transition="deny"/> </workflow-form></workflow-forms>Using a file system DTD
Section titled “Using a file system DTD”If the server has no access to the Internet, then the DTD file must be accessible in some way; for example, you can store a copy on your application server.
<!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.6//EN" "file:///home/openkm/workflow-forms-2.6.dtd">- In the example, /home/openkm/workflow-forms-2.6.dtd is the file system path to the file.