Skip to main content

Exam Builder

Overview

Unifies our ExamEditor and GuidedExamBuilder interfaces to present users with an interface that lets them browse for items freehanded, create new items from scratch, or launch a builder interface that guides a user through a form that results in a randomly generated assessment.

Exam Builder

Endpoints

Launch URL: /lti/launch/exam-builder-v2

Additional Parameters

{
id?: string;
launchOptions: {
userPrefs: {
objectiveAuthorityIds: Array<string>;
}
}
}

If you are browsing items that are aligned to multiple states (this will be the case if you have licensed our Ignite Formative Assessment Item Bank), you’ll likely only want your user to see items aligned to a single state. Use objectiveAuthoritityIds to show only items and metadata that relate to a specified authority. Current valid authorities are:

  • tea: Texas
  • fdoe: Florida
  • mo-doe: Missouri
  • oh-doe: Ohio

Setting this property will result in fewer item counts, but the items will be more relevant to your user.

Events

LAUNCHED

Emitted immediately after the Campfire application finished loading.

EXAM_SAVED

Emitted every time the item is saved to our database, including during creation

data: {
id: string;
}

EXAM_CREATED

Emitted the first time an item is saved to our database.

Unlike the GuidedExamBuilder flow, we do not automatically create an ExamConfig record at the time of exam creation. You will want to use our API to create an ExamConfig in order for your users to be able to launch the exam in the Student or Instructor experience.

data: {
id: string;
}

EXAM_FORM_DATA_REQUESTED

Emitted when the user is prompted for certain data in the UI. Currently, this includes the Exam title, Exam description, and Exam activity type present in the first form, but we may add the ability to provide additional fields in the future. This event allows you to programmatically fill out these fields for the user by responding with a SET_GUIDED_EXAM_FORM_DATA in response. We have provided a convenience method to handle this flow for you called setDefaultFormData.

data: {
fields: Array<string>
}

All Item Editor Events

Additionally, the Exam Editor may emit any of the events from Item Editor if the user launches the Item Editor while creating their exam.

Messages

SET_GUIDED_EXAM_FORM_DATA

You may emit this message ONCE in response to a EXAM_FORM_DATA_REQUESTED event. It will populate the provided fields on behalf of the user in the Form UI.

{
type: "message",
name: Messages.SET_EXAM_FORM_DATA,
data: {
fields: [
{
field: "exam:title",
value: "My Exam",
},
{
field: "exam:description",
value: "This is an exam",
}
]
}
}

Additional Methods

SetDefaultFormData

This method handles the call and response for setting the default metadata fields for the user in the first screen of the Guided Exam Builder flow. See the view_options parameter if you would like to hide these fields to prevent the user from modifying their values after you set them.

service.setDefaultFormData([
{
field: "exam:title",
value: "My Exam",
},
{
field: "exam:description",
value: "This is an exam",
}
]);