In order to integrate your SIS with LearningStudio, you must first understand the LearningStudio data structure, which starts with a campus object at the top level which contains users and nodes. The nodes contain terms, which contain courses.
The following list describes the elements of the LearningStudio data structure.
- Campus. Each educational institution is represented by a campus object, which encapsulates all of a partner's data. The campus is uniquely identified by a "client string.” For example, Strata University would use a client string like
- Node. Each campus is comprised of a hierarchy of nodes that organize courses and users along geographies, enrolled institutions, or fields of study.
- Term. A term is a time-based container for courses, which represent a school’s seasonal term (e.g., Fall 2015 or Summer A 2016). Terms are used to organize courses in a dashboard as well as set default start- and end-dates for those courses. A term can be associated with multiple nodes, but a course can only be in one term. Terms can be created with the SIS APIs (but not with batch files).
- Course. Courses are where content is delivered and students interact. Users must be enrolled in a course in order to access it. Courses can be created as empty shells or copied with all content through the SIS APIs or batch files.
- User. Represents a user of the LearningStudio system, such as a student or faculty member. Users are contained by the campus object. Users are enrolled to courses and enrollable nodes. Users can be created or modified, and enrolled in courses, through the SIS APIs and batch files, but users and enrollments cannot be copied.
The Node Structure
Each Campus contains its own node structure. The nodes act as a mechanism for grouping courses, terms, students, university branding, color-schemes, reports and other important elements of an online campus. Nodes can either be enrollable or not enrollable.
The top-level node within any node structure is known as the EP node or the campus node. Below the EP node there can be a second level of nodes, which may correlate to university brands or departments at a school. If needed, a third level can be created for further granularity. Each node is represented by a client sort string, which is dot-notation child of the campus client string (see above). For example, if the client string for the campus is
strata, the sort string for the business school may be
strata.business. (Note: client sort strings always include the final period).
Determining if a User Can be Enrolled
When a User Management API request is made to enroll a user in a specific course, the LearningStudio system must first check to see if a user is enrolled in, or needs to be enrolled in, an enrollable node. If the LearningStudio system has not been provided with enrollable node information, then the following steps are taken:
- The course node is determined from the course call number. An error is returned if the course call number is not valid.
- The LearningStudio system walks up the node hierarchy from the course node until it finds an enrollable node.
- If no enrollable node is found, then an error message is returned.