Modification workflows for collections

This page details the functionality related to the modification of collection assets.

 

Overview

A collection is an ordered set of assets. There are multiple scenarios related to modifications of collections.

  1. The linked assets get modified

  2. New assets are added to a collection

  3. Existing assets are removed from the collection

  4. Metadata of the collection is modified

A collection can also be trackable or non-trackable, and assets within them also may be trackable or non-trackable within the collection. Certificates may also be attached to trackable collections.

This page details the system behavior in these different scenarios.

Trackable Collections

Examples of trackable collections are Courses and Programs. In addition courses also typically have certificate attached to them. Following sections detail the functionality related to trackable collections.

Linking asset to a collection

The objective of this is to enable having “optional” assets in a trackable collection. System will not include the progress of an optional asset in the calculation of the overall progress of the trackable collection. Reference reading material within a course is an example for this.

To enable this capability, as part of linking asset to a trackable collection, system provides an option (through UI and API) to specify whether the asset “Is optional” - Yes or No. Default value is “No”.

Enable closing a trackable collection for modifications

The objective of this is to enable trackable collections to be modified/extended over a period of time, even after publishing them - without impacting the progress tracking. This is to support use cases where modules (sub-folders) within a course are periodically updated. Users can start consuming the modules as and when published. But the calculation of progress tracking happens only once the course is published with all the modules. Once the progress tracking starts, the collection will be closed for any further modification.

To enable the above, any trackable collection will have an attribute “Open for modification” that can take values of “Yes” or “No”. By default it is set to “Yes”. As long as the value is “Yes”, the overall status of the collection progress is not calculated, because the collection might be undergoing modifications. Hence no certificates are generated.

Once the all the content is added to the collection, creator can change value from “Yes” to “No”. Appropriate warning is shown to the user when modifying this value. The same is shown to the reviewer when publishing the collection. Once the value is changed to “No” and the collection is published, system calculates the progress based on the rules set for progress calculation.

Once a trackable collection is published with “Open for modification” value set to “No”, the collection can no longer be modified.

Modification of collection

Once a trackable collection is published, the collection can be modified only if the “Open for modification” value is set to “Yes”. If the “Open for modification” value is set to “No”, the collection can no longer be modified.

This has to be enabled both at the UI as well as in API.

In UI, following will happen:

  1. When creator submits a trackable collection for review, system checks if the value is “No” and gives a warning message.

  2. When reviewer publishes a trackable collection for review, system checks if the value is “No” and gives a warning message.

  3. For any live trackable collection with value set to “No”, if the creator tries to edit, a message stating “This cannot be modified as it is closed for modifications.” should be shown.

Deleting a collection

Once a trackable collection is published, the collection can be deleted only if the “Open for modification” value is set to “Yes”. If the “Open for modification” value is set to “No”, the collection cannot be deleted.

This has to be enabled both at the UI as well as in API.

In UI, for any live trackable collection with value set to “No”, if a user tries to delete, a message stating “This cannot be deleted as it is closed for modifications.” should be shown.

Common Functionality

This section details the common functionality across trackable and non-trackable collections.

Modification of an asset linked to a collection

Publish asset flow

  1. When an asset is published, system checks if there is any collection (draft or live), pointing to this asset.

  2. If so, while approval, it shows a dialog saying “This is currently linked to one or more collections. Please republish the collections to reflect the new version in the collection”.

    1. The dialog shows the list of collections (names, ids and status of each collection in sourcing repo) to which the learning asset is linked to.

  3. The new version of the asset is NOT automatically linked to the collection. For a collection to reflect the new version - the collection has to be modified, the newer version is explicitly updated and collection republished.

Edit collection flow

  1. When a user opens a collection in editor for modification, system checks if there are newer versions present for one or more of the linked assets.

  2. In case there are newer versions present, a warning popup is shown with appropriate message.

  3. The assets that are of older version (that have latest version not linked) are also indicated in the folder hierarchy (with a different color)

    1. Clicking on the asset node will preview the older version.

    2. There is an option “View latest version”. Clicking that will open the latest version in a different tab.

    3. There is an option to update the version to latest.

    4. If user selects the option to update the version to latest, the latest version is linked to the collection and the preview reflects the latest version.

  4. There is a “Update all assets” option in the Folders kebab menu (vertical dots). Clicking this will show a confirmation popup. Once user confirms, all linked assets are updated to latest version.

  5. In case there are newer versions present, editor indicates the warning popup when the collection is submitted for review. There are options to “Cancel submit” and “Proceed to submit”. “Cancel submit” brings back the user to the editor. “Proceed to submit” will submit the collection for review.

Review collection flow

  1. When a user opens a collection for review, system checks if there are newer versions present for one or more of the linked assets.

  2. In case there are newer versions present, a warning popup is shown with appropriate message.

  3. The assets that are of older version (that have latest version not linked) are also indicated in the folder hierarchy (with a different color)

    1. Clicking on the asset node will preview the older version.

    2. There is an option “View latest version”. Clicking that will open the latest version in a different tab.

  4. The above popup is also shown when user choses “Publish” option. There are options to “Cancel publish” and “Proceed to publish”. “Cancel publish” brings back the user to the review page. “Proceed to publish” will publish the collection.

Deleting an asset linked to a collection

If an asset is linked to one or more collections, the asset cannot be deleted. The user is given an appropriate message with the list of collections to which the asset is linked.