chore: delete ancient unused ADRs for system dashboard
This is long deprecated and these ADRs just document why it doesn't exist. They've explained that long enough that we can just remove this.
This commit is contained in:
2
.github/workflows/pylint-checks.yml
vendored
2
.github/workflows/pylint-checks.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
matrix:
|
||||
include:
|
||||
- module-name: lms-1
|
||||
path: "lms/djangoapps/badges/ lms/djangoapps/branding/ lms/djangoapps/bulk_email/ lms/djangoapps/bulk_enroll/ lms/djangoapps/bulk_user_retirement/ lms/djangoapps/ccx/ lms/djangoapps/certificates/ lms/djangoapps/commerce/ lms/djangoapps/course_api/ lms/djangoapps/course_blocks/ lms/djangoapps/course_home_api/ lms/djangoapps/course_wiki/ lms/djangoapps/coursewarehistoryextended/ lms/djangoapps/dashboard/ lms/djangoapps/debug/ lms/djangoapps/courseware/ lms/djangoapps/course_goals/ lms/djangoapps/rss_proxy/"
|
||||
path: "lms/djangoapps/badges/ lms/djangoapps/branding/ lms/djangoapps/bulk_email/ lms/djangoapps/bulk_enroll/ lms/djangoapps/bulk_user_retirement/ lms/djangoapps/ccx/ lms/djangoapps/certificates/ lms/djangoapps/commerce/ lms/djangoapps/course_api/ lms/djangoapps/course_blocks/ lms/djangoapps/course_home_api/ lms/djangoapps/course_wiki/ lms/djangoapps/coursewarehistoryextended/ lms/djangoapps/debug/ lms/djangoapps/courseware/ lms/djangoapps/course_goals/ lms/djangoapps/rss_proxy/"
|
||||
- module-name: lms-2
|
||||
path: "lms/djangoapps/gating/ lms/djangoapps/grades/ lms/djangoapps/instructor/ lms/djangoapps/instructor_analytics/ lms/djangoapps/discussion/ lms/djangoapps/edxnotes/ lms/djangoapps/email_marketing/ lms/djangoapps/experiments/ lms/djangoapps/instructor_task/ lms/djangoapps/learner_dashboard/ lms/djangoapps/lms_initialization/ lms/djangoapps/lms_xblock/ lms/djangoapps/lti_provider/ lms/djangoapps/mailing/ lms/djangoapps/mobile_api/ lms/djangoapps/monitoring/ lms/djangoapps/program_enrollments/ lms/djangoapps/rss_proxy lms/djangoapps/static_template_view/ lms/djangoapps/staticbook/ lms/djangoapps/support/ lms/djangoapps/survey/ lms/djangoapps/teams/ lms/djangoapps/tests/ lms/djangoapps/verify_student/ lms/envs/ lms/lib/ lms/tests.py"
|
||||
- module-name: openedx-1
|
||||
|
||||
2
.github/workflows/unit-tests.yml
vendored
2
.github/workflows/unit-tests.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
django-version: ["3.2"]
|
||||
test_module: [
|
||||
"lms/djangoapps/badges/ lms/djangoapps/branding/ lms/djangoapps/bulk_email/ lms/djangoapps/bulk_enroll/ lms/djangoapps/bulk_user_retirement/ lms/djangoapps/ccx/ lms/djangoapps/certificates/ lms/djangoapps/commerce/",
|
||||
"lms/djangoapps/course_api/ lms/djangoapps/course_blocks/ lms/djangoapps/course_goals/ lms/djangoapps/course_home_api/ lms/djangoapps/course_wiki/ lms/djangoapps/coursewarehistoryextended/ lms/djangoapps/dashboard/ lms/djangoapps/debug/",
|
||||
"lms/djangoapps/course_api/ lms/djangoapps/course_blocks/ lms/djangoapps/course_goals/ lms/djangoapps/course_home_api/ lms/djangoapps/course_wiki/ lms/djangoapps/coursewarehistoryextended/ lms/djangoapps/debug/",
|
||||
"lms/djangoapps/courseware/",
|
||||
"lms/djangoapps/discussion/ lms/djangoapps/edxnotes/ lms/djangoapps/email_marketing/ lms/djangoapps/experiments/",
|
||||
"lms/djangoapps/gating/ lms/djangoapps/grades/ lms/djangoapps/instructor/ lms/djangoapps/instructor_analytics/",
|
||||
|
||||
@@ -121,8 +121,6 @@ What the old imports are, and their replacements:
|
||||
+-------------------------------+----------------------------------------------+
|
||||
| ``course_wiki`` | ``lms.djangoapps.course_wiki`` |
|
||||
+-------------------------------+----------------------------------------------+
|
||||
| ``dashboard`` | ``lms.djangoapps.dashboard`` |
|
||||
+-------------------------------+----------------------------------------------+
|
||||
| ``debug`` | ``lms.djangoapps.debug`` |
|
||||
+-------------------------------+----------------------------------------------+
|
||||
| ``discussion`` | ``lms.djangoapps.discussion`` |
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
1. Sysadmin Dashboard
|
||||
---------------------
|
||||
|
||||
Status
|
||||
------
|
||||
|
||||
Accepted
|
||||
|
||||
Context
|
||||
-------
|
||||
When operating an Open edX installation, it is convenient to allow admins and course staff to perform some tasks from
|
||||
the web browser instead of requiring access to django managment commands. These tasks include
|
||||
|
||||
- creating user accounts
|
||||
- importing courses (from git)
|
||||
- deleting courses
|
||||
- gathering cross-course enrollment data
|
||||
|
||||
The SysAdmin Dashboard feature has remained functionally unchanged since 2015, but it has never been documented.
|
||||
This ADR serves to captures the decisions that went into it, so that we may being the process of moving it out of
|
||||
edx-platofrm and into a pluggable django app.
|
||||
|
||||
Decision
|
||||
--------
|
||||
|
||||
The users tab provides Web based user management (create and delete user accounts), a listing of courses loaded,
|
||||
and user statistics.
|
||||
|
||||
The courses tabs manages adding/updating courses from git, deleting courses, and provides course listing information,
|
||||
including commit hash, date and author for course imported from git.
|
||||
|
||||
The Staffing tab provides a view of staffing and enrollment in courses.
|
||||
|
||||
The Gitlogs tab provides a view into the import log of courses from git repositories. It is convenient for allowing
|
||||
course teams to see what may be wrong wit their xml. This is the only view that allows permits access by course
|
||||
staff, so they can review their own course import logs.
|
||||
|
||||
Consequences
|
||||
------------
|
||||
|
||||
The Sysadmin dashboard is little used outside of MIT and difficult to maintain. Many of its features have been
|
||||
replicated elsewhere in edx-platform. It coudld be refactored as a pluggable app, but some of it's features rely on
|
||||
internal edX APIs. In a subsequent ADR, we will identify the APIs that would be necessary for extracting the Sysadmin
|
||||
Dashboard.
|
||||
@@ -1,50 +0,0 @@
|
||||
2. Deprecating the Sysadmin Dashboard
|
||||
---------------------
|
||||
|
||||
Status
|
||||
------
|
||||
|
||||
Draft
|
||||
|
||||
Context
|
||||
-------
|
||||
|
||||
Maintaining the sysadmin dashboard is challenging, and it is not widely used. The code is part of the lms
|
||||
application, even though most of its use cases are relevant to course authoring.
|
||||
|
||||
The sysadmin dashboard would be better suited as a pluggable django application, using appropriate APIs in the
|
||||
cms application
|
||||
|
||||
Decision
|
||||
--------
|
||||
|
||||
In order to deprecate the sysadmin dashboard and move it to a pluggable django application, the followings APIs
|
||||
would need to be added and/or moved into the cms application
|
||||
|
||||
1. Create a cms user account
|
||||
|
||||
https://github.com/edx/edx-platform/blob/50dd1238408dc6785f022d8540961f96e0d6bb4f/lms/djangoapps/dashboard/sysadmin.py#L113-L151
|
||||
|
||||
2. Import a course from git
|
||||
|
||||
https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/git_import.py
|
||||
|
||||
3. Delete a course
|
||||
|
||||
https://github.com/edx/edx-platform/blob/b4556a4bec/lms/djangoapps/dashboard/sysadmin.py#L344-L369
|
||||
|
||||
|
||||
These APIs can be removed entirely, as they are adequately covered by existing functionality:
|
||||
|
||||
1. Delete a cms user.
|
||||
|
||||
This functionality should be removed entirely. CMS user accounts should be retired using the existing `edX User
|
||||
Retirement Feature <https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/configuration/user_retire/>`_.
|
||||
|
||||
2. Staffing and Enrollment
|
||||
|
||||
https://github.com/edx/edx-platform/blob/b4556a4bec/lms/djangoapps/dashboard/sysadmin.py#L380-L413
|
||||
|
||||
This functionality may be redundant to features in the Insights application.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user