Highlights
- A document template on the API now lists every question a document made from it could ask, including the questions of blocks that join only when a condition holds.
- Answers to those conditional questions are accepted with the rest, so a block that joins on a condition prints complete.
- An empty string is accepted as a blank answer on a text field, and a strict request no longer refuses it.
- A text field's default in the library may be left blank, which means no default.
A small update to document templates on the API, with two changes in Ferrith Chat that come with it.
What's new
- API. A document template's
inputSchemanow carries every question a document made from it could ask: the questions of the blocks the template always starts with, and the questions of every block that joins the document only when a condition holds. A conditional question is markedx-conditionaland its description names the block it belongs to and when that block joins; it is never required. Send an answer with the rest and, when the block joins, its text prints with the answer; when it does not, the answer is kept and nothing prints.fieldKeysstill names the template's own questions, and the newconditionalFieldKeysnames the rest. - Ferrith Chat. The template editor and the template's card on the library page count those conditional questions with the template's fields, and a workflow's draft step lists them as optional rows in its check against the previous step's output.
Changes to be aware of
- API. An empty string on a text, long-text or address field is now a blank answer rather than a refused value: it is stored, prints nothing where the field is merged, counts as answered, so a request with
stricton no longer refuses it, and reads as not given in a block's condition. A field's own rules still apply, so a minimum length or a pattern still refuses a blank. Leave a field out to leave it unanswered, as before. A choice, date or number field still refuses an empty string. - Ferrith Chat. A text field in the drafting library may now be saved with a blank default, which means the field has no default; until now a blank default was refused. A workflow's draft step accepts a blank text value from the previous step in the same way.
Fixed
- A document made from a template through the API, or by a workflow's draft step, printed a block that joined on a condition with its questions shown as unanswered, because the answers to those questions were refused as unknown. The questions are now published, the answers accepted, and the block prints complete.