1. Which flink job in Lern data-pipeline triggers certificate generation?

    • Collection Certificate Generator

  2. UserOrg Service is built on which framework?

    • Play-Akka

  3. Which building block is used by Lern to generate, sign and store certificates?

    • Sunbird-RC

  4. How is Tenant organisation id in UserOrg linked to Channel in content service?

    • Channel Code

  5. Which dataproduct is used to update course batch status?

    • CourseBatchStatusUpdater

  6. Which tool is used for authentication management in Sunbird?

    • Keycloak

  7. Which is the secondary data store in UserOrg service?

    • ElasticSearch

  8. Which technology is commonly used to build micro services in sunbird Lern?

    • Java

  9. Which authentication mechanism is commonly used in Subird microservices?

    • JSON

  10. Default SMS provider in Sunbird?

    • MSG91

  11. Default SMTP provider in Sunbird?

    • Sendgrid

  12. Denormalisation of user data is done by which flink job in Lern data-pipeline?

    • User-cache-updater

  13. Which framework is used to implement data-pipeline in Sunbird-Lern?

    • Flink Spark

  14. Which data processing framework is used to implement data-products in Sunbird-Lern?

    • Spark

  15. On-demand exhaust jobs in Lern are scheduled jobs, which generate reports if a user request is available at scheduled time

    • TRUE

  16. Standard exhaust jobs in Lern are scheduled jobs, which generate reports at scheduled time without any user request

    • TRUE

  17. Cloud-store-sdk library in maven helps Sunbird Lern to be cloud agnostic

    • TRUE

  18. How many MUAs(Managed User Accounts) can be created by default by an LUA(LogIn User Accounts) in UserOrg service?

    • 30

  19. Default Tenant Organisation in Sunbird is referred as CustodianOrg

  20. Default cloud service provider in sunbird?

    • Azure

  21. After creating a user using the API, the password couldn't be updated, resulting in the error message, "User is created but password couldn't be updated"

    • Checked Cassandra provider in user federation and ensured channels are available in Cassandra DB.

    • Verified Keycloak environment variables, and if an issue is found, rebuild and redeploy Keycloak from Jenkins.

    • Confirmed that Ingress IP is properly updated in Keycloak configuration.

    • Checked and updated variables in the private repo, specifically related to public keys.

    • Ensured that recaptcha is set to false in the Player service configmap.

    • Restarted the Player pod after making configuration changes.

    • Verified mandatory variables in the installation documentation were filled before deployment.

    • Resolved certificate-related issues by updating the certificate chain CRT file.

    • Checked if the user is visible in the system after creation and looked for errors in the learner service.

    • Fixed the "unable to verify the first certificate" issue by updating the certificate chain CRT file.

      Note: All mandatory variables mentioned in the installation documentation should be filled before deployment. Recaptcha settings and certificate updates are crucial for resolving password update issues.

      For more details check the below DF threads,

  22. I'm unable to change preferences for a logged-in user. How can I fix this issue?

    • Identify the Missing Field:

      • Check the user profile system settings.

      • Ensure that the missing field is present under the framework.

    • If you cannot find then, Update System Settings:

      • Use the update system settings API to set the missing framework fields:

      • Verify and Close: Ensure the necessary system settings are updated. Confirm that the reported issue no longer occurs.

  23. "I've uploaded the encryption key for my organization. How do I verify if the upload was successful?

    • If you haven't uploaded an encryption key for your organization yet, please do so by following the steps outlined here

    • After uploading the key, you can verify the success of the upload by running the following cURL command for the organization read API.

curl --location 'https://dev.sunbirded.org/api/org/v1/read' \
--header 'Content-Type: application/json' \
--header 'Authorization: {{kong_api_key}}' \
--data '{
  "request": {
    "organisationId": "{{org_id}}"
  • In the response, look for the 'keys' section to find the URL of the uploaded encryption key for your organization.

"keys": {
                "exhaustEncryptionKey": [
                    "{{url of encryption key/pem file}}"
  1. When using the user bulk upload API, if I set orgExternalId it to null, I get a notification to onboard. But I don't get the notification if I set it to a value. How can I debug/fix this"

    • To debug/fix:

      • Perform a user read to identify the organization ID of the user.

      • Perform an org search using this ID and find the external ID in the response.

      • Use the external ID from the response in your upload. If the external ID is null, don't pass any value for it.

Last updated