Status | ||||
---|---|---|---|---|
colour | Yellow | |||
Status | ||||
|
Table of Contents | ||
---|---|---|
|
...
Program
...
In order to crowdsource content adopters can leverage program portal with the current set of tools. portal was built to experiment a new way to contribute, create, and curate content on SunbirdEd. It will be now merged with SunbirdEd to solve contribution needs of various programs such as https://project-sunbird.atlassian.net/browse/SB-14888
Program Portal for Crowdsourcing
In order to crowdsource content adopters can leverage program portal with the current set of tools. These tools allow crowdsourcing with a few salient capabilities
...
Expand | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
A few examples are..
|
Role assignment
...
...
Contribution workflow demonstrates a contributor’s journey when contributing using crowdsourcing programs portal.
...
Program portal should support configuration of default role and enrolment type - open to anyone, open to tenant verified users, or invite only users. Apart from this all other roles will need to be defined, configured, and assigned to users as required.
Contribution
Contribution workflow demonstrates a contributor’s journey when contributing using crowdsourcing programs portal.
Info |
---|
View designs here https://invis.io/ZMU48UESHCF |
...
Below is a workflow diagram with some sample content types
...
Select Textbook
Easily select textbooks to contribute to. Contributor / Reviewer will see textbooks listed in grid view and grouped by specific category (as applicable). User will also be able to filter textbooks / courses using any two of the taxonomy framework categories (e.g. Class, Subject)
...
Contributors can create Question Sets or Upload files. Following capabilities are required for contributors
Sign-in and default role
Content contribution is open for all the public users having valid Google id. Once (This should also support additional configurations : Only for tenant verified users or specific users)
Textbook selection
Once user sign in, it would be landed on a page with facility to select TB. TBs will be viewed in grid view. Contributor / Reviewer will see textbooks listed in grid view and grouped by specific category (as applicable).
User will also be able to filter textbooks using any two of the taxonomy framework categories (e.g. Class, Subject)
Textbook details page
Upon selecting a textbook user will be redirected to TB detail page.
TB detail page would have an option to select any particular chapter or all chapter from the drop down called “Select Chapters”.
User will also see the following numbers:
Total Contribution : All content linked to the textbook (all content types, all content states except retired)
My contribution : Contributions made by logged in user (all content types, all content states except retired)
Rejected : My contributions in rejected state
Under Review : My contributions under review
All the chapters should have accordion to expand its nodes.
User should be able to contribute both at chapter and node level.
User should be able to contribute up to 4 levels of TB.
Once contributed, content should be shown under that node with status either of them:
Draft
Under Review
Published
Rejected
For every contributed content there should be following options:
Preview (User can preview the content In all the stages)
Edit (Only for content which are either in draft or rejected state)
Move (Only for content which are either in draft or rejected state)
Delete (Only for content which are either in draft or rejected state)
Upon clicking “Add”, User will choose what type of content to be contributed from a platter. (Content types to be contributed, have been already defined for the program by state)
Depending upon the content type appropriate tool with required configuration will be launched to make contributions.
Under contribution either user can upload a content piece (video, pdf) which she already has or user may choose to create a set of questions (for test prep program) corresponding to relevant node/chapter of the textbook.
When a content is created it inherits / derives attributes such as Board, Medium, Class, Subject, License from textbook and additional attributes such as Content name, icon, audience, resource type, content type, category, etc from Content type template.
License Terms:
On contribution page, Creator should have options to select license value from a drop down. However by default state defined license should be auto selected.
MCQs created on program portal will take tenant license by default and no drop down required in this case. However on MCQ content detail page, following text should be there in the bottom:- “By creating content on SunbirdEd, you consent to publish it under the Creative Commons License Framework <https://creativecommons.org/licenses/>.”
In case of solution videos, again they should be tagged to default tenant license. In this case no need to provide other license values in drop down.
While uploading any content, after upload & before final submission (on submission page), user would be required to select the appropriate license term for the uploaded content.
By default tenant license value will be selected however if required user may choose other value from the drop down.
License field is mandatory and can not be left blank.
License drop down value must be fetched from SunbirdEd License Library
To start with following can be the drop down values:
CC BY-NC-SA 4.0
CC BY-NC 4.0
CC BY-SA 4.0
CC BY 4.0
There will be a static text on content submission page which would read following:
...
“I understand and confirm that all resources and assets created through the content editor or uploaded on the platform shall be available for free and public use without limitations on the platform (web portal, applications and any other end user interface that the platform would enable) and will be licensed under terms & conditions and policy guidelines of the platform. In doing so, the copyright and license of the original author is not infringed.”
Upload
In case of content type (apart from question set) where file is being uploaded, a progress bar should be displayed to track the completion of file upload.
When uploading file, relevant information such as file formats, file size, and link to ‘how-to’ resize videos, ‘how-to’ create videos should be provided.For experiential
Content Type | Helping Test To be Displayed on Contribution Screen |
---|---|
Experiential, explanation content upload (wherever video or pdf being uploaded) |
|
...
“Note:
|
...
Contribute one video/document at a time
...
Submit and Contribute again for more than one video/content
|
...
...
...
For curiosity question:
“Note
...
| |
For lesson plan: |
|
“Note
|
...
Contribute one Lesson Plan at a time. Submit and Contribute again for more than one Lesson Plan for same topic
...
...
|
As long as uploaded content is in draft state, means has not been submitted for review, “Change file” option should be provided.
However “change file” option should not be provided for content which are submitted for review or published.
Contributors will be able to Save & Submit from the contribution page.
Upon clicking on status, user shall be redirected to a page which would have content previewing window/ content player along with the reviewer’s comment.
Review
...
Reviewer onboarding
...
Content reviewer can be nominated either at the time of program onboarding or by admin at a later stage. Authorised reviewer will login to program portal.
It is assumed that reviewer would be intimated the scope which she needs to review. Accordingly she will choose TB, Node and content type.
Review workflow details
Reviewer would have the same TB UI experience as described for contributors. However reviewer would have the following two data points to look:
Total under review
Accepted by me
Reviewer can approve or reject a content piece (video, pdf) by providing appropriate comment. also filter by School / Team if such a list was provided & configured during launch of the program. However if the list was not provided, this dropdown should be hidden from UI during onboarding as well as Reviewer’s view of Textbook details.
Reviewer can approve or reject a content (video, pdf) by providing appropriate comment. Accordingly content shall either be published or rejected.
Once published it would be available to be consumed.
Upon publishing the content will be published independently as well as available to consume through the digital textbook (ETB).
In case content is a question set (multiple questions), Reviewer would be facilitated to review each question individually.
She can reject a particular question under a question set, can provide comment on each question separately and may go ahead to approve other questions and eventually the entire question set.
While finally approving the question set, reviewer should be displayed a message box saying number of questions it has rejected and moving ahead with only approved once.
Take reviewer’s confirmation by getting him clicked on “Continue” button.
In that case published question set would have only approved questions.
Rejected ones will be available to creator with comments.
However creator would not be allowed to amend the rejected questions.
On Publishing, content will be published and linked to the textbook.
...
As of today, Review will publish to the textbook directly.
Note |
---|
Ignore below section for now! - Rough notes |
Program Portal V1
Use case story
A SunbirdEd adopter / tenant would like to design & implement a program to achieve certain outcomes. In order to achieve the outcomes, the SunbirdEd tenant will need to consider creation, consumption, and data requirements.
Teacher & Student Enablement Creation
Test Prep Creation & Consumption
Teacher Training Creation
Teacher and Student Enablement
Content Types & Book Structure
Intent was to enable teachers & students by providing access to various teaching and learning resources organised by each chapter in the textbook. Types of resources to enable students and teachers were finalised based on availability & ease of use. These content types were organised for each chapter in the textbook.
Expand | ||
---|---|---|
| ||
|
For each content type
Program user journeys
Discover (view & access) Program
Program Details
Join or Leave Program
Program Setup and Launch
Close Program
Program Analytics
Teacher Training Creation
Proposed workflow:
...
Architecture
Program Definition - Purpose and scope of the program.
Purpose - Text
Scope - machine understandable or free text?
Type - Public, Sign up, invite-only
Tenant - Root Org
Framework -
Roles in a program -
Program admin defines the user roles for the program.
Maps the program roles to actions in a tool.
Defines the default role assigned in a program
Setup Activities - Program is a collection of activities. An activity is a tool + actions + config.
Example tools -
...
QuML Practice Set tool - create QuML questions and bundle them into practice sets against a textbook TOC.
Points to be covered
Context/Background
Business Flows
State & System Actions - multiple phases
Sample Use cases
Teacher & Student Enablement
Test Prep
TPD
Process, Product and Content
Creation, Consumption and Data
Architecture
Experiment vs Program
Experiment - driven by us, Program - driven by state
Experiment - to test a feature variation, may be flaky
Programs are mainly used for scoping and tracking of the activities
Core feature vs Program
Available to all users vs custom experience for a content type / program
..
Conceptual Model
Program - Types??, Definition: Scope, Activity ~ (Tool, Actions, Config)
Users, Teams, Roles - on boarding, setup
Default Programs - e.g. workspace, consumption for a content type
High Level Design
Program Entity structure
Structure of Tools - Angular components, dynamic loading
Program Configuration
Deployment Model
Delivery Channels
Portal
Mobile App
Roadmap
Telemetry Requirements
Basic telemetry parameters should be captured for each page: start, end, impression, interact, error
For any page following should be captured : No. of users visited, time spent, feature accessed. Feature threw errors, success workflow completed
For page load following should be captured: Response time for any page to load - limit may be 30 sec max, No. of page load requests, page load capture, page load error with time , page load success with time
Non-Functional Requirements
All API should give the relevant response code.
NFR should be followed as per standard sunbird platform
Program portal should support scale up and scale down feature (similar to Diksha). For reference : https://project-sunbird.atlassian.net/browse/SB-15591
Impact on the products/solutions
Anticipated Diksha integration under Workspace
Impact is being taken care through dependencies
Impact on the existing users/data
NA
Localization requirements
...
Telemetry Requirements
Basic telemetry parameters should be captured for each page: start, end, impression, interact, error
For any page following should be captured : No. of users visited, time spent, feature accessed. Feature threw errors, success workflow completed
For page load following should be captured: Response time for any page to load - limit may be 30 sec max, No. of page load requests, page load capture, page load error with time , page load success with time
Non-Functional Requirements
All API should give the relevant response code.
NFR should be followed as per standard sunbird platform
Program portal should support scale up and scale down feature (similar to Diksha). For reference : https://project-sunbird.atlassian.net/browse/SB-15591
Impact on the products/solutions
Anticipated Diksha integration under Workspace
Impact is being taken care through dependencies
Impact on the existing users/data
NA
Localisation requirements
NA
Relevant Jira tickets
Jira Legacy | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...
Note |
---|
Ignore below section for now! - Rough notes |
Program Portal V1
Use case story
A SunbirdEd adopter / tenant would like to design & implement a program to achieve certain outcomes. In order to achieve the outcomes, the SunbirdEd tenant will need to consider creation, consumption, and data requirements.
Teacher & Student Enablement Creation
Test Prep Creation & Consumption
Teacher Training Creation
Teacher and Student Enablement
Content Types & Book Structure
Intent was to enable teachers & students by providing access to various teaching and learning resources organised by each chapter in the textbook. Types of resources to enable students and teachers were finalised based on availability & ease of use. These content types were organised for each chapter in the textbook.
Expand | ||
---|---|---|
| ||
|
For each content type
Program user journeys
Discover (view & access) Program
Program Details
Join or Leave Program
Program Setup and Launch
Close Program
Program Analytics
Teacher Training Creation
Proposed workflow:
...
Architecture
Program Definition - Purpose and scope of the program.
Purpose - Text
Scope - machine understandable or free text?
Type - Public, Sign up, invite-only
Tenant - Root Org
Framework -
Roles in a program -
Program admin defines the user roles for the program.
Maps the program roles to actions in a tool.
Defines the default role assigned in a program
Setup Activities - Program is a collection of activities. An activity is a tool + actions + config.
Example tools -
QuML Practice Set tool - create QuML questions and bundle them into practice sets against a textbook TOC.
Points to be covered
Context/Background
Business Flows
State & System Actions - multiple phases
Sample Use cases
Teacher & Student Enablement
Test Prep
TPD
Process, Product and Content
Creation, Consumption and Data
Architecture
Experiment vs Program
Experiment - driven by us, Program - driven by state
Experiment - to test a feature variation, may be flaky
Programs are mainly used for scoping and tracking of the activities
Core feature vs Program
Available to all users vs custom experience for a content type / program
..
Conceptual Model
Program - Types??, Definition: Scope, Activity ~ (Tool, Actions, Config)
Users, Teams, Roles - on boarding, setup
Default Programs - e.g. workspace, consumption for a content type
High Level Design
Program Entity structure
Structure of Tools - Angular components, dynamic loading
Program Configuration
Deployment Model
Delivery Channels
Portal
Mobile App
Roadmap