feat: add external id mapping in courseoverview (#31243)

This commit is contained in:
AsadAzam
2022-11-07 15:08:08 +05:00
committed by GitHub
parent 06ac5ed4b0
commit 1925eb10c9
3 changed files with 55 additions and 1 deletions

View File

@@ -0,0 +1,23 @@
# Generated by Django 3.2.15 on 2022-11-02 11:09
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('course_overviews', '0026_courseoverview_entrance_exam'),
]
operations = [
migrations.AddField(
model_name='courseoverview',
name='external_id',
field=models.CharField(blank=True, max_length=128, null=True),
),
migrations.AddField(
model_name='historicalcourseoverview',
name='external_id',
field=models.CharField(blank=True, max_length=128, null=True),
),
]

View File

@@ -62,7 +62,7 @@ class CourseOverview(TimeStampedModel):
app_label = 'course_overviews'
# IMPORTANT: Bump this whenever you modify this model and/or add a migration.
VERSION = 17
VERSION = 18
# Cache entry versioning.
version = models.IntegerField()
@@ -142,6 +142,8 @@ class CourseOverview(TimeStampedModel):
entrance_exam_id = models.CharField(max_length=255, blank=True)
entrance_exam_minimum_score_pct = models.FloatField(default=0.65)
external_id = models.CharField(max_length=128, null=True, blank=True)
language = models.TextField(null=True)
history = HistoricalRecords()

View File

@@ -0,0 +1,29 @@
1. Add External ID mapping in course overview
-----------------------------------
Status
------
Accepted
Context
-------
The Need for storing an external ID for a course run in edx platform primarily
comes from BootCamps. Bootcamp class objects are created in Salesforce
and have a class ID that is specific to Bootcamps ecosystem. Corresponding
course runs are automatically created in Canvas and store this class ID
in the field called sis_id.
Tools in BootCamps ecosystem leverage this sis_id to exchange information with
Canvas. This ID will potentially be used by multiple Bootcamp tools such as
Attendance, Central grading etc. So it should not be in a configuration
interface specific to any one tool.
This external ID is not limited to Bootcamp and can potentially be used for
integrating other systems into the edx platform.
Decision
--------
Adding this new external id mapping in the CourseOverview modal since that
model contains all the basic information of a course and allows this id to
be used by all areas of the edx-platform