Skip to content

Commit

Permalink
GITBOOK-526: change request with no subject merged in GitBook
Browse files Browse the repository at this point in the history
  • Loading branch information
AmiableAnil authored and gitbook-bot committed Oct 5, 2023
1 parent e22744c commit 8aa1bc1
Show file tree
Hide file tree
Showing 173 changed files with 207 additions and 223 deletions.
336 changes: 168 additions & 168 deletions SUMMARY.md

Large diffs are not rendered by default.

File renamed without changes.
File renamed without changes.
File renamed without changes.
8 changes: 4 additions & 4 deletions learn/functional-capabilities.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ description: Functional capabilities enabled by Sunbird Lean

These functional capabilities are powered by different Sunbird Lern components - which can be configured by an adopter based on their specific needs.

* **User account creation and management, user login as well as platform administration capabilities** - these are powered by the [`User and Org Service`](../use/developer-guide/user-and-org-service/) component of Sunbird Lern
* **User account creation and management, user login as well as platform administration capabilities** - these are powered by the [`User and Org Service`](product-and-developer-guide/user-and-org-service/) component of Sunbird Lern
* Enable users to create accounts to save their platform preferences, access relevant content based on their preferences etc. Users with accounts on the system who login also get access to richer platform features such as Courses and Learner passbook.
* Platform administrators can be granted capabilities to manage user roles on the platform, as well as manage platform master data (eg. Location data, Framework values etc.)
* Configure the platform to allow for user logins via various mechanisms including username/ password, Google login or single sign-on with other approved systems
* **Enable batches of students to take courses on the platform**: Create and manage a course batch - this allows for a cohort of users to take the course within a specified time frame, review user course progress or assessment performance, issue rule based certificates for course completion, merit scores etc.

The [`Batch Service`](../use/developer-guide/lms-service/) component of the Lern Building block is used to power these capabilities within Sunbird Lern.
The [`Batch Service`](product-and-developer-guide/lms-service/) component of the Lern Building block is used to power these capabilities within Sunbird Lern.
* **Allow users on the platform to collaborate**: Sunbird Lern components can be configured to give users on the platform collaboration capabilities. These components include the Groups Service as well as Discussion Forums. The functionalities enabled by the Groups component includes the ability for users to create a Group on the platform, add/ remove users from the group, as well as assign activities (content, assessments etc) for the users in the group to undertake. The Group creator is also able to track how much of the activities the users have completed. A Group can also have a Dicussion Forum attached to it, which allows a user to start or contribute to discussions on relevant topics. Such capabilities allow for users to learn together as a cohort, as well as engage in useful collaborative activities to further their learning.

The components used to enable collaboration include [`Groups`](../use/developer-guide/groups/) as well as [`Discussion Forum`](../use/developer-guide/discussion-forum/).
* **Configure the platform to be able to send notifications to users on events of choosing** - these could be user driven or system driven events. This capability is enabled via the [`Notification service`](../use/developer-guide/notification-service/) component.
The components used to enable collaboration include [`Groups`](product-and-developer-guide/groups/) as well as [`Discussion Forum`](product-and-developer-guide/discussion-forum/).
* **Configure the platform to be able to send notifications to users on events of choosing** - these could be user driven or system driven events. This capability is enabled via the [`Notification service`](product-and-developer-guide/notification-service/) component.

Various components of Lern permit for different configurations, allowing the system to enable different workflows based on specific requirements. Learn more about the configurations that each component allows for, on the pages for each of the specific components.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Product & Developer Guide
# Developer Guide

Sunbird Lern enables a host of capabilities that have been utilised by various adopters to create program specific workflows for their users. For instance, [Shikshalokam](https://shikshalokam.org) has created an education leadership platform to train leaders in education - using componets from Sunbird Lern such as the User & Org service as well as the Batch Service. The flexibility of being able to choose the components that are required for the adopter, and the ability to configure them at will (instead of having to build ground up) is what makes it easier to deploy solutions using the Sunbird suite.

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# API Documentation
# APIs

You can refer the below API documentation to see all the APIs in discussion forum.

Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Schema
# Data Models

Groups service uses Cassandra as the primary data store and Redis for caching the API responses.

Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,16 @@
description: List of tables in Cassandra database used in Groups service
---

# Groups Service


# Data Dictionary

### sunbird\_groups.group \[PRIMARY KEY: id]



<table><thead><tr><th width="176.33333333333331">Column Name</th><th width="120">Data Type</th><th>Description</th><th>Sample Value</th></tr></thead><tbody><tr><td>id</td><td>text</td><td>UUID of the group</td><td>ad2ffd12-ee05-46fc-bbe7-f5a67bd0534e</td></tr><tr><td>activities</td><td>list&#x3C;frozen&#x3C;map&#x3C;text, text>>></td><td>Activities that are published with in the group</td><td>[{'id': 'do_2132889347963535361756', 'type': 'Course'}, {'id': 'do_2133016209522933761354', 'type': 'Course'}, {'id': 'do_21333644232679424012289', 'type': 'Course'}, {'id': 'do_21331802990687027216', 'type': 'Course'}, {'id': 'do_2133483390278287361856', 'type': 'Course'}, {'id': 'do_2133817803741347841999', 'type': 'Content Playlist'}, {'id': 'do_213375362019328000129', 'type': 'Teacher Resource'}, {'id': 'do_21333645138176409618', 'type': 'Course'}, {'id': 'do_2132734144209469441409', 'type': 'Course'}, {'id': 'do_2132882557402644481743', 'type': 'Course'}, {'id': 'do_2133187549468098561201', 'type': 'Course'}, {'id': 'do_21334149144616960013071', 'type': 'Course'}]</td></tr><tr><td>createdby</td><td>text</td><td>UUID of the group created user</td><td>fbe926ac-a395-40e4-a65b-9b4f711d7642</td></tr><tr><td>createdon</td><td>timestamp</td><td>Group created on</td><td>2021-05-31 11:04:58.580000+0000</td></tr><tr><td>description</td><td>text</td><td>Description of the Group</td><td>EditedGroup</td></tr><tr><td>membershiptype</td><td>text</td><td>Type of member to the group, Possible values: moderated, invite_only</td><td>invite_only</td></tr><tr><td>name</td><td>text</td><td>Name of the Group</td><td>dashletEditedGroup</td></tr><tr><td>status</td><td>text</td><td>Staus of the group</td><td>active</td></tr><tr><td>updatedby</td><td>text</td><td>Last updated by</td><td>fca2925f-1eee-4654-9177-fece3fd6afc9</td></tr><tr><td>updatedon</td><td>timestamp</td><td>Last updated timestamp</td><td>2021-11-03 04:28:30.528000+0000</td></tr></tbody></table>



### sunbird\_groups.group\_member \[PRIMARY KEY (groupid, userid)]



<table><thead><tr><th width="165.33333333333331">Column Name</th><th width="131">Data Type</th><th>Description</th><th>Sample Value</th></tr></thead><tbody><tr><td>groupid</td><td>text</td><td>UUID, id of the group</td><td>ad2ffd12-ee05-46fc-bbe7-f5a67bd0534e</td></tr><tr><td>userid</td><td>text</td><td>UUID, id of the user</td><td>7557fd26-5b7c-4dd7-bd60-8e13ac856652</td></tr><tr><td>createdby</td><td>text</td><td>UUID, created user id</td><td>fca2925f-1eee-4654-9177-fece3fd6afc9</td></tr><tr><td>createdon</td><td>timestamp</td><td>Created on timestamp</td><td>2021-10-21 14:41:23.654000+0000</td></tr><tr><td>removedby</td><td>text</td><td>UUID, of the user that triggered the event</td><td>fca2925f-1eee-4654-9177-fece3fd6afc9</td></tr><tr><td>removedon</td><td>timestamp</td><td>removed timestamp</td><td>2021-12-03 04:29:09.182000+0000</td></tr><tr><td>role</td><td>text</td><td>Role of the person in the group, possible values are: member, admin</td><td>member</td></tr><tr><td>status</td><td>text</td><td>Status of the user with respect to the group</td><td>active</td></tr><tr><td>updatedby</td><td>text</td><td>UUID, of the last updated user</td><td>fbe926ac-a395-40e4-a65b-9b4f711d7642</td></tr><tr><td>updatedon</td><td>timestamp</td><td>Last updated timestamp</td><td>2021-09-08 07:02:12.553000+0000</td></tr><tr><td>visited</td><td>boolean</td><td>Member visited the group</td><td>True</td></tr></tbody></table>



### sunbird\_groups.user\_group \[PRIMARY KEY: userid]



<table><thead><tr><th width="158.33333333333331">Column Name</th><th width="116">Data Type</th><th>Description</th><th>Sample Value</th></tr></thead><tbody><tr><td>userid</td><td>text</td><td>UUID, id of the user</td><td>10e2cac0-1757-47d3-a010-b9bca8d2d5d0</td></tr><tr><td>groupid</td><td>set&#x3C;text></td><td>UUID of the groups, groups id's of the user that are linked to</td><td>{'95cea74a-2647-44a4-98e1-a4337b9e67b2', 'c535cd6a-f03d-4484-9b48-5cce6f935d78'}</td></tr></tbody></table>







File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Design References:
# Design References

#### Groups Design

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Logs, Telemetry Events & Configuration
# Logs, Telemetry Events

Telemetry is a specification to instrument all the key events. Using this specification reference applications & services will generate telemetry events. For more info refer Sunbird-Telemetry documentation [here](https://telemetry.sunbird.org/). Also to know how telemetry is processed refer to Telemetry Processing Documentation in [https://lern.sunbird.org/learn/telemetry-processing](https://lern.sunbird.org/learn/telemetry-processing).

Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Certificate Registry and Credentialing
# Certificate Registry and Credentialing using Sunbird-RC

Sunbird-RC is used to provides services to issue digital certificates as per required specifications and enables the storage and verification of digitally issued certificates.&#x20;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# System Configurations
# System Configuration



Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Score metric migration job
# Score Metric Migration Job

It helps to update the user activity agg table data with corrected agg\_details and aggregates column. This script is written to update the older records when the agg\_details column was introduced. So that it is a one-time script and it is no longer used.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Logs, Telemetry Events & Configuration
# Logs, Telemetry Events

Telemetry is a specification to instrument all the key events. Using this specification reference applications & services will generate telemetry events. For more info refer Sunbird-Telemetry documentation [here](https://telemetry.sunbird.org/). Also to know how telemetry is processed refer to Telemetry Processing Documentation in [https://lern.sunbird.org/learn/telemetry-processing](https://lern.sunbird.org/learn/telemetry-processing).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
description: List of tables in Cassandra database used in Notification service
---

# Notification Service
# Data Dictionary



Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Logs, Telemetry Events & Configuration
# Logs, Telemetry Events

Telemetry is a specification to instrument all the key events. Using this specification reference applications & services will generate telemetry events. For more info refer Sunbird-Telemetry documentation [here](https://telemetry.sunbird.org/). Also to know how telemetry is processed refer to Telemetry Processing Documentation in [https://lern.sunbird.org/learn/telemetry-processing](https://lern.sunbird.org/learn/telemetry-processing).

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# API Documentation
# APIs

The **UserOrg microservice** provides services to enable and manage the lifecycle, administration, and permissions of users; registries of users, organisations, and geographic locations; to send user notifications through multiple channels such as email, SMS, and OTPs. The APIs are grouped as:



| Feature | API Documentation |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| User Management (CRUD) | http://docs.sunbird.org/latest/apis/userapi/ |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Backend Services
# Bulk Upload

{% swagger src="../../../../.gitbook/assets/BulkUploadServices.yaml" path="/user/v1/upload" method="post" %}
[BulkUploadServices.yaml](../../../../.gitbook/assets/BulkUploadServices.yaml)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SMS Configurations
# SMS Configuration

Create an account on [msg91](https://msg91.com/in) and login to get the [authKey](https://msg91.com/help/MSG91/where-can-i-find-my-authentication-key). Register the sender ID. Register the SMS template in the DLT portal and get a template ID. Add the approved template to the msg91 portal along with the template ID.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
description: List of tables in Cassandra database used in User-Org service
---

# User-Org Service
# Data Dictionary

### Table List:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ User-Type and Sub-Types breif info\

{% endembed %}

{% file src="../../../.gitbook/assets/UserTypes-SB.pdf" %}
{% file src="../../../../.gitbook/assets/UserTypes-SB.pdf" %}
Configure user-type and location
{% endfile %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ The User Cache Indexer job reads user data from Cassandra, performs transformati
For more information please visit,\


{% content-ref url="../../caching-and-denormalising-user-metadata/usercacheupdaterflinkjob.md" %}
[usercacheupdaterflinkjob.md](../../caching-and-denormalising-user-metadata/usercacheupdaterflinkjob.md)
{% content-ref url="../../../../../use/developer-installation/usercacheupdaterflinkjob.md" %}
[usercacheupdaterflinkjob.md](../../../../../use/developer-installation/usercacheupdaterflinkjob.md)
{% endcontent-ref %}

{% content-ref url="../../caching-and-denormalising-user-metadata/etlusercacheupdaterjob.md" %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ How to assign roles to a user?
Below APIs can be used to assign roles: ([API Documentation](https://lern.sunbird.org/learn/product-and-developer-guide/user-and-org-service/api-documentation/user-management))

<pre><code>POST /v2/user/assign/role
<strong>POST /private/user/v2/assign/role</strong></code></pre>
<strong>POST /private/user/v2/assign/role
</strong></code></pre>

User with ORG\_ADMIN role only can assign other roles in the specific org to a user. User need not belong to the specific org to have a role of that org. Admin can choose users in other org also. &#x20;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Logs, Telemetry Events & Configuration
# Logs, Telemetry Events

Telemetry is a specification to instrument all the key events. Using this specification reference applications & services will generate telemetry events. For more info refer Sunbird-Telemetry documentation [here](https://telemetry.sunbird.org/). Also to know how telemetry is processed refer to Telemetry Processing Documentation in [https://lern.sunbird.org/learn/telemetry-processing](https://lern.sunbird.org/learn/telemetry-processing).

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

<div data-full-width="true">

<figure><img src="../../.gitbook/assets/LMS-ServiceFlowDiagram-LERN TECH Arch.drawio (1).png" alt=""><figcaption><p>Lern Technical Architecture</p></figcaption></figure>
<figure><img src="../.gitbook/assets/LMS-ServiceFlowDiagram-LERN TECH Arch.drawio (1).png" alt=""><figcaption><p>Lern Technical Architecture</p></figcaption></figure>

</div>

Expand All @@ -28,14 +28,14 @@ The diagram represents the components involved and their arrangement in **Lern**

<div data-full-width="true">

<figure><img src="../../.gitbook/assets/Diksha Architecture and Infrastructure (1)(1) (1).png" alt=""><figcaption><p>Data-Product Architecture</p></figcaption></figure>
<figure><img src="../.gitbook/assets/Diksha Architecture and Infrastructure (1)(1) (1).png" alt=""><figcaption><p>Data-Product Architecture</p></figcaption></figure>

</div>

Reports (Data products) refer to products or services derived from data analysis or processing. They are typically created to provide valuable insights. Providing you with the list of data products available in the Sunbird platform below

<div data-full-width="true">

<figure><img src="../../.gitbook/assets/Dataproducts_list.png" alt=""><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/Dataproducts_list.png" alt=""><figcaption></figcaption></figure>

</div>
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ Data-pipeline Flow Diagram:&#x20;

Lern services like UserOrg, LMS, Groups and Notification Service push the telemetry to Raw Kafka in below diagram, so telemetry extractor flink job and ingest router flink job does not come in to action. Those two jobs are application in case of UI components, where telemetry service API is called to push telemetry events.

<figure><img src="../../.gitbook/assets/DataPipeline_HighLevel_Diagram.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="../.gitbook/assets/DataPipeline_HighLevel_Diagram.jpg" alt=""><figcaption></figcaption></figure>
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Installation Guide

Refer to [configurations](../../../developer-guide/discussion-forum/configurations/ "mention")
Refer to [configurations](../../../../learn/product-and-developer-guide/discussion-forum/configurations/ "mention")
Original file line number Diff line number Diff line change
Expand Up @@ -60,14 +60,14 @@ LEARNER_SERVICE_PORT=

### SMS Config

{% content-ref url="../../developer-guide/user-and-org-service/configuration/sms-configuration.md" %}
[sms-configuration.md](../../developer-guide/user-and-org-service/configuration/sms-configuration.md)
{% content-ref url="../../../learn/product-and-developer-guide/user-and-org-service/configuration/sms-configuration.md" %}
[sms-configuration.md](../../../learn/product-and-developer-guide/user-and-org-service/configuration/sms-configuration.md)
{% endcontent-ref %}

### Email Config

{% content-ref url="../../developer-guide/user-and-org-service/configuration/email-notification-configuration.md" %}
[email-notification-configuration.md](../../developer-guide/user-and-org-service/configuration/email-notification-configuration.md)
{% content-ref url="../../../learn/product-and-developer-guide/user-and-org-service/configuration/email-notification-configuration.md" %}
[email-notification-configuration.md](../../../learn/product-and-developer-guide/user-and-org-service/configuration/email-notification-configuration.md)
{% endcontent-ref %}

### Other Config
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Reference Wiki Links:

**Implementation Design:**

<figure><img src="../../../../.gitbook/assets/image (3).jpg" alt="usercacheupdaterflinkdesign" width="452"><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (3).jpg" alt="usercacheupdaterflinkdesign" width="452"><figcaption></figcaption></figure>

![](blob:https://project-sunbird.atlassian.net/4576cfc6-d4bf-4cad-b0a5-b217e77358ed#media-blob-url=true\&id=2da0751c-f2f3-4ec6-9a84-917fce115f47\&collection=contentId-1520074753\&contextId=1520074753\&height=551\&width=501\&alt=)Design for the fields to be fetched:

Expand Down
Loading

0 comments on commit 8aa1bc1

Please sign in to comment.