Ask or search…
K

Additional Reading

Content Filtering

In Sunbird, a tenant is a root organization, that shares common access to the content repository with specific privileges to the software instance. Sunbird allows you to set up a hierarchy of organizations for every instance installed. After sucessfully installing Sunbird, the first step is to create the first root organization also called as the tenant organization, followed by creating a heirarchy of organizations under each of it. Root organizations can define their own framework and set preferences like default language and search categories. The content is categorized in Sunbird is using:
Channel Framework Resource Type Mime Type Content Type
Sunbird adopters can choose to mark the search categories as:
  • Whitelisted: Those channels whose content is best suited for their user’s needs and demands. Users can use and explore content across whitelisted channels.
  • Blacklisted: Those channels whose content cannot be accessed. Users cannot access any content from blacklisted channels.
For example, if an adopter whitelists channels X and Y, their users receive content only from channel X and Y. If an adopter blacklists channels X and Y, their users receive content from channels other than from channels X and Y. If an adopter whitelists channels X and Y and blacklists channels Y and Z, their users receive content from (X+Y) minus (Y+Z) = X channel
Once this is configured, Sunbird applies a filter for the content that is made available to users of that organization. Users can only search or navigate to content from the chosen channels.
If an adopter set the $.instance.all keyword inside the whitelisting variable (X,Y, $instance.all), in that case, all the available channels in the instance along with X and Y will be whitelisted.
Let us consider an example of an organization which works in the domain of water conservation and works with multiple NGOs, village panchayats, and district administration authorities in multiple states of India. The organization would like to allow all their stakeholders to have access to the common knowledge repository, and at the same time also allow each stakeholder to independently access content that is specific to the stakeholders. For example, village A in state B is plagued with a problem of industrial effluents depleting the water table at a very rapid pace. The village panchayat needs content with specific solutions. Other states do not require such content. In such a scenario, Sunbird allows content to be filtered for display to a specific group of users for the vilage A of state B.
Version Applicable
This feature is applicable from Sunbird 2.0.0 onwards
Intended Audience
The Sunbird instance administrator

Prerequisites

  • An instance of Sunbird that is successfully installed and configured
  • The instance should have access to the shared EkStep content repository

Taskflow

To enable fitering content according to the various categories set the following environment variables at the time of deployment.
Channel Based Filtering
Sunbird maps each root organization to a concept called a channel. Sunbird allows the instance owner to change the default behavior to channel-based content filtering. Sunbird adopters can access a global, shared content repository (possibly the EkStep content repository). Sunbird does not limit content discovery to a single channel. However, given the diversity of content across channels, content published in one channel may not always be helpful to the users of other channels. To enable filtering of content for a channel,
S NO.
VARIABLE NAME
DESCRIPTION
PURPOSE
DEFAULT VALUE
PATH
EXAMPLE
1
sunbird_content_service_whitelisted_channels
Configures the channels whose content can be displayed in the Sunbird instance. This is a comma-separated string ex:”A,B,C”where A,B,C are different channels
Variable is used to whitelist the Channel whose content should be displayed
blank;
Content Service
Whitelist channels in Sunbird are ekstep.in and 0124758418460180480
2
sunbird_content_service_blacklisted_channels
Configures the channels whose content should not be displayed in the Sunbird instance this is a comma-separated string ex:”X,Y,Z”where X,Y,Z are channels
Variable is used to blacklist the channel whose content should not be displayed
blank
Content Service
Blacklist channels in Sunbird 0124758449502453761
Framework
S NO.
VARIABLE NAME
DESCRIPTION
PURPOSE
DEFAULT VALUE
PATH
EXAMPLE
1
sunbird_content_filter_framework_whitelist
Configures the framework whose content can be displayed in the portal. This is a comma-separated string ex: ”A,B,C” where A,B,C are different framework ID
Variable is used to whitelist the framework whose content should be displayed
blank
Content Service
NCF
2
sunbird_content_filter_framework_blacklist
Configures the framework whose content should not be displayed in the portal. This is a comma-separated string ex:”X,Y,Z”where X,Y,Z are framework ID
Variable is used to blacklist the framework whose content should not be displayed
blank
Content Service
NCFCOPY
Content Type
The content types defined in Sunbird are Resource, Asset, Collection, Course, and Lesson Plan
S NO.
VARIABLE NAME
DESCRIPTION
PURPOSE
DEFAULT VALUE
PATH
EXAMPLE
1
sunbird_content_filter_contenttype_whitelist
Configures the contentType whose content can be displayed in the portal. This is a comma-separated string ex:”A,B,C”where A,B,C are different contentType
To whitelist the contentType whose content should be displayed
blank
Content Service
2
sunbird_content_filter_contenttype_blacklist
Configures the contentType whose content should not be displayed in the portal this is a comma-separated string ex:”X,Y,Z”where X,Y,Z are contentType
To blacklist the contentType whose content should not be displayed
blank
Content Service
Resource Type
The resource type defined in Sunbird are Collection, Lesson Plan, Course, Book, Story, Read
S NO.
VARIABLE NAME
DESCRIPTION
PURPOSE
DEFAULT VALUE
PATH
EXAMPLE
1
sunbird_content_filter_resourcetype_whitelist
Configures the resourceType whose content can be displayed in the portal. This is a comma-separated string ex:”A,B,C”where A,B,C are different resourceType
To whitelist the resourceType whose content should be displayed
Collection, Lesson Plan, Course, Book, Story, Read,
Content Service
2
sunbird_content_filter_resourcetype_blacklist
Configures the resourceType whose content should not be displayed in the portal. This is a comma-separated string ex:”X,Y,Z”where X,Y,Z are resourceType
To blacklist the resourceType whose content should not be displayed
blank
Content Service
Mime Type
The file formats that are supported in Sunbird are application/pdf, video/mp4, video/x-youtube, video/youtube, application/vnd.ekstep.html-archive, application/epub, application/vnd.ekstep.h5p-archive, video/webm, text/x-url
S NO.
VARIABLE NAME
DESCRIPTION
PURPOSE
DEFAULT VALUE
PATH
EXAMPLE
1
sunbird_content_filter_mimetype_whitelist
Configures the mimeType whose content can be displayed in the portal. This is a comma-separated string ex:”A,B,C”where A,B,C are different mimeType
To whitelist the mimeType whose content should be displayed
blank
Content Service
2
sunbird_content_filter_mimetype_blacklist
Configures the mimeType whose content should not be displayed in the portal this is a comma-separated string ex:”X,Y,Z”where X,Y,Z are mimeType
To blacklist the mimeType whose content should not be displayed
blank
Content Service
Updating the Database
S NO.
VARIABLE NAME
DESCRIPTION
PURPOSE
DEFAULT VALUE
PATH
1
sunbird_content_service_channel_refresh_cron
Configures the cron job interval to update the channels regularly.E.g: /5 this value updates the channel every 5 minutes
To set the cron scheduler
blank
Content Service
For details, refer to the Configuration Variables page

Concepts Covered

Tenant - A tenant is a root organization that shares common access with specific privileges to the software.
Multi-tenant - Multi-tenancy is an architecture in which a single instance of a software application serves multiple customers. Each customer is called a tenant.
Channel - A channel is a unique identifier that makes a tenant unique.
Framework- A structure designed to define the scope of something. On Sunbird, the framework is defined through a string of vocabularies.
Resource Type- Resource is the smallest unit of content that can be created on Sunbird. Resource type refers to the different types of resources that can be created on Sunbird, namely, Learn, Play, Practice, Read, Teach, Test.
Mime Type- Mime type refers to the different file formats that can be uploaded on Sunbird, for example, .mp4, ECML, EPUB etc.
Content Type- Content type refers to the different resources that can be created on Sunbird, namely, book, course, collection, lesson plan, resource.