Release - 5.6.0

5.6.0 (12-07-2023)

Discussion thread: https://github.com/orgs/Sunbird-Knowlg/discussions/128

Release timeline:

Start dateEnd date

Planning phase

28-Apr, 2023

12-May, 2023

Sprint 1

15-May, 2023

2-Jun, 2023

Sprint 2

5-Jun, 2023

23-Jun, 2023

PPV

26-Jun, 2023

7-Jul, 2023

Prod

12 July 2023 (delayed 2 days)

Document Release Version

ProjectRelease VersionDate

Sunbird Knowlg

R5.6.0

12 July 2023

Important note to the adopters:

As part of this release, we have made two changes which are important to know everyone.

  1. As part of the Knowlg Platform upgrade, the Scala version has been updated from 2.11 to 2.12. This upgrade encompasses changes in the Graph engine as well.

  2. We have migrated all taxonomy APIs from the learning-service to the taxonomy-service and eliminated the corresponding code from the learning-service. Our plan is to completely decommission the learning-service in the upcoming release, pending confirmation that no APIs are being served from the learning-service.

Following are the Planned Tickets of R 5.6.0

New Features:

None

Enhancements / Technical tasks::

S.noJIRA IDDescription

1

Refactoring taxonomy API's

2

[Stack] Update Scala version(2.11 to 2.12)

3

Updating PDF, Video, EPUB player from angular libraries to web component in Collection editor

4

POC: Change of Graph Database for Sunbird Knowlg

Release Tags:

Upgrade Knowlg From 5.5.0 to 5.6.0

API Services:

ComponentService to be BuildTagDeploy JobDeployment TagComment

Schema upload

NA

NA

Deploy/Kubernetes/UploadSchema

Knowledge-platform

Build/Core/Content

Deploy/Kubernetes/Content

Build/Core/Taxonomy

Deploy/Kubernetes/Taxonomy

Knowledge-mw-service

Build/Core/KnowledgeMW

Deploy/Kubernetes/KnowledgeMW

Sunbird-learning-service

Build/KnowledgePlatform/Learning

Deploy/KnowledgePlatform/Learning

NOTE:

Below jenkins configurations are specifically for Content Service.

Jenkins Configurations for CSP support:

Set the variables CLOUD_STORE_GROUP_ID, CLOUD_STORE_ARTIFACT_ID and CLOUD_STORE_VERSION with appropriate values in Jenkins, either at the global level or for each individual service in the build job's configuration. For above-mentioned build jobs, configure like as we mentioned below.

Configure the following values:

CLOUD_STORE_GROUP_ID

org.sunbird

Set the cloud storage SDK group_id ex: org.sunbird

CLOUD_STORE_ARTIFACT_ID

cloud-store-sdk_2.12

Set the cloud storage artefact id ex: cloud-store-sdk_2.12

CLOUD_STORE_VERSION

1.4.6

Set the cloud storage version ex: 1.4.6

Collection Editor Web Component:

Tag: v1.6.0

Install: npm i @project-sunbird/sunbird-collection-editor-web-component@1.6.0

URL: https://www.npmjs.com/package/@project-sunbird/sunbird-collection-editor-web-component/v/1.6.0

Collection Editor:

Tag: v5.6.1

Install: npm i @project-sunbird/sunbird-collection-editor@5.4.9

URL: https://www.npmjs.com/package/@project-sunbird/sunbird-collection-editor/v/5.6.1

Configuration/Environment variable changes:

Knowledge-mw-service:

To provide the taxonomy service URL in the Knowledge Middleware (Knowlg MW) service, you can add the following environment variable:

Variable name: sunbird_taxonomy_service_api_base_url

Value: [http://taxonomy-service:9000]

Make sure to replace [http://taxonomy-service:9000] with the actual URL of the taxonomy service. By setting this environment variable, the Knowlg MW service will be able to connect to the taxonomy service using the specified URL.

Knowledge-platform -> Taxonomy Service:

Add the below env variables in taxonomy-service_application.conf

  1. framework.keyspace="{{ lp_cassandra_keyspace_prefix }}_hierarchy_store"

  2. framework.hierarchy.table="framework_hierarchy"

  3. framework.categories_cached=["subject", "medium", "gradeLevel", "board"]

  4. framework.cache.ttl=86400 framework.cache.read=true

  5. framework.max_term_creation_limit=200

NOTE: In the previous configuration, these settings were included in the sunbird-learning-service. However, for this release, we have transferred all framework APIs to the taxonomy-service. Therefore, you will need to add the above configuration as part of the taxonomy-service_application.conf file.

Deprecations and Removals:

As part of this release, we have deprecated the below list of APIs.

S.NoAPI

1

/framework/v3/list

2

/framework/v3/term/search

3

/framework/v3/category/search

4

/framework/v3/category/master/search

Breaking changes (The existing features will break the if we don’t do the below actions):

During the upgrade to version 5.6.0, it is essential to ensure that the mentioned services and environments are properly updated. Previously, the APIs mentioned were part of the sunbird-learning-service, but now they have been moved to the content-service & taxonomy-service without altering the API contract. Additionally, changes have been made to ensure that these APIs are no longer served from the sunbird-learning-service.

Therefore, it is crucial to verify that the necessary updates are implemented correctly for a smooth transition to version 5.6.0.

List of APIs moved to Content Service:

S.NoAPI

1

/content/v3/publish

2

/content/v3/retire

3

/content/v3/unlisted/publish

4

/content/v3/dialcode/link

5

/content/v3/dialcode/release

6

/content/v3/dialcode/reserve

List of APIs moved to Taxonomy Service:

S.NoAPI

1

/framework/v3/read

2

/framework/v3/create

3

/framework/v3/update

4

/framework/v3/copy

5

/framework/v3/publish

6

/framework/v3/retire

7

/framework/v3/term/read

8

/framework/v3/term/create

9

/framework/v3/term/update

10

/framework/v3/term/retire

11

/framework/v3/category/read

12

/framework/v3/category/create

13

/framework/v3/category/update

14

/framework/v3/category/retire

15

/framework/v3/category/master/create

16

/framework/v3/category/master/update

17

/framework/v3/category/master/read

18

/framework/v3/category/master/retire

Additional Info:

Test Scenarios: Link

Documentation issue, release 5.6.0: Link

Last updated