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:
Michael Terry
2021-11-23 15:20:29 -05:00
parent 0bf9a0e0ce
commit ff453d1ad6
5 changed files with 2 additions and 98 deletions

View File

@@ -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

View File

@@ -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/",

View File

@@ -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`` |

View File

@@ -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.

View File

@@ -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.