githubEdit

Delete User Functionality

Overview

The user deletion requirement in Lern has originated from the below requirement.

PRD: [PRD] Delete Account functionalityarrow-up-right

BE Design Lern - [Design] Delete Account Functionalityarrow-up-right

FE Design Lern - [Design] [Front-end]Delete User Functionalityarrow-up-right

What is changing?

The user can request for deletion of their account in Sunbird, this means two primary actions to happen.

  1. The user's Personal Identifiable Information (PII) needs to be removed

  2. The assets created by this user (such as questions, question sets, content, etc.) need to be transferred to an identified user.

Release Tags:

Components
Build Jenkins Job
Build Tag
Deploy Jenkins Job
Deploy Tag
Comment

OnboardAPIs

NA

NA

Deploy/Kubernetes/OnboardAPIs

To onboard the delete user API

Cassandra Migration

Build/Core/Cassandra

Deploy/Kubernetes/Cassandra

Select the sunbird in cassandra_keyspace_to_migrate while deploying

script_repo_branch_or_tag: release-7.0.0_RC3

UserOrg Service

Build/Core/UserOrg

Deploy/Kubernetes/UserOrg

Kafka Setup

NA

NA

Deploy/Lern/KafkaSetup

DataPipeline

Build/Lern/LernFlinkJobs

Deploy/Lern/LernFlinkJobs

Define the core_vault_sunbird_keycloak_user_federation_provider_id in Lern inventory secret. Add user-deletion-cleanup and ml-user-delete into job list and deploy it.

Data Product

Build/Lern/LernDataProducts

Deploy/Lern/LernDataProducts

Code changes

https://github.com/Sunbird-Lern/data-pipeline/tree/release-7.0.0/user-org-jobs/user-deletion-cleanuparrow-up-right

  • For making the delete user functionality work through the flink job, the adapter needs to trigger the kafka event, For more details about that refer the below link,

Event
triangle-exclamation
  1. Added below partition related settings and replication_factor related settings in ansible/roles/setup-lern-kafka/defaults/main.ymlarrow-up-right file of data pipeline repository.

  1. Added below user delete flinkjob related configuration in kubernetes/helm_charts/datapipeline_jobs/values.j2arrow-up-right arrow-up-rightfile of data pipeline repository.

  1. Added below user delete flinkjob related configuration in kubernetes/ansible/roles/flink-jobs-deploy/defaults/main.ymlarrow-up-right of data pipeline repository

Ownership transfer delete user assets report:

triangle-exclamation
  1. Added below ownership transfer delete user assets report related configuration in ansible/roles/lern-data-products-deploy/templates/lern-model-config.j2arrow-up-right of data products repository.

  1. Added below ownership transfer delete user assets report related configuration in ansible/roles/lern-data-products-deploy/templates/lern-run-job.j2arrow-up-right of data products repository

  1. Added below ownership transfer delete user assets report related configuration in lern-data-products/src/main/resources/application.confarrow-up-right of data products repository.

To learn more about Delete user Assets report visit here Jenkins Job Details For the deployment of the above flink job:

To trigger the job: Deploy/Lern/LernAnalyticsReplayJobs

  • job_id: Set to delete-users-assets-report-job.

  • specific_user_id / user_id_filter: Set to an empty string "". if you want to get the report for all deleted users you can provide multiple user IDs separated by commas within double quotes, like "a, b"

  • refresh_user_data / channel filter: Set to an empty string "". If you want to get the report for all channels or you can provide multiple channel IDs separated by commas within double quotes, like "a, b" then trigger

Adoption of the feature Through API

triangle-exclamation

Delete user API

  1. Added the below configuration in the user org service application.conf arrow-up-rightfile of user org service

  1. Added the below property in external resource.propertiesarrow-up-right related to user delete kafka topic in user org service

  1. Added the below configuration in ansible/roles/kong-api/defaults/main.ymlarrow-up-right for owuser delete API in sunbird devops repository.

  1. Added the user delete topic to the userorgservice.envarrow-up-right file in Sunbird DevOps repository.

Last updated

Was this helpful?