Merge pull request #29412 from edx/mikix/remove-old-dashboard-adrs
chore: delete ancient unused ADRs for system dashboard
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