Generalized Organization and Target Framework tagging

This page details the generalized functionality of tagging different types of learning assets (content, collection, questions etc.) with organization and target framework values.

Overview

The primary objective of tagging a learning asset (content, collection, questions etc.) is to make it easier for users to discover learning assets that are relevant for them.

Towards this, system enables tagging a learning asset in terms of “What it is” as well as “Whom it is targeted to” - using organization and target frameworks respectively. The information of “What it is” is used to organize the learning assets. The information of “Whom it is targeted to” is used to show “relevant” learning assets to a user, by matching them with the user's profile (information of who the user is).

System provides mechanisms to tag learning assets with two types of frameworks:

  1. Organization Framework - This specifies what the learning asset is about and how to organize it when showing it to consumers.

  2. Target Framework - This specifies for whom the learning asset is targeted. It is used to identify the “relevant” learning assets to be shown for users.

The following sections define the various activities involved in this and the capabilities to do the same.

Frameworks configuration

A list of frameworks are configured at system level and/or at tenant level. The frameworks have

  1. A framework type - This specifies the type of the framework.

    1. Example: K-12, Continued Professional Development etc.

  2. A set of attributes and values - These specifies the set of framework attributes and values for each attribute that can be used to tag an asset.

    1. Example: for a K-12 framework, the framework attributes can be Board, Medium, Grade, Subject, Topics.

Note:

  1. A framework by itself doesn’t have a tag of Organization or Target framework. An asset category defines one or more frameworks as organization or target framework(s) that can be tagged for any object of that asset category. Same framework can be used as a Target framework as well as an Organization framework.

  2. A framework of same type should have same set of attributes. Different frameworks of the same type can have different set of values for each attribute.

Org and Target framework configuration as part of Primary category configuration

Organization and Target frameworks will be configured as part of primary category of an asset (content, collection or question set). The primary category definition can be at system level or tenant specific.

Note: Organization or Target frameworks are not mandatory to be defined for a primary category, though it is highly recommended to at least have an organization framework defined to enable discovery.

Organization and target frameworks definition consists of the following:

List of Framework(s)

Primary category definition consists of a list of frameworks that are be used to tag any object of that category with organization and target framework attributes.

A framework in this list can be defined in the following two ways:

Define org/target frameworks using a framework type

A framework can be defined by specifying the framework type. In this case, system will first look for a framework of the given type configured as part of the tenant frameworks. If a framework of that type is found at the tenant level, that is taken. Else, the system will look for the framework of the given type configured at system level. If found, that is taken. If no framework is found either at the given tenant level or at the system level, an error is thrown.

Note:

  1. In the above logic, “the tenant” to look for the frameworks is based on the “sourcing project” in which the asset is being created. In single sourcing solution, typically assets can be created only within a sourcing project. A sourcing project is always created by a sourcing organization which is a “tenant”. So the tenant is the sourcing organization that created the sourcing project.

  2. In case of current “workspace”, tenant is same as the root organization of the user who is trying to create the asset.

  3. It is assumed that a tenant will only define maximum of one framework of each type as the set of frameworks used by it. Similarly there will be maximum of one framework of each type defined at system level. In case there are more than one frameworks found, any one of them are used in the above logic.

  4. There can be scenarios (in future) where assets can be created in single sourcing solution outside a sourcing project scope. In this case, there is no “tenant” defined. In this scenario, an asset can be tagged with multiple frameworks. This scenario is detailed in the section “Tagging an asset with multiple frameworks”.

Define org/target frameworks using a framework id

A framework can be defined by specifying the framework id of a framework. In this case, system will look for the framework with the given id across the system. If found, system will use it. Else it will throw an error.

List of framework attributes to be tagged

The list of attributes that can be tagged as part of an organization framework or a target framework are also defined as part of the primary category configuration.

Note: For a given primary category, the set of attributes that can be tagged for an organization framework is same for any organization framework. Similarly, for a given primary category, the set of attributes that can be tagged for a target framework is same for any target framework.

An example:

For a primary category, the following can be a configuration:

  • List of attributes for an organization framework: Subject(s), Topic(s)

  • List of attributes for a target framework: Board, Medium(s), Classes(s), Subject(s)

Tagging framework values

Creation flow (Implemented)

Scenario - Multiple organization frameworks and one target framework is configured

Following is the creation flow when there are multiple organization frameworks and only one target framework is configured in the primary category.

  1. When “Edit Details” page of an asset is opened, system should check if Organization or Target framework is defined for that primary category (based on the logic defined in above section)

  2. If more than one organization frameworks are configured, there should be a corresponding drop down field configured in Edit Details form to select an organization framework. Else, it is an error scenario.

  3. The drop down of the list of configured organization frameworks is shown. User can select one of the frameworks listed (only single select).

  4. All attributes configured for the organization framework tagging are displayed. The values are populated based on the selected framework

  5. One or more attributes can be configured as multi selectable There is an option of “Select All” to select all values of an attribute.

  6. The values in an attribute are modified based on the mapping between the attributes.

  7. In case there is only one target framework defined in the primary category:

    1. A non-editable dropdown that shows the framework value can be configured in the Edit Details form. If this is configured, it will show the target framework value based on the configuration.

    2. If the Edit Details form is not configured with the non-editable dropdown, it will not show up.

  8. All attributes configured for the target framework tagging are displayed. The values are populated based on the configured target framework. Behavior is similar to organization framework

  9. User selects one or more values from each of the framework categories and saves. The values have to be saved in the asset. The asset should distinguish organization framework values and target framework values.

  10. User can change the values any time before sending the asset for review.

Review flow (Implemented)

  1. Reviewers should be able to view all the framework values tagged by the creator in View details page.

Modification flow (Implemented)

  1. Creator should be able to change framework values in Edit Details page, by editing an existing asset.

Note:

Currently one or more frameworks can be listed for tagging an Organization framework. However, only one of the listed frameworks can be selected as an organization framework to tag. Currently only one framework can be configured as a Target framework. Hence user doesn’t have any option to select a target framework.

Refer to following sections that describe the future functionality to be enabled as part of the generalization.

Creation Flow (To be Implemented)

Scenario - One organization framework and multiple target frameworks are configured

The flow is similar to the scenario of “Multiple organization frameworks and one target framework” - except for the following:

  1. In case of only one Organization framework configured,

    1. A non-editable dropdown that shows the org framework value can be configured in the Edit Details form. If this is configured, it will show the org framework value based on the configuration.

    2. If the Edit Details form is not configured with the non-editable dropdown, it will not show up.

    3. All attributes configured for the org framework tagging are displayed. The values are populated based on the configured org framework.

  2. If more than one target frameworks are configured, there should be a corresponding drop down field configured in Edit Details form to select a target framework. Else, it is an error scenario.

  3. The drop down of the list of configured target frameworks is shown. User can select one of the frameworks listed (only single select).

  4. All attributes configured for the organization framework tagging are displayed. The values are populated based on the selected framework

Scenario - One organization framework and one target framework is configured

The flow is similar to the scenario of “Multiple organization frameworks and one target framework” - except for the following:

  1. In case of only one Organization framework configured,

    1. A non-editable dropdown that shows the org framework value can be configured in the Edit Details form. If this is configured, it will show the org framework value based on the configuration.

    2. If the Edit Details form is not configured with the non-editable dropdown, it will not show up.

    3. All attributes configured for the org framework tagging are displayed. The values are populated based on the configured org framework.

  2. In case of only one Target framework configured,

    1. A non-editable dropdown that shows the target framework value can be configured in the Edit Details form. If this is configured, it will show the target framework value based on the configuration.

    2. If the Edit Details form is not configured with the non-editable dropdown, it will not show up.

    3. All attributes configured for the target framework tagging are displayed. The values are populated based on the configured target framework.

Scenario - Multiple organization frameworks and multiple target frameworks are configured

The flow is similar to the scenario of “Multiple organization frameworks and one target framework” - except for the following:

  1. If more than one organization frameworks are configured, there should be a corresponding drop down field configured in Edit Details form to select an organization framework. Else, it is an error scenario.

  2. The drop down of the list of configured organization frameworks is shown. User can select one of the frameworks listed (only single select).

  3. All attributes configured for the organization framework tagging are displayed. The values are populated based on the selected framework

  4. If more than one target frameworks are configured, there should be a corresponding drop down field configured in Edit Details form to select a target framework. Else, it is an error scenario.

  5. The drop down of the list of configured target frameworks is shown. User can select one of the frameworks listed (only single select).

  6. All attributes configured for the organization framework tagging are displayed. The values are populated based on the selected framework

Scenario - No organization framework and/or no target framework is configured

  1. In case there is no org framework configured in the primary category,

    1. No fields related to org framework can be configured as part of Edit Details. If there are fields configured such a way, it is an error scenario.

    2. The object is not tagged with any org framework values

  2. In case there is no target framework configured in the primary category,

    1. No fields related to target framework can be configured as part of Edit Details. If there are fields configured such a way, it is an error scenario.

    2. The object is not tagged with any target framework values

  3. Note, all combinations of having and not having org and/or target framework configured are possible.

Assets created to a target collection (To be Implemented)

By default, when an asset is created as part of a target collection, all the organization and target framework values of the target collection have to be automatically populated in the created asset.

In addition, one or more organization and target framework attributes fields can be configured to be specifically tagged while creating/editing the asset. These are configured in the corresponding Edit detail forms of creating asset for target collection.

Note:

There will be separate forms configured for edit details for creating assets as part of a target collection vs. creating assets independently.

In case edit details for creating assets as part of a target collection is not defined, the edit details form of creating assets independently will have to be taken.

In case of of asset created as part of target collection, the organization and target frameworks are inherited from the target collection and cannot be overridden. Only some of the framework attribute values can be additionally provided or overridden (based on the edit details form configuration).

For example:

  1. Let us say there is a framework of type “Continuous Professional Development” is configured at system level with attributes - Medium, Subject, Topic.

  2. Let us say assets of object type content and primary category “Course Assessment” are being created as part of a target collection named - “My ICT Course”. Say the target collection is created and tagged with Organization Framework - that is the system level “Continuous Professional Development”.

  3. Let us say the target collection is tagged with values for Medium - English and Subject - ICT.

  4. System should provide ability to configure two edit detail forms for the “Course Assessment” category:

    1. Edit details form when creating course assessment without a target collection

    2. Edit details form when creating course assessment with a target collection - In case this is not configured, system will take the edit details form in a.

  5. The Edit details form when creating course assessment without a target collection, will have the functionality as described in above sections.

  6. Say the Edit details form when creating course assessment with a target collection is configured with attributes “Subject” and “Topic”.

  7. When user creates a course assessment for the target collection “My ICT Course”, it will by default have the org framework set to “Continuous Professional Development” and Medium and Subject set to English and ICT respectively.

  8. In the Edit details page of the course assessment, there are fields for user to select “Subject” and “Topic”. Subject is by default set to “ICT” and the field lists all the subjects of the Continuous Professional Development framework as configured in target collection. “Topic” field shows all the topics of the Continuous Professional Development framework.

  9. User can modify both Subject and Topic.

  10. Note: The framework (both org and target) of an asset when created to a target collection will always be the corresponding framework of the collection. The edit details form when creating course assessment with a target collection CANNOT have field to select framework. This is an error scenario.

Error Scenarios (To be Implemented)

Configured frameworks are not available

This can happen in following scenarios:

  1. Configured org or target framework type is not found either at tenant level or at system level

  2. Configured framework id is not found in the system

In these error scenarios, when the editor is being launched, it should display following error:

“There is an error in the system configuration. Please contact support with the following error code: <<>>”.

The error code is for the support team to understand the issue easily. It should correspond to - “Error in primary category framework configuration”.

Error in Edit Details form

This can happen in following scenarios:

  1. The primary category has more than one frameworks configured for org or target. But the edit details form doesn’t have corresponding drop down field to select one.

  2. The primary category has one or more frameworks configured for org or target. But the edit details form doesn’t have any attribute fields configured correspondingly.

  3. There is no org or target framework configured in primary category, but edit details form has one or more fields of framework attributes.

  4. The attribute fields configured in the edit details form are not found in the corresponding framework.

  5. The Edit Details form of creating asset to a target collection is configured with a field to choose org or target framework.

In these error scenarios, when the editor is being launched, it should display following error:

“There is an error in the system configuration. Please contact support with the following error code: <<>>”.

The error code is for the support team to understand the issue easily. It should correspond to - “Error in edit details form configuration”.

Tagging framework values through Bulk Upload

Bulk Upload Assets to a Target Collection (To be Implemented)

The bulk upload content to a target collection flow is as existing.

By default. all the organization and target framework values of the target collection are populated for all assets bulk uploaded to a target collection. In addition, users can add or modify some attributes of org or target framework by specifying them in the bulk upload csv.

Following is a format of the updated bulk upload template:

https://docs.google.com/spreadsheets/d/16tudScgSHEjVhZTJNKgizloB4A_q3Yzcohte91MKC_Y

Columns M to P are related to framework attributes.

Note: These are not mandatory columns. The columns itself may not be present in the csv, in which case no org or target framework attribute values.

Bulk Upload Assets without a Target Collection

TBD

Configurability

As part of the generalization of org and target framework tagging, the entire tagging of attributes of org and target frameworks has to be configuration driven. There has to be no hard coding related to any specific framework.

The following should be possible through configuration changes:

  1. Adding new attributes to a framework

  2. Adding new and removing attributes from Edit Details form

  3. Adding new framework - at tenant or system level

  4. Modifying org or target framework configuration in primary category

  5. Tagging assets with framework attributes through editor or bulk upload

Tagging an asset with multiple frameworks

As part of creation or editing of an asset, user will be able to tag assets to one or more organization and target frameworks.

API Support

API should support tagging of a content with more than one organization framework and more than one target framework. The attribute values for each organization framework are stored separately and attribute values for each target framework are stored separately.

For example:

Let us say CPD-AP and CPD-TN are two frameworks for types Continuous Professional Development.

Let us say Subjects - Mathematics, Science, English are present in both the two frameworks.

An object can be tagged with both the frameworks as organization frameworks, but with different Subject values. So the object can have following as part of org framework tagging:

Org Framework-1: FW Name: CPD-AP, Subjects: Mathematics, Science

Org Framework-2: FW Name: CPD-TN, Subjects: Science, English

Configuration

TBD. Need to decide on how this can be configured. Is it at primary category level or editor level or based on whether “tenant” value is available or not when creating an asset.

Tagging multiple frameworks during create/edit

Following is the flow that details this functionality:

  1. The edit details form shows a dropdown with list of all framework types configured in the primary category.

  2. User selects one of the framework types.

  3. A dropdown with list of all framework names available in the system for the selected framework type are shown.

  4. User selects one of the frameworks. There is an option “Tag framework metadata”. User clicks the option.

  5. A tree selection dialog (similar to Topic selection) is opened.

  6. The tree shows list of all metadata categories in the selected framework as the first level nodes. For example, a K-12 framework shows the following nodes - Board, Medium, Class, Subject, Topics

  7. Each node shows all the values of that metadata category under it.

    1. Note: The dependencies between the metadata categories are ignored.

  8. User can select one or more values from the nodes.

    1. Note: If a non-leaf node is selected, all the nodes under that are automatically selected.

  9. User can search metadata values using a search box (similar to current Topics selector)

  10. User can see selected list of metadata values (similar to current Topics selector)

  11. User selects one ore more values of the metadata categories and saves.

  12. The selected values are saved along with the value of the corresponding framework

  13. User can select more frameworks as above (one by one) and tag with corresponding values.

View the information during Review

TBD