Creating Definitions (Content Types)

What are Definitions?

Definitions are the building blocks of your data schema in Qik. A definition describes a type of content — its name, fields, validation rules, and behaviour. When you create a definition, you're creating a new content type that your organisation can create instances of.

For example, you might define a 'Project' type with fields for title, status, deadline, and assigned team member. Once defined, your team can create individual Project items that follow that structure.

Built-in vs Custom Types

Qik includes several built-in base types:

  • article — General-purpose content (the default)
  • submission — Form submissions (creates a form)
  • event — Calendar events with scheduling
  • profile — People/contacts
  • scope — Organisational units/groups
  • workflowcard — Workflow items (creates a workflow)
  • email — Email message templates

You create custom definitions that extend these base types. For instance, a 'Workshop' definition might extend the event base type, inheriting event features like dates and attendance while adding custom fields specific to workshops.

Creating a New Definition

To create a definition:

  1. Navigate to Content in the sidebar
  2. In the content types area, create a new definition
  3. Enter the title (singular name, e.g. 'Project'), plural (e.g. 'Projects'), and database key
  4. Select the base type this definition extends
  5. Optionally assign a category to group related types together
  6. Select which scopes this definition belongs to

The Field Editor

After creating a definition, use the field editor to define what data the type stores. The field editor has three panels:

  • Field Tree (left) — Shows all fields in a draggable tree structure. Add, remove, duplicate, and reorder fields here.
  • Preview (centre) — A live preview of how the fields render as form inputs. Test the form as you build it.
  • Field Settings (right) — Configuration options for the selected field, including type, validation, expressions, and display settings.

Field Types

Common field types include:

  • String — Text input (single line or textarea)
  • Number — Numeric input
  • Boolean — True/false toggle
  • Date — Date or datetime picker
  • Array — Multiple values (e.g. multi-select)
  • Object — Nested group of fields
  • Reference — Link to another content item
  • Key — Auto-generated unique identifier

Field Configuration

Each field can be configured with:

  • Title — Display label
  • Key — Database field name
  • Type — Data type
  • Widget — How the input renders (input, textarea, select, radio, etc.)
  • Minimum / Maximum — Validation rules (set minimum to 1 to make required)
  • Options — Predefined choices for select/radio fields
  • Expressions — Dynamic logic for default values, visibility, or computed values
  • Description — Help text for users

Definition Settings

Beyond fields, definitions can be configured with:

  • Default scopes — Which scopes new items of this type are created in
  • Restrict scopes — Limit which scopes this type can be used in
  • Default sort — How list views sort items by default
  • Category — Group definitions by category in the Content section
  • Automation — Set up notifications, actions, workflows, and confirmations that trigger on create/update/delete

FAQs

What is the difference between a definition and content?
Can I change a definition after content has been created?
What does the database key do?