Workflow Forms definition

When you want to retrieve data from an user in the workflow, you have to define a way to do so. OpenKM uses the forms.xml file to draw the components in the form. See this sample:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.4//EN"
                                "http://www.openkm.com/dtd/workflow-forms-2.4.dtd">
<workflow-forms>
  <workflow-form task="MyTask">
    <input label="Amount" name="amount" />
    <button label="Submit" />
  </workflow-form>
</workflow-forms>

Here we can see an XML which describes the components related to a task called "MyTask". This means that when a workflow is executing the "MyTask" task, it need the user who is assigned this task to enter some information to continue. In the description, we can see an INPUT where the user should type an amount.

You can display a form to request information just when an user starts a workflow. This can be done creating a workflow-form with an special task called "run_config".

Now let's see a more complete form definition:  

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.4//EN"
                                "http://www.openkm.com/dtd/workflow-forms-2.4.dtd">
<workflow-forms>
  <workflow-form task="Sample">
    <input name="input" label="Input"/>
    <input name="date" label="Date" type="date"/>
    <input name="folder" label="Folder" type="folder"></input>
    <select name="options" label="Options">
      <option label="One" value="one"/>
      <option label="Two" value="two"/>
      <option label="Three" value="three"/>
    </select>
    <checkbox name="check" label="Check"/>
    <textarea name="textarea" label="TextArea"/>
    <separator name="separator" label="Separator"/>
    <text name="text" label="This is a &lt;font style='color: red'&gt;sample&lt;/font&gt; text"/>
    <button name="submit" label="Submit" />
  </workflow-form>
</workflow-forms>

This form definition is rendered as this: