Forms
Collect structured data from users with customizable form templates, submission tracking, and automated notifications.
Bosca includes a form submission system for collecting structured data from users. Define form templates with custom fields, receive submissions, and track their lifecycle from pending through processing.
What you get
- Form Templates: Define reusable form schemas with custom attributes, field types, and validation requirements.
- Submissions: Collect user responses linked to profiles, with status tracking and review workflows.
- Notifications: Automatic notification events when submissions arrive, so your team never misses one.
- Administration: Manage templates and review submissions from the admin panel with permission-based access.
Core Concepts
Form Templates
A FormTemplate defines the structure and behavior of a form. Each template includes:
- Attributes — the fields your form collects, inherited from the content system's attribute model (labels, types, validation)
- Default Values — pre-filled attribute values applied when the form renders
- Configuration — notification recipients, rate limiting, and operational settings as JSON
- Versioning — templates track versions so you can evolve forms over time
Form Submissions
A FormSubmission records a completed form response. Each submission tracks:
- Attributes — the submitted data as key-value pairs
- Profile — the submitter's profile (optional for anonymous submissions)
- Status — the current state in the review lifecycle
Submission Status
Submissions follow a status lifecycle:
| Status | Description |
|---|---|
PENDING | New submission awaiting review |
PROCESSED | Reviewed and accepted |
REJECTED | Reviewed and declined |
SPAM | Flagged as spam |
ARCHIVED | Moved to archive after processing |
How Submissions Work
- A user submits a form by providing attribute values and an optional profile reference.
- Bosca validates the submission against the template and stores it with a
PENDINGstatus. - A notification event fires automatically, alerting configured recipients.
- Reviewers update the submission status as they process it.
Anonymous submissions are supported—if no profile is provided, one can optionally be created during submission.
Administration
The Administration UI provides:
- Template Editor — create and configure form templates in the settings panel
- Submissions Page — review, filter, and manage incoming submissions
- Status Management — update submission statuses individually or in bulk
- Permission Controls — restrict who can create templates and review submissions
For developers
Related modules:
- Core interfaces:
backend/framework/core-forms - Implementation:
backend/framework/forms - GraphQL schema:
backend/framework/forms/src/main/resources/graphql/forms.graphqls
Related:
- Profiles: User profiles
- Notifications: Messaging
- Workflows: Workflow automation