Configuring an Offerings implementation

See also: https://heuristicsolutions.atlassian.net/wiki/spaces/DOCS/pages/581468165

Overview

Offerings can be complicated to configure because it involves a number of different pieces working together to deliver the full experience.

Detailed, step-by-step instructions for implementing a basic “Self-Hosted Exams” implementation is covered in the training materials: https://heuristicsolutions.atlassian.net/wiki/spaces/DOCS/pages/3341516812

Key components

An “Offerings” implementation consists of a number of elements all working together. This table introduces all of the key components; read further for detailed instructions for each.

Component

Role it plays

Component

Role it plays

Activity Type

Offerings are enabled at the Activity Type level, so there must be at least one Activity Type that represents “the thing that will be offered”.

Activity Definition

Each Activity represents the thing (course, exam sitting, etc) that will be “offered” on a specific schedule.

In a “Courses” implementation, there would be an Activity for each Course.

In a “Self-Proctored Exams” implementation, there would be an Activity for each “Exam Window”.

Providers

Every Activity is “owned” by a Provider.

Similarly, every Offering is also “owned” by a Provider. This might be the same Provider that owns the Activity, or a different one.

(For example, a Course might be owned by a Provider, while a specific Offering of that Course is owned by the Instructor that delivers it)

Proctors / Instructors

(Optional) Proctors or Instructors can be assigned to an Offering using a Member Attribute. This can be useful if you want to assign some sort of "responsible party" that is responsible for closing out the Offering at the end of the event or experience.

LearningBuilder supports assignees that are "staff" members of the Activity provider as well as 3rd party contractors that can service multiple Providers.

Seat Assignment Attribute

This is how an applicant “requests” a seat at a specific Offering.

This attribute is added to a Complete Learning Plan or Complete Activity Workflow that controls the process of “taking” the course or exam. The Seat Assignment links that Workflow to the selected Offering.

Activity Filter Attribute

Used in conjunction with the Seat Assignment. Controls which Offerings are offered as options when the Seat Assignment is using the “Cascading Drop Downs” interface. (See product docs for more details)

Activity Offerings Queue Framework

Lists of Offerings are displayed in many different contexts. For instance, Admins can view a list of all Offerings in the systems, Providers can view a list of the Offerings they own, and users (like Proctors) can view a list of the Offerings they are assigned to.

All of these pages are implemented as instances of the https://heuristicsolutions.atlassian.net/wiki/spaces/DOCS/pages/530055169 framework.


Configuration instructions

This page assumes you’re already familiar with Offerings

It is difficult to provide detailed instructions because the Offerings framework supports many different use cases, and not all configuration options or decisions apply to all use cases.

This page focuses on the high level steps that are common to all implementations. It won’t be useful if you’re brand new to the Offerings concept.

The best introductory content is the training module: . It includes detailed, step-by-step instructions for configuring Offerings in a “self-hosted exam” model.

Once you are familiar with that training setup, you should be able to use this high level roadmap to think through other use cases and implementations as well.

You can also refer to the use case guide on

1

Configure the Activity Type

You will need an Activity Type that is configured to use Offerings.

You will specify:

  • The Workflow for creating a new Offering

  • The Roles that are allowed to “own” the Offering activity

If you will be creating a new Activity Type, then you should create the new Create Offering Workflow first; it must exist before you can enable Offerings.

2

Grant Permissions

See Activity Offering Permissions (DRAFT) or refer to the “Where are Offerings managed” section below.

3

Create the Activity that will be “offered”

Create one or more Activities representing the things that will be offered.

4

Create the Offerings

Use the “Manage Offerings” page for the Activities you created to create the Offerings.

5

Add a “Seat Assignment” Attribute

By themselves, Offerings aren't very useful. To actually use the Offering data you will need a "Seat Assignment" attribute, which is how the Offering's "available seats" are assigned to specific people.

To capture Seat Assignments on a Complete Learning Plan Workflow

  1. Edit the built-in "Configure Learning Plan Definition" Workflow. (There is only one of these, and it is created by default)

    1. Add an "Activity Filter" attribute to the workflow. 

  2. Configure the relevant Learning Plan Definition and fill out the Activity Filter attribute, specifying which Offerings are available for that Learning Plan.

  3. Edit the Complete Learning Plan Workflow for the relevant Learning Plan Definition and add a "Seat Assignment" attribute. 

    1. Choose the Activity Filter attribute you created in step 1

To capture Seat Assignments on a Complete Activity Workflow

  1. Edit the Create Activity Workflow for the relevant Activity Type

    1. Add an "Activity Filter" attribute to the workflow. 

  2. Create a new Activity Definition (or recall and edit an existing one) and fill out the Activity Filter attribute, specifying which Offerings are available.

  3. Edit the Complete Activity Workflow for the relevant Activity Type and add a "Seat Assignment" attribute. 

    1. Choose the Activity Filter attribute you created in step 1

6

Configure the approval process

If the Seat Assignment Attribute is configured to create pending assignments, be sure to configure a Workflow Step in which a Reviewer has the ability to toggle the status to “confirmed”

Who “owns” an Offering?

Offerings can be managed by Organization Staff. The entity that owns a newly created Offering depends on the configuration of the Activity Type, the entity that owns the related Activity, and the current user's staff relationships.

Which user is creating the Offering?

Who owns the parent Activity?

Who is allowed to own Offerings, based on Activity Type configuration?

Newly created Offerings are owned by:

Which user is creating the Offering?

Who owns the parent Activity?

Who is allowed to own Offerings, based on Activity Type configuration?

Newly created Offerings are owned by:

Staff user w/ a single Organization

Staff’s Organization account

Only Provider that owns the Activity

Staff’s Organization account

Anyone w/ valid Role

User is prompted to choose a Provider from a list w/ matching Roles

Another Organization

Only Provider that owns the Activity

Can’t create Offering

Anyone w/ valid Role

Staff’s Organization account

Staff user w/ multiple Organizations

One of the staff’s Organizations

Only Provider that owns the Activity

Organization that owns the Activity

Anyone w/ valid Role

User is prompted to choose a Provider from a list w/ matching Roles

Another Organization

Only Provider that owns the Activity

Can’t create Offering

Anyone w/ valid Role