ExtraCategory

English only

Application and Structure

An ExtraCategory groups extra fields that can be used to collect additional information about various objects within Pluvo — such as groups, learning journeys, course modules, videos or offers. Each category contains one or more ExtraFields.

Connection to entities

ExtraCategories are not used on their own, but linked to objects. Examples:

  • Users: additional profile information such as job title or date of birth.
  • Groups: specific settings or properties.
  • Learning paths: metadata for reporting or filtering.
  • Content modules: such as learning objectives or classifications.
  • Offers: additional info for enrollments.

The actual values of these fields are stored in, for example, the extraFields or extraFieldsProfile field of the relevant object.

Use Cases

List of all categories

Provides an overview of all extra categories with their fields.

query {
  extraCategories {
    id
    title
    extraFields {
      key
      label
      type
    }
  }
}

Retrieving one category

query {
  extraCategory(id: "uuid-here") {
    title
    extraFields {
      label
      type
    }
  }
}

Creating a new category

mutation {
  createExtraCategory(
    category: {
      title: "Personal Information"
    }
  ) {
    extraCategory {
      id
      title
    }
  }
}

Update category title

Updates the name of an existing category.

mutation {
  updateExtraCategory(
    id: "uuid-here"
    category: {
      title: "New title"
    }
  ) {
    extraCategory {
      id
      title
    }
  }
}

Archive category

Archives one or more categories so they are no longer visible.

mutation {
  archiveExtraCategories(
    archive: true
    ids: ["uuid-1", "uuid-2"]
  ) {
    response {
      succeededIds
      failedIds
    }
  }
}

Field types and validation

Each ExtraField within a category has a type, which influences validation and display. Available types are:

  • TEXT: Free text field
  • NUMBER: Numeric input
  • DATE: Date picker
  • SELECT: Choice of one value (drop-down)
  • MULTISELECT: Multiple choices possible
  • BOOLEAN: Yes/No or on/off

For SELECT and MULTISELECT, a list of allowed options must be specified for the field.

User Interaction

Extra fields are typically shown:

  • During registration or enrollment
  • On the user profile
  • In admin dashboards for user, group, or learning path management

They are dynamically loaded based on the linked categories. The API only shows the structure; how and where they are displayed depends on the frontend.

Value Storage and Display

When an ExtraField is filled in, the data type of the stored value depends on the field type. Each type of value has its own GraphQL structure. Below you can see what these look like.

Value types per field

  • TEXT ExtraCategoryStringValue
  • DATE ExtraCategoryDatetimeValue
  • BOOLEAN ExtraCategoryBooleanValue
  • SELECT (Selected option from predefined list)
  • MULTISELECT (Multiple options from the list)

Choice options

For select fields (SELECT, MULTISELECT), options are defined as:

type ExtraCategoryChoiceOption {
  id: UUID!
  ref: String
  stringValue: String!
  color: Color
}

These options can contain a visual color and have an external ref.

Close notification