The conceptual view or functional view is built on the core stakeholders in Sunbird which comprises of:
In Sunbird, the user base is not just limited to individuals but it spans across organizations like schools, colleges, education boards & departments, etc. In broader terms, Sunbird architecture defines users as Organizations.
Following is the hierarchical structure of organization, the basic entity is a Member, where in a member can play following roles:
- Admin: In Sunbird, the Admin has capabilities of adding or removing, changing the roles of other members. Also, an Admin can add or remove sub-hierarchical organizations.
- Member: A member can be a part of an organization also a member can view other members of an organization too.
The Organization in Sunbird is designed around the following objects with following attributes:
- Organization: Organization Id, Name, Description ,Parent Organization Id etc.
- Organization Members: Organization Id,Member Id,Role,Date Joined etc.
- Organization Hierarchy: Organization Id,Parent Organization Id,Relation.
User Model contains the identity information that is required to uniquely identify the user and the static profile of the user and its demographic information, etc. A user can be a member of one or more organizations. Typically, a user can be a member of one or more organizations. User Model in Sunbird contains the identity information that is required to uniquely identify the user and the static profile of the user like demographic information, etc. In addition, a user will have a profile that gets refined as users interact with Sunbird platform.
A course is content provided in sequence, broken down in modules, open for enrolment and completion for a duration. You can attach prerequisites for a course, and it may contain assessments. It is an illustration of content that comprises of the contextual information like the duration of course, type of delivery, organization offering the course, faculty, etc. The course becomes available for Sunbird users based on above contextual information.
An organization or a user, with course creation privileges, creates and launches a course in Sunbird. The course content, structure, information and metadata of the course are stored in Sunbird platform. The platform empowers vast flexibility in course creation, delivery and consumption. Information like the start & end dates of the course, type of the course, user & organization who created the course, etc., is stored in the course entity at Sunbird layer. A course is visible to users only when the course is in Live state. The course creator change the status. There is no versioning of courses in Sunbird. Versioning is prime function of Sunbird platform itself. The course entity in Sunbird is designed around the following objects and attributes. - Course Id,Content Id,Version,Created By,Organization Id,Faculty Id, Tutors,Course Type, etc.
Users in Sunbird can explore and subscribe for the Live courses. Once subscribed, the user’s progress and activity within the course is stored in user courses entities. User courses contains the subscription data, progress, grade & current position of the user in a course. User Content State and User Assessment Items, data gets populated by listening to the telemetry events generated by the client applications. Asynchronous back-end jobs listening for updates on User Assessment Items and User Content State updates the progress, grade and last position in the course for each user’s course subscription. User courses entity in Sunbird is designed around the following objects and attributes: - User Id,Course Id,Delta-TOC,Progress,Grade,Last Content Id.
User Content State
It contains the consumption details of content (inside or outside a course) by a user. User Content State entity in Sunbird is designed around the following objects and attributes: - User Id,Content Id,Course Id, Consumption Status,Score,Result,Grade,View Count,Completion Count,etc.
In addition to the learning content, a course also encompasses assessments. Sunbird content containing ItemSets are used to deliver assessments in a course. An ItemSet is a collection of assessment items and configuration to be used by player to play it.
The assessment is based on the following:
Release Criteria: The criteria for releasing assessment depends on course completion and or duration (i.e. they have a start and/or end date).
Evaluation Rubric: Rubric is the scoring guide to evaluate the assessment and generate a grade.
The content player uses ItemSet and its configuration to show the assessment and the course player uses the release criteria & rubric to release and evaluate the assessment. The Assessment entity in Sunbird is designed around the following objects:
- AssessmentId: Identifier of the Sunbird content which contains the assessment,other attributes
Sunbird ItemSets and content is flexible and reusable in multiple contexts. This data is stored within the Sunbird infrastructure.
User Assessment Items contains the details of each attempt of all assessment items by the user are stored in User Assessment Items model. User Assessment Items entity in Sunbird is designed around the following objects:
- User assessment: User Id, Course Id, Assessment Id, Assessment Item Id, Score, Result, Attempt Number, Last Attempted On