Documentation

Terminology

Flow-based assessments with Bitflow consits of a Flow. A Flow definies the logic of your assessment. A Flow is defined by nodes and edges. A edge connects two nodes. A node can either be an interactive one or a control one. Interactive meaning requiring interaction by the user and control meaning working in the background without the user knowing that they are there. You can read more about Flows here.

You can use the Do component for executing a Flow and the Report components for showing the results.

Installation

At minimum you need to install @biflow/provider, one start bit e.g. @bitflow/start-simple, one end bit e.g. @bitflow/end-tries. Of course you also want to have some tasks bits e.g. @bitflow/task-choice. See Bits for more details on the different bits you can install.

Usage

A minimal example using the DoLocal would look like this:

import { PatchesProvider } from "@openpatch/patches";
import { BitflowProvider } from "@bitflow/provider";
import * as startSimple from "@bitflow/start-simple";
import * as endTries from "@bitflow/end-tries";
import * taskChoice from "@bitflow/task-choice";
import { DoLocal } from "@bitflow/do-local";

export default () => {
  return (
    <PatchesProvider>
      <BitflowProvider
        config={{}}
        bits={{
          end: {
            tries: endTries
          },
          start: {
            simple: startSimple
          },
          input: {},
          task: {
            choice: taskChoice
          },
          title: {}
        }}
      >
        <DoLocal flow={...} />
      </BitflowProvider>
    </PatchesProvider>
  )
}

You can also use all available bits at once. This is what we will set up in the following script.

import { PatchesProvider } from "@openpatch/patches";
import { BitflowProvider } from "@bitflow/provider";
import { bits } from "@bitflow/bits";
import { DoLocal } from "@bitflow/do-local";

export default () => {
  return (
    <PatchesProvider>
      <BitflowProvider
        config={{}}
        bits={bits}
      >
        <DoLocal flow={...} />
      </BitflowProvider>
    </PatchesProvider>
  )
}

If you want to evaluate and store the answers on your server you need to do a little more by using the Do component.

Example

You can find a minimal example in the example folder in the GitHub repository.

You can also browse all available examples here.

Show and Edit a Flow

If you also want to show the Flow or want to use the Flow-Editor use have to install additional packages. For this visit the flow documentation.