Core concepts
Forms and versions
Collect structured information. Every published change becomes a new version, so past answers never change.
Form states
| State | Meaning |
|---|---|
| draft | Being built; not visible to members. |
| published | Open for submissions. |
| closed | No longer accepting submissions. |
| archived | Read-only and out of the way. |
Field types
| Type | Collects |
|---|---|
| text | A short answer. |
| textarea | A long answer. |
| number | A number. |
| An email address. | |
| phone | A phone number. |
| date | A date. |
| select | One choice from a list. |
| multi_select | Several choices from a list. |
| checkbox | A yes/no confirmation. |
| radio | One choice, shown as options. |
| file | An uploaded file. |
| section_header | A heading that groups fields; collects nothing. |
Versions
Publishing an edited form creates a new form version. Each submission stays linked to the version it answered, so you can change a form freely without rewriting what people already submitted.
Publishing a form
- 01
Create the form
Start a form in draft. It stays private until you publish it. Needsform::create. - 02
Add fields
Choose from the twelve field types and group them with section headers. - 03
Publish
Publishing opens it for submissions and records version 1. Needsform::publish. - 04
Edit and republish
Changes become the next version; earlier submissions keep their version. - 05
Close or archive
Close it to stop new submissions, then archive it when you're done. Needsform::archive.