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:

StatusDescription
PENDINGNew submission awaiting review
PROCESSEDReviewed and accepted
REJECTEDReviewed and declined
SPAMFlagged as spam
ARCHIVEDMoved to archive after processing

How Submissions Work

  1. A user submits a form by providing attribute values and an optional profile reference.
  2. Bosca validates the submission against the template and stores it with a PENDING status.
  3. A notification event fires automatically, alerting configured recipients.
  4. 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: