Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

...

Linking asset to a collection

When an asset is linked 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, there should be system provides an option (through UI and API) to specify if whether the asset “Is optional” - Yes or No. Default value is trackable as part of the collection or not.

Modification of collection

Once a trackable collection is published, the collection can be modified. Following has to be taken care when modifying a collection

  1. Modifying the metadata of collection is allowed

  2. Adding a new asset to the collection is allowed

  3. Removing an asset from the collection is NOT allowed

  4. Updating the version of a linked asset is NOT allowed in case the asset is set as trackable in the collection, when linking to the collection.

  5. Updating the version of a linked asset is allowed in case the asset is not set as trackable

Deleting a collection

A trackable collection once published cannot be deleted.

Non-trackable Collections

Linking asset to a collection

When an asset is linked to a non-trackable collection, there should NOT be any option to specify if the asset is trackable or not.

Modification of collection

Once a non-trackable collection is published, the collection can be modified. Following has to be taken care when modifying a collection

  1. Modifying the metadata of collection is allowed

  2. Adding a new asset to the collection is allowed

  3. Removing an asset from the collection is allowed

  4. Updating the version of a linked asset is allowed

Deleting a collection

A non-trackable collection can be deleted.

Adding certificate

Adding a certificate to a trackable collection doe not happen during the creation of the collection and hence not part of the sourcing flow. The option of specifying when to issue a certificate should be part of adding certificate and not part of creation flow“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

...

  1. is published, system checks if there is any collection (

...

  1. draft or

...

  1. 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

...