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.
The linked assets get modified
New assets are added to a collection
Existing assets are removed from the collection
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.
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.
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
When an asset is published, system checks if there is any collection (draft or live), pointing to this asset.
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”.
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.
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
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.
In case there are newer versions present, editor indicates the same using a popup when the collection is opened.
The popup has linked assets name and option to update to latest
User can select one or more assets (or Select All) and update to latest.
The latest version of the selected assets are linked to the collection.
The assets with newer version are also indicated in the folder hierarchy (with a different color)
Clicking on the asset node will preview the older version.
There is an option to update the version to latest.
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.
In case there are newer versions present, editor indicates the same using a 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
When a user opens a collection for review, system checks if there are newer versions present for one or more of the linked assets.
In case there are newer versions present, editor indicates the same using a popup when the collection is opened. The popup has linked assets name (for view only).
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.
Add Comment