Configure SIS integration XML syntax for course creation

The Blackboard Learn format is a flavor of the IMS standard that caters explicitly to Blackboard-specific objects. This topic concerns itself with the aspects of that format that pertain to creating a course using the <group> element and associating it with a node in the institutional hierarchy.

In the Blackboard Learn format,

  • Group elements are used to represent two kinds of objects: courses and nodes.
  • Relationship elements are the connective tissue of the Blackboard scheme: they link nodes to nodes to form the institutional hierarchy, and courses to nodes to create course associations.

Create a course group element

The following is an XML fragment of a <group> element that describes a course.

<!-- create a course -->
<group recstatus="1">
  <sourcedid>
    <source>My Institution SIS</source>
   <id>0390COMPSCI697CSec1-1164</id>
  </sourcedid>
  <grouptype>
    <scheme>Blackboard</scheme>
    <typevalue level = "20"/>
  </grouptype>
  <datasource>My Institution SIS</datasource>
  <description>
    <short>Comp697</short>
    <long>Security In Computing</long>
    full>This course introduces basic concepts as well as some practical techniques for ensuring security.</full>
  </description>
</group>

Edit the relevant attributes and values in the above code with the details of the course.

You can use this code to create a node as well.

Element/Attribute Required Description
recstatus No Type of action to be performed on an object. Numbers are used for language independence: 1 = Add, 2 = Update, and 3 = Delete.

If no recstatus attribute is supplied, the API will default to 1 (Add) if the record does not already exist or 2 (Update) if the record does exist.

sourcedid Yes Unique identifier for the group object consisting of a source element and an id element.
source Yes Unique identifier of the system that created the group object in the first place.
id Yes Lower level unique identifier for the group object.

For a course, it uniquely identifies the specific course, term, etc. within the originating organization or system. For a node it uniquely identifies the department, school,and so on, within the organization or system.

grouptype Yes The type of group.
scheme Yes Group categorization scheme being used.
  • Blackboard Enterprise uses <scheme>Blackboard</scheme>.
  • Vista Enterprise uses <scheme>LEARNING_CONTEXT_V1</scheme>.
typevalue Yes Specifies what is being added. The object this group represents. The typevalue for Blackboard Enterprise should be one of the following:
  • 10 - This represents a node in the institutional hierarchy.
  • 20 - This represents a Blackboard Learn course.

The typevalue for Vista Enterprise should be one of the following:

  • 25 - This represents a Division
  • 30 - This represents a Group
  • 60 - This represents a Term
  • 80 - This represents a Course
  • 90 - This represents a Section
description Yes Describes the course or node.
short Yes For a course, identifies the abbreviated version of the course title. For a node, identifies the node name. For example, Engineering.
long No Identifies course title.

NOTE: If no <long> value is specified, the <short> value becomes the course title.

full No Identifies the full course or node description.

Associate a course to a node using a relationship element

<relationship> element always lives inside a <group> element and describes that element's relationship to other groups. The following is an XML fragment of a <relationship> element that describes the course association to a node.

<group recstatus="1">
  <sourcedid>
    <source>My Institution SIS</source>
    <id>0390COMPSCI697CSec1-1164</id>
  </sourcedid>
  <grouptype>
    <scheme>Blackboard</scheme>
    <typevalue level = "20"/>
  </grouptype>
  <datasource>My Institution SIS</datasource>
  <description>
    <short>Comp697</short>
    <long>Security In Computing</long>
    <full>This course introduces basic concepts as well as some practical techniques for ensuring security.</full>
  </description>

<!-- primary association -->
  <relationship relation="1">
  <sourcedid>
    <source>My Institution SIS</source>
    <id>CompSciDept</id>
  </sourcedid>
  <label/>
  </relationship>

<!-- secondary association -->
  <relationship relation="1">
  <sourcedid>
    <source>My Institution SIS</source>
    <id>EEDept</id>
  </sourcedid>
  <label/>
  </relationship>
</group>

When a course has multiple associations, the order in which those associations are specified matters. The first one is considered the primary association; all others are secondary. When a course has to determine which node's tool settings to honor, it will look to its primary association.

If the course already exists (for example, if this is an update to an existing course), the directive above will wipe out any of a course's current node associations before creating the new ones.

Edit the relevant attributes and values in the above code with the details of the association.

Element/Attribute Required Description
relationship No Indicates the parent node (learning context) of the course or node being added.

NOTE: This overrides the command line and default setting entered in the administration settings interface.

relation No Qualifies the relationship type. This should always be a vale of 1.
relationship.
sourcedid
Yes sourcedid of the parent node the course or node should be associated with.
label Yes Describes the relationship.

NOTE: Although this is a mandatory field, an empty element reference can be used if there is no value for label as seen in the example.