New Features
Dynamic Required Questions
Instead of entering a value of “yes” or “true” in the “required” column of the XLSForm, to indicate that a question is required, you can specify an expression. The question will then only be set required if that expression evaluates to true.
type | name | label | required | required_message |
select_one yes_no | required_question | Should the next question be mandatory? | ||
text | situation | Describe the situation | ${required_question} = ‘yes’ | You must answer |
This feature is available for both FieldTask and WebForms.
You can also set the required expression in the online editor. First click the button to make the question required and then enter the expression.
Dynamic Read Only Questions
Like dynamic required questions, you can also make a question be read only or editable depending on an expression. For example you may pre-fill address questions with existing values and make these read-only but then use a question called “changed” to make them editable.
type | name | label | readonly | default |
select_one yes_no | changed | Changed? | ||
text | address | Address | not(${changed} = ‘yes’) | Fleet Street |
Note: Unlike the conditional required feature this is not available for WebForms.
Other
- Dynamic Defaults inside of a repeat. Using both FieldTask and WebForms you can now set a default value for a question inside a repeat that is calculated from previous repeat instances. Documentation is here.
- Performance Improvements. Hopefully you will find accessing the online editor and the console faster.
- Updated some infrastructure libraries to the latest version including Jersey and the PostgreSQL JDBC driver.